用单片机设计了个电压表_软硬兼修的空间_百度空间

这是原理图:


下面就是源代码了:

#include <reg52.h>

char table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
char table2[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
char xuantong[6]={0x7e,0x7d,0x7b,0x77,0x6f,0x5f};
unsigned char wei[6];
unsigned char buffer;
float value;
sbit wr=P3^6;
sbit rd=P3^7;
fresh()
{
    wr=0;
    rd=0;
    wr=1;
}

process()
{
    float s;
    s=5.0/256.0;
    value=buffer*s;
    wei[0]=(unsigned char)value;
    wei[1]=(unsigned char)(value*10-wei[0]*10);
    wei[2]=(unsigned char)(value*100-wei[0]*100-wei[1]*10);
    wei[3]=(unsigned char)(value*1000-wei[0]*1000-wei[1]*100-wei[2]*10);
    wei[4]=(unsigned char)(value*10000-wei[0]*10000-wei[1]*1000-wei[2]*100-wei[3]*10);
    wei[5]=(unsigned char)(value*100000-wei[0]*100000-wei[1]*10000-wei[2]*1000-wei[3]*100-wei[4]*10);
}
delay1()
{
    int i;
    for(i=0;i<300;i++);

}


delay()
{
    int i,j;
    for(i=0;i<10;i++)
    {
        for(j=0;j<5;j++);
    }
}

show()
{
    int i;
    for(i=0;i<6;i++)
    {
        P3=xuantong[i];
        if(i==0)
    {
            P2=table2[wei[i]];
    }
        else
    {
            P2=table[wei[i]];
    }
   
        delay1();
    }
}

main()
{
    while(1)
    {
        fresh();
        delay();
        buffer=P1;
        process();
        show();
    }
   
}

主要是学会了adc0801的使用方法吧,多学会一些芯片的使用方法对自己也有好处,谁知道到时会用什么芯片呢。



郑重声明:资讯 【用单片机设计了个电压表_软硬兼修的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——