时钟可调时间和日期设计程序

时钟可调时间和日期设计程序

ID:17643257

大小:46.50 KB

页数:6页

时间:2018-09-04

时钟可调时间和日期设计程序_第1页
时钟可调时间和日期设计程序_第2页
时钟可调时间和日期设计程序_第3页
时钟可调时间和日期设计程序_第4页
时钟可调时间和日期设计程序_第5页
资源描述:

《时钟可调时间和日期设计程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//功能描述:数码管显示秒表,有按键控制开始,停止,恢复//硬件连接:IOA0~3接至按键1*key8的key1~key3//1*key8的rom口接高电平//IOA8口接至2*key4的D_dp//IOB高8位连至DIG控制6个数码管驱动//IOB低8位连至SEG控制6个数码管的显示//编写日期:2012-08-14#include"SPCE061A.h"unsignedintKeyScan(void);unsignedchartable[]={0x003f,0x0006,0x005b,0x004f,0x0066,0

2、x006d,0x007d,0x0007,0x007f,0x006f};//数字0123456789unsignedchartable1[]={0x0100,0x0000};//:闪烁代码unsignedchartable2[]={0xff00,0x0000};//时钟闪烁代码unsignedintx1,x2,y1,y2,z1,z2,h=0,min=0,s=0,t=0,t1=0,t2=0,m=0,xx=0,yy=0,zz=0,shansuo=0,p=0,q=0;//变量可变的延时喂狗函数voiddelay(unsigne

3、dcharms){unsignedinti,j;for(i=ms;i>0;i--)for(j=110;j>0;j--)*P_Watchdog_Clear=0x0001;}//显示函数voiddisplay(){*P_IOB_Data=0x8000;//:的显示*P_IOA_Data=table1[m];delay(1);x1=(table2[q]&0x0200)

4、table[h%10];//小时的显示*P_IOB_Data=x1;delay(1);x2=(table2[q]&0x0100)

5、table[h/10];*P

6、_IOB_Data=x2;delay(1);y1=(table2[p]&0x0800)

7、table[min%10];//分钟的显示*P_IOB_Data=y1;delay(1);y2=(table2[p]&0x0400)

8、table[min/10];*P_IOB_Data=y2;delay(1);z1=0x2000

9、table[s%10];//秒的显示*P_IOB_Data=z1;delay(1);z2=0x1000

10、table[s/10];*P_IOB_Data=z2;delay(1);}//按键函数voidkey(

11、){unsignedcharuiKey;uiKey=KeyScan();if(uiKey&0x00ff){s=0;switch(uiKey){case0x0001:xx++;if(xx==1)//key1第一次按下,此时分钟闪烁{shansuo++;yy=1;}if(xx==2)//key1第二次按下,此时小时闪烁{shansuo++;yy=1;}if(xx==3)//key1第三次按下,时钟恢复正常工作{shansuo=0;zz=0;xx=0;}break;case0x0002://key2每按下一次数加一if(yy

12、==1

13、

14、zz==1){zz=1;yy=0;s=0;if(shansuo==1)//分钟加{min++;if(min==60)min=0;}if(shansuo==2)//小时加{h++;if(h==24)h=0;}}break;case0x0004://key3每按下一次数减一if(yy==1

15、

16、zz==1){zz=1;yy=0;s=0;if(shansuo==1)//分钟减{min--;if(min==-1)min=59;}if(shansuo==2)//小时减{h--;if(h==-1)h=23;}}break;

17、}}}intmain(){__asm("INTOFF");//关闭总中断*P_IOA_Dir=0xff00;//设置A口低8位为同向低输入,*P_IOA_Attrib=0xff00;//设置A口高8位为同向低输出*P_IOA_Data=0x0000;*P_IOB_Dir=0xffff;//设置B0~B15口为同相低电平输出*P_IOB_Attrib=0xffff;*P_IOB_Data=0x0000;*P_INT_Ctrl=C_IRQ5_2Hz

18、C_IRQ4_1KHz;__asm("INTIRQ");//打开IRQ中断

19、while(1){key();display();*P_Watchdog_Clear=0x0001;//清狗}}//中断函数voidIRQ5(void)__attribute__((ISR));voidIRQ5(void){if(*P_INT_Ctrl&0x0004){t++;t1++;if(t1==1){t1=0;//:闪烁m+

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

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

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