ARM时钟显示器实验报告.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM时钟显示器实验报告

实验目的 本实验设计一种基于ARM的嵌入式微处理器S3C44BOX和LCD显示器的电子时钟,实现电子时钟的功能,并在LCD上显示类似的时钟界面,动态显示当前时间,包括年、月、日、是、分、秒。 本课程设计主要为软件设计,硬件部分使用EL-ARM-830教学实验箱上的S3C44BOX和LCD模块。软件设计采用模块化设计方法,分为μC/OS-Ⅱ系统模块、LCD初始化模块、时钟应用系统模块等。其中,时钟系统应用模块包括时钟计时模块、时钟显示模块等。各模块之间功能独立,协同完成本课程设计的全部功能。 实验内容 μC/OS-Ⅱ系统模快设计: 本模块主要功能为将μC/OS-Ⅱ系统移植到S3C44BOX上,作为调用硬件各项功能的基础,同时也完成S3C44BOX的功能。 LCD初始化模块设计: 本模块主要功能完成LCD的初始化,加载LCD驱动程序,是LCD与S3C44BOX实现对接,完成显示功能。 时钟应用系统模块设计: 本模块是电子时钟功能实现的主要模块,也是本次程序设计的核心模块,本模块实现的主要功能有:时间计时,数字时间显示。计时使用S3C44BOX内部时钟脉冲和分频实现,在LCD上显示数字时钟使用LCD数字显示功能实现。 三、实验结果 LCD显示“数字钟”样式,动态显示年、月、日、时、分、秒。 LCD显示完成人姓名及学号信息。 实验体会 经过此次实验,我们对嵌入式系统的硬件和软件的基本原理、基本特点和关于嵌入式系统设计的基本方法有了一个初步的理解和掌握。完成实验的过程是困难的,由于基本功的不扎实,我不仅要自己查找许多关于S3C44BOX和LCD的资料,同时也参考了网上的一些相关的内容,在老师和同学们的帮助下,顺利完成了本次实验,达到了预期目的。 源代码 #include config.h #define SPI_CS 0 /* P0.8 */ #define SPI_DATA 0 /* P0.6 */ #define SPI_CLK 0 /* P0.4 */ #define SPI_IOCON 0 /* 定义SPI接口的I/O设置字 */ /* 定义串口模式设置数据结构 */ typedef struct UartMode { uint8 datab; // 字长度,5/6/7/8 uint8 stopb; // 停止位,1/2 uint8 parity; // 奇偶校验位,0为无校验,1奇数校验,2为偶数校验 } UARTMODE; uint8 send_buf[16]; // UART0数据接收缓冲区 /**************************************************************************** * 名称:UART0_Ini() * 功能:初始化串口0。设置其工作模式及波特率。 * 入口参数:baud 波特率 * set 模式设置(UARTMODE数据结构) * 出口参数:返回值为1时表示初化成功,为0表除参数出错 ****************************************************************************/ uint8 UART0_Ini(uint32 baud, UARTMODE set) { uint32 bak; /* 参数过滤 */ if( (0==baud)||(baud115200) ) return(0); if( (set.datab5)||(set.datab8) ) return(0); if( (0==set.stopb)||(set.stopb2) ) return(0); if( set.parity4 ) return(0); /* 设置串口波特率 */ U0LCR = 0x80; // DLAB位置1 bak = (Fpclk4)/baud; U0DLM = bak8; U0DLL = bak0xff; /* 设置串口模式 */ bak = set.datab-5; // 设置字长度 if(2==set.stopb) bak |= 0x04; // 判断是否为2位停止位 if(0!=set.parity) {set.parity = set.parity-1; b

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档