标签:void unsigned 开发板 数码管 我太难 按键 TR0 秒表
制作一个秒表计时器,记录0-15秒时间。要求精准,可控。
1.能够用按键控制秒表开始
2.能够用按键控制秒表停止
3.能够用按键控制秒表清零
4.使用定时器控制时间,要求精确。
5.使用1个数码管和多个按键实现功能。
将下面代码复制粘贴到C51软件里,编译运行生成.hex文件,再将文件添加到下面电路中,运行。(软件文件,安装方法,创建工程,电路图在我前面博客里有)
右边数码管呈现从1到9数字一次增加,鼠标点击连接接口P1的按钮,数码管启动,再次按下数码管数字停止;点击连接接口P2的按钮,数码管数字清零,从0开始计时。
功能就是这样,喜欢的可以给个关注谢谢~
#include<reg52.h> sbit an = P1^0; sbit qing = P1^1; unsigned int i = 0; unsigned int s = 0; code unsigned char LED_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8E}; void INT_T0(void) { TMOD = 0X01; //打开定时器0 ,使用模式1定时 TH0 = 0XFC; TL0 = 0X18; //初始值 EA = 1;//打开总开关 ET0 = 1;//打开中断T0开关 } void main(void) { INT_T0(); TR0 = 0; //定时功能关闭 while(1) { if(an == 0) TR0 = 1; //判断按键按下 ,是则打开定时功能 else TR0 = 0; // 关闭定时功能 if(qing == 0) break; //跳出循环,关闭程序,重新启动 } } void time0(void) interrupt 1 { TH0 = 0XFC; TL0 = 0X18; //初始值 if(i < 1000) { i++; } else { P0 = LED_CODE[s]; i = 0; if(s<15) s++; else s = 0; } }
标签:void,unsigned,开发板,数码管,我太难,按键,TR0,秒表 来源: https://www.cnblogs.com/LeiZL/p/11832011.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。