📄 display.c
字号:
#include<reg51.h>
#define CYCLE 50000 //定义中断周期
sbit CSL=P2^0;//地位显示控制
sbit CSH=P2^1;//高位显示控制
sbit Start=P2^6;
unsigned char data i=0x00;
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//定义字形0-9编码表
void pulse(void) interrupt 1 using 2 //定时器0中断服务程序
{
static unsigned char j=0x00;
if(++j>=20)
{
i=++i%10;
j=0;
}
TH0=(65536-CYCLE)/256;//重装初始值
TL0=(65536-CYCLE)%256;
}
void Display() //显示子函数
{
CSL=1;
CSH=0;
P1=table[i];
CSL=0;
CSH=1;
P1=table[i];
}
//延时模块
void Delay(unsigned int value)
{
while(value!=0)
{
value--;
}
}
void main()
{
while(1)//等待开始键按下
{
Display();
if(0==Start)
{
Delay(1000);
P2=0xff;
if(0==Start)
break;
}
else
P2=0xff;
}
TMOD=0x01;//设置定时器初值,开中断,启动定时器
EA=1;
ET0=1;
TH0=(65536-CYCLE)/256;
TL0=(65536-CYCLE)%256;
TR0=1;
while(1)
{
Display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -