一、基本
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。其他的配置其实也基本都是这个意思。最初学单片机的时候好半天没有搞明白。
上一篇:430单片机时钟系统与复位系统的配置(1)
下一篇:MSP430教程8:MSP430单片机复位电路
- 热门资源推荐
- 热门放大器推荐
设计资源 培训 开发板 精华推荐
- AD8604ARUZ-REEL 符合 PC100 标准的线路输出放大器的典型应用
- 使用 Analog Devices 的 LTC1174CN8-3.3 的参考设计
- STM8L15LPBOARD,基于 STM8L(32KB 闪存)低功耗 MCU 的低功耗演示板
- LT6657BHMS8-5 从外部电路吸收电流的典型应用电路
- CY7C68013验证板
- LT8570EDD 1MHz 反相转换器的典型应用从 12V 输入产生 -48V 输出
- 使用 Semtech 的 SC900 的参考设计
- 使用 Analog Devices 的 LT3663EDCB-5 的参考设计
- MCP1256/7/8/9EV,MCP1256 电荷泵演示板
- EVAL-ADUC7128QSPZ,用于评估 ADuC7128 ARM7 MCU 微转换器的 QuickStart Plus 开发系统