完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 liuqiwei85 于 2013-6-27 14:55 编辑
各位大侠,请帮忙看这段程序哪里出问题了?用的是PIC12F675,想实现通过AD检测,检测到有AD值指示灯闪烁,无则指示灯常亮,其中指示灯接GP2口,AD检测口是ANS1 #include void get_ad(void); void delay_ms(int ms); #define led GP2 void main() { GPIO=0B00000000;//初始化端口 TRISIO=0B00000010; while(1) { get_ad(); } } void get_ad() { char value=0.0,s1; TRISIO2=1; //GP2_in ANSEL=0X5F; ADCON0=0b00001001; //左对齐,选AN2,使能ADC,暂不开启转换 delay_ms(10); GO=1; while(GO); value=ADRESH; s1=value/1024*3.3;//IC工作电压3.3V if(value>=0.0) { while(1) { led=0; delay_ms(500); led=1; delay_ms(500); led=0; delay_ms(500); } } else led=1; } void delay_ms(int ms) //100ms延时函数 { int i=0,j=0; for(i=0;i {;} } 谢谢,各位的指导! |
|
相关推荐
|
|
这个问题你要这样分析!首先,查看硬件电路是否有错~ 其次,最好有个仿真器ICD2,ICD3,PICKIT3都可以 ,得看你的PIC12F675支持哪种了! 最后, 通过修改程序,或者模仿别人的程序,看能不能采集到数据,通过watch窗口查看变量,DEBUG断点的方式一点点尝试,调试程序就是这样的!当你习惯的时候 会乐在其中的!
|
|
|
|
|
|
这个问题你要这样分析!首先,查看硬件电路是否有错~ 其次,最好有个仿真器ICD2,ICD3,PICKIT3都可以 ,得看你的PIC12F675支持哪种了! 最后, 通过修改程序,或者模仿别人的程序,看能不能采集到数据,通过watch窗口查看变量,DEBUG断点的方式一点点尝试,调试程序就是这样的!当你习惯的时候 会乐在其中的!
|
|
|
|
|
|
已经查出原因,因IC是用内部晶振,故要用
__CONFIG(MCLRE_OFF&WDTE_OFF&FOSC_INTRCIO); const unsigned char cs @ 0x3ff; OSCCAL=cs; 让晶振先工作起来 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2096 浏览 1 评论
3648 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2346 浏览 2 评论
2774 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4058 浏览 5 评论
1000浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6386浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 11:45 , Processed in 0.622270 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号