以作息时间控制为主的多功能任务设计.docx

以作息时间控制为主的多功能任务设计.docx

ID:51038127

大小:21.13 KB

页数:12页

时间:2020-03-17

以作息时间控制为主的多功能任务设计.docx_第1页
以作息时间控制为主的多功能任务设计.docx_第2页
以作息时间控制为主的多功能任务设计.docx_第3页
以作息时间控制为主的多功能任务设计.docx_第4页
以作息时间控制为主的多功能任务设计.docx_第5页
资源描述:

《以作息时间控制为主的多功能任务设计.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include//52单片机头文件,声明各寄存器等#include#defineuintunsignedint//宏定义符号,类似于替换#defineucharunsignedcharsbitkey1=P3^4;//宏定义位,也即IO口定义sbitkey2=P3^5;sbitkey3=P3^6;sbitkey4=P3^7;sbitfm=P2^3;sbitdula=P2^6;sbitwela=P2^7;sbitbear=P2^3;uinti;//定义各符号ucharaa,bb,numdu,num

2、we;ucharsec1,min1,hour1,year1,mon1,day1,temp1,temp2,sec2,min2,hour2;//主功能符号定义ucharcodetablew[]={0x71,0x6d,0x5b,0x3f,0x6d,0x5b,0x06,};ucharcodetablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};ucharcodetable[]={0x3f,0x06,0x5b,0x4f,//主功能数组定义0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c

3、,0x39,0x5e,0x79,0x71};voidw1();//子函数声明voidw2();voidw3();voidw4();voiddelayms(uintxms);voidtimer0();voiddelay(uintz);//主功能子函数声明voidinit();voiddisplay(ucharhour,ucharmin,ucharsec);voidkeyscan();voidalarm();voidtime1();/*--------------------------------------主函数-----------

4、-----------------------------*/voidmain(){key1=1;key2=1;key3=1;key4=1;while(1){while(!key1)w1();while(!key2)w2();while(!key3)w3();while(!key4)w4();}}/*--------------------------------------按键控制蜂鸣器过程----------------------------------------*/voidw1(){if(!key1){delayms(300

5、);//延时防抖,松手检测if(key1){fm=!fm;}}}/*--------------------------------------按键控制流水灯过程----------------------------------------*/voidw2(){loop1:P1=0xff;if(!key2){delayms(300);if(key2){aa=0xfe;//赋初值11111110while(1)//大循环{P1=aa;delayms(100);//延时500毫秒aa=_crol_(aa,1);//将aa循环左移1位后再

6、赋给aa//相应的cror是循环右移一位if(!key2){delayms(300);if(key2)gotoloop1;}}}}}/*--------------------------------------按键控制数码管过程----------------------------------------*/voidw3(){loop2:wela=1;P0=0xff;if(!key3){delayms(300);if(key3){numdu=0;numwe=0;while(1){numdu++;if(numdu==7)numdu=

7、1;dula=1;//开段锁存器P0=tablew[numdu];//送段码dula=0;//锁存段码wela=1;//开位锁存器P0=tablewe[numwe];//送位码wela=0;//锁存位码numwe++;if(numwe==6)numwe=0;delayms(5);if(!key3){delayms(300);if(key3)gotoloop2;}}}}}/*--------------------------------------按键控制作息时间过程----------------------------------

8、------*/voidw4(){if(!key4){delayms(300);if(key4){init();//主功能主程序while(1){keyscan();alarm();}}}}/*-------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。