📄 1.c
字号:
/*************** writer:shopping.w ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code LEDData1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code LEDData2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //0.~9. 共阳
sbit OE = P1^0;
sbit EOC = P1^1;
sbit ST = P1^2;
sbit CLK = P1^3;
sbit wei1 = P2 ^ 0;//数码管显示用
sbit wei2 = P2 ^ 1;
sbit wei3 = P2 ^ 2;
sbit wei4 = P2 ^ 3;
float x;
uchar a = 0, b = 0, c = 0,d=0,t = 0;
uchar temp=0;
void Delay(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void Display(void)//数码管显示
{
wei4 = 0;//第4个数码管显示
P0 = LEDData1[d];
Delay(4);
wei4 = 1;
wei3 = 0;//第3个数码管显示
P0 = LEDData1[c];
Delay(4);
wei3 = 1;
wei2 = 0;//第2个数码管显示
P0 = LEDData1[b];
Delay(4);
wei2 = 1;
wei1 = 0 ;//第1个数码管显示
P0 = LEDData2[a];
Delay(4);
wei1 = 1;
}
void AD0809()
{
ST = 0;
ST = 1;
ST = 0;
while(EOC == 0);
OE = 1;
temp=P3;
Delay(10);
x = temp/51.0 ;//255转换成5V量程
a = x;
b = x*10-a*10;
c = x*100-a*100-b*10;
d= x*1000-a*1000-b*100-c*10;
OE = 0;
}
void T0_csh()
{
TMOD = 0x02;
TH0 = 0x14;
TL0 = 0x00;
IE = 0x82;
TR0 = 1;
}
void main()
{ T0_csh();
P1 = 0x3f;
while(1)
{
AD0809();
Display();
}
}
void Timer0_INT() interrupt 1
{
CLK = !CLK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -