📄 new.c
字号:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
int count;
uchar n,i;
uchar hour;
uchar minute;
uchar second;
uchar code duan[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6f};
uchar data sbuff[6];
void delay_20us(uchar a)
{ uchar time0,j;
for (j=0;j<a;j++)
{
for (time0=0;time0<10;time0++) ;}
}
void lednew()
{ uchar m,*pointer;
P3=0x7f;
pointer=duan;
for(m=0;m<6;m++)
{ P0=0;
n=sbuff[i];
i++;
if((m==1)||(m==3)) // m的作用小数点的显示
{ P0=(*(pointer+n))|0x80;}
else P0=*(pointer+n);
delay_20us(30);
P3=_cror_(P3,1);
if(i==6){i=0;} //等于六的必要性
}
}
void timer0() interrupt 1 /////////////////// 定时一秒
{ count++;
if(count==100){second++;count=0;}
if(second==60){minute++;second=0;}
if(minute==60){hour++;minute=0;}
if(hour==24){hour=0;}
}
/*先存入6个缓存区,在用显示函数依次把缓存中的数显示出来 注意算法*/
void main()
{
TMOD=0x02;
TH0=0x9c;
TL0=0x9c;
EA=1;
ET0=1;
TR0=1;
while(1){
sbuff[0]=hour/10;
sbuff[1]=B;
sbuff[2]=minute/10;
sbuff[3]=B;
sbuff[4]=second/10;
sbuff[5]=B;
lednew();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -