📄 11.c
字号:
#include<reg52.h>
#include<absacc.h>
#define IN0 XBYTE[0x7ff8]
unsigned char adz=0;
unsigned char szz=0;
sbit jiare=P3^0;
sbit zhilen=P3^1;
unsigned char ad[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x27};
unsigned int zhi[8]={0,0,0,10,0,0,0,10};
void disp(void);
void delay_1ms(void);
void delay_nms(unsigned int n);
void adzh(void);
void key(void);
void main()
{ P1=0x00;
jiare=0;
zhilen=0;
szz=85;
zhi[4]=szz/100;
zhi[5]=szz%100/10;
zhi[6]=szz%10;
while(1)
{ adzh();
disp();
key();
if(szz>adz)
{ jiare=1;
zhilen=0;
}
else if(szz<adz)
{
zhilen=1;
jiare=0;
}
else
{ jiare=0;
zhilen=0;
}
}
}
void key()
{
if(P1==0)
return;
if(P1==0x04)
szz=szz-1;
if(P1==0x02)
szz=szz+10;
if(P1==0x01)
szz=szz+1;
if(P1==0x08)
szz=szz-10;
zhi[4]=szz/100;
zhi[5]=szz%100/10;
zhi[6]=szz%10;
while(P1!=0x00)
disp();
}
void adzh(void)
{ unsigned char xdata *ad_adr;
unsigned int i;
ad_adr=&IN0;
*ad_adr=0;
i=i;
i=i;
for(i=0;i<0x60;i++)
{
}
adz=*ad_adr;
disp();
zhi[0]=adz/100;
zhi[1]=adz%100/10;
zhi[2]=adz%10;
}
void disp(void)
{
int i=0x01,j;
for(j=0;j<8;j++)
{
P2=i;
P0=ad[zhi[j]];
i=i<<1;
delay_nms(2);
}
}
void delay_1ms(void)
{
unsigned int i;
for(i=0;i<150;i++)
{
}
}
void delay_nms(unsigned int n)
{
unsigned int i;
for(i=0;i<n;i++)
delay_1ms();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -