第5章数字输入输出
第5章 数字I/O
数字I/O脚有专用和复用。
数字I/O脚的功能通过9个16位控制寄存器来控制。
控制寄存器分为两类:
(1)I/O复用控制寄存器(MCRX),来选择I/O脚是外设
功能还是I/O功能。
(2)数据方向控制寄存器(PXDATDIR):控制双向I/O
脚的数据和数据方向。
注意:数字I/O脚是通过映射在数据空间的控制寄存器
来控制的,与器件的I/O空间无任何关系。
240X/240XA多达41只数字I/O脚,多数具有复用功能。
5.1 数字I/O寄存器简介
I/O复用引脚见下图。
表5-1列出I...
第5章 数字I/O
数字I/O脚有专用和复用。
数字I/O脚的功能通过9个16位控制寄存器来控制。
控制寄存器分为两类:
(1)I/O复用控制寄存器(MCRX),来选择I/O脚是外设
功能还是I/O功能。
(2)数据方向控制寄存器(PXDATDIR):控制双向I/O
脚的数据和数据方向。
注意:数字I/O脚是通过映射在数据空间的控制寄存器
来控制的,与器件的I/O空间无任何关系。
240X/240XA多达41只数字I/O脚,多数具有复用功能。
5.1 数字I/O寄存器简介
I/O复用引脚见下图。
5-1列出I/O模块中有用的寄存器,地址为:7090h—
709Fh。
注意:映射到数据存储器空间。
当复用I/O脚被配置为外设功能或I/O时,引脚的
状态可通过读I/O数据寄存器来获取。
外设
功能
引脚
上拉或下拉
(内部)
1-外设功能
I/O方向位
0 1
0-输入
I/O口数据位
读/写
1-输出
输出输入
开关控制位
0-I/O功能
I/O端口F数据和方向寄存器PFDATDIR7096h
I/O端口E数据和方向寄存器PEDATDIR7095h
I/O端口D数据和方向寄存器PDDATDIR709Eh
I/O端口C数据和方向寄存器PCDATDIR709Ch
I/O端口B数据和方向寄存器PBDATDIR709Ah
I/O端口A数据和方向寄存器PADATDIR7098h
MUX控制寄存器CMCRC I/O7094h
MUX控制寄存器BMCRB I/O7092h
MUX控制寄存器AMCRA I/O7090h
功能寄存器地址
表5-1 数字I/O控制寄存器
5.2 I/O 端口复用控制寄存器
3个I/O端口复用控制寄存器: MCRA、MCRB、
MCRC。
(1) I/O端口复用控制寄存器A 地址: 7090h
表5-2 I/O端口复用控制寄存器A的配置
位 外设功能 通用I/O
MCRA.0 SCITXD IOPA0
MCRA.1 SCIRXD IOPA1
位 外设功能 通用I/O
MCRA.2 XINT1 IOPA2
MCRA.3 CAP1/QEP1 IOPA3
MCRA.4 CAP2/QEP2 IOPA4
MCRA.5 CAP3 IOPA5
MCRA.6 PWM1 IOPA6
MCRA.7 PWM2 IOPA7
MCRA.8 PWM3 IOPB0
MCRA.9 PWM3 IOPB1
MCRA.10 PWM3 IOPB2
MCRA.11 PWM4 IOPB3
MCRA.12 T1PWM/T1CMP IOPB4
MCRA.13 T2PWM/T2CMP IOPB5
MCRA.14 TDIRA IOPB6
MCRA.15 TDIRB IOPB7
表5-2 I/O端口复用控制寄存器B的配置
位 外设功能 通用I/O
MCRB.0 W/R* IOPC0
MCRB.1 BIO* IOPC1
MCRB.2 SPISIMO IOPC2
MCRB.3 SPISOMI IOPC3
MCRB.4 SPICLK IOPC4
MCRB.5 SPISTE* IOPC5
MCRB.6 CANTX IOPC6
MCRB.7 CANRX IOPC7
(2)I/O端口复用控制寄存器B 地址: 7092h
位 外设功能 通用I/O
MCRB.8 XINT2/ADCSOC IOPD0
MCRB.9 EMU0 保留
MCRB.10 EMU1 保留
MCRB.11 TCK 保留
MCRB.12 TDI 保留
MCRB.13 TDO 保留
MCRB.14 TMS 保留
MCRB.15 TMS2 保留
表5-3 I/O端口复用控制寄存器C的配置
位 外设功能 通用I/O
MCRC.0 CLKOUT IOPE0
MCRC.1 PWM7 IOPE1
MCRC.2 PWM8 IOPE2
MCRC.3 PWM9 IOPE3
MCRC.4 PWM10 IOPE4
(3) I/O端口复用控制寄存器C 地址:7094h
位 外设功能 通用I/O
MCRC.5 PWM11 IOPE5
MCRC.6 PWM12 IOPE6
MCRC.7 CAP4/QEP3 IOPE7
MCRC.8 CAP5/QEP4 IOPF0
MCRC.9 CAP6 IOPF1
MCRC.10 T3PWM/T3CMP IOPF2
MCRC.11 T4PWM/T4CMP IOPF3
MCRC.12 TDIRB IOPF4
MCRC.13 TCLKINB IOPF5
MCRC.14 保留 IOPF6
MCRC.15 保留 IOPF7
5.3 数据和方向控制寄存器
6个数据和方向控制寄存器(PXDATDIR),包含两个功能
位。
(1) I/O方向位
如果引脚被选择了通用I/O,方向位决定了是输入(0)
还是输出(1)。
(2) I/O数据位
如果引脚被选择了通用I/O,当方向选为输入,则可从
该位上读取数据,当方向选为输出,则可向该位写
入数据 。
如I/O端口被选择作通用I/O引脚,数据和方向控制寄
存器可以控制数据和I/O引脚的数据方向。
如I/O端口被选择作外设功能时,数据和方向控制寄
存器的设置对相应的引脚无影响。
(1)I/O端口A数据和方向控制寄存器(PADATDIR),
地址:7098h
位15-8:AnDIR PA7-PA0的数据方向
0:相应引脚配置为输入
1:相应引脚配置为输出
位7-0:IOPA7-IOPA0
如果AnDIR=0,引脚配置为输入
0-相应引脚的电平读为低电平
1-相应引脚的电平读为高电平
如果AnDIR=1,引脚配置为输出
0-设置相应引脚,使其输出信号为低电平时有效
1-设置相应引脚,使其输出信号为高电平时有效
如果I/O端口用作通用I/O,则必须对数据和方向寄存
器进行初始化设置,为输入还是输出。
(2) I/O端口B数据和方向控制寄存器(PBDATDIR),
地址:709Ah
(3) I/O端口C数据和方向控制寄存器(PCDATDIR),
地址:709Ch
(4) I/O端口D数据和方向控制寄存器(PDDATDIR),
地址:709Eh
(5) I/O端口E数据和方向控制寄存器(PEDATDIR),
地址:7095h
(6) I/O端口F数据和方向控制寄存器(PFDATDIR),
地址:7096h
5.4 数字I/O端口配置实例
配置:选择I/O引脚的功能,且设置I/O引脚的方向。
I/O配置实例程序:
MCRA .set7090h ;可将这些映射语句放于240x.h文件中
PADATDIR .set7098h ;可将这些映射语句放于240x.h文件中
PBDATDIR .set709Ah ;可将这些映射语句放于240x.h文件中
LDP #0E1h ;指向相应的数据页面
LACC #0h ;设置MCRA所有位均为0
SACL MCRA ;配置为I/O脚,选择引脚IOPA0-
;IOPA7和IOPB0-IOPB7
SACL PADATDIR ;引脚IOPA0-IOPA7配置为输入,低有效
LACC #0F00h ;引脚IOPB7-IOPB4配置为输入
SACL PBDATDIR ;引脚IOPB3-IOPB0配置为输出
LACC PBDATDIR ;读取引脚IOPB7-IOPB4输入状态
AND #00F0h ;A为输入状态
上为一个数字I/O的实际配置程序,对于每个寄存器的定义
已介绍,对于所有数字I/O配置定义的参考表,见P81。
5.5 数字I/O应用实例
5.5.1 使用数字I/O查询输入信号
接口电路如下图所示。
在I/O初始化时,需设置引脚为I/O,且需要选择信号
方向。程序见参考
。
5.5.2 使用数字I/O输出信号
本例为使用I/O端口输出4个信号,分别连接到4个LED。
输出脚与LED间接一触发器SN74HCT273,对LED驱动。
使用:PWM3/IOPB0、PWM4/IOPB1、PWM5/IOPB2、
PWM6/IOPB3作为输出。
PWM7/IOPE1作为SN74HCT273的选通信号。
如何实现对4个LED的循环驱动?即DS0→DS1→DS2
→DS2,参考程序见P86。
本文档为【第5章数字输入输出】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。