数字电压表哪里有问题了呢?
这是我的程序,不知道出问题在哪?大家帮我看看吧
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit wr=P3^6;
sbit rd=P3^7;
sbit dl=P2^6;
sbit wl=P2^7;
code unsigned char table[]= {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0};//0,1,2, 3,4,5,6,7,8,9,A,B,C,D,E,F // 0~F 、。 、黑屏,共阴极字型码
code unsigned char table1[]={
0xbf,0x86,0xdb,0xcf,0xe6,0xed,
0xfd,0x87,0xff,0xef,0xf7,0xfc,
0xb9,0xde,0xf9,0xf1,0}; //0~F带小数点的共阴极字型码
uint z,temp,temp1;
uchar shi,ge;
uint read();
void start();
void delay(uint z);
void display(uchar shi,uchar ge);
void main()
{
while(1)
{
start();
delay(50);
rd=0;
delay(20);
rd=1;
delay(20);
temp1=read();
shi=temp1*50/256/10;
ge=temp1*50/256%10;
display(shi,ge);
// temp=0xff;
}
}
void start()
{
wr=1;
wr=0;
// delay(5);
wr=1;
}
uint read()
{
temp=P0;
return temp;
}
void display(uchar shi,uchar ge)
{
wl=1;
P0=0xfe;
wl=0;
P0=0xff;
dl=1;
P0=table1[shi];
dl=0;
P0=0xff;
delay(5);
wl=1;
P0=0xfd;
wl=0;
P0=0xff;
dl=1;
P0=table[ge];
dl=0;
P0=0xff;
delay(5);
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit wr=P3^6;
sbit rd=P3^7;
sbit dl=P2^6;
sbit wl=P2^7;
code unsigned char table[]= {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0};//0,1,2, 3,4,5,6,7,8,9,A,B,C,D,E,F // 0~F 、。 、黑屏,共阴极字型码
code unsigned char table1[]={
0xbf,0x86,0xdb,0xcf,0xe6,0xed,
0xfd,0x87,0xff,0xef,0xf7,0xfc,
0xb9,0xde,0xf9,0xf1,0}; //0~F带小数点的共阴极字型码
uint z,temp,temp1;
uchar shi,ge;
uint read();
void start();
void delay(uint z);
void display(uchar shi,uchar ge);
void main()
{
while(1)
{
start();
delay(50);
rd=0;
delay(20);
rd=1;
delay(20);
temp1=read();
shi=temp1*50/256/10;
ge=temp1*50/256%10;
display(shi,ge);
// temp=0xff;
}
}
void start()
{
wr=1;
wr=0;
// delay(5);
wr=1;
}
uint read()
{
temp=P0;
return temp;
}
void display(uchar shi,uchar ge)
{
wl=1;
P0=0xfe;
wl=0;
P0=0xff;
dl=1;
P0=table1[shi];
dl=0;
P0=0xff;
delay(5);
wl=1;
P0=0xfd;
wl=0;
P0=0xff;
dl=1;
P0=table[ge];
dl=0;
P0=0xff;
delay(5);
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
...全文
相关推荐
基于8086系统的数字电压表
【8086系统中的数字电压表实现】在基于8086系统的数字电压表设计中,关键部分是ADC的选择与控制。8086可以通过I/O端口与外部设备如ADC进行通信。
esp32带报警功能的数字电压表设计(包含源码)
任务要求: 1、用摇杆传感器改变接口电压; 2、在4位数码管上显示变化的电压,数值显示要求保留3位小数; 3、当电压值小于1V,有小灯闪烁或蜂鸣器报警提示。
数字电压表的设计 完整版
首先,数字电压表的设计需要解决模拟信号的数字化问题,这就要求使用A/D转换技术。
基于FPGA数字电压表设计
VHDL具有高可读性、高可维护性和高可重用性等特点,非常适合数字电压表设计。在数字电压表设计中,A/D转换是一个关键的步骤,它可以将模拟电压信号转换为数字信号,以便于后续的处理和显示。
数字电压表的制作的原理及方法
数字电压表的制作原理及方法数字电压表是一种常用的测量工具,能够测量直流电压值。


单片机/工控
