21ic电子技术开发论坛 单片机与嵌入式系统 德州仪器MCU msp430单片机io口问题,急求????
发新帖我要提问
返回列表
打印

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

[复制链接]
3045|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我用op07做个比较器,但比较器输出负电压,于是我就加了点电路,具体如下,三极管主要是用来隔离的。我将图示“单片机io口设置成输入状态,设置语句:P1DIR &=~BIT6;用 if(P1IN&BIT6)读io口状态,但是读入的状态总是跟设置成输入状态前的该io输出电压有关,读到的电压不正确。比如三极管导通,单片机io应该读入0v左右,但是只要io之前输出电压为高,三极管端的电压就变成了高电位。很是不懂为什么?我用的单片机是msp430f169单片机。








相关帖子

沙发
yirongfu| | 2014-4-7 13:27 | 只看该作者
内部上拉了吗?

使用特权

评论回复
板凳
小样王子|  楼主 | 2014-4-7 13:50 | 只看该作者
yirongfu 发表于 2014-4-7 13:27
内部上拉了吗?

msp430单片机内部上拉怎么设置?好像没有相关的寄存器设置。。

使用特权

评论回复
地板
yirongfu| | 2014-4-7 15:55 | 只看该作者
不好意思,1系列没用过,好像这个系列不带内部上拉。
你可以试试外部给三极管Q1的集电极接一个上拉电阻,上拉到单片机的电源,比如10k欧。

使用特权

评论回复
5
小样王子|  楼主 | 2014-4-7 16:02 | 只看该作者
yirongfu 发表于 2014-4-7 15:55
不好意思,1系列没用过,好像这个系列不带内部上拉。
你可以试试外部给三极管Q1的集电极接一个上拉电阻,上 ...

三极管上接上拉电阻我也接了,还是没用,真是想不通了。。

使用特权

评论回复
6
yirongfu| | 2014-4-7 16:36 | 只看该作者
先断开D1,手动给三极管基极高低信号,看看单片机读出的数据是否正确;用万用表测试口上电压是否正确。
为何要先输出再设为输入?
检查程序是否有问题。
单片机不会有问题的,除非他坏了。

使用特权

评论回复
7
景研| | 2014-4-7 22:53 | 只看该作者
OPA作比较器不好啊 一般用作放大信号的,用LMP339试试看

使用特权

评论回复
8
i1mcu| | 2014-4-7 23:01 | 只看该作者
外部上拉电阻

使用特权

评论回复
9
i1mcu| | 2014-4-7 23:01 | 只看该作者
阻值要1000欧姆左右

使用特权

评论回复
10
lkl0305| | 2014-4-8 08:39 | 只看该作者
建议那表测试一下,结果一切都清楚了

使用特权

评论回复
11
lostadmin| | 2014-4-8 10:35 | 只看该作者
读寄存器用的是PIN  还是POUT?

使用特权

评论回复
12
pengxiangbo00| | 2014-4-8 14:59 | 只看该作者
电路有问题

使用特权

评论回复
13
youluo235| | 2014-4-8 16:32 | 只看该作者
本帖最后由 youluo235 于 2014-4-8 16:40 编辑

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

101

帖子

0

粉丝
关闭 热门推荐
快速回复 在线客服 返回列表 返回顶部