基于msp430的可调电子万年历(无rtc)(Adjustable electronic calendar based on MSP430 (without RTC)).docVIP

基于msp430的可调电子万年历(无rtc)(Adjustable electronic calendar based on MSP430 (without RTC)).doc

  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的可调电子万年历(无rtc)(Adjustable electronic calendar based on MSP430 (without RTC))

基于msp430的可调电子万年历(无rtc)(Adjustable electronic calendar based on MSP430 (without RTC)) / / **************************************** / /基于MSP430的可调电子万年历(无RTC) / /作者:琳恩 / / --------------- / / | MSP430F449 | / / VOUT ——| P3 | 1 /为位选——| p4.0 | 1 /为段选——|对试验| / /功能选择键-- | P1.1 | 1 /加键-- | P1.2 | 1 /减键-- | P1.3 | / / / /工作环境:IAR MSP430 4.21 / /完成时间:2011年2月10日 / /硬件环境:利尔达F449学习板,型号:lsd-msp430-test44x / /显示方式:数码管动态扫描,共阴极数码管接有两个寄存器,故加p4.0、对试验后可实现显示功能 / /实现功能:通过六位数码管显示时间,正常情况下显示日时分;按功能键1次,显示年月日 2 /按下次后时钟停止计数,开始调整年,按下3次调整月,按下4次调整日 5 /按下次调整时,按下6次调整分,按下7次退出至正常状态,依次循环 / /被调整位闪烁显示,其它正常显示; / /调整状态时,可按加1键和减1减对时间进行调整; //单片机自动判断平闰年,校准当月最大天数; / /计时方法:TA中断,taccr0 = 32767,1s一次中断秒加1、RTC进行时间处理 / /按键:采用查询方式,外接上拉电阻(以后可以尝试中断方式) #包括“msp430x44x。” / / ******定义子程序****** init_sys虚空(void);/ /初始化子程序 无效的飞跃(void);/ /判断闰年子程序 空马克斯(void);/ /天数判断子程序 虚空(void);//显示显示子程序 无效的RTC(void);/ /实时时钟程序 dis_bit虚空(void);/ /送显缓子程序 dly_5ms虚空(void);/ /延时子程序 unsigned char key_set(void);/ /返回按键标志0,1,2,3 disply_normal虚空(void); disply_setmin虚空(void); disply_sethour虚空(void); disply_setday虚空(void); disply_setmonth虚空(void); disply_setyear虚空(void); / / *****定义变量******** unsigned char最大;/ /当月最大的天数 秒= 0; unsigned char min = 35; unsigned char小时= 13; unsigned char天= 10; unsigned char月= 2; unsigned int年= 2011; unsigned char的飞跃;/ /闰年标志为闰年,1,0为平年 unsigned char FCT = 0;//功能标志,0显示时钟显示年月,1,2 ~ 6分别调整分、时、日、月、年 unsigned char led_bit [ 6 ];// LED显示缓存 unsigned char key_flag;/ /按键是否按下标志为按下,0,1没有按下 unsigned int dis_num;/ /显示循环次数 LED显示代码/ LED const char led_tab [] = { 0xd7,0x14,0xcd,0x5d,0x1e 0,1,2,3,4,/ /, 0x5b,0xdb,0x15,0xdf,0x5f,0x00 / 5,6,7,8,9,灭标志符 }; / / ******主程序********** void main(void) { _ sys init (); _ unites (); while (1) { rtc (); / / 时钟处理程序 key _ set (); / / 返回key _ flag, 0没有按下, 1功能键, 2加1键, 3减1键 if (key _ flag = = 1) { fct + +; if (fct) = 7), fst = 0; } the _ bit (); / / 将需要显示的字符送入显示缓存dis _ bit [] switch (fct) { case 0: disply _ normal (); break; / / 正常显示日时分 case 1: disply _ normal (); break; / / 正常显示年月 case 2: disply _ setyear (); br

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档