HCS08单片机的端口作为GPIO使用时,I/O端口功能逻辑示意图如图4-2所示,其内部各个寄存器可单独设置,使其具有输入、输出、内部上拉选择、斜率控制及输出驱动强度控制等功能,这些寄存器相互独立使用,并通过内部数据总线连接至控制机构。同时,需要注意的是,S08单片机每个端口除了可作为通用I/O外,还具有第二功能,可以根据需要进行选择。
图4-2 I/O端口功能逻辑示意图
当某个引脚作为通用I/O端口工作时,可通过对该引脚的各功能寄存器的设置来控制其工作状态。
1.端口数据寄存器PTxDn
端口数据寄存器用于决定此时引脚上电平状态。当用作输出时,应先将要输出的数据写入该数据寄存器,然后才能送到引脚上;当用作输入时,引脚上的电平逻辑状态将先存入该数据寄存器,然后CPU再读取该寄存器中的数据。寄存器名中的x泛指S08的有效端口名,n表示对应端口的某个引脚。注意:通常情况下该寄存器会与引脚方向寄存器PTxDDn一起配合使用。
例如:PTED0=1,当该引脚为输出时则表示PTE端口的0号引脚输出一个高电平,当该引脚为输入时则表示PTE端口的0号引脚读入一个外部高电平状态。
2.端口引脚方向寄存器PTxDDn
端口引脚方向寄存器用来设定对应引脚是用于输入还是输出。若寄存器对应状态位上数值为“0”则表示输入,对应状态位上数值为“1”则表示输出。寄存器名中的x泛指S08的有效端口名,n表示对应端口的某个引脚。
例如:PTEDD0=1,则表示PTE端口的0号引脚(即第8引脚)上的电平的方向是输出。(www.xing528.com)
3.端口上拉使能寄存器PTxPEn
端口上拉使能寄存器可设定端口的某引脚是否使能内部上拉器件。如果并行输入/输出控制逻辑或任何外围设备功能将引脚配置为输出,则上拉器件就会被禁止。一般情况下,使用内部上拉电阻能提高引脚的输入阻抗。
例如:PTEDD0=0,PTEPE0=1,则表示PTE端口的0号引脚为输入,且具备内部上拉电阻。
4.端口斜率使能寄存器PTxSEn
斜率使能寄存器可设定该端口的某引脚是否使能斜率控制。该功能启动时,转换控制限制输出的转换速度。它所起的作用就是减少输出波形在跳变沿时的过冲,使电压波形上升或下降的斜率减小,变得平滑些。斜率控制寄存器对配置为输入的引脚没有任何影响。
5.端口输出驱动强度寄存器PTxDSn
输出驱动强度寄存器设置对应的位可以选择该引脚是高驱动强度或低驱动强度,高驱动时能够送出或吸收更大的电流。不过,要注意的是:不能超出MCU送出或吸收电流的限制范围。通常引脚正常工作时的拉/灌电流在高驱动时为±10 mA,低驱动时为±2 mA,极限值最大不超过25 mA。
系统复位后上述所有各引脚默认配置为输入(PTxDDn=0),斜率控制使能(PTxSEn=l)、选定低驱动强度(PTxDSn=0)、内部上拉被禁止(PTxPEn=0)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。