历史上的今天
今天是:2025年06月16日(星期一)
2020年06月16日 | MSP430最基本的IO配置
2020-06-16 来源:eefocus
一、基本
1、io口可以认为就是那些板子上的管脚。
2、在使用io的时候需要先对他们进行配置
3、5529的io每一个都是单独可编程的,就是说可以对任意一个io单独进行配置。
4、P1和P2具有中断功能
5、都具有上下拉电阻
二、寄存器
PxIN 输入,将io配置为输入,这个时候接受外部数字信号。
PxOUT 输出
PxDIR 方向
初始状态应该是通过reset复位
当为0的时候,表示为输入
当为1的时候,表示为输出
PxIFG 中断标识
PxIES 中断边沿设置
=0上升沿
=1下降沿
PxIE 中断使能,当选择后,这个管脚的中断启动
PxSEL 端口选择,一个io既可以单纯用作io,也可以用作其他功能。
SEL=0时,管脚为基本io功能
SEL=1时,管脚为模块功能
之前看g2553还有SEL2,这个时候就要看它用户手册上给出的具体安排。
目前看来如果SEL只有一个的话,只需要看芯片的原理图就能得到模块功能是什么。

在这个原理图上其实已经标出来了。
PxREN 电阻使能
=0 上下拉电阻被禁用
=1 上下拉电阻被启用
三、配置
1、配置输入:PXDIR=BITX;
2、配置输出通道:
选择器 (OUT)+使能缓冲器(DIR)+是使能缓冲器(SEL /SEL2/DIR/IN)+上下拉电阻(REN)
3、上下拉电阻功能:
当电阻接入DVCC,表示为上拉电阻,输出信号为高电平的时候,上拉电阻能够提供较 大的电流。当输出为低电平的时候,上拉电阻会造成额外的功耗。当电阻接入DVSS, 表示为下拉电阻,输出信号为高电平的时候,下拉电阻降低输出阻抗,没有正面作用, 当输出信号为低电平的时候,下拉电阻将信号与地相连接。每一个端口都有单独的上下 拉电阻,所以PxREN.y=0 表示不接入电阻,=1表示接入上下拉电阻。
当SEL为零的时候,看电路图可以发现上下拉由OUT来决定
当OUT=1的时候,输出高电平,自动选择上拉电阻,
当OUT=0的时候,输出低电平,自动选择下拉电阻。
当用按键的时候,这个时候还是需要配置的。
4、配置中断口:
中断边沿选择:SEL和IES
IES=0,上升沿有效
IES=1,下降沿有效
同时必须打开IE=1,中断使能
则配置例程为:
P1IE.y=1;
P1SEL.y=0;
P1IES.y=0;
P1DIR.y=0 //表示端口为输入端口
当有中断信号进入的时候,会发生的是IFG变为1;所以中断信号其实是一个输入信号
经过试验以后发现这个io口的中断,不论是输入还是输出都可以发生中断。比如将IES 设置为0,那么不管是输入从0到1,还是在程序过程中让输出从0到1,都会触发中断,可以考虑利用这一点性质。
四、最基本的例子
让P1.1的LED亮
P1DIR|=BIT1;
P1OUT|=BIT1;
选择是哪一个Port,哪个管脚,输入还是输出,在P1.1输出1
P1是选择port1,而BIT1是0x02,也就是0000 0010,这样的话表示配置的是P1.1。其他的配置其实也基本都是这个意思。最初学单片机的时候好半天没有搞明白。
史海拾趣
|
PLC以其显著的优点而广泛用于工业控制,其实际应用涉及的问题很多,本文只是就其现场安装和维护问题提出了一些注意事项,供从事PLC设计及应用人员参考。可编程控制器(PLC)是一种新型的通用自动化控制装置,它将传统的继电器控制技术、计算机技术 ...… 查看全部问答> |
|
1架太阳能飞机样机于上周完成其处女航,开创了无燃料、无碳飞行新时代。推出这架飞机样机的Solar Impulse SA(瑞士,洛桑)公司计划将在2011年或2012年进行一次仅凭借太阳能环绕地球一周的飞行。 Solar Impulse公司的 HB-SIA(样机型号) 于在欧 ...… 查看全部问答> |
|
最近公司要我改个程序 ,就是把SLE4442的程序改成SLE4428,由于自己初入职场的缘故,改了半个月啦,还是没改出来,关键的部分就是寻址方式的不同,前者是8位寻址,而后者是16位的。希望能得到大家的帮助,有过类似开发经验的朋友,能 ...… 查看全部问答> |
|
搞了一天了,不得已才发问的555 环境:2410+64ram+64nand+wince 6.0 注册表:[HKEY_LOCAL_MACHINE\\System\\StorageManager\\AutoLoad\\SMFLASH] \"DriverPath\"=\"Drivers\\\\BuiltIn\\\\SMFLASH\" \"LoadFlags\"=dw ...… 查看全部问答> |
|
我修改了nboot,eboot,同时添加了一些调试输出,但是不知道为什么,将新生成的nboot,eboot烧入板子后,并没有输出新的调试信息,调试输出还是跟原来的nboot,eboot一样。请问修改nboot、eboot后要怎么才能生成最新的nboot、eboot(注:BuildOS菜单 ...… 查看全部问答> |
|
mega8的输出IO接STM32输入IO(GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空输入 或 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉输入)STM32的IO竞然吸入20 ...… 查看全部问答> |
|
用的是workbench 3.0 VxWorks6.6,板子已启动并通过ftp下载映像,然后也通过ftp connecter连接上了,但下载应用程序的时候显示error,format错误,应用程序可以在vxsim中执行的...… 查看全部问答> |




