资源简介

51单片机的AD0808采集,使用Proteus仿真,带有全部资料及源码。模拟输入使用一个滑动变阻器,能够在数码管上显示从0到255的数值。亲测可行!

资源截图

代码片段和文件信息

#include
#include
#define uint unsigned int
/**********************************************************************************
细节描述:P0口作为数码管的位选。 P1口作为AD数据输出口。
          注意AD的OUT和单片机的连线!!!

1.做数字电压表的话只需把P1口的数据处理即可。
*************************************************************************************/

//片选=0的时候才是关!

char smg_table[]={0xc00xf90xa40xb00x990x920x820xf80x800x90}; //数码管 共阳极
unsigned char AdData;


sbit Smg0_Switch = P2^0; 
sbit Smg1_Switch = P2^1;
sbit Smg2_Switch = P2^2;
sbit START=P2^3;
sbit EOC=P2^4;
sbit ADDA=P2^5;
sbit ADDB=P2^6;
sbit ADDC=P2^7;
sbit ALE=P3^0;
sbit OE=P3^1;



void delay(uint x)
{
uint ij;
for(i=x;i;i--)
for(j=125;j;j--);
}

void Smg_Display(uint x)
{
uint geshibai;

bai=x/100;
shi=x/10%10;
ge=x%10;

if(bai!=0)
{
Smg0_Switch=1;
P0=smg_table[bai];
delay(5);
Smg0_Switch=0;
}

if(!(bai==0&&shi==0))
{
Smg1_Switch=1;
P0=smg_table[shi];
delay(5);
Smg1_Switch=0;
}

Smg2_Switch=1; 
P0=smg_table[ge];
delay(5);
Smg2_Switch=0;
 
}

void AD()
{
START=0;
OE=0;
    START=1;_nop_();START=0;   //正脉冲信号
ALE=1;ADDA=0;ADDB=0;ADDC=0;;//选通INT0
while(!EOC);
OE=1;    //输出数据
Smg_Display(P1);
OE=0;


}
void main()
{
     
 while(1)
     {
        AD();
     }
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-02-22 14:06  AD0808\
     文件      101118  2011-03-18 19:38  AD0808\AD0808.DSN
     文件         768  2014-02-22 14:06  AD0808\AD0808.PWI
     文件        4382  2011-03-18 17:53  AD0808\AD0809与80C51的连接电路.png
     文件      101149  2011-03-18 18:43  AD0808\Backup Of AD0808.DBK
     文件      101020  2011-03-18 19:31  AD0808\Last Loaded AD0808.DBK
     文件        4440  2011-03-18 19:45  AD0808\测试
     文件        3930  2011-03-18 19:45  AD0808\测试.LST
     文件        6302  2011-03-18 19:45  AD0808\测试.M51
     文件        4614  2011-03-18 19:45  AD0808\测试.OBJ
     文件        1444  2011-03-18 19:45  AD0808\测试.c
     文件        1285  2011-03-18 19:45  AD0808\测试.hex
     文件          40  2011-03-18 19:45  AD0808\测试.lnp
     文件         173  2014-02-22 14:05  AD0808\测试.plg
     文件       55350  2014-02-22 14:06  AD0808\测试.uvopt
     文件       13308  2011-03-18 07:46  AD0808\测试.uvproj
     文件       55346  2013-12-30 21:53  AD0808\测试_uvopt.bak
     文件           0  2011-03-18 06:56  AD0808\测试_uvproj.bak

评论

共有 条评论