我刚刚网上看到的**

[复制链接]
 楼主| 无悔 发表于 2007-2-7 15:05 | 显示全部楼层 |阅读模式
刚学PIC,自己用万用板搭建的的电路,10K电阻上拉接复位。3K电阻,22pF瓷片电容为外部震荡部分。<br />然后我用烧录器上的下载线烧程序,运行,正常;但是我不用少录器上的电源,用自己的开关电源时又不运行了。请各位帮忙分析分析怎么回事。
帮助 发表于 2007-2-7 15:14 | 显示全部楼层

注意电源质量

另外,3K电阻换大点的
yewuyi 发表于 2007-2-7 16:46 | 显示全部楼层

开BOR检测

因为ICD2等内部自己有电压检测,所以复位没有问题,但你外接电源的时候,如果没开BOR检测,则出问题就很正常了……
 楼主| 无悔 发表于 2007-2-8 18:29 | 显示全部楼层

测试结果

我用的是PIC16F877A,我按照上面各位说的方法做了:<br />3K电阻换成了4.7K的电阻.程序中加了句:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BSF&nbsp;PCON,0<br />开始时,能正常运行,后来我调整电压,发现低于3.8V(与资料上的工作电压范围不符)的时候,OSC2无波形输出,IO也无输出,然后再调整电压,达到4.0V的时候,OSC2和IO又有波形输出.<br />然后没有多久,就出现IO无输出,用示波器看了看OSC2的波形,为12ms的波形(即有震荡),8.2ms的低电平(即无震荡).似乎有周期的复位信号.但是示波器看/MCLR一直是高电平。<br />然后我把电源的地线接到大地(接到接地的工作桌上),发现OSC2有波形,但是IO无输出。程序如下,求大家帮忙:<br />flag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;equ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;25h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;定义一个控制左移/右移的标志寄存器<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0000H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GOTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAIN<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0005H<br />MAIN:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bsf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status,5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bcf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pcon,0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00h<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trisa<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trisb<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trisc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;a,b,c为输出<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0ffh<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trisd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;d为输入<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bcf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status,5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;&nbsp;0ffh<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;porta&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;a输出1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;&nbsp;00h<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;portb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;b输出0<br />main1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;&nbsp;0ffh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;c变化输出<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;portc<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;&nbsp;00h<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;portc<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;main1<br />delay:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;&nbsp;0ffh<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;20h<br />delay1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;&nbsp;0ffh<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;&nbsp;27h<br />delay2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;decfsz&nbsp;&nbsp;&nbsp;27h,1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;decfsz&nbsp;&nbsp;&nbsp;20h,1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
 楼主| 无悔 发表于 2007-2-8 18:36 | 显示全部楼层

还有求哪个大侠给贴个PIC16F877A的应用电路

我的仿真器配套系统不能设置配置字(刚学PIC,我也不知道是不是需要,会有什么影响)
 楼主| 无悔 发表于 2007-2-8 19:04 | 显示全部楼层

我刚刚网上看到的**

很有可能是下面的这个原因,我试一试<br /><br />出处:http://www.dz130.com/MCU/PIC16F877A-CPU-546.htm<br /><br />PIC16F877A,CPU&nbsp;我用PIC16F877A,怎么手一摸CPU塑封面就死机?&nbsp;<br />问<br />甚至手指离其表面有3毫米也死机.晶振表面也接地了,以前没碰到过抗干扰这么差的,排板时也注意抗干扰了.<br />还有什么原因?<br />答&nbsp;1:<br />是不是有地方虚焊了?&nbsp;<br />答&nbsp;2:<br />先去摸下水龙头再来看看&nbsp;<br />答&nbsp;3:<br />把工作地接大地试试。&nbsp;<br />答&nbsp;4:<br />先把877放到你的开发板上看看先看是不是877自身的问题,然后再看硬件是不是有问题<br /><br />答&nbsp;5:<br />问题原因还有一现象:用手触摸(塑封面)或靠近RB口时,死机,触摸其他地方工作正常.<br /><br />将工作地接大地稍微好一点,但还是死机.<br />故障原因:<br />我把RB口做矩阵键盘输入口,口线接1K电阻后接键盘,没有上拉或下拉,我把RB口线接1K(限流电阻)后直接接地,怎样摸都没死机,非常稳定,但接上拉到5V就有死机甚至上电后不工作现象.<br />预改进措施:<br />将RB口线不悬空,直接接10K电阻下拉,后接1K限流电阻再接矩阵键盘.<br />疑问:不用的管脚一般接10K后上拉或下拉都可以,怎么接上拉不工作或死机?PIC的口线悬空就这么怕干扰?<br /><br />这个板子挺简单的,PIC16F877的RB口接个4X4矩阵键盘,串行口接RS485通信,其余口扫盲18个七段数码管.&nbsp;<br />答&nbsp;6:<br />低压编程关闭没有?&nbsp;<br />答&nbsp;7:<br />老问题了关低压编程,最好把PGM脚接地&nbsp;<br />
 楼主| 无悔 发表于 2007-2-9 16:10 | 显示全部楼层

PGM这么不稳定,各位说说怎么处理啊

我已经试过,PGM接一下拉电阻已经OK!<br />但是PGM又是一个IO口,请高手们谈谈PGM的用法和注意事项。
xieyuanbin 发表于 2007-2-10 10:47 | 显示全部楼层

配置字的问题.

先到论坛里搜索一下.1.振荡方式不对,2.低电压编程没关.3.没用的IO口没接地
 楼主| 无悔 发表于 2007-2-11 09:13 | 显示全部楼层

谢谢楼上的指教

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

49

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部