单片机原理及应用课程设计报告
附录程序:
/*说明:按键从左至右
按KEY 13 1次设定闹钏钟:
按KEY 14 1次设SECOND
单击15加1长按10倍单位时间加单击16减1长按10倍单位时间减
2次设MINUTE
单击15加1长按10倍单位时间加单击16减1长按10倍单位时间减
3次设HOUR
单击15加1长按10倍单位时间加单击16减1长按10倍单位时间减
按KEY 13 2次还原计时
按KEY 13 3次修改时间:可进入修改时间状态,否则10s后还原初始状态,
按KEY 14 1次设SECOND
单击15加1长按10倍单位时间加单击16减1长按10倍单位时间减
2次设MINUTE
单击15加1长按10倍单位时间加单击16减1长按10倍单位时间减
3次设HOUR
单击15加1长按10倍单位时间加单击16减1长按10倍单位时间减
按KEY 13 4次开始计时状态说明:改时间第 7个二极管亮改闹钟第 6个二极管亮正常计时第 5个二极管亮
可整点报时,闹钟(可手动设置)30s闹钟响时,可通过按第4排第3个键停即key15在设定闹钟状成态和修改时间状态,数码管相对较亮的两个表示现在可以调这两个位的数值*/
#include <reg51.h>
#define uchar unsigned char#define uint unsigned intsbit P1_4=P1^4;sbit P1_5=P1^5;sbit P1_6=P1^6;sbit P1_7=P1^7;sbit P2_0=P2^0;sbit P2_1=P2^1;sbit P2_2=P2^2;sbit P2_3=P2^3;sbit P2_4=P2^4;sbit P2_5=P2^5;uchar
table1[]={0x20,0x10,0x08,0x04,0x02,0x01};uchar table2[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
//显示码
uchar table3[]={0,0,0,0,0,0};//用来显示的数
组
uchar setalarm[]={0,0,0,0,0,0};//用来存储闹钟时间的
uchartcount,tcount02s,tcount03;//tcount为正常计时中断次数,tcount02为30S闹钟响的时间变量,tcount03为当在改闹钟状态超过10s没有操作则自动返回到计时状态uchar
keycode1,keycode2,keycode3,keycode4,keytcount;//keycode1用来计键13按下的次数(在不同模式下切换),keycode2用来计键14的次数(在改时,改闹钟状态用来确定改变的是时或分或秒),keycode3用来加,keycode4用来减char
second,minute,hour,alarm_second,alarm_minute,alarm_hour;void delay(){
uint i;
//延时
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育单片机原理及应用课程设计报告(7)全文阅读和word下载服务。
相关推荐: