msp430单片机io口问题,急求????

2019-08-05 17:12发布

我用op07做个比较器,但比较器输出负电压,于是我就加了点电路,具体如下,三极管主要是用来隔离的。我将图示“单片机io口设置成输入状态,设置语句:P1DIR &=~BIT6;用 if(P1IN&BIT6)读io口状态,但是读入的状态总是跟设置成输入状态前的该io输出电压有关,读到的电压不正确。比如三极管导通,单片机io应该读入0v左右,但是只要io之前输出电压为高,三极管端的电压就变成了高电位。很是不懂为什么?我用的单片机是msp430f169单片机。





1.bmp


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
i1mcu
1楼-- · 2019-08-06 16:30
外部上拉电阻
i1mcu
2楼-- · 2019-08-06 18:32
阻值要1000欧姆左右
lkl0305
3楼-- · 2019-08-07 00:11
 精彩回答 2  元偷偷看……
lostadmin
4楼-- · 2019-08-07 00:42
读寄存器用的是PIN  还是POUT?
pengxiangbo00
5楼-- · 2019-08-07 06:14
电路有问题
youluo235
6楼-- · 2019-08-07 07:54
本帖最后由 youluo235 于 2014-4-8 16:40 编辑

读寄存器用的PIN。这个没问题。直接这样三极管集电极输入单片机?这样恐怕不好。单片机没问题的。问题出在比较器输出那里!既然你说这样接比较器的输出是低的?明显这里有问题啊。同像端比反相端高当然应该是输出为5V了(430供电电压不能超过3.6,那输入呢?)。另外你的比较器供电应该用单电源供电(最好用3.3V单电源供电,如果用5V的话比较器输出串联电阻接430IO输入以此来限制IO输入电流)!这样输出才会只是0和5V.这里用的+-5V供电。万一输出低电平-5V。你让430如何检测你这个-5v的电平呢?建议由2点。第一。换单电源供电再测量比较器的输出是不是高。第二如过换了还是输出高换个真正的比较器吧。说明这个比较器有问题了。至于后面的三极管电路什么的都是多余的

一周热门 更多>