📄 累加器1.txt
字号:
#include<REG52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x42,0x6f,0x58,0x49,0x65,0xc1,0xc0,0x4f,0x40,0x41};//0x90,0xa7,0xb6,0x9a,0x3e,0x3f,0xb0,0xbf,0xbe;
uint i;
uint j;
uint k;
uint countnum;
void delay(uint x);
void inter0( ) interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
countnum++;
if(countnum==5)
{
countnum=0;
i++;
P1=table[i];
if(i==10)
{
i=0;
P1=table[0];
j++;
P0=table[j];
}
if(j==10)
{
j=0;
P0=table[0];
k++;
P2=table[k];
}
if(i==3&&j==2&&k==2)
{
i=0;j=0;k=0;
P0=P1=P2=0xff;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
}
}
void init()
{
i=0;j=0;k=0;countnum=0;
TMOD=0x01;
//P0=0xff;
//P1=0xff;
//P2=0xff;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
P1=table[0];
TR0=1;
}
void main()
{
init();
while(1);
}
void delay(uint x)
{
uchar l;
for(l=x;l>0;l--);
}
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar timenum[]={0,0,0};
uchar countnum=0;
uchar timer[]={0,0,0};
void init_devices();
void display(uchar *timer);
uchar code table[]={0x90,0xa7,0xb6,0x9a,0x3e,0x3f,0xb0,0xbf,0xbe};
void main()
{
init_devices();
while(1)
{
timer[0]=timenum[0]/10;
timer[1]=timenum[1]/10;
timer[2]=timenum[2]/10;
display(timer);
}
}
void init_devices()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
/*void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}*/
void display(uchar *timer)
{
uchar i;
for(i=0;i<3;i++)
{
switch(i)
{
case 0: P1=table[timer[i]]; break;
case 1: P0=table[timer[i]]; break;
default: P2=table[timer[i]]; break;
}
//delay();
}
}
void TC0() interrupt 1
{
countnum++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(countnum==20)
{
countnum=0;
timenum[2]++;
if(timenum[2]==10)
{
timenum[2]=0;
timenum[1]++;
}
if(timenum[1]==10)
{
timenum[1]=0;
timenum[0]++;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -