第5章 MC9S12XS输入输出端口模块及其应用实例

更新时间:2023-04-24 10:45:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

MC9S12XS单片机原理 及嵌入式系统开发合肥工业大学 张 阳,吴 晔,滕 勤 Email:yzhang0615@, wuye@, tengqin7348@ TEL:13966717615,13505612773《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

第5章 MC9S12XS输入/输出端口模块 及其应用实例 输入/输出端口简介 输入/输出端口寄存器及设置 输入/输出端口应用实例 智能车系统中输入/输出端口的应用

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.1 输入/输出端口简介MC9S12XS系列内部有非常丰富的输入/ 输出端口资源,同时也集成了多种功能模 块,其输入/输出引脚大多为复用引脚。 MC9S12XS128通用I/O口包括PORTA、 PORTB、PORTE、PORTK、PORTT、 PORTS、PORTM、PORTP、PORTH、 PORTJ以及PORTAD。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置通用I/O口通过配置相应寄存器位,可以设置输入/输出端口、驱 动能力、内置上拉/下拉电阻使用、中断输入方式等多种功能。通过 对DDR、I/O、RDR、PE、PS和IE等寄存器的设置,用户可以获得 通用I/O口的不同工作方式。其中,DDR(数据方向寄存器)设定I/O 口为输入/输出端口。数据寄存器(I/O寄存器)用于设定I/O口的高低 电平。RDR(驱动控制寄存器)用于设定I/O口的输出驱动能力。PE (上拉/下拉使能寄存器)用于当I/O口为输入口时使能内置上拉电阻 或下拉电阻的使用。PS(上拉/下拉选择寄存器)当中断允许位置位 时,用于选择上升沿触发或下降沿触发中断;当使能内置上拉/下拉 电阻时,用于选择使用上拉电阻或下拉电阻。IE(中断使能寄存器) 用于使能I/O口的中断功能。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.1 PORTA、PORTB、PORTE和PORTK1.数据寄存器(Px)

数据寄存器Px中的8位对应每个端口中的相应引脚,如果某端口的 引脚被定义为输出时,写入数据寄存器Px中的数值,则从对应引脚输 出;如果某端口的引脚被定义为输入时,可以读取数据寄存器Px对应 引脚的电平值。 需要注意PORTE端口是一个特例,它的最低两位只能为输入口, 所以PORTE端口的数据寄存器最低两位是只读位。《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.1 PORTA、PORTB、PORTE和PORTK2.数据方向寄存器(DDRx)

DDRx决定对应引脚配置为输出口还是输入口,如果某位为“0”, 则对应引脚设定为输入口;如果某位为“1”,则对应引脚设定为输出口。 MCU复位后,DDRx值为0x00,引脚默认为输入口。 需要注意的是,PORTE端口是一个特例,它的最低两位只能为输 入口,所以PORTE端口的数据方向寄存器最低两位是

只读位,读取这 两位始终返回“0”。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.1 PORTA、PORTB、PORTE和PORTK3.上拉电阻控制寄存器(PUCR)

PORTA、PORTB、PORTE和PORTK端口都有内置上拉电阻,PUCR有4 位分别配置4个端口选择使用内置上拉电阻,即第7、4、1和0位分别设置K、E、 B和A端口。当控制位为“1”时,设定对应端口使用上拉电阻;当控制位为“0” 时,禁止对应端口使用上拉电阻。MCU复位后,设定PORTK和PORTE端口使 用上拉电阻,PORTB和PORTA端口禁用上拉电阻。 PUCR第6位设置BKGD引脚使用上拉电阻。当该位为“1”时,设定该端口 使用上拉电阻;当控制位为“0”时,禁止该端口使用上拉电阻。MCU复位后, 该位为“1”, 引脚默认为使用内置上拉电阻。《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.1 PORTA、PORTB、PORTE和PORTK4.驱动控制寄存器(RDR)

如果PORTA、PORTB、PORTE和PORTK端口为输出口时,每个端口都 可以设置其输出驱动能力,RDR有4位分别设定4个端口输出驱动能力,即第7、 4、1和0位分别设置K、E、B和A端口。如果某个控制位为“1” 时,设定对应端 口输出驱动能力降低;如果某个控制位为“0”时,设定对应端口为正常驱动输 出方式。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ1.数据寄存器(PTx)

如果数据方向寄存器DDRx的对应位为“0”,即对应引脚定义为输入时, 读取数据寄存器PTx的对应位,则为对应引脚的输入电平值;如果DDRx的对应 位为“1”,即对应引脚定义为输出时,写入PTx寄存器的对应位,则为对应引 脚的输出电平值。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ2.输入寄存器(PTIx)

输入寄存器PTIx是一个只读寄存器,如果DDRx的对应位为“0”,即对应 引脚定义为输入时,读取PTIx总是返回引脚电平值;如果DDRx的对应位为 “1”,即对应引脚定义为输出时,利用PTIx可以监视对应引脚是否过载或短 路。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ3.数据方向寄存器(DDRx)

DDRx决定对应引脚配置为输出口还是输入口,如果某位为“0”,则对应 引脚设定为输入;如果某位为“1”,则对应引脚设定为输出。复位后,DDRx 值为0x00,即MCU复位后引脚默认为输入口。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM

、PORTP、PORTH和PORTJ4.驱动控制寄存器(RDRx)

如果端口为输出口时,RDRx可以设置端口对应引脚的输出驱动能力。如 果RDRx某位为“1”,则对应引脚的输出驱动能力为正常时的1/5;如果某位 为“0”,则对应引脚输出为正常驱动能力。复位后,驱动控制寄存器值为 0x00,即MCU复位后引脚默认为满功率驱动输出。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ5.上拉/下拉使能寄存器(PERx)

如果端口为输入口或者“线或”模式时,可以通过上拉/下拉使能寄存器 PERx使能选择使用内置上拉/下拉电阻。如果PERx某位为“1” 时,则对应引 脚允许使用内置上拉/下拉电阻;如果某位为“0” 时,则对应引脚禁用内置上 拉/下拉电阻。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ6.上拉/下拉选择寄存器(PPSx)

当某引脚被定义为输入且使能内置上拉/下拉电阻时,上拉/下拉选择寄存器 PPSx用于选择使用内置上拉或者下拉电阻。如果PPSx某位为“0”,则对应引 脚使用上拉电阻;如果某位为“1”,则对应引脚使用下拉电阻。 PORTP、PORTH和PORTJ三个端口都具有中断功能,当某端口允许中断 时,PPSx还具有第二个作用,用于选择该端口中的引脚中断为上升沿触发或下 降沿触发。当端口某引脚使能中断时,当PPSx对应位为“0” 时,则该引脚中 断为下降沿触发;当PPSx对应位为“1”,则该引脚中断为上升沿触发。《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ7.中断使能寄存器(PIEx)

PORTP、PORTH和PORTJ三个端口具有中断功能,且都有中断使能寄存 器PIEx,PIEx允许或者禁止相应端口的中断请求。如果PIEx某位为“1”,则 对应引脚允许中断;如果某位为“0”,则对应引脚禁止中断。复位后,中断使 能寄存器值为0x00,MCU复位后关闭所有端口中断请求。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ8.中断标志寄存器(PIFx)

PORTP、PORTH和PORTJ三个端口具有中断功能,且都有中断标志寄存 器PIFx。基于PPSx寄存器设置的边沿触发中断方式,当端口相应引脚发生中断, 并产生有效电平时,则PIFx中的中断引脚对应位被置位。为了清除PIFx中的中 断标志位,需要向该位进行写“1”操作。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJPORTP、PORTH

和PORTJ三个端口的中断向量地址及相关标志位、控制 位如表5-2所示。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ1.AD0数据寄存器0(PT0AD0)

当不使用AD功能时,如果AD0端口数据方向寄存器0DDR0AD0的对应位为 “0”,即对应引脚定义为输入时,读取PT0AD0的对应位,则为对应引脚的输 入电平值;如果DDR0AD0的对应位为“1”,即对应引脚定义为输出时,写入 PT0AD0寄存器的对应位,则为对应引脚的输出电平值。

《MC9S12XS单片机原理及嵌入式系统开发》

[PPT课件]MC9S12XS单片机原理及嵌入式系统开发

5.2 输入/输出端口寄存器及设置5.2.3 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ2.AD0数据寄存器1( PT1AD0)

当不使用AD功能时,如果AD0端口数据方向寄存器1DDR1AD0的对应位为 “0”,即对应引脚定义为输入时,读取PT1AD0的对应位,则为对应引脚的输 入电平值;如果DDR1AD0的对应位为“1”,即对应引脚定义为输出时,写入 PT1AD0寄存器的对应位,则为对应引脚的输出电平值。

《MC9S12XS单片机原理及嵌入式系统开发》

本文来源:https://www.bwwdw.com/article/lfxq.html

Top