- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- eda课程设计乒乓球游戏机报告.doc
- EDA课程设计报告 交通灯控制器.doc
- EDA课程设计报告-交通信号控制器的VHDL设计.doc
- EDA课程设计之六人抢答器.doc
- EDA课程设计报告-出租车计价器.doc
- EDA课程设计报告——LED点阵汉字显示.doc
- EDA课程设计报告出租车计价器.doc
- EDA技术数码管显示数字钟设计.doc
- EDA课程设计报告音乐发生器设计.doc
- EDA课程设计报告书 智力竞赛抢答器.doc
- 59.2022【文旅小镇】云阳天文小镇概规方案-195页.pdf
- 01.2025【康养小镇】重庆黎香湖度假大区养老景观设计-173页.pdf
- 36.2023【康养小镇】青海西宁夏都颐养健康小镇概念规划方案_94页.pdf
- 38.2023【康养小镇】成都龙泉山山地运动康养文旅综合规划方案-188页.pdf
- 80.2022【酒旅小镇】四川邛崃十方堂文旅小镇规划方案_85页.pdf
- 37.2023【康养小镇】江苏常州市孟河生态康旅小镇总体策划-125页.pptx
- 42.2023【产业小镇】赣州汽车运动小镇概念规划方案-72页.pptx
- 75.2022【康养小镇】益阳非遗清溪河文旅小镇规划方案-144页.pptx
- 48.2022【影音小镇】青岛西海岸新区影视文化产业规划-122页.pdf
- 29.2023【体育小镇】建业足球小镇长安古寨景观设计_127页.pdf
文档评论(0)