📄 08092.txt
字号:
#include <reg52.H>
#include <intrins.h>
//#include <wait.h>
unsigned char code led_dispcode[]={ 0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
unsigned dispbit_select[4]={0xfe,0xfd,0xfb,0xf7};
unsigned data dis[5]={0x00,0x00,0x00,0x00,0x00};
unsigned char getdata;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
/*
void delay(short i)
{
i = i;
#pragma asm
PUSH B
PUSH ACC
MOV B,#0FFH
DELAY: NOP
NOP
DJNZ B,DELAY
POP ACC
POP B
#pragma endasm
}
*/
void read_adc0809(void)
{
P0 = 0XFF;
ST = 1;
ST = 0;
_nop_();
while(EOC == 0);
OE = 1;
getdata = P0;
OE = 0;
}
void display(void)
{
unsigned char k;
dis[4]=getdata;
dis[3]=dis[4]/51;
dis[4]=dis[4]%51;
dis[4]=dis[4]*10;
dis[2]=dis[4]/51;
dis[4]=dis[4]%51;
dis[4]=dis[4]*10;
dis[1]=dis[4]/51;
dis[4]=dis[4]%51;
dis[4]=dis[4]*10;
dis[0]=dis[4]/51;
for(k = 0;k < 4;k++)
{
P1=led_dispcode[dis[k]];
if(k == 3){P1 = P1|0x80;}
P2 = dispbit_select[k];
//Delay8us();
P2 = 0xff;
}
}
void main(void)
{
TMOD = 0x02;
TH0 = 246;
TL0 = 246;
ET0 = 1;
TR0 = 1;
EA = 1;
ST = 0;
OE = 0;
while(1)
{
read_adc0809();
display();
}
}
void t0(void) interrupt 1 //using 0
{
CLK = CLK^0x01;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -