📄 adtrans.c
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P3^6;
sbit rd=P3^7;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code tabwe[]={
0x7e,0x7d,0x7b,0x77};
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
uchar code table1[]={
0xbf,0x86,0xdb,0xcf,
0xe6,0xed,0xfd,0x87,
0xff,0xef};
uchar a,we,num,num0,num1,num2,num3;
uint temp;
void start();
void display();
void delay(uchar z);
void main()
{
dula=0;
P0=0xff;
wela=1;
P0=0x7f;
wela=0;
while(1)
{
start();
delay(10);
rd=0;
delay(4);
a=P1;
rd=1;
display();
delay(4);
}
}
void delay(uchar z)
{
uchar i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void start()
{
wr=1;
wr=0;
wr=1;
}
void display()
{
a=~a;
temp=a*20;
num0=temp/1000;
num1=temp%1000/100;
num2=temp%100/10;
num3=temp%10;
if(we==4)
{we=0;}
else
{we++;}
switch (we)
{
case 0:num=num0;break;
case 1:num=num1;break;
case 2:num=num2;break;
case 3:num=num3;break;
}
dula=1;
if(we==0)
{P0=table1[num];}
else
{P0=table[num];}
dula=0;
P0=0xff;
wela=1;
P0=tabwe[we];
wela=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -