📄 75823.c
字号:
#include <REGX51.H>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define ce P0_3
#define clk P0_2
#define dat P0_1
uint time;
#define th ((uchar*)&time)[0]
#define tl ((uchar*)&time)[1]
uint code lcd[]={6339,6144,4550,6596,6405, 2501,2503,6209,6599,6597,260};
uchar val1,val2,val3,val4,val5,val6,val7,val8;
uint dataa;
uchar shi=0,fen=0,miao=0;
uchar sec;
uchar bdata road;
sbit r1=road^0;
sbit r2=road^1;
sbit r3=road^2;
sbit r4=road^3;
delay(uint time)
{
uchar i;
while(--time)
{
for(i=0;i<100;i++);
}
}
tx_dat(uchar i)
{
uchar j;
for(j=0;j<8;j++)
{
clk=0;
dat=(i&0x1);
clk=1;
i>>=1;
}
}
tx_lcd(uint i)
{
uchar j;
for(j=0;j<13;j++)
{
clk=0;
dat=(i&0x1);
clk=1;
i>>=1;
}
}
tx_bit(bit i)
{
clk=0;
dat=i;
clk=1;
}
lcd_dat()
{
ce=0;
tx_dat(0x41);
ce=1;
tx_bit(r1);
tx_bit(r4);
tx_lcd(lcd[val8]);//1
tx_bit(r3);
tx_bit(r2);
tx_lcd(lcd[val7]);//2
tx_bit(0);
tx_bit(0);
tx_lcd(lcd[val6]); //3
tx_bit(0);
tx_bit(0);
tx_lcd(lcd[val5]);//4
tx_bit(0);
tx_bit(0);
tx_lcd(lcd[val4]);//5
tx_bit(0);
tx_bit(0);
tx_lcd(lcd[val3]);//6
tx_bit(0);
tx_bit(0);
tx_lcd(lcd[val2]);//7
tx_bit(0);
tx_bit(0);
tx_lcd(lcd[val1]);//8
tx_dat(0); //L2
tx_dat(0); //L1
tx_dat(0); //L8
tx_dat(0);//SUB W
tx_bit(0);//ESP45
tx_bit(0);//FLASH
tx_bit(0);//ST
tx_bit(0);//NC
tx_bit(1);// 1/3BIAS
tx_bit(0);//DISPLAY ON
tx_bit(0);//NORMAL MODE
tx_bit(0);//NC
ce=0;
}
display()
{
val8=shi/10;
val7=shi%10;
val6=10;
val5=fen/10;
val4=fen%10;
val3=10;
val2=miao/10;
val1=miao%10;
lcd_dat();
}
void int0(void) interrupt 0
{
uchar i,dat,add;
TH0=TL0=0;
TR0=1;
while(!P3_2);
TR0=0;
time=0;
th=TH0;tl=TL0;
if(time<5500&&time>4500)
{
for(i=0;i<8;i++)
{
TR0=1;TH0=TL0=0;time=0;while(time<2000){th=TH0;tl=TL0;}//2ms
add<<=1;
add|=P3_2;
while(P3_2 );
while(!P3_2);
}
for(i=0;i<8;i++)
{
TR0=1;TH0=TL0=0;time=0;while(time<2000){th=TH0;tl=TL0;}//2ms
dat<<=1;
dat|=P3_2;
while(P3_2);
while(!P3_2);
}
fen=~add;
miao=~dat;
display();
}
}
main()
{
TMOD=1;
TH0=0;
TL0=0;
EA=1;
EX0=1;
IT0=1;
delay(200);
ce=clk=dat=0;
road=3;
display();
while(1)
{
delay(200);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -