英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流
标题:
求助如何解决电压检测中输出跳变的问题
[打印本页]
作者:
min
时间:
2012-8-17 18:26
标题:
求助如何解决电压检测中输出跳变的问题
本帖最后由 min 于 2012-8-17 18:32 编辑
以下内容含脚本,或可能导致页面不正常的代码
这是我设计的电压检测电路、可是在仿真运行的时候、电压还没到5V输出的引脚就发生了好几次跳变、
同样在电压还未到达0时也是这样、我已附上电路图和程序、哪位大侠帮忙看一下
<font face="Verdana">#include<pic.h>__CONFIG(0x3f39);
</font><font face="Verdana">void delay(unsigned int n)
{ unsigned int j; char k; for(j=0;j<n;j++)
for(k=246;k>0;k--) NOP();
}void main(void){ unsigned int x;
char i; char m;
// 设置一个中间数
x=0;
TRISB=0b00000000;
RB1=0;
* RB4=0;
RB5=0;
// 设置B口为输出
* TRISA0=1; //设置A0口为AD通道
ADCON0=0b01000001;
* //
ADCON1=0B00000000;
*
//
for(i=1;i<5;i++)
//
NOP();
* //上电检测
* do
{ for(m=0;m<100;m++)
NOP();
ADGO=1; // while(ADGO==1);
ADIF=0;
x=0;x=ADRESH;
x=x<<8;
x=x+ADRESL;} while(x*5/1023<5);
RB4=1;
* RB1=1;
delay(15);
RB5=1;
RB4=0;
RB1=0;
do
{ for(m=0;m<100;m++)
NOP();
ADGO=1; // while(ADGO==1);
ADIF=0;
x=0;x=ADRESH;
x=x<<8;
x=x+ADRESL;}
while(x*5/1023>0);
* RB1=1; RB5=0;
delay(10);
* RB1=0; ; }<div><img src="file:///E:/games/QQ/Users/742973418/Image/V[)7)C@Z[6L2LI6(NCJ337G.jpg"/>
</div></font>
[此贴子已经被作者于2010-12-20 11:48:04编辑过]
说明:
上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.
欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/)
Powered by Discuz! X3.2