数码管时钟显示按键调时间.doc

上传人:桔**** 文档编号:559211268 上传时间:2023-12-03 格式:DOC 页数:13 大小:88.51KB
返回 下载 相关 举报
数码管时钟显示按键调时间.doc_第1页
第1页 / 共13页
数码管时钟显示按键调时间.doc_第2页
第2页 / 共13页
数码管时钟显示按键调时间.doc_第3页
第3页 / 共13页
数码管时钟显示按键调时间.doc_第4页
第4页 / 共13页
数码管时钟显示按键调时间.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数码管时钟显示按键调时间.doc》由会员分享,可在线阅读,更多相关《数码管时钟显示按键调时间.doc(13页珍藏版)》请在金锄头文库上搜索。

1、#include#define uint unsigned int#define uchar unsigned charuchar code table= 0x3f,/*0*/0x06,/*1*/0x5b,/*2*/0x4f,/*3*/0x66,/*4*/0x6d,/*5*/0x7d,/*6*/0x07,/*7*/0x7f,/*8*/0x6f,/*9*/0x00,/*灭*10*/0xf3,/*P.*11*/0x40,/*-*12*/0xB7,/*n.*13*/0xF6/*H.*14*/;/-/-定义变量-/-uchar miao,fen,shi,miaonao,fennao,shinao,na

2、o,gn,gnnz;uchar flag,aa,bb,cc,dd,ck,a0,a1,a2,a3,a4,a5,a6,a7;uint t0,t1;bit ss;sbit beep=P15;/-/-初始化-/-void init() shinao=8;/初始定义闹钟时间为8点整 gn=1; gnnz=1;ss=0; aa=0;/ dd=0; bb=1;/进入调闹钟日常时间循环 cc=1;/进入调闹钟日常时间循环/ ck=1; nao=0; TH0=0x3c; TL0=0xb0; TH1=0x3c; TL1=0xb0;/ 定时50ms中断一次EA=1;/开总中断 ET0=1;/开定时器0中断 TR0=

3、0; ET1=1;/开定时器1中断 TR1=0;/-/-延时函数-/-void delay(uint i) uchar y; for(i;i0;i-) for(y=110;y0;y-);/-/-定时器0,1-/-void timer0() interrupt 1 TMOD=0x01;TH0=0x3c; TL0=0xb0;t0+; if(nao=0)/日常时间读秒处理 if(t0=20) t0=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=24) shi=0; if(nao=1)/闹钟时间读秒处理 if(t0

4、=20) t0=0; miaonao+; if(miaonao=60) miaonao=0; fennao+; if(fennao=60) fennao=0; shinao+; if(shinao=24) shinao=0; void timer1() interrupt 3 if(dd=1)/串口调时间闹钟闪烁处理 RI=0; flag=1; delay(4); ss=ss; if(dd=0)/按键调时间闹钟闪烁处理 TMOD=0x01; TH0=0x3c; TL0=0xb0; t1+; if(t1=40) t1=0; ss=ss; /-/-数码管显示处理程序-/-void display(

5、uchar a7,uchar a6,uchar a5,uchar a4,uchar a3,uchar a2,uchar a1,uchar a0)P0=tablea7;P2=0xfe;delay(1);P0=tablea6;P2=0xfd;delay(1); P0=tablea5;P2=0xfb;delay(1);P0=tablea4;P2=0xf7;delay(1);P0=tablea3;P2=0xef;delay(1);P0=tablea2;P2=0xdf;delay(1);P0=tablea1;P2=0xbf;delay(1);P0=tablea0;P2=0x7f;delay(1);/-/

6、-数码管送数及闪烁-/-void send() if(nao=0)/日常时间送数 a0=miao%10; a1=miao/10; a2=12; a3=fen%10; a4=fen/10; a5=12; a6=shi%10; a7=shi/10; if(nao=1)/闹钟时间送数 a0=miaonao%10; a1=miaonao/10; a2=12; a3=fennao%10; a4=fennao/10; a5=12; a6=shinao%10; a7=shinao/10; if(ss=1)switch(gn)/调时间闪烁case 2:a0=10,a1=10;break;case 3:a3=1

7、0,a4=10;break;case 4:a6=10,a7=10;break; switch(gnnz)/调闹钟闪烁case 2:a0=10,a1=10;break;case 3:a3=10,a4=10;break;case 4:a6=10,a7=10;break;/-/-闹钟-/-void smq()if(shi=shinao)if(fen=fennao) if(miao=miaonao) beep=0; delay(100); beep=1; beep=0; delay(100); beep=1; beep=0; delay(100); beep=1; /-/-按键处理程序-/-uchar keychuli() uchar k; k=P1; /P1口内容送Kk=k; /取反k=(k&0xff); /屏蔽高4位,如果扫描8键,屏蔽该句。return(k); /返回键值uchar key() uchar key1,key2; /电子钟键盘按键键值临时存放 key1=keychuli(); /调P1口处理函数 if(key1!=0) /有键动作延时去抖动,否则函数返回sen

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号