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

2019-08-05 17:12发布

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





1.bmp


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
yirongfu
1楼-- · 2019-08-05 21:39
内部上拉了吗?
小样王子
2楼-- · 2019-08-05 22:23
yirongfu 发表于 2014-4-7 13:27
内部上拉了吗?

msp430单片机内部上拉怎么设置?好像没有相关的寄存器设置。。
yirongfu
3楼-- · 2019-08-06 03:09
不好意思,1系列没用过,好像这个系列不带内部上拉。
你可以试试外部给三极管Q1的集电极接一个上拉电阻,上拉到单片机的电源,比如10k欧。
小样王子
4楼-- · 2019-08-06 06:44
 精彩回答 2  元偷偷看……
yirongfu
5楼-- · 2019-08-06 11:43
先断开D1,手动给三极管基极高低信号,看看单片机读出的数据是否正确;用万用表测试口上电压是否正确。
为何要先输出再设为输入?
检查程序是否有问题。
单片机不会有问题的,除非他坏了。
景研
6楼-- · 2019-08-06 15:23
OPA作比较器不好啊 一般用作放大信号的,用LMP339试试看

一周热门 更多>