请教大牛,关于RA4输出驱动的问题

2020-02-09 09:27发布

以前工程师做的板子,程序没了,我重写,发现RA4脚他是这样用的,用来驱动一个LED,我通常以为RA4不应该这样用,不知道他的程序怎么写的,但产品卖了几年都没问题。我写的程序RA4=1时,LED还是亮,加了R1上拉电阻5.1K,还是偶尔会亮。(老工程师原来板子电路中没有R1,只有R0和D0,他的程序没有出现LED不该亮时还亮的情况,我的程序中需要LED不亮时,就令RA4=1,发现还亮,又加了R1,还是偶尔会亮)芯片是pic16f873a
PS:所谓“偶尔会亮”,是指上电时如果不该亮有时会亮,如果在上电时正常,那么在运行中就一直正常,不会不该亮时还亮。
如图,是应该改变R1阻值,还是改写程序?怎么改?请大牛指点,感激不尽。。。

(原文件名:未命名.jpg)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
gaolf_2000
1楼-- · 2020-02-09 23:22
 精彩回答 2  元偷偷看……
zbcfscc
2楼-- · 2020-02-10 03:14
回复【6楼】portx  腾飞
回复【5楼】zbcfscc
-----------------------------------------------------------------------
大哥看电路结构是下拉方式点亮的,高阻态就可以让led灭掉了,r1多余,看看你的模拟量配置寄存器和对应的trisa寄存器配置位吧。这种问题多数出在模拟量配置寄存器上了adcon0和adcon1仔细检查检查吧
-----------------------------------------------------------------------

不好意思,开始我也是这么认为的,但是从数据手册上看这个脚没有模拟输入,设置成输出的话只有开漏输出,设置成输入时是接了施密特触发器的输入,想不通楼主的情况怎么来的。不知道楼主解决了没。
zwdxsky
3楼-- · 2020-02-10 08:36
回复【8楼】zbcfscc
-----------------------------------------------------------------------

前段时间在搞别的问题,没搞这个,没想到还有热心坛友关注,现在问题还是没解决,仍然是在用上拉电阻,明天仔细研究adcon0和adcon1的设置。。。
不过现在led偶尔亮的现象极少见了。。。
片子上别的脚如RA5也这样驱动LED(不同时),但不用加R1就可以。。。
JQ_Lin
4楼-- · 2020-02-10 08:47
回复【楼主位】zwdxsky
以前工程师做的板子,程序没了,我重写,发现ra4脚他是这样用的,用来驱动一个led,我通常以为ra4不应该这样用,不知道他的程序怎么写的,但产品卖了几年都没问题。我写的程序ra4=1时,led还是亮,加了r1上拉电阻5.1k,还是偶尔会亮。(老工程师原来板子电路中没有r1,只有r0和d0,他的程序没有出现led不该亮时还亮的情况,我的程序中需要led不亮时,就令ra4=1,发现还亮,又加了r1,还是偶尔会亮)芯片是pic16f873a
ps:所谓“偶尔会亮”,是指上电时如果不该亮有时会亮,如果在上电时正常,那么在运行中就一直正常,不会不该亮时还亮。
如图,是应该改变r1阻值,还是改写程序?怎么改?请大牛指点,感激不尽。。。
-----------------------------------------------------------------------

回复【9楼】zwdxsky
不过现在led偶尔亮的现象极少见了。。。
片子上别的脚如ra5也这样驱动led(不同时),但不用加r1就可以。。。
-----------------------------------------------------------------------

1。老工程师电路中没有R1,只有R0和D0,这是对的。
2。既使现在led偶尔亮的现象极少见了,那个R1也要去掉。
3。不该亮时它亮了,已经说明程序存在问题了。
4。检查设置,检查初始化,检查相关部分程序。
zwdxsky
5楼-- · 2020-02-10 13:51
回复【10楼】JQ_Lin  
-----------------------------------------------------------------------
相关设置如下
        TRISA=0x01;
        ADCON0=0x81;
        ADCON1=0x04;
我说的“不该亮时它亮”指的是运行到RA4=1时它还亮,R1去掉时,led就会百分百亮,不论此时是RA4=1还是RA4=0。。

一周热门 更多>