数字量IO模块
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计
1. 先向IOPB端口发送需要显示的数据,再通过发 送一个脉冲,循环点亮8个发光二极管。 2. 用软件延时的方法来调节发光二极管的延时间 隔。
汇编语言
1. 主程序
IOSFT_REG .usect .include .def .text ".data0",1 ;要显示的数据寄存器 ;引用头部文件
I/O端口C数据和方向寄存器 I/O端口D数据和方向寄存器
7095h
7096h
PEDATDIR
PFDATDIR
I/O端口E数据和方向寄存器
I/O端口F数据和方向寄存器
复用引脚配置图
8.2.1 I/O端口复用输出控制寄存器
1.I/O端口复用控制寄存器A(MCRA) 地址7090h
15 RW_0 14 RW_0 13 RW_0 12 RW_0 11
当AnDIR=1,即引脚为输出方式时 0 设置相应的引脚,使其输出为低电平; 1 设置相应的引脚 使其输出为高电平。
如果I/O端口用作一般I/O,则在对端口初始化时就必 须对数据和方向控制寄存器进行设置,规定其为输入 还是为输出。
2.端口B数据和方向控制寄存器 (PBDATDIR)――地址709Ah
MCRA.11
10
MCRA.10
9
MCRA.9
8
MCRA.8
MCRA.15 MCRA.14 MCRA.13 MCRA.12
RW_0
RW_0
RW_0
RW_0
7
RW_0
6
RW_0
5
RW_0
4
RW_0
3
MCRA.3 RW_0
2
MCRA.2 RW_0
1
RW_0
0
RW_0
MCRA.7 MCRA.6 MCRA.5 MCRA.4
RW_0 0 MCRB. 0 RW_1
MCRB.7 MCRB.6 MCRB.5 RW_0 RW_0 RW_0
注:R = 可读, W = 可写, _X = 复位后的值, X=1, X=0
I/O端口复用控制寄存器B(MCRB)配置
位
0
1 2 3 4 5 6 7
位的名称
MCRB.0
MCRB.1 MCRB.2 MCRB.3 MCRB.4 MCRB.5 MCRB.6 MCRB.7
控制寄存器
I/O端口复用控制寄存器(MCRx) :选择I/O端口 作为基本功能方式还是一般I/O引脚功能。
数据和方向控制寄存器(PxDATDIR): 当I/O端 口用作一般I/O引脚功能时,用数据和方向控制寄 存器可控制数据和双向I/O引脚的数据方向。
8.2 数字量I/O端口寄存器
1. 数字量I/O控制寄存器地址 寄存器映射到存储器数据空间,地址为7090h~709Fh。
IOPE2
IOPE3 IOPE4 IOPE5 IOPE6 IOPE7 IOPF0 IOPF1 IOPF2
11
12 13 14
MCRC.11
MCRC.12 MCRC.13 MCRC.14
T4PWM/T4CMP
TDIRB TCLKINB IOPF6
IOPF3
IOPF4 IOPF5 IOPF6
15
MCRC.15
1.端口A数据和方向控制寄存器 (PADATDIR)――地址7098h
15 14 13 12 11 10 9 8
A7DIR
RW-0 7 IOPA7 RW-+
A6DIR
RW-0 6 IOPA6 RW-+
A5DIR
RW-0 5 IOPA5 RW-+
Biblioteka Baidu
A4DIR
RW-0 4 IOPA4 RW-+
A3DIR
6.端口F数据和方向控制寄存器 (PFDATDIR) ——地址7096h
15 保留 RW_0 14 F6DIR RW_0 13 F5DIR RW_0 12 F4DIR RW_0 11 F3DIR RW_0 10 F2DIR RW_0 9 F1DIR RW_0 8 F0DIR RW_0
7
保留 RW_+
MCRA.10
MCRA.11 MCRA.12 MCRA.13 MCRA.14 MCRA.15
PWM5
PWM6 T1PWM/T1CMP T2PWM/T2CMP TDIRA TCLKINA
IOPB2
IOPB3 IOPB4 IOPB5 IOPB6 IOPB7
2 . I/O 口 复 用 控 制 寄 存 器 B ( MCRB ) 地址7092h
3.I/O口复用控制寄存器C(MCRC) 地址7094h
15
保留
14 RW-0
13 RW-0
12 RW-0
11 RW-0
10
MCRC.10
9
MCRC.9
8
MCRC.8
MCRC.14 MCRC.13 MCRC.12 MCRC.11
RW-0
RW-0
RW-0
7
RW-0
6
RW-0
5
RW-0
4
RW-0
3
RW-0
15-9
保留位 7-1 保留位
8 D0DIR RW-0 0 IOPD0 RW_+
5.端口E数据和方向控制寄存器 (PEDATDIR)――地址7095h
15 E7DIR RW_0 7 IOPE7 RW_+ 14 E6DIR RW_0 6 IOPE6 RW_+ 13 E5DIR RW_0 5 IOPE5 RW_+ 12 E4DIR RW_0 4 IOPE4 RW_+ 11 E3DIR RW_0 3 IOPE3 RW_+ 10 E2DIR RW_0 2 IOPE2 RW_+ 9 E1DIR RW_0 1 IOPE1 RW_+ 8 E0DIR RW_0 0 IOPE0 RW_x
MCRA.1 MCRA.0
注:R=可读, W=可写, _0=复位后的值
I/O端口复用控制寄存器A(MCRA)配置
位
0 1
位的名称
MCRA.0 MCRA.1
引脚功能选择
基本功能(MCRA.n=1)
SCITXD SCIRXD
一般I/O端口(MCRA.n=0)
IOPA0 IOPA1
2
3 4 5 6 7
MCRA.2
第8章 数字量I/O模块
8.1 数字量I/O端口概述
F2407系列有41个通用、双向的数字量I/O(GPIO) 引脚,其中大多数都是基本功能和一般I/O复用引脚。
9个16位控制寄存器:设置专用I/O和复用I/O引脚 的功能。 · I/O端口复用控制寄存器(MCRx) · 数据和方向控制寄存器(PxDATDIR)
6
IOPF6 RW_+
5
IOPF5 RW_+
4
IOPF4 RW_+
3
IOPF3 RW_+
2
IOPF2 RW_+
1
IOPF1 RW_+
0
IOPF0 RW_+
8.3 I/O端口应用
例:循环点亮8个发光二极管
工作原理
1. 74HC273用于驱动8个发光二极管。
2. CLR接F2407的复位引脚,使在复位时74HC273输 出为低电平,不点亮发光二极管。 3. F2407 的 IOPCA3 、 IOPCA4 及 IOPCA5 分 别 接 74LVC138的A、B及C输入,通过它的选通CLK作 为74HC273的控制信号; 4. 当输出为高时,74HC273的输出有效即输出信号反 映输入的内容;当输出为低时,输出无效即输入变 化时输出不变。 5. 用IOPB端口来控制发光二极管的亮灭:某位为高则 相应的LED发光;某位为低则相应的LED熄灭。
保留位
保留位
8.2.2 I/O端口数据和方向寄存器
F2407 系 列 共 有 6 个 数 据 和 方 向 控 制 寄 存 器 (PxDATDIR)。 数据和方向控制寄存器:可控制数据和到双向通用I/O 引脚的数据方向。 寄存器直接与I/O引脚相连。
当I/O用作基本功能时,寄存器的设置对相应的引脚无 影响。
引脚功能选择 基本功能(MCRB.n=1)
W/R
BIO SPISIMO SPISOMI SPICLK SPISTE CANTX CANRX
一般I/O端口(MCRB.n=0)
IOPC0
IOPC1 IOPC2 IOPC3 IOPC4 IOPC5 IOPC6 IOPC7
8
9 10 11 12 13 14 15
地 址
7090h 7092h 7094h 7098h
存储寄存器
MCRA MCRB MCRC PADATDIR
说
明
I/O复用控制寄存器A I/O复用控制寄存器B I/O复用控制寄存器C I/O端口A数据和方向寄存器
709Ah
709Ch 709Eh
PBDATDIR
PCDATDIR PDDATDIR
I/O端口B数据和方向寄存器
9
B1DIR RW-0 1 IOPB1 RW-+
8
B0DIR RW-0 0 IOPB0 RW-+
3.端口C数据和方向控制寄存器 (PCDATDIR)――地址709Ch
15 C7DIR RW_0 14 C6DIR RW_0 13 C5DIR RW_0 12 C4DIR RW_0 11 C3DIR RW_0 10 C2DIR RW_0 9 C1DIR RW_0 8 C0DIR RW_0
IOPE0 IOPE1
2
3 4 5 6 7 8 9 10
MCRC.2
MCRC.3 MCRC.4 MCRC.5 MCRC.6 MCRC.7 MCRC.8 MCRC.9 MCRC.10
PWM8
PWM9 PWM10 PWM11 PWM12 CAP4/QEP3 CAP5/QEP4 CAP6 T3PWM/T3CMP
7
IOPC7 RW_+
6
IOPC6 RW_+
5
IOPC5 RW_+
4
IOPC4 RW_+
3
IOPC3 RW_+
2
IOPC2 RW_+
1
IOPC1 RW_+
0
IOPC0 RW_x
注:_+ = 复位后的值和相应引脚的状态有关,R = 可读, W = 可写, _0 = 复位后的值 ,_x=未定义
4.端口D数据和方向控制寄存器 (PDDATDIR)――地址709Eh
MCRB.8
MCRB.9 MCRB.10 MCRB.11 MCRB.12 MCRB.13 MCRB.14 MCRB.15
XINT2/ADCSOC
EMU0 EMU1 TCK TDI TDO TMS TMS2
IOPD0
保留位 保留位 保留位 保留位 保留位 保留位 保留位
注意:
1. 斜体表示的位必须配置成1,这几个引脚是系统 的专用引脚,用作与硬件仿真器接口(JTAG) 相连,实现DSP的在线仿真功能。对以上的任一 位写0将会引起不可预测的结果。 2. 寄存器单元中保留的位是无效的,读时为0,写 对它无影响。
15
MCRB.15
14
MCRB.14
13
MCRB.13
12
MCRB.12
11
MCRB.11
10
MCRB.10
9
MCRB.9
8
MCRB.8
RW_1 7
RW_1 6
RW_1 5
RW_1 4 MCRB.4 RW_0
RW_1 3 MCRB.3 RW_0
RW_1 2 MCRB.2 RW_0
RW_1 1 MCRB. 1 RW_1
2
MCRC.2 RW-0
1
RW-0
0
RW-1
MCRC.7 MCRC.6 MCRC.5 MCRC.4 MCRC.3
MCRC.1 MCRC.0
I/O端口复用控制寄存器C(MCRC)配置
位
0 1
位的名称
MCRC.0 MCRC.1
引脚功能选择 基本功能(MCRC.n=1)
CLKOUT PWM7
一般I/O端口(MCRC.n=0)
RW-0 3 IOPA3 RW-+
A2DIR
RW-0 2 IOPA2 RW-+
A1DIR
RW-0 1 IOPA1 RW-+
A0DIR
RW-0 0 IOPA0 RW-+
注:_+ = 复位后的值和相应引脚的状态有关, R = 可读, W = 可写, _0 = 复位后的值
位15~8 AnDIR 0 配置相应的引脚为输入方式 1 配置相应的引脚为输出方式 位7~0IOPAn 当AnDIR=0,即引脚为输入方式时 0 读相应引脚的值为低电平 1 读相应引脚的值为高电平
“F2407REGS.H” _c_int0
_c_int0: CALL LDP LACL AND SACL LACL AND SACL LACL OR SACL LACL OR SACL LDP SPLK SYSINIT #DP_PF2 MCRA #000FFH MCRA MCRA #0FF00H MCRA PBDATDIR #0FF00H PBDATDIR PADATDIR #0FF00H PADATDIR #5H #80H,IOSFT_REG
15
B7DIR RW-0 7 IOPB7 RW-+
14
B6DIR RW-0 6 IOPB6 RW-+
13
B5DIR RW-0 5 IOPB5 RW-+
12
B4DIR RW-0 4 IOPB4 RW-+
11
B3DIR RW-0 3 IOPB3 RW-+
10
B2DIR RW-0 2 IOPB2 RW-+
MCRA.3 MCRA.4 MCRA.5 MCRA.6 MCRA.7
XINT1
CAP1/QEP1 CAP2/QEP2 CAP3 PWM1 PWM2
IOPA2
IOPA3 IOPA4 IOPA5 IOPA6 IOPA7
8 9
MCRA.8 MCRA.9
PWM3 PWM4
IOPB0 IOPB1
10
11 12 13 14 15