单片机及接口技术软件实验6

单片机及接口技术软件实验6

ID:44078849

大小:315.79 KB

页数:15页

时间:2019-10-18

单片机及接口技术软件实验6_第1页
单片机及接口技术软件实验6_第2页
单片机及接口技术软件实验6_第3页
单片机及接口技术软件实验6_第4页
单片机及接口技术软件实验6_第5页
资源描述:

《单片机及接口技术软件实验6》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程名称:单片机及接口技术软件实验项目名称:电子钟姓名:_专业:电子信息工程班级:电信2班学号:22同组成员」、实验预习部分:#incIude#incIude//定时器每50ms进入一次中断//闹钟报警显示灯//按键标志位#defineuintunsignedint#defineucharunsignedchar#definedata50000sbitBEEPCLK二P3八4;sbitBEEPDIN二P2飞;sbitPoint二P(T0;sbitkey_input=

2、P1"0;sbitBEEP二P广2;bitkeyup;ucharkeytemp二0,keyvaI,keybak;//按键值,键值,按键备份值ucharmescond;ucharsecond,minute,hour二14,date=2,month=1;//设计时间uintyear二2013;ucharminutel,hour1,aIm1,minute2,hour2,aIm2;//定义闹钟1:分钟,小时,开关标志,闹钟2:分钟,小时,开关标志uchara,wss;//显示状态标志,控制位标志voidjia()

3、;//加调节函数voidjian0;//减调节函数ucharcodeBEEPtabIe□二{0x03,0x9F,0x25,OxOD,0x99,0x49,0x41,0x1F,0x01,0x09,0x11,0xC1,0x63,0x85,0x61,0x71,Oxff,Oxfd};//数码管各个数值段码数组uchardispbuf[8],dispbuf1[8],dispbuf2[8],dispbuf3[8];voiddeIay_ms(unsignedinttms)//延时函数unsignedchari;while

4、(tms-一)for(i二123;i>0;i—);voidcIose_BEEP()//关闭显示函数uchari;for(i二0;i〈8;i++)BEEPCLK二0;BEEPDIN二1;nop();BEEPCLK二1;}}/*定时器1中断函数*/voidtime1_int()interrupt3{—TH1二(65536-data)/256;TL1二(65536-data)%256;//设置定时器初值mescond++;if(mescond==20){second++;mescond二0;}if(second

5、=60){second二0;minute++;}if(minute==60){hour++;minute=0;}if(hour==24){date++;hour二0;}if(month=1

6、

7、month=3

8、

9、month=5

10、

11、month=7

12、

13、//小月30天month==81

14、month=10

15、

16、morrth=12){if(date==32){month++;date二1;}}eIseif(month==2){if(year%400=0

17、

18、(year%4=0&&year%100!二0))//是否为闰年{

19、if(date=29)//如果是闰年,2月份有29天{month++;date二1;}}eIse{if(date=28)//不是闰年,2月有28天{month++;date二1;}}}eIseif(month=4

20、

21、month=6

22、

23、month=9

24、

25、month=11)//大月31天{if(date==31){month++;date二1;}}if(month==13)year++;month二1;}}voidRead_Key()//读键值函数{keytemp

26、temp++;//*T***键盘扫描函数voidkeyscan()//键值扫描函数{if(keytemp=0xff){keyup二1;//按键已经放开keybak-0;//清除按键备份值}elseif(keytemp二二keybak&&keyup=1)//两次的检测的值一样且按键已经放开{keyval二keytemp;//存放按键值keyup二0;}〃按键已经执行且还没放开keybak二keytemp;//把新的键值放入备份单元}voidkey_job()//键值确认函数{switch(keyval){c

27、ase0x7f:a++;wss二0;if(a=4)a=0;keyvaI=0xff;break;//键1按下,切换数码管显示caseOxbf:if(wss==0)wss=4;wss--;keyvaI=0xff;break;//键2按下,切换控制caseOxdf:jia();keyvaI=0xff;break;//对控制位加1caseOxef:jian0;keyvaI=0xff;break;//对控制位减1case0xf7:aIm

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

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

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