完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
求大神教,不知道为什么采回来的电压值,如果是整数的话,就没错,1v数码管就显示1,但是采小数的话,如1.2v的电压,数码管就会显示1.68,跪了,实在是找不出原因,希望大神指点
#include ***it CLK=P2^6; ***it ST=P3^0; ***it ALE=P2^7; ***it OE=P2^5; ***it EOC=P2^4; ***it shi=P2^0; ***it ge=P2^1; ***it yi=P2^2; ***it er=P2^3; unsigned char leddata[]={ 0xC0, //"0" 0xF9, //"1" 0xA4, //"2" 0xB0, //"3" 0x99, //"4" 0x92, //"5" 0x82, //"6" 0xF8, //"7" 0x80, //"8" 0x90, //"9" }; void DelayMs(unsigned char i) { unsigned char j,k; for(j=i;j>0;j--) for(k=125;k>0;k--); } void display(float k) { float count; count=k; P0=leddata[(int)count/10]; shi=1; DelayMs(10); shi=0; P0=leddata[(int)count%10]&0x7f; ge=1; DelayMs(10); ge=0; P0=leddata[(int)(count*10)%10]; yi=1; DelayMs(10); yi=0; P0=leddata[(int)(count*100)%10]; er=1; DelayMs(10); er=0; } void display_init() { yi=0; er=0; shi=0; ge=0; } void ADC0809_init() //AD初始化 { TMOD=0x01; TH0=(65536-200)/256; TL0=(65536-200)%256; ET0=1; TR0=1; EA=1; DelayMs(2); } unsigned char Read_AD() //读AD { unsigned char temp=0; while(EOC==0); //等待EOC OE=1; temp=P1; //取数据 DelayMs(1); OE=0; return temp; } void main() { int i=0; float v=0.00; P1=0xff; ADC0809_init(); display_init(); ST=0; while(1) { ST=1; //复位AD,启动AD ST=0; i=Read_AD(); //读AD数据 v=i*0.01961; display(i); } } void timer0(void) interrupt 1 //提供5KHz时钟给adc { TH0=(65536-200)/256; TL0=(65536-200)%256; CLK=~CLK; } |
|
相关推荐
4个回答
|
|
求助求助
|
|
|
|
|
|
|
|
chenwei6991627 发表于 2016-07-13 15:06 嗯呢,已经改过,谢谢 |
|
|
|
已经解决,原因是仿真用的adc0808,高地位和adc0809相反,接反了,而2.3.5的二进制码正好高低为对称,所以显示没错,1和4显示相反,小数显示错乱。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
479 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
229 浏览 0 评论
334 浏览 0 评论
165 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》 第十六章 WATCH_DOG实验
496 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11972 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 13:06 , Processed in 1.239407 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号