📄 miao_biao.c
字号:
//**************************************************
//程序功能:秒表,9.9秒表设计
//*************************************************
#include<AT89X52.h>
code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0xff}; //共阳数码管段码
unsigned int cnt=0; //由于底下的cnt用到了4000,所以这时不能定义成char类型(最大才255)
unsigned char sec=0; //秒钟
unsigned char min=0; //分钟
unsigned char hour=0; //小时
void delay1ms() //1毫秒延时子程序
{
unsigned char i;
for(i=124;i>0;i--); //延时124*8+10=1002us
}
void LED_display() //显示子程序
{
P1=0xfb; //P1.2=0,选通第三位
P2=seg7code[sec/10];
delay1ms();
P2=0xff; //消隐
P1=0xf7; //P1.3=0,选通第四位
P2=seg7code[sec%10];
delay1ms();
P2=0xff; //消隐
}
void timer0 (void) interrupt 1 using 0 //定时器T0
{
cnt++; //每过250us,cnt加一
if(cnt==400) //250*400=0.1s
{
cnt=0;
sec++;
if(sec==100) //定时10秒,重新开始
{sec=0;}
}
}
main()
{
TMOD=0x02; //T0,方式2
EA=1; //开总中断
ET0=1; //开定时器T0中断
TH0=0x19; //11.0529MHZ的晶振,250us的定时中断
TL0=0x19;
TR0=1;
while(1)
{
LED_display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -