完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
想显示ADC0831转换后的数值,但是一直都不对,请帮我找一下原因。下面是我的程序:
#include #include #define uchar unsigned char #define uint unsigned int ***it AD_CLK=P1^7; ***it AD_CS=P3^7; ***it AD_DO=P1^1; ***it W1=P0^0; ***it W2=P0^1; ***it W3=P0^2; ***it W4=P0^3; uchar table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71, }; //共阴极数码管8段码 uchar vol0=0; void LED(uchar shu,uchar wei) //位选某个数码管显示数 { switch(wei)//位选 { case 1:{W1=0;W2=1;W3=1;W4=1;} break; case 2:{W1=1;W2=0;W3=1;W4=1;} break; case 3:{W1=1;W2=1;W3=0;W4=1;} break; case 4:{W1=1;W2=1;W3=1;W4=0;} break; } _nop_(); P2=table[shu];//段选 _nop_(); } void LED_show()//调节显示 { LED((uchar)((int)vol0/100) ,2); _nop_(); LED((uchar)((int)vol0%100/10),3); _nop_(); LED((uchar)((int)vol0%10),4); _nop_(); } void ADC() { uchar i; AD_CS=1; AD_CLK=0; AD_CS=0; _nop_(); _nop_(); AD_CLK=1; _nop_(); _nop_(); AD_CLK=0; _nop_(); _nop_(); AD_CLK=1; _nop_(); _nop_(); AD_CLK=0; _nop_(); for(i=0;i<8;i++) { if(AD_DO) vol0=vol0|0x01; vol0=vol0<<1; AD_CLK=1; _nop_(); _nop_(); AD_CLK=0; _nop_(); _nop_(); } AD_CS=1; //释放总线 } void main() { uchar i; while(1) { i++; LED_show(); if(i==255) { ADC(); i=0; } LED_show(); } } https://bbs.elecfans.com/forum.php?mod=attachment&aid=MTUzNjcxfDA1YzJkMjBlMDM1NzJlNjQ2N2M4NWZkY2NmODEzZTQ2fDE3MzI1NzM4MTU%3D&request=yes&_f=.rar
|
|
相关推荐
2个回答
|
|
自己顶一下,在线等.........
|
|
|
|
帮你顶一下。。。。。。。。。。。。。。。。。。。。。。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
4642 浏览 3 评论
5923 浏览 1 评论
6197 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
7938 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1226 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 06:30 , Processed in 0.590485 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号