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

anuana   2008-10-6 15:57 楼主
这是我的程序,不知道出问题在哪?大家帮我看看吧
#include
#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--);
}

回复评论 (2)

LZ哈

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

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

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

具体啥问题我也不知道哈

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

呵呵

改天我搞个道衣到街上算命去...
点赞  2008-10-6 20:11
是这样的,我ad输出给P0口显示,一直只显示4.9
不变化,无论我怎么改变输入还是那样,所以我想是不是读入数据的时候有了问题呢?
点赞  2008-10-10 10:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复