数字电压表哪里有问题了呢?

lilyy 2008-10-06 03:57:51
这是我的程序,不知道出问题在哪?大家帮我看看吧
#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--);
}
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilyy 2008-10-10
  • 打赏
  • 举报
回复
是这样的,我ad输出给P0口显示,一直只显示4.9
不变化,无论我怎么改变输入还是那样,所以我想是不是读入数据的时候有了问题呢?
lbing7 2008-10-06
  • 打赏
  • 举报
回复
LZ哈

板子在你手里,现象在你那边

就是兽医也得看看是怎么个回事哈

你只给代码出来,说是有问题

具体啥问题我也不知道哈

代码本身是没有错的...

呵呵

改天我搞个道衣到街上算命去...

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