基于89C51定时器零数字时钟C程序.doc

上传人:h**** 文档编号:139955 上传时间:2018-07-10 格式:DOC 页数:10 大小:59KB
下载 相关 举报
基于89C51定时器零数字时钟C程序.doc_第1页
第1页 / 共10页
基于89C51定时器零数字时钟C程序.doc_第2页
第2页 / 共10页
基于89C51定时器零数字时钟C程序.doc_第3页
第3页 / 共10页
基于89C51定时器零数字时钟C程序.doc_第4页
第4页 / 共10页
基于89C51定时器零数字时钟C程序.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、 1 /*新手学习之作 , 拇指没有考虑精确问题 */凌阳, 拇指 凌阳 /*数码管段码为 P0 口 , 拇指位码为 P3口 */凌阳, 拇指 凌阳 #include凌 阳, 拇指 凌阳 #define 凌阳, 拇指 凌阳 uint 凌阳, 拇指 凌阳 unsigned 凌阳, 拇指 凌阳 int 凌阳, 拇指 凌阳 #define 凌阳, 拇指 凌阳 uchar 凌阳, 拇指 凌阳 unsigned 凌阳, 拇指 凌阳 char 凌阳, 拇指 凌阳 sbit 凌阳, 拇指 凌阳 menu=P10;/功能键设置 凌阳, 拇指 凌阳 sbit 凌阳, 拇指 凌阳 plus=P11;/加 1键设置

2、 凌阳, 拇指 凌阳 sbit 凌阳, 拇指 凌阳 minus=P12;/减 1键设置 凌阳, 拇指 凌阳 sbit 凌阳, 拇指 凌阳 speaker=P21;/蜂鸣器端口设置 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 uint 凌阳, 拇指 凌阳 miao,fen,shi,miao1,miao2,fen1,fen2,shi1,shi2,num1,jishi;凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 uchar 凌阳, 拇指 凌阳 code 凌阳, 拇指 凌阳 table=/数码管字库定义 凌 阳, 拇指 凌阳 0xc0,0xf9,0xa4,0xb0,凌 阳, 拇指 凌阳 0x99,0x92,

3、0x82,0xf8,凌 阳, 拇指 凌阳 0x80,0x90,0x88,0x83,凌 阳, 拇指 凌阳 0xc6,0xa1,0x86,0x8e;凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 delayms(uint 凌阳, 拇指 凌阳 x)/延时函数 , 拇指 11.0292晶振下为 1ms 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 uint 凌阳, 拇指 凌阳 i,j;凌阳, 拇指 凌阳 for(i=x;i0;i-)凌 阳, 拇指 凌阳 for(j=110;j0;j-);凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 2 凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 k

4、eyscan()/键盘扫描函数 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(menu=0)/检测功能键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 delayms(5);/按键去抖动 凌阳, 拇指 凌阳 if(menu=0)/检测功能键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 speaker=!speaker;/提示音 凌阳, 拇指 凌阳 delayms(5);凌 阳, 拇指 凌阳 while(!menu);/等待按键被松开 凌阳, 拇指 凌阳 num1+; /功能键计数 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(num1=1)/按一下功能键 , 拇指调节

5、秒 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 TR0=0;/关闭定时器 凌阳, 拇指 凌阳 if(plus=0)/检测加 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 delayms(5);/按键去抖动 凌阳, 拇指 凌阳 if(plus=0)/检测加 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 speaker=!speaker;/提示音 凌阳, 拇指 凌阳 3 delayms(5);凌 阳, 拇指 凌阳 while(!plus);凌 阳, 拇指 凌阳 miao+;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(minus=0)/检测减 1键是否按下 凌阳,

6、拇指 凌阳 凌阳, 拇指 凌阳 delayms(5);/按键去抖动 凌阳, 拇指 凌阳 if(minus=0)/检测减 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 speaker=!speaker;/提示音 凌阳, 拇指 凌阳 delayms(5);凌 阳, 拇指 凌阳 while(!minus);凌 阳, 拇指 凌阳 miao-;凌 阳, 拇指 凌阳 if(miao=-1)/如果减到 -1, 拇指改为 59 凌阳, 拇指 凌阳 miao=59;凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(num1=2)/按两下功能键 , 拇指调节分 凌阳,

7、 拇指 凌阳 凌阳, 拇指 凌阳 TR0=0;凌阳, 拇指 凌阳 4 if(plus=0)/检测加 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 delayms(5);/按键去抖动 凌阳, 拇指 凌阳 if(plus=0)/检测加 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 speaker=!speaker;/提示音 凌阳, 拇指 凌阳 delayms(5);凌 阳, 拇指 凌阳 while(!plus);凌 阳, 拇指 凌阳 fen+;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(minus=0)/检测减 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指

8、凌阳 delayms(5);/按键去抖动 凌阳, 拇指 凌阳 if(minus=0)/检测减 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 speaker=!speaker;/提示音 凌阳, 拇指 凌阳 delayms(5);凌 阳, 拇指 凌阳 while(!minus);凌 阳, 拇指 凌阳 fen-;凌阳, 拇指 凌阳 if(fen=-1)凌 阳, 拇指 凌阳 fen=59;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 5 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(num1=3)/按三下功能键 , 拇指调节时 凌阳, 拇指

