1.设计秒计时器,要求实现60秒计时,用2位LED数码管显示。文章来源:https://www.toymoban.com/news/detail-772245.html
2.按键K1,实现秒表的停止和启动。文章来源地址https://www.toymoban.com/news/detail-772245.html
#include <STC8.H>
char lednum[10] = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xF6};//0~9
int count=0;
int Tnum=0;
sbit a = P1^0;
sbit b = P1^1;
sbit c = P1^2;
sbit K1 = P3^2;
void display();
void delay(int x) //延时
{
int i,j;
for (i=x;i>0;i--)
{
for (j=1000;j>0;j--);
}
}
void Init() {
TMOD = 0x01;
TH0=(65536-20000)/256;//(65536-20000)/256;
TL0=(65536-20000)%256;//(65536-20000)%256;
ET0=1;
EA=1;
TR0 = 1;
IT0=0;
EX0=1;
}
void main()
{
Init();
P2M1 = 0x00;
P2M0 = 0xFF;
P1M1 = 0x00;
P1M0 = 0xFF;
while (1)
{
display();
}
}
void display(){
a=1,b=0,c=0;
P2=lednum[Tnum/10];
delay(10);
a=0,b=1,c=0;
P2=lednum[Tnum%10];
delay(10);
}
void ex0() interrupt 0{
if(K1==0){
delay(120);
if(K1==0);
TR0=!TR0;
delay(120);
}
}
//12Mhz
void Time_20ms() interrupt 1
{
TH0=(65536-20000)/256;//(65536-20000)/256;
TL0=(65536-20000)%256;//(65536-20000)%256;
count++;
if(count==50){
count=0;
Tnum++;
if(Tnum==60){
Tnum=0;
}
}
}
到了这里,关于嵌入式单片机——60秒计时器的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!