ff_jwj 发表于 2010-5-10 18:16:31

自己的一点msp430f149的IO口的基本使用方法心得

在单片机的程序中,IO口的使用是非常重要的。特别是一些IO口作为双向复用,有时候需要做输出,有时候做输入。非常烦,但是没办法,想真正成为一个电子小人物,就必须过这关。

ff_jwj 发表于 2010-5-10 18:23:37

最开始是使用51单片机,很简单,因为只有一个寄存器,例如P1,不管输出还是输入,你都需要用它。最关键的是在输入的使用方法上,我们分两种情况。第一种情况,假设IO口有10K上拉电阻,一切都OK了,你什么都不用考虑,随便读写P1,就正确了。第二种情况,当没有上拉电阻时,就麻烦了,大家一定要注意,在IO口做输入的时候,一定要先将P1=0XFF,设置为高电平,在这种情况下,当外部是低电平时,会将信号拉低,当外界是高电平时,信号仍然是高电平。这样你再读取P1状态,就正确了

ff_jwj 发表于 2010-5-10 18:34:52

那么我们现在说一下430单片机。最重要的是P1DIR P1OUT 和P1IN的设置问题。输出问题不大,最重要的还是输入。最值得注意的是在,首先P1DIR=0;那么接下来P1OUT该怎样设置呢?
1 如果我们有上拉电阻,那么我认为P1OUT设置为0x00,这样通过P1IN读取的外部状态是对的。
2 如果我们没有上拉电阻,那么我认为P1OUT设置为0xff,这样通过P1IN读取的外部状态是对的还是错的,我就不知道了。我也刚开始学习,希望大家能给个确定的说法。谢谢

minux 发表于 2010-5-10 21:33:18

传统51的IO口功能那么弱,lz竟然觉得好啊……

2楼,我实在不明白你为什么要这么想…… MSP430和51的IO口结构完全不同,不需要设置PxOUT然后才能读PxIN之说……
上拉/下拉也跟这个没关…… 仔细看看数据手册吧。

PxDIR=0之后,不需要设置PxOUT就能读取PxIN……

ckvlhf 发表于 2010-5-12 09:29:18

讲的莫名其妙,都设置为输入方向了,输出寄存器还有什么作用?

aoe123 发表于 2010-5-13 08:41:05

MSP430单片机的I/O口使用的时候,没有必要使用上拉电阻

fan8722 发表于 2010-6-7 16:09:31

我做过一个试验 设置I/O为输入,输入寄存器为0,然后设置输出寄存器为1,结果输入寄存器的值跟着输出寄存器变成了1,所以怀疑这俩个寄存器实际上是一个

xydrj 发表于 2010-12-24 17:44:58

MSP430F2xx,这个系列有上下拉电阻,有一个专门的寄存器可以设置,如P3口,它的PullUP/PullDown为:P3REN。当IO口做输入时,想使能上拉时,P3REN相关位置1,P3OUT相关位置1,即可。

cuikai12345 发表于 2010-12-24 20:30:09

mark

samons 发表于 2011-1-31 16:13:37

标记一下,阿弥陀佛!

kunpeng032 发表于 2011-2-8 09:45:37

mark

relotus 发表于 2012-3-28 12:50:19

mark..........

yikuang 发表于 2012-3-30 09:30:07

谢谢楼主!

mayou 发表于 2012-4-19 22:04:47

学51的确实会像楼主那么想,包括我

hellobear 发表于 2012-4-19 22:11:16

看来楼主学51,已经走火入魔了

腹黑男 发表于 2015-6-4 17:19:15

mark            

houyusheng 发表于 2015-6-6 18:38:53

不同类型的单片机有各自的特点这样子咯
页: [1]
查看完整版本: 自己的一点msp430f149的IO口的基本使用方法心得