9、 凌阳 凌阳, 拇指 凌阳 TR0=0;凌阳, 拇指 凌阳 if(plus=0)/检测加 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 delayms(5);/按键去抖动 凌阳, 拇指 凌阳 if(plus=0)/检测加 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 speaker=!speaker;/提示音 凌阳, 拇指 凌阳 delayms(5);凌 阳, 拇指 凌阳 while(!plus);凌 阳, 拇指 凌阳 shi+;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(minus=0)/检测减 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 de

10、layms(5);/按键去抖动 凌阳, 拇指 凌阳 if(minus=0)/检测减 1键是否按下 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 6 speaker=!speaker;/提示音 凌阳, 拇指 凌阳 delayms(5);凌 阳, 拇指 凌阳 while(!minus);凌 阳, 拇指 凌阳 shi-;凌阳, 拇指 凌阳 if(shi=-1)凌 阳, 拇指 凌阳 shi=23;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(num1=4)/按四下功能键 , 拇指开启定时器 , 拇指继续工作

11、凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 num1=0;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 TR0=1;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 display(uint 凌阳, 拇指 凌阳 num01,uint 凌阳, 拇指 凌阳 num02,uint 凌阳, 拇指 凌阳 num03,uint 凌阳, 拇指 凌阳 num04,uint 凌阳, 拇指 凌阳num05,uint 凌阳, 拇指 凌阳 num06)/数码管动态显示 凌阳, 拇指 凌阳

12、凌阳, 拇指 凌阳 P0=0xff;/清显示 凌阳, 拇指 凌阳 P3=0xbf;/控制秒十位显示 凌阳, 拇指 凌阳 P0=tablenum01;/显示秒十位 凌阳, 拇指 凌阳 delayms(1);/延时 1ms 凌阳, 拇指 凌阳 7 凌阳, 拇指 凌阳 P3=0x7f;/控制秒个位显示 凌阳, 拇指 凌阳 P0=tablenum02;/显示秒个位 凌阳, 拇指 凌阳 delayms(1);/延时 1ms 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 P3=0xfb;/控制中间间隔显示 凌阳, 拇指 凌阳 P0=0xbf;/显示一条短横线 凌阳, 拇指 凌阳 delayms(1);凌 阳,

13、拇指 凌阳 凌阳, 拇指 凌阳 P3=0xf7;凌阳, 拇指 凌阳 P0=tablenum03;凌 阳, 拇指 凌阳 delayms(1);凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 P3=0xef;凌阳, 拇指 凌阳 P0=tablenum04;凌 阳, 拇指 凌阳 delayms(1);凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 P3=0xdf;凌阳, 拇指 凌阳 P0=0xbf;凌阳, 拇指 凌阳 delayms(1);凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 P3=0xfe;凌阳, 拇指 凌阳 P0=tablenum05;凌 阳, 拇指 凌阳 delayms(1);凌 阳, 拇指 凌阳 凌

14、阳, 拇指 凌阳 P3=0xfd;凌阳, 拇指 凌阳 8 P0=tablenum06;凌 阳, 拇指 凌阳 delayms(1); 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 time_1() 凌阳, 拇指 凌阳 interrupt 凌阳, 拇指 凌阳 1/定时中断 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 TH0=(65536-45872)/256;/50ms 定时( 12MHZ 晶振为TH0=(65536-50000)/256;) 凌 阳, 拇指 凌阳 TL0=(65536-45872)%256;凌 阳, 拇指 凌阳 jishi+;凌 阳, 拇指 凌阳 凌阳, 拇指

15、 凌阳 void 凌阳, 拇指 凌阳 contest()/时间设置函数 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(jishi=20)/jishi为 20, 拇指及 1S 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 jishi=0;凌 阳, 拇指 凌阳 miao+;/秒加 1 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(miao=60)/如果秒为 60, 拇指秒清零 , 拇指分加 1 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 miao=0;凌阳, 拇指 凌阳 fen+;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 9 if(fen=60)凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 fen=0;凌阳, 拇

16、指 凌阳 shi+;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(shi=24)凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 shi=0; 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 miao1=miao/10;/秒十位送显示 凌阳, 拇指 凌阳 miao2=miao%10;/秒个位送显示 凌阳, 拇指 凌阳 fen1=fen/10;凌 阳, 拇指 凌阳 fen2=fen%10;凌 阳, 拇指 凌阳 shi1=shi/10;凌 阳, 拇指 凌阳 shi2=shi%10;凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 main()凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 TMOD=

17、0x01;/定时器零工作在模式 0下 凌阳, 拇指 凌阳 TH0=(65536-45872)/256;/50ms 初值设置 凌阳, 拇指 凌阳 TL0=(65536-45872)%256;凌 阳, 拇指 凌阳 EA=1;/开中断 凌阳, 拇指 凌阳 10 ET0=1;/开启定时 器 0中断 凌阳, 拇指 凌阳 TR0=1;/启动定时器 0 凌阳, 拇指 凌阳 while(1)凌 阳, 拇指 凌阳 凌阳, 拇指 凌阳 contest();/调用时间设置函数 凌阳, 拇指 凌阳 display(miao1,miao2,fen1,fen2,shi1,shi2);/调用显示函数 凌阳, 拇指 凌阳 keyscan();/调用键盘扫描函数 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。