闹钟程序.doc

上传人:豆**** 文档编号:33572721 上传时间:2022-08-11 格式:DOC 页数:7 大小:29.50KB
返回 下载 相关 举报
闹钟程序.doc_第1页
第1页 / 共7页
闹钟程序.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《闹钟程序.doc》由会员分享,可在线阅读,更多相关《闹钟程序.doc(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除void delay1ms(int i)/1毫秒延时 int j,k; while(i-) for(j=76;j1;j-); for(k=29;k1;k-);void delaynus(unsigned char n) /延时若干微秒 unsigned char i; for(i=0;i0;i-) _nop_();void baojing(unsigned char n) unsigned char x,i; while(n-) for(i=0;i5;i+) for(x=0;x200;x+) beep=beep; dely500(); for(i

2、=0;i3;i+)for(x=0;x1;j-); for(k=29;k1;k-); sbit beep=P37;/位定义,定义P.6位fmp void dely500(void) unsigned char i; for(i=250;i0;i-) _nop_();void baojing(unsigned char n) unsigned char x,i; while(n-) for(i=0;i5;i+) for(x=0;x200;x+) beep=beep; dely500(); for(i=0;i3;i+)for(x=0;x23) value=0;while(Up=0);if(Down=

3、0)delay1ms(20);if(Down=0)value-;if(value=0) value=23;while(Down=0);houra=value;display_houra(houra); GotoXY(5, 1); delay1ms(5); LCD_SetDisplay(0x07); delay1ms(5); if(Out=0) delay1ms(500);break;void alarmminuteset(void)/闹钟分钟调整 while(1) if(Up=0)delay1ms(20);if(Up=0)minutea+;if(minutea59) minutea=0;whi

4、le(Up=0) ;if(Down=0)delay1ms(20);if(Down=0)minutea-;if(minutea=0) minutea=59;while(Down=0) ;display_minutea(minutea);GotoXY(8, 1); delay1ms(5); LCD_SetDisplay(0x07); delay1ms(5);if(Out=0)delay1ms(500);break;void alarmswitchset(void) while(1)if(Up=0)delay1ms(100);if(Up=0)alarmmode=1; GotoXY(12, 1); P

5、rint(ON); if(Down=0)alarmmode=0; GotoXY(12, 1); Print(OFF);if(Out=0)delay1ms(500);break; /* 设置模块 */ void Set_zhi (void)if(Set=0)delay1ms(10);if(Set=0) GotoXY(0, 1); Print(T) ; LCD_Write(LCD_COMMAND, 0x0f); delay1ms(1000); LCD_Write(LCD_COMMAND, 0x0c);while(1)keydone();if(Down=0)delay1ms(20);if(Down=

6、0)LCD_Write(LCD_CLEAR_SCREEN, 0x01);/清屏delay1ms(5); GotoXY(2, 0); Print(ALARM SET); GotoXY(6, 1); Print(-);display_houra(houra);display_minutea(minutea);if(alarmmode=1) GotoXY(12, 1); Print(ON );if(alarmmode=0) GotoXY(12, 1); Print(OFF);while(1)if(Set=0)delay1ms(100);if(Set=0) amode+; switch(amode)

7、case(1): GotoXY(5, 1); delay1ms(5); LCD_SetDisplay(0x07); delay1ms(5); alarmhourset(); LCD_Write(LCD_COMMAND, 0x0c); delay1ms(500); break; case(2): GotoXY(8, 1); delay1ms(5); LCD_SetDisplay(0x07); delay1ms(5); alarmminuteset(); LCD_Write(LCD_COMMAND, 0x0c); delay1ms(500); break; case(3): GotoXY(12,

8、1); delay1ms(5); LCD_SetDisplay(0x07); delay1ms(5); alarmswitchset(); LCD_Write(LCD_COMMAND, 0x0c); delay1ms(500); break; if(amode=4) amode=0;if(Out=0) LCD_Write(LCD_CLEAR_SCREEN, 0x01);delay1ms(5);show_time() ;break;if(Out=0)GotoXY(0, 1); Print( );LCD_Write(LCD_COMMAND, 0x0c);break;void main () fla

9、g=1; /时钟停止标志LCD_Initial(); /液晶初始化Init_DS18B20( ) ; /DS18B20初始化Initial_DS1302(); /时钟芯片初始化up_flag=0;down_flag=0;done=0; /进入默认液晶显示/wireless_1=0;/wireless_2=0;/wireless_3=0;/wireless_4=0P3=0; displaystar(); /显示欢迎界面while(1) while(done=1) keydone(); /进入调整模式while(done=0) show_time(); /液晶显示数据 Set_zhi( );if(

10、hide_hour=houra)&(hide_min=minutea)&(hide_sec=0)if(alarmmode=1) LCD_Write(LCD_CLEAR_SCREEN, 0x01);/清屏delay1ms(5); GotoXY(3, 0); Print(TTME); GotoXY(8, 0); Print(UP!); delay1ms(5);while(1) baojing(1); if(Out=0) LCD_Write(LCD_CLEAR_SCREEN, 0x01);/清屏delay1ms(5);show_time(); break; /flag=0; Setkey(); /扫描各功能键【精品文档】第 7 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com