七.定时器 T0 的应用---9.9 秒计时设计.doc

七.定时器 T0 的应用---9.9 秒计时设计.doc

ID:26031884

大小:121.50 KB

页数:3页

时间:2018-11-24

七.定时器 T0 的应用---9.9 秒计时设计.doc_第1页
七.定时器 T0 的应用---9.9 秒计时设计.doc_第2页
七.定时器 T0 的应用---9.9 秒计时设计.doc_第3页
资源描述:

《七.定时器 T0 的应用---9.9 秒计时设计.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、七.定时器T0的应用---9.9秒计时设计[实验任务]开始时,显示“00”,第1次按下BY1后就开始计时。第2次按BY1后,计时停止。第3次按BY1后,计时归零。[硬件电路][C语言源程序]#include//必须用这个子函数库unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsignedcharsec;//定义计数值,每过1/10秒,sec加一unsignedcharkeycnt=0;unsignedinttcnt;//键值判断sbitgewei=P2^0;/

2、/个位选通定义sbitshiwei=P2^1;//十位选通定义voidDelay(unsignedinttc)//延时程序{while(tc!=0){unsignedinti;for(i=0;i<100;i++);tc--;}}voidLED()//LED显示函数{shiwei=0;P0=table[sec/10];Delay(8);shiwei=1;gewei=0;P0=table[sec%10];Delay(5);gewei=1;}voidKEY()//按键扫描程序{unsignedchari,j;if(P3_0==0){for(i=20;i>0;i--)//延时去干扰for(j=2

3、48;j>0;j--);if(P3_0==0){keycnt++;switch(keycnt)//按下次数判断{case1://第一次按下TH0=0x06;//对TH0TL0赋值TL0=0x06;TR0=1;//开始定时break;case2://第二次按下TR0=0;//定时结束break;case3://第三次按下keycnt=0;//重新开始判断键值sec=0;//计数重新从零开始break;}while(P3_0==0);}}}//请注意写程序时的格式规范,此处是为了节省纸张voidt0(void)interrupt1using0//定时中断服务函数{tcnt++;//每过250

4、usttcnt加一if(tcnt==400)//计满400次(1/10秒)时{tcnt=0;//重新再计sec++;if(sec==100)//定时10秒,在从零开始计时{sec=0;}}}voidmain(void){TMOD=0x02;//定时器工作在方式2ET0=1;EA=1;sec=0;while(1){KEY();LED();}}

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

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

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