adc0809电压采样并用数码管显示.doc

adc0809电压采样并用数码管显示.doc

ID:58397809

大小:17.00 KB

页数:3页

时间:2020-05-08

adc0809电压采样并用数码管显示.doc_第1页
adc0809电压采样并用数码管显示.doc_第2页
adc0809电压采样并用数码管显示.doc_第3页
资源描述:

《adc0809电压采样并用数码管显示.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/*********************************************************************************************************数码管显示AD采样得到电压值,输入电压0-5V(可以加一个分压电路,进而扩大采样范围,其他举一反三)。步进0.01V,误差0.01V。改进:1.可改用液晶显示,进而增加可显示范围2.可加键盘,完成通道的步进****************************************************************************************

2、******************/#includesbitst=P3^2;//定义引脚ST,EOC,OEsbiteoc=P3^3;sbitoe=P3^4;sbita=P2^5;//地址ABC口sbitb=P2^6;sbitc=P2^7;sbitw1=P2^3;//定义数码管位选引脚sbitw2=P2^2;sbitw3=P2^1;sbitw4=P2^0;sbitxiaoshudian=P0^7;#defineA{w1=0;w2=1;w3=1;w4=1;}//定义数码管位选#defineB{w1=1;w2=0;w3=1;w4=1;}#defineC{w1=1;w2=1;

3、w3=0;w4=1;}#defineD{w1=1;w2=1;w3=1;w4=0;}//#definetongdao{a=b=c=0;}//选择通道0#defineuintunsignedint#defineucharunsignedcharuintgetdata,temp;//定义变量ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88};ucharad0,ad1,ad2,ad3;//定义缓存区voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y

4、>0;y--);}voidmain(){a=b=c=0;//tongdao;while(1){st=0;//启动转换st=1;st=0;while(!eoc);//等待转换结束oe=1;getdata=P1;oe=0;temp=getdata;//temp=temp/0.51;//也可以搞定temp=temp*1.97;/*dispbuf[3]=(temp/10000)%10;//分离数据dispbuf[2]=(temp/1000)%10;dispbuf[1]=(temp/100)%10;dispbuf[0]=(temp/10)%10;*/ad0=(temp/1000)%10;//分离数

5、据ad1=(temp/100)%10;ad2=(temp/10)%10;ad3=(temp/1)%10;/********************************************************************************************************************************这个鸟程序烦死我了,最后发现是这里(下面屏蔽掉的那一部分,一起记录下自己的错误,印记成长的足迹)的问题,一共烧写了60多次才发现是这里的问题。问题就是:在用移位法选中数码管位(低四位)的时候无意间屏蔽掉了或者说是影响了高位,而高三位

6、恰好是选择通道的控制口。由于是1111(f),所以AD的通道就有这条语句控制为第七个通道,而前面的程序的意思就是只选中通道0.因此数码管上不管怎么烧程序都是现实000.//P2=0xf7;P0=table[ad0];delay(2);//P2=0xfb;P0=table[ad1];xiaoshudian=0;delay(2);//P2=0xfd;P0=table[ad2];delay(2);//P2=0xfe;P0=table[ad3];delay(2);一点自己的体会:程序开始的风格模仿无悔的程序;所有的接口用#define搞定,程序可移植性高。学习别人的优点,取人之长,补己之短。**

7、******************************************************************************************************************************/A;P0=table[ad0];delay(2);//送数码管显示B;P0=table[ad1];xiaoshudian=0;delay(2);C;P0=table[ad2];del

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。