MSP430单片机实时时钟与键盘控制.docVIP

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

MSP430单片机课程设计 实时时钟与键盘控制 设计思路 该算法的流程简图如下: 由于LCD无法完全显示时间日期,故采用page翻页的方式设计,每页6位显示。设定page为奇数时表示当前在时间页面,page为偶数时表示当前在日期页面。在修改时间时,采用的是输入字符串进行修改的方式。 显示当前时间time=hour*10000+min*100+sec。 在page为偶数时,前两位显示小时,中间两位显示分钟,最低两位显示秒。 2、显示当前日期date=year*10000+mon*100+day,并能与时间切换。 在page为奇数时,前两位显示年份,中间两位显示月份,最低两位显示天。 键盘上的up、down修改page的值,实现两页显示的切换。 能够读取键盘值进行修改 键盘通过中断的方式读取键值,每个键都有相应的操作。具体的方案如下: 键值在0~F之间为对应的十六进制数。 按下UP键,page加1。 按下DOWN键,page加1,以上两键能使page奇偶变化。 按下L键,p加1,用于修改数据时修改位置的更改。 按下R键,p减1,用于修改数据时修改位置的更改。 按下ESC键,使set置1,进入修改模式,并在首位显示E。 按下START键,修改的数据生效,set置0。 按下STOP键,取消修改,set置0,清除首位显示。 按下ENTER键,确认当前位的修改,注意是单个位的修改。 体现430系列单片机的超低功耗的特性。 在中断处理结束,以及循环结束,或者等待键盘按键时,会进入低功耗工作模式,同时编程时也尽量减少函数的调用,并将一些变量定义为寄存器变量,提高运行效率。 二、参数计算 设计时钟时,应能做到分秒的60进1,时的24进1 ,年以两位数表示满100进1 ,月满12进1;关于天的计数较为复杂:先根据年月判断该月的最大天数,实现进位。 三、编程步骤 1、编写时间显示函数,测试以确认函数功能正常。 2、设置初始值为04年2月28日。利用定时器A控制秒信号的自加,并用LCD显示判断算法是否正确。 3、已经得到正确的秒信号,根据算法实现时间的进位。 4、设计键盘,使键盘能正确输入,读取键值。 5、设计翻页功能,实现时间和日期的切换。 6、设计时间的修改功能,以串输入修改数据的形式进行修改。 7、程序存档,测试检验基本功能。 8、优化程序算法,精简变量与函数调用,实现超低功耗,测试检验,提交最后成果。 四、实践感受 五、源程序 //实时时钟+键盘控制(串输入修改方式) #include msp430x44x.h #include stdio.h //定义液晶显示笔画 #define a (0x01) #define b (0x02) #define c (0x10) #define d (0x08) #define e (0x40) #define f (0x20) #define g (0x04) //#define h (0x80) //显示字符的指针 const unsigned char LCD_Tab[] = { a+b+c+d+e+f ,//显示 0, LCD_Tab[00] b+c ,//显示 1, LCD_Tab[01] a+b+d+e+g ,//显示 2, LCD_Tab[02] a+b+c+d+g ,//显示 3, LCD_Tab[03] b+c+f+g ,//显示 4, LCD_Tab[04] a+c+d+f+g ,//显示 5, LCD_Tab[05] a+c+d+e+f+g ,//显示 6, LCD_Tab[06] a+b+c ,//显示 7, LCD_Tab[07] a+b+c+d+e+f+g ,//显示 8, LCD_Tab[08] a+b+c+d+f+g ,//显示 9, L

文档评论(0)

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

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

1亿VIP精品文档

相关文档