完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
不知道程序出什么问题?大家帮帮忙,先谢过各位了
#include #include typedef unsigned int uint; typedef unsigned char uchar; #define ADC_POWER 0x80 //ADC转换电源控制位 #define ADC_FLAG 0x10 //模数转换结束标志位 #define ADC_START 0x08 //模数转换启动控制启动位 #define SPEEDLL 0x00 //模数转换器控制位 540个时钟周期转化一次 #define SPEEDL 0x20 //360个时钟周期转化一次 #define SPEEDH 0x40 //180个时钟周期转化一次 #define SPEEDHH 0x60 //90个时钟周期转化一次 sfr ADC_CONTR=0xBC; //AD转换控制寄存器 sfr ADC_RES=0xBD; //AD转换寄存器高二位 sfr ADC_RESL=0xBE; //AD转换寄存器低八位 sfr P1ASF=0x9d; //AD转换通道 ***it D1=P2^0; ***it D2=P2^1; ***it D3=P2^2; ***it D4=P2^3; uchar stm[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay(uint z) {uint a,b; for(a=z;a>0;a--) for(b=600;b>0;b--) ; } void display(int m) {D1=1; P0=~stm[m/1000]; delay(5); D1=0; D2=1; P0=~stm[m/100%10]; delay(5); D2=0; D3=1; P0=~stm[m/10%10]; delay(5); D3=0; D4=1; P0=~stm[m%10]; delay(5); D4=0; } uint AD_get(uchar ch) {ADC_CONTR=0x88|ch;//开启AD转换,1000 1000, _nop_(); //经过四个CPU时钟延时,转换值才进入ADC_CONTR _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&0x10)) ;//等待转换结束 ADC_CONTR&=~ADC_FLAG; //Close ADC_CONTR return (ADC_RES*4+ADC_RESL);//返回AD转换的十位值 } float AD_work(uchar ch) {float AD_val; uchar i; for(i=0;i<100;i++) AD_val=AD_val+AD_get(ch);//利用AD_get()函数计算出转换的值 AD_val=AD_val/100; AD_val=(AD_val*5)/256; //AD转换计算数值 return AD_val;//计算出模拟值 } void seriat_init() {SCON=0X50; //串口方式一,允许接收 TMOD=0x20; //T1自动装填八位数据 TH1=0xfd; //设置波特率 9600 TL1=0xfd; TR1=1; //打开T1 } void AD_init() {P1ASF=0x04;//打开P1^2通道 ADC_RES=0; ADC_RESL=0; ADC_CONTR=ADC_POWER|SPEEDLL; delay(2); } void main() {int m; float n; uchar i; AD_init(); seriat_init(); while(1) {for(i=0;i<8;i++) {ti=1; n+=AD_work(i); TI=0; delay(1000); } n=n/8; m=(int)(n); display(m); } } |
|
相关推荐
7个回答
|
|
你得先告诉大家,碰到什么现象了,别人才好有针对性的分析。
|
|
|
|
|
|
|
|
你可以用官方的函数库里的程序先烧写一下看看,很容的,里边带有库函数,很好操作的
|
|
|
|
是否是烧录器有故障了
|
|
|
|
|
|
|
|
|
|
|
|
方法:1,先调试数码管,2,调试AD用串口来显示
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
218 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
204 浏览 0 评论
231 浏览 0 评论
449 浏览 0 评论
关于RT-Thread studio添加freemodbus控件失败的问题
628 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11630 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-7 16:37 , Processed in 0.786497 second(s), Total 86, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号