5V电压表程序
时间:10-02
整理:3721RD
点击:
#include<reg52.h>
sbit wr=P3^6;
sbit rd=P3^7;
sbit csad=P0^7;
sbit wela=P2^7;
sbit dula=P2^6;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,
0x76,0x79,0x38,0x00
};
unsigned char tt,temp;
float value;
unsigned int a,value1;
void delay(unsigned char z);
void init();
void start();
void display(a);
void main()
{
init();
while(1)
{
start();
value=temp*(5000.0/255.0);
value1=(unsigned int)(value);
display(value1);
}
}
void init()
{
dula=0;
wela=0;
}
void start()
{
P0=0xff;//消除对LED显示的干扰
wela=1;
csad=0;
wr=1;
wr=0;
wr=1;
P0=0xff;
delay(5);
wela=0;
wela=1;
csad=0;
rd=0;
delay(5);
rd=1;
temp=P1;
wela=0;
P0=0xff;
}
void display(a)
{
char bai,shi,ge;
bai=a/1000;
shi=a%1000/100;
ge=a%1000%100/10;
P0=table[bai]|0x80;
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
delay(1);//这个很重要不然就会有重影多个显示
P0=table[shi];
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
delay(1);
P0=table[ge];
dula=1;
dula=0;
P0=0xfb;
wela=1;
wela=0;
delay(1);
}
void delay(unsigned char z)
{
unsigned char x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
sbit wr=P3^6;
sbit rd=P3^7;
sbit csad=P0^7;
sbit wela=P2^7;
sbit dula=P2^6;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,
0x76,0x79,0x38,0x00
};
unsigned char tt,temp;
float value;
unsigned int a,value1;
void delay(unsigned char z);
void init();
void start();
void display(a);
void main()
{
init();
while(1)
{
start();
value=temp*(5000.0/255.0);
value1=(unsigned int)(value);
display(value1);
}
}
void init()
{
dula=0;
wela=0;
}
void start()
{
P0=0xff;//消除对LED显示的干扰
wela=1;
csad=0;
wr=1;
wr=0;
wr=1;
P0=0xff;
delay(5);
wela=0;
wela=1;
csad=0;
rd=0;
delay(5);
rd=1;
temp=P1;
wela=0;
P0=0xff;
}
void display(a)
{
char bai,shi,ge;
bai=a/1000;
shi=a%1000/100;
ge=a%1000%100/10;
P0=table[bai]|0x80;
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
delay(1);//这个很重要不然就会有重影多个显示
P0=table[shi];
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
delay(1);
P0=table[ge];
dula=1;
dula=0;
P0=0xfb;
wela=1;
wela=0;
delay(1);
}
void delay(unsigned char z)
{
unsigned char x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
支持小编
好资料,学习了
原理图?
多谢支持,
硬件? 用途?
这要有个原理图就好了!
不错的文件,值得收藏
