欢迎来到天天文库
浏览记录
ID:57686341
大小:14.00 KB
页数:2页
时间:2020-09-01
《ADC0809数字电压表数码管.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/*********************************************adc0809ALE,STARTP34;EOCP3.3反相器;OEP35;CLKALE;D0....7P0....7******************************************/#include#defineDUDATP1#defineWEDATP2unsignedcharcodeDuma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x
2、83};unsignedcharcodeWema[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsignedcharADDAT[4];unsignedinttemp;unsignedchargetdata;sbitEOC=P3^3;sbitST=P3^4;sbitOE=P3^5;sbitdot=P1^7;//小数点sbitadd1=P0^0;sbitadd2=P0^1;sbitadd3=P0^2;voidDelayms(unsignedintz){unsignedintx,y;for(x=z;z
3、>0;z--)for(y=110;y>0;y--);}voidDisplay(){DUDAT=Duma[ADDAT[3]];WEDAT=Wema[3];//显示第四位Delayms(2);DUDAT=0x00;DUDAT=Duma[ADDAT[2]];dot=0;WEDAT=Wema[2];//显示第三位Delayms(2);DUDAT=0x00;DUDAT=Duma[ADDAT[1]];WEDAT=Wema[1];//显示第二位Delayms(2);DUDAT=0x00;DUDAT=Duma[ADDAT[0]];WEDAT=Wema[0]
4、;//显示第一位Delayms(2);DUDAT=0x00;}voidmain(){unsignedinti;while(1){ST=0;OE=0;ST=1;ST=0;add1=0;add2=0;add3=0;while(!EOC);OE=1;getdata=P0;//读取AD采样值OE=0;temp=getdata*1.0/255*500;//AD转换VIN=Vref*getdata/(2^8-1),显示为三位,故扩大100倍,参考电压5VADDAT[0]=temp%10;ADDAT[1]=temp/10%10;ADDAT[2]=temp
5、/100%10;ADDAT[3]=temp/1000;for(i=0;i<100;i++)//扫描时间决定采样更换数据时间{Display();}}}
此文档下载收益归作者所有