第五章 IO端口
合集下载
第5章通用输入输出接口
Px.n Px.31 Px.30 … … Px.1 Px.0
• GPIO相关寄存器描述
FIOxSET out
1
in
0
FIOxDIR
FIOxCLR
PINSELx
FIOxPIN
通用名称 FIOxPIN FIOxSET
描述
IOxSET out
GPIO引脚值寄存器,不管方向模式如何,引脚 的当前状态都可以从该寄存器中in读出 GPIO输出置位寄存器。I该Ox寄DI存R 器控制引I脚Ox输CL出R 高电平
GPIO端口方向寄存器 GPIO输出置位寄存器 GPIO输出清零寄存器
GPIO管脚值寄存器
控制的引脚
FIOxDIR Bit31 Bit30 … … Bit1 Bit0 FIOxSET Bit31 Bit30 … … Bit1 Bit0 FIOxCLR Bit31 Bit30 … … Bit1 Bit0 FIOxPIN Bit31 Bit30 … … Bit1 Bit0
Px.n Px.31 Px.30 … … Px.1 Px.0
GPIO输入输出|I/O相关寄存器
LPC1700系列Cortex-M3的高速GPIO口还可通过一 些字节和半字访问的寄存器来控制,如FIOxDIR0/1/2/3、 FIOxSET0/1/2/3、FIOxCLRL/U等。
GPIO端口方向寄存器 GPIO输出置位寄存器 GPIO输出清零寄存器
• GPIO相关寄存器描述
FIOxSET out
1
in
0
FIOxDIR
FIOxCLR
PINSELx
FIOxPIN
通用名称 FIOxPIN FIOxSET
描述
IOxSET out
GPIO引脚值寄存器,不管方向模式如何,引脚 的当前状态都可以从该寄存器中in读出 GPIO输出置位寄存器。I该Ox寄DI存R 器控制引I脚Ox输CL出R 高电平
GPIO端口方向寄存器 GPIO输出置位寄存器 GPIO输出清零寄存器
GPIO管脚值寄存器
控制的引脚
FIOxDIR Bit31 Bit30 … … Bit1 Bit0 FIOxSET Bit31 Bit30 … … Bit1 Bit0 FIOxCLR Bit31 Bit30 … … Bit1 Bit0 FIOxPIN Bit31 Bit30 … … Bit1 Bit0
Px.n Px.31 Px.30 … … Px.1 Px.0
GPIO输入输出|I/O相关寄存器
LPC1700系列Cortex-M3的高速GPIO口还可通过一 些字节和半字访问的寄存器来控制,如FIOxDIR0/1/2/3、 FIOxSET0/1/2/3、FIOxCLRL/U等。
GPIO端口方向寄存器 GPIO输出置位寄存器 GPIO输出清零寄存器
第五章 通用输入输出端口(GPIO)
输入信号,从而去除不希望的噪声干扰。 • 输入信号不限定
输入限定
输入信号被限定是指只有宽度满足要求的信号才能 输入,限定输入信号可以有效抑制噪声的进入。
设置GPxQUAL寄存器,配置输入限定器,决定引 脚量化采样周期 ;
输入限定
• 设置GPxQUAL寄存器中QUALPRD的值为n,则 限定的采样周期为2n*SYSCLKOUT。
GPIO复用引脚的结构
GPIO的寄存器
寄存器分为两大类,功能控制和数据。 功能控制寄存器: • 功能选择控制寄存器GPxMUX • 方向控制寄存器GPxDIR • 输入限定控制寄存器GPxQUAL
GPIO功能控制寄存器列表:
名称
地址
大小(*16)
GPAMUX
0x0000 70C0 1
GPADIR
数据寄存器: • 数据寄存器GPxDAT ,读写每个引脚信号 。 每个IO都有一个数据寄存器,当IO配置为输 出时,向GPxDAT中写数据就可以决定输出状 态; GPxDAT.bit=0,输出变低; GPxDAT.bit=1,输出变高。
GPIO的寄存器
数据寄存器: • 置位寄存器GPxSET ,设置每个引脚为高电
GPIO的寄存器
方向寄存器GPxDIR 方向寄存器GPxDIR配置数字量IO的输入/输出方向。 如果GPxDIR.bit=0,配置为输入; 如果GPxDIR.bit=1,配置为输出; 复位时所有GPIO引脚均设置为输入 ;
输入限定
输入信号被限定是指只有宽度满足要求的信号才能 输入,限定输入信号可以有效抑制噪声的进入。
设置GPxQUAL寄存器,配置输入限定器,决定引 脚量化采样周期 ;
输入限定
• 设置GPxQUAL寄存器中QUALPRD的值为n,则 限定的采样周期为2n*SYSCLKOUT。
GPIO复用引脚的结构
GPIO的寄存器
寄存器分为两大类,功能控制和数据。 功能控制寄存器: • 功能选择控制寄存器GPxMUX • 方向控制寄存器GPxDIR • 输入限定控制寄存器GPxQUAL
GPIO功能控制寄存器列表:
名称
地址
大小(*16)
GPAMUX
0x0000 70C0 1
GPADIR
数据寄存器: • 数据寄存器GPxDAT ,读写每个引脚信号 。 每个IO都有一个数据寄存器,当IO配置为输 出时,向GPxDAT中写数据就可以决定输出状 态; GPxDAT.bit=0,输出变低; GPxDAT.bit=1,输出变高。
GPIO的寄存器
数据寄存器: • 置位寄存器GPxSET ,设置每个引脚为高电
GPIO的寄存器
方向寄存器GPxDIR 方向寄存器GPxDIR配置数字量IO的输入/输出方向。 如果GPxDIR.bit=0,配置为输入; 如果GPxDIR.bit=1,配置为输出; 复位时所有GPIO引脚均设置为输入 ;
输入输出接口
六.8086输入/输出指令
1. 输入指令
IN AL, PORT
IN AX, PORT
IN AL, DX
IN AX, DX
2. 输出指令
OUT PORT, AL
OUT PORT, AX
wk.baidu.com
OUT DX, AL
OUT DX, AX
计算机原理讲义
CPU与外设的连接
第5.2节 CPU与外设的连接
一.CPU与外设的一般接口电路
M/IO
BHE
输出
AD15~0 ALE
设备 WR
DT/R
DEN
READY
MOV DX, 0160H MOV AL, [BX] OUT DX, AL
[BX]中存放需要输出到 I/O接口的内容
CLK
A 15~0 BHE D 7~0 IOW
T1 T2 T3 T4 T1
地址
数据
I/O写周期时序 T1 T2 T3 T4 T1
M/IO RD WR INTR INTA NMI HOLD HLDA READY
BHE A~ A1196
地 址
HLDA 总
A~ A105
线
HLDA
D~ D105
数据 总线
CLK
M/IO BHE AD15~0
ALE WR DT/R DEN READY
第5章 IO端口 数码管
不加const的数组或变量会储存到RAM中。 加const的数组或变量会储存到ROM中。
外形特征及编码方式
编码方式
consBaidu Nhomakorabea uchar
table[ ]={ 0xC0,0xF9,0xA4, 0xB0,0x99,0x92, 0x82,0xF8,0x80, 0x90,0x88,0x83, 0xC6,0xA1,0x86, 0x8E};
const的作用
表示此数组中储存的数据是不可改变的。
第5章 IO端口 数码管
1 理解数码管的工作原理
2 理解数码管的译码原则
3 会数码管动态扫描显示编程
数码管外形
数码管又称:七段数码 管或 八段数码管,八 段数码管比七段数码管 多一个发光二极管单元 (多一个小数点显示) 由于它的价格便宜 使用 简单 在电器 特别是家 电领域应用极为广泛 空 调 热水器 冰箱 等等
数码管的种类
按发光二极管单元连接方式分为 共阳极数码管和共阴极数码管。 共阳数码管是指将所有发光二极 管的阳极接到一起形成公共阳极 (COM)的数码管。共阳数码管在 应用时应将公共极COM接到+5V, 当某一字段发光二极管的阴极为 低电平时,相应字段就点亮。当 某一字段的阴极为高电平时,相 应字段就不亮。 共阴数码管是指将所有发光二极 管的阴极接到一起形成公共阴极 (COM)的数码管。(基本同上)
外形特征及编码方式
编码方式
consBaidu Nhomakorabea uchar
table[ ]={ 0xC0,0xF9,0xA4, 0xB0,0x99,0x92, 0x82,0xF8,0x80, 0x90,0x88,0x83, 0xC6,0xA1,0x86, 0x8E};
const的作用
表示此数组中储存的数据是不可改变的。
第5章 IO端口 数码管
1 理解数码管的工作原理
2 理解数码管的译码原则
3 会数码管动态扫描显示编程
数码管外形
数码管又称:七段数码 管或 八段数码管,八 段数码管比七段数码管 多一个发光二极管单元 (多一个小数点显示) 由于它的价格便宜 使用 简单 在电器 特别是家 电领域应用极为广泛 空 调 热水器 冰箱 等等
数码管的种类
按发光二极管单元连接方式分为 共阳极数码管和共阴极数码管。 共阳数码管是指将所有发光二极 管的阳极接到一起形成公共阳极 (COM)的数码管。共阳数码管在 应用时应将公共极COM接到+5V, 当某一字段发光二极管的阴极为 低电平时,相应字段就点亮。当 某一字段的阴极为高电平时,相 应字段就不亮。 共阴数码管是指将所有发光二极 管的阴极接到一起形成公共阴极 (COM)的数码管。(基本同上)
第五章 IO端口、输入捕捉
• I/O 引脚的名称定义了与该引脚相关的各个功能 的优先级。如图11-2 所示,概念化的I/O 引脚与 两个外设复用(“外设A”和“外设B”),并命名 为“PERA/PERB/PIO”。已为I/O 引脚选择了适 当的名称,以便用户可以方便地识别分配给该引 脚的功能的优先级。对于图5-2 中的示例,外设 A 对引脚的控制具有最高优先权。若外设A 和外 设B 同时使能,外设A将控制I/O 引脚。
• 5.3.1.1 软件输入引脚控制
• 分配给某个I/O 引脚的一些功能可能是那些不控 制引脚输出驱动器的输入功能。这类外设的一个 例示就是输入捕捉模块。如果使用相应的TRIS 控制位将与输入捕捉相关的I/O 引脚配置为输出 引脚,用户可以通过其相应的PORT 寄存器手动 影响输入捕捉引脚的状态。这种做法在有些情形 下很有用,尤其适用于当没有外部信号连接到输 入引脚的情况下进行测试。
中都分别有一个相关的位。
• 注: 端口和可用I/O 引脚的总数将取决于不同的器件。 在一个给定的器件中,可能并没有实现端口控制寄存 器中的所有位。更多ຫໍສະໝຸດ Baidu细信息,请参阅特定的器件数 据手册。
• 5.2.1 TRIS 寄存器
• TRISx 寄存器控制位决定与该I/O 端口相关的各 个引脚是输入引脚还是输出引脚。若某个I/O 引 脚的TRIS 位为“1”,则该引脚是输入引脚。若 某个I/O 引脚的TRIS 位为“0”,则该引脚被配置 为输出引脚。这很好记,因为1 很像I (input, 输入), 0 很像O (output,输出)。复位以后, 所有端口引脚被定义为输入。
• 5.3.1.1 软件输入引脚控制
• 分配给某个I/O 引脚的一些功能可能是那些不控 制引脚输出驱动器的输入功能。这类外设的一个 例示就是输入捕捉模块。如果使用相应的TRIS 控制位将与输入捕捉相关的I/O 引脚配置为输出 引脚,用户可以通过其相应的PORT 寄存器手动 影响输入捕捉引脚的状态。这种做法在有些情形 下很有用,尤其适用于当没有外部信号连接到输 入引脚的情况下进行测试。
中都分别有一个相关的位。
• 注: 端口和可用I/O 引脚的总数将取决于不同的器件。 在一个给定的器件中,可能并没有实现端口控制寄存 器中的所有位。更多ຫໍສະໝຸດ Baidu细信息,请参阅特定的器件数 据手册。
• 5.2.1 TRIS 寄存器
• TRISx 寄存器控制位决定与该I/O 端口相关的各 个引脚是输入引脚还是输出引脚。若某个I/O 引 脚的TRIS 位为“1”,则该引脚是输入引脚。若 某个I/O 引脚的TRIS 位为“0”,则该引脚被配置 为输出引脚。这很好记,因为1 很像I (input, 输入), 0 很像O (output,输出)。复位以后, 所有端口引脚被定义为输入。
第五章(8259)
优点:软件及接口硬件简单 缺点:只适用于简单外设,适应范围较窄
查询方式传送
适用于外设并不总是准备好,而且对传送 速率、传送效率要求不高的场合。 CPU在与外设交换数据前必须询问外设状 态—— “你准备好没有?” 对外设的要求:应提供设备状态信息 对接口的要求:需要提供状态端口 优点:软件比较简单 缺点:CPU效率低,数据传送的实时性差, 速度较慢
应用例子:发光二极管接口
+5V
D0 | D7 Q0
D0~D7
A0~A15 M/IO
译 码 器
. . .
Q7
=1 . . . =1
R
. . .
. . .
R
CP
WR
74LS373
I/O接口综合应用例
根据开关状态在7段数码管上显示数字或符号 设输出接口的地址为F0H
设输入接口地址为F1H
当开关的状态分别为0000~1111时,在7段数 码管上对应显示’0’~’F’
采用I/O独立编址方式(但地址线与存储器共用) 地址线上的地址信号用 IO/M来区分:
IO/M=1 时为I/O地址
I/O操作只使用20根地址线中的16根: A15 ~ A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0~FFFFH IBM PC只使用了1024个I/O地址(0~3FFH)
第五章_IO系统
30
常见的中断术语
(4)内中断:来自主机内部的中断,如软中断、掉电故障。 外中断:来自主机外部即外设的中断。 (5)可屏蔽中断:可由中断允许标志(IF=0)屏蔽的,如外中断。 非屏蔽中断:CPU必须响应的中断。 (6)向量中断:由硬件自动形成中断向量。 非向量中断:通过软件查询形成中断向量。 在不同的计算机硬件系统中对中断的分类不同。
同步总线 异步总线
6
总线类型与总线标准
4、总线标准 提供总线标准,主要是便于用户按自己的需要设 计接口,连接所需的各种外围设备。 常见的微机系统总线标准有:
ISA(工业标准体系结构,16位) EISA(扩展ISA,32位) PCI(周边器件互连,32和64位均有) MAC(微通道)等
7
23
5.3 直接程序传送方式及接口
一、基本思想 CPU直接利用I/O指令编程实现数据的输入输出。 二、接口模型
接口占用二个端口地址:即命令/状态寄存器和数据缓冲寄存器各占一个 端口。 命令字:CPU通过I/O指令设置,体现对外设的具体控制命令。 状态字:反映外设的工作状态,也可由CPU初始化。现设二位:“忙 (B)”及“完成(D)”。若BD为00则外设处于空闲状态,该状态可 由CPU编程设置,称为“接口清0”。
20
集中式仲裁器
21
总线的仲裁
2、竞争式仲裁 分配原则: 优先级不同的设备同时申请总线,则分配给高优先级的 设备; 先来先占用:谁先抢占总线,只要该设备没有释放总线, 则其它优先级高的设备不能强行占用总线。
第5章 IO接口电路的设计
第五章 I/O接口电路的设计
1
键盘
打印机 绘图仪 磁盘
外设
显示器
计 算 机
通信 鼠标器 扫描仪
2
缓冲器74LS244
3
缓冲器74LS245
4
锁存器74LS373
OE
1D
(1) (3)
D
C Q D C Q D C Q D C Q D C Q D C Q D C Q
(2)
1O
2D
(5) (6) (9)
A15 A14 A13 A12 M/IO A5 A4 A3
G1
Y0 Y1
74LS138
G2A G2B C B A
Y2 Y3 Y4 Y5 Y6 Y7
16
I/O译码电路的端口地址分配表
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 I/O口地址范围(H)
2Y4 /1G 2A4
/2G
开关
6
例5-2 一个简单的输出口
D0 D1
1D 2D
1Q 2Q
D7 M/IO CS WR
. . .
. . .
74LS373
8D CLK 8Q LED
7
例5-3
查询式输入方式的接口电路
2 /RD(读数据)
输入 设备
1
键盘
打印机 绘图仪 磁盘
外设
显示器
计 算 机
通信 鼠标器 扫描仪
2
缓冲器74LS244
3
缓冲器74LS245
4
锁存器74LS373
OE
1D
(1) (3)
D
C Q D C Q D C Q D C Q D C Q D C Q D C Q
(2)
1O
2D
(5) (6) (9)
A15 A14 A13 A12 M/IO A5 A4 A3
G1
Y0 Y1
74LS138
G2A G2B C B A
Y2 Y3 Y4 Y5 Y6 Y7
16
I/O译码电路的端口地址分配表
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 I/O口地址范围(H)
2Y4 /1G 2A4
/2G
开关
6
例5-2 一个简单的输出口
D0 D1
1D 2D
1Q 2Q
D7 M/IO CS WR
. . .
. . .
74LS373
8D CLK 8Q LED
7
例5-3
查询式输入方式的接口电路
2 /RD(读数据)
输入 设备
嵌入式系统原理及应用教程第5章GPIO
嵌入式系统原理及应用教 程第5章GPIO
嵌入式系统中的通用输入输出(GPIO)是一种重要的硬件接口,本章将详细 介绍GPIO的基本概念、电气特性、寄存器编程等内容,以及它在控制LED灯、 数码管、按键输入、电机控制、温度传感器等应用实例中的作用。
GPIO基本概念及分类
GPIO是指用于嵌入式系统的通用输入输出接口。它能够通过编程控制与外部 设备进行信息的输入和输出。GPIO根据其功能和特点可以分为不同的分类。
GPIO的应用场景介绍
GPIO广泛应用于嵌入式系统中的各种场景,比如控制LED灯的亮灭,驱动数码 管显示数字,处理按键输入,控制电机转动,读取温度传感器的数据等。这 些应用场景展示了GPIO的重要性和灵活性。
GPIO与外设的通信方法
GPIO可以与其他外设进行通信,通过特定的通信方法,实现与外设的数据交换和控制。常见的通信方法包括串口通 信、I2C总线、SPI总线等。
GPIO的读写操作
GPIO的读写操作是通过读取或写入GPIO寄存器的特定位来实现的。通过读取 GPIO引脚的值可以获取外部设备的输入信息,而通过向GPIO引脚写入值可以 控制外部设备的输出状态。
GPIO的中断处理
中断是一种常用的处理外部事件的方法,GPIO可以通过中断来实现对外部设 备的响应。当外部事件发生时,系统会立即中断当前的运行,执行预定的中 断处理程序。
GPIO引脚的电气特性
嵌入式系统中的通用输入输出(GPIO)是一种重要的硬件接口,本章将详细 介绍GPIO的基本概念、电气特性、寄存器编程等内容,以及它在控制LED灯、 数码管、按键输入、电机控制、温度传感器等应用实例中的作用。
GPIO基本概念及分类
GPIO是指用于嵌入式系统的通用输入输出接口。它能够通过编程控制与外部 设备进行信息的输入和输出。GPIO根据其功能和特点可以分为不同的分类。
GPIO的应用场景介绍
GPIO广泛应用于嵌入式系统中的各种场景,比如控制LED灯的亮灭,驱动数码 管显示数字,处理按键输入,控制电机转动,读取温度传感器的数据等。这 些应用场景展示了GPIO的重要性和灵活性。
GPIO与外设的通信方法
GPIO可以与其他外设进行通信,通过特定的通信方法,实现与外设的数据交换和控制。常见的通信方法包括串口通 信、I2C总线、SPI总线等。
GPIO的读写操作
GPIO的读写操作是通过读取或写入GPIO寄存器的特定位来实现的。通过读取 GPIO引脚的值可以获取外部设备的输入信息,而通过向GPIO引脚写入值可以 控制外部设备的输出状态。
GPIO的中断处理
中断是一种常用的处理外部事件的方法,GPIO可以通过中断来实现对外部设 备的响应。当外部事件发生时,系统会立即中断当前的运行,执行预定的中 断处理程序。
GPIO引脚的电气特性
第五章GPIO和中断
例如:对D口写入一串数据 GPIO_Write(GPIOD, 0x1101);
函数GPIO_ReadOutputDataBit
例如:读出B口的GPIO8的数据
GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_8);
GPIO固件库
外设类型定义
外设声明
定义外设类型
例如:实现下列LED的闪烁程序
#include "stm32f10x.h“
#define LED_ALL GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4
int main(void) { unsigned char j=0; chLsd=0xFE; //打开相应外设的时钟:GPIOA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
GPIO_Mode值
例如:IO配置
GPIO_Mode_AIN = 0x0, 模拟输入 GPIO_Mode_IN_FLOATING = 0x04, 浮空输入 GPIO_Mode_Out_OD = 0x14, 表示配置相应管脚为GPIO开漏输出(真双向IO) GPIO_Mode_Out_PP = 0x10, 通用推挽输出模式 GPIO_Mode_AF_OD = 0x1C, 表示配置相应管脚为复用功能的开漏输出 GPIO_Mode_AF_PP = 0x18 复用功能的推挽输出模式
函数GPIO_ReadOutputDataBit
例如:读出B口的GPIO8的数据
GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_8);
GPIO固件库
外设类型定义
外设声明
定义外设类型
例如:实现下列LED的闪烁程序
#include "stm32f10x.h“
#define LED_ALL GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4
int main(void) { unsigned char j=0; chLsd=0xFE; //打开相应外设的时钟:GPIOA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
GPIO_Mode值
例如:IO配置
GPIO_Mode_AIN = 0x0, 模拟输入 GPIO_Mode_IN_FLOATING = 0x04, 浮空输入 GPIO_Mode_Out_OD = 0x14, 表示配置相应管脚为GPIO开漏输出(真双向IO) GPIO_Mode_Out_PP = 0x10, 通用推挽输出模式 GPIO_Mode_AF_OD = 0x1C, 表示配置相应管脚为复用功能的开漏输出 GPIO_Mode_AF_PP = 0x18 复用功能的推挽输出模式
GPIO和中断
函数GPIO_ReadOutputData
读出C口的数据
ReadValue = GPIO_ReadOutputData(GPIOC);
函数GPIO_PinLockConfig
锁定A口的0和1管脚
GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);
GPIO_Mode值
例如:IO配置
GPIO_Mode_AIN = 0x0, 模拟输入 GPIO_Mode_IN_FLOATING = 0x04, 浮空输入 GPIO_Mode_Out_OD = 0x14, 表示配置相应管脚为GPIO开漏输出(真双向IO) GPIO_Mode_Out_PP = 0x10, 通用推挽输出模式 GPIO_Mode_AF_OD = 0x1C, 表示配置相应管脚为复用功能的开漏输出 GPIO_Mode_AF_PP = 0x18 复用功能的推挽输出模式
第五章GPIO与中断
1、GIO的特点 2、GPIO寄存器操作 3、GPIO的编程 4、中断和事件
GPIO特色
多大80多种功能的双向IO:
共5个端口(A、B、C、D、E) 每个端口共16位 标准IO口可承受5V电压 IO口可吸纳25mA电流 18MHZ的翻转速度 可配置输出速度达到50MHZ 多达16路模拟输入
函数GPIO_ResetBits
例如:对C口的15GPIO清除位 GPIO_ResetBits(GPIOC, GPIO_Pin_15);
计算机控制(第五章,开关IO,电机控制、步进电机)
S
(六)可控硅接口电路 可控硅(SCR)又叫作晶闸管,它在交直流电机调速系统、 调功系统,以及随动系统中都得到广泛应用。 1、单向可控硅 单向可控硅具有单向导通作用,其符号见下图,A为阳极, K为阴极,G为控制极。其工作特性与大功率场效应管有所不同, 其输出特性见下图所示。
2、双向可控硅 双向可控硅也叫三端双向可控硅,简称为TRIAC,在结构上 象是两个单向可控硅的反向连接,具有双向导通作用。对控制极G 加正(负)脉冲可使其正(反)向导通。 为提高效率,要求触发脉冲与交流电压同步,常采用检测交 流电过零点来实现。
三、电机控制接口技术
电动机的应用非常广泛。电机分为动力电机和控制电机。 现代化生产对电机的性能要求越来越高:精度、速度、带 负载能力、灵活性、智能化等。 电机的控制用自动化控制设备,朝向集成化、微型化、智 能化方向发展。微机和单片机使电机控制产生革命性的飞跃。目 前已研制出了许多微机或单片机控制电机的系统及专用控制板。 不远的将来,智能化调速系统、电机一体化等会广泛应用。 (一)小功率直流电机调速原理 小功率直流电机的调速可通过控制电枢平均电压来实现。 用微机或单片机控制,通过改变电枢电压接通时间与通电周期的 比值(即占空比)来控制电机速度——此即脉冲宽度调制PWM。 电机转速由电枢电压Ua决定, Ua越大,电机转速越高。 电机通电时速度增加,断电时速度逐渐减小,控制通、断时间比 即可控制电机转速。 设电机全通电时的转速为Vmax,占空比为D=t1/T,则电机的 平均速度为:Vd=Vmax×D (近似的线性关系)
计算机组成原理 第五章 IO系统
5.3.2 DMA控制器与接口的连接
系统总线 CPU M
接口 接口
多路型DMA控制器 允许各设备以字节 为单位交叉传送, 或以数据块为单位 成组传送。
DMA 控制器
接口板 I/O I/O
20
主机板
系统总线 CPU M DMA DMA 控制器 接口 接口
1.DMA控制器功能
I/O
I/O
(1)接收初始化信息 (传送方向、主存首址、交换量)。 初始化 (2)接收外设DMA请求,判优, 向CPU申请总线。 传送前 (3)接管总线权,发地址、读/写命令。 传送期间
18
(2)判断中断源 向量中断与非向量中 断相结合 (软件扩展) 请求1与请求2在控制 逻辑中形成公共请求 IRQ2,送入8259参加 判优;CPU响应后执行 IRQ2服务程序(向量中 断过程); CPU在IRQ2服务程序中 查询各设备状态,判 中断源,转入相应设 备服务程序 (非向量中 断过程)。
系 统 并 接口 总 线
串 并
外 设
接口与系统总线、接口与外设均按并行方式传送数据。 数据各位同时传送。 适用于设备本身并行工作,距主机较近的场合。
(2)串行接口
接口与系统总线并行传送,接口与外设串行传送。 数据逐位分时传送。 适用于设备本身串行工作,或距主机较远,或需减少传送 线的情况。
2.按时序控制方式划分 (1)同步接口
第五章 P1、P2、P3
地址/数据 控制 Vcc
读锁存器
读\改\写 ANL dir,A(#dat)
加上拉电阻 驱动
引脚
内部总线 写锁存器
D 锁存器 CL
Q Q MUX
读数据时, 直接读引脚
读引脚
读引脚前输 出“1”—“准”
P1口
P1口只能做I/O口,不必再外接上拉电阻。P1也是准双向 口,即输入数据前必须先将口置1,使FET截止。
第五章
并行I/O口
1、P0口:地址/数据总线+准双向IO 2、P1口:准双向IO
3、P2口:高8位地址总线+准双向IO
4、P3口:第二功能(控制总线)+准双向IO
P0口
P0口每位I/O包含一个输出锁存器、一个MUX、两个三 态缓冲器、一个输出控制电路和一个FET推挽输出驱动电路。 P0口既可以作为通用I/O口,又可以作为地址/数据总线。
Vcc 读锁存器
驱动
内部上拉电阻 引脚
内部总线 写锁存器
D 锁存器 CL
Q Q
读引脚
读引脚前输 出“1”—“准”
P2口
P2口比P1口多了一个输出控制转换MUX结构。选择: 1、P2口用于准双向口; 2、P2口用于输出高8位的地址。若RAM的容量大于256B,则 需由P2口送出高八位地址。
Vcc 读锁存器 控制 地址 内部上拉电阻
读锁存器
读\改\写 ANL dir,A(#dat)
加上拉电阻 驱动
引脚
内部总线 写锁存器
D 锁存器 CL
Q Q MUX
读数据时, 直接读引脚
读引脚
读引脚前输 出“1”—“准”
P1口
P1口只能做I/O口,不必再外接上拉电阻。P1也是准双向 口,即输入数据前必须先将口置1,使FET截止。
第五章
并行I/O口
1、P0口:地址/数据总线+准双向IO 2、P1口:准双向IO
3、P2口:高8位地址总线+准双向IO
4、P3口:第二功能(控制总线)+准双向IO
P0口
P0口每位I/O包含一个输出锁存器、一个MUX、两个三 态缓冲器、一个输出控制电路和一个FET推挽输出驱动电路。 P0口既可以作为通用I/O口,又可以作为地址/数据总线。
Vcc 读锁存器
驱动
内部上拉电阻 引脚
内部总线 写锁存器
D 锁存器 CL
Q Q
读引脚
读引脚前输 出“1”—“准”
P2口
P2口比P1口多了一个输出控制转换MUX结构。选择: 1、P2口用于准双向口; 2、P2口用于输出高8位的地址。若RAM的容量大于256B,则 需由P2口送出高八位地址。
Vcc 读锁存器 控制 地址 内部上拉电阻
微机原理 第五章 IO接口
I/O 端口 (256个) 个
隔离I/O I/O方式 5.2.2 隔离I/O方式
5-15
2.优点: 2.优点: 优点
20
AB
20 8
MPU
R/W
8 DB
控制
MEMR MEMW
存储器 (1MB)
(1)存储器全部地址空 (1)存储器全部地址空 间都不受I/O寻址影响; I/O寻址影响 间都不受I/O寻址影响; (2)I/O地址译码较简单, (2)I/O地址译码较简单, I/O地址译码较简单 I/O寻址速度较快 寻址速度较快; I/O寻址速度较快;
I/O设备与I/O接口 设备与I/O 5.1.1 I/O设备与I/O接口
5-4
即使都是数字量信息,两者的信息格式, (2) 即使都是数字量信息,两者的信息格式, 信号时序,传输速度还可能不一样. 信号时序,传输速度还可能不一样.
因此,外设必须通过I/O接口与计算机相连, I/O接口与计算机相连 因此,外设必须通过I/O接口与计算机相连, 以实现信息的变换 缓冲和协调. 变换, 以实现信息的变换,缓冲和协调.
5.2.1 存储器映象方式
5-13
2.缺点: 2.缺点: 缺点
AB 存储器 存 储 空 间 DB MPU
(1) 占用了存储器的一部分 地址空间, 地址空间,使可用的内存空 间减少. 间减少. (2) 为识别一个端口,必须 为识别一个端口, 对全部地址线译码, 对全部地址线译码,增加了 地址译码电路的复杂性, 地址译码电路的复杂性,并 使外设寻址时间增长. 使外设寻址时间增长. 访问存储器与I/O I/O操作 (3) 访问存储器与I/O操作 区别不明显. 区别不明显.
第五章通用和复用功能IO口
第五章通用和复用功能IO口
1.引言
通用和复用功能IO口是现代数字电路设计中的重要组成部分。它们允许电路与外部设备进行通信和控制,实现数据的输入、输出和处理。在本章中,我们将介绍通用和复用功能IO口的基本原理和应用。
通用功能IO口是一种通用的输入/输出接口,可以通过软件来配置不同的功能。它可以被用作输入口,用来读取外部设备的状态;也可以被用作输出口,用来控制外部设备的运行。通用功能IO口通常由一组引脚组成,每个引脚都可以配置为不同的功能。通过编程的方式,我们可以根据需要来选择引脚的功能,并进行相应的输入和输出操作。
复用功能IO口是一种多功能的输入/输出接口,可以通过硬件设置来选择不同的功能。它通常由一个多路器和多个外设模块组成。多路器的作用是选择不同的外设模块进行连接,从而实现不同的输入和输出功能。使用复用功能IO口,可以有效地减少芯片上的引脚数量,提高系统的可扩展性和灵活性。
4.通用功能IO口的应用
通用功能IO口广泛应用于各种数字电路设计中。它可以连接各种外设设备,如按钮、开关、传感器、LED灯等。通过编程的方式,我们可以读取外设的状态,并根据需要来控制外设的运行。通用功能IO口还可以连接到其他数字电路中,实现数据的输入、输出和处理。例如,它可以与存储器、处理器、通信接口等进行连接,实现数据的存储、处理和传输。
5.复用功能IO口的应用
复用功能IO口广泛应用于嵌入式系统和通信系统中。它可以连接各种外设设备,如显示器、触摸屏、以太网接口、USB接口等。通过硬件设置,我们可以选择不同的外设模块进行连接,并根据需要来实现不同的输入和输出功能。复用功能IO口还可以连接到其他模块中,实现数据的传输和处理。例如,它可以与显示模块、通信模块等进行连接,实现图形的显示、数据的传输等。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通用I/O
所有端口都为施密特触发输入,提高了抗噪声能力。
I/O 端口控制寄存器
有4 个与该端口操作直接相关的寄存器:
– TRISx: 数据方向寄存器 – PORTx:I/O 端口寄存器 – LATx: I/O 锁存寄存器 – ODCx: I/O 开漏控制寄存器
注:
– 器件上的每个I/O 引脚在TRIS、PORT、LAT 和ODC 寄存器中都分别有一个相关的位。 – 其中字母“x”表示特定的I/O 端口:
端口可当作寄存器来访问(读入或写出) 每个端口的每个引脚可分别设置为输入(1) 或输出(0) 复位后,所有端口引脚都被定义为输入。
15 7 6 5 4 3 2 1 0
1
1
1
0 1
1
0 1
1
1
1 0
TRISA
I
I
I
I O
I
O I
I
I
O I
PORTA
引脚
数字 I/O 口 – 16-位
BSET PORTA,#0 BSET PORTA,#1
IO口的外设复用
复用数字输入外设 外设不控制TRISx 寄存器。 PORTx寄存器可以读取引脚值。 PORTx数据输入路径不受影响。 外设输入路径使用特殊输入缓冲器,与IO 输入路径相互独立
变化通知(CN)引脚
电平变化通知(Change Notification,CN) 引脚使PIC24F 器件能够向处理器发出中断 请求,以响应所选择的输入引脚上的状态 变化。 可以选择(使能)最多24 个输入引脚来产 生CN 中断。 可用的CN 输入引脚总数取决于所选的 PIC24F 器件。具体查看引脚图
Interfacing to low impedence 5V load with open drain feature
5V 5V
PIC24FJxxxx
PIC24FJxxxx
Logic low
Load on
Logic high
Load Off
IO口的外设复用
许多引脚还支持一个或多个外设模块。当 配置为操作外设时,引脚不能用作通用输 入或输出。
PORTx Function PINs
Drive Logic
Interfacing to 5V devices
5V tolerant input and Open drain configuration simplifies 5V interface
Interfacing to 5V devices
CN 控制寄存器
有4 个与CN 模块相关的控制寄存器。
– CNEN1 和CNEN2 寄存器包含CNxIE 控制位, 其中“x”表示CN 输入引脚的编号。要让某个 CN 输入引脚中断CPU,必须将其CNxIE 位置 1。 – CNPU1 和CNPU2 寄存器包含CNxPUE 控制 位。每个CN 引脚连接一个弱上拉器件,该器 件可以通CNxPUE 控制位使能或禁止。 – 弱上拉器件充当连接到该引脚的电流源,并且 当连接了按钮或键盘设备时,有了该器件即可 不需要外部电阻。
– – – – 写PORTx 寄存器就是将数据值写入该端口锁存器。 PORTx 写LATx 寄存器就是将数据值写入该端口锁存器。 读PORTx 寄存器就是读取I/O 引脚上的数据值。 读LATx 寄存器就是读取保存在该端口锁存器中的数据 值。
PORT 寄存器
– 通过PORTx寄存器访问I/O引脚上的数据。 – 读PORTx寄存器是读取I/O引脚上的值; – 写PORTx寄存器是将值写入端口数据锁存器。 – 注意都是读-修改-写操作指令。如BSET 和 BCLR,
IO口的外设复用
下列外设允许通过PORT 寄存器手动控制它们的输入引脚:
– – – – 外部中断引脚 定时器时钟输入引脚 输入捕捉引脚 PWM故障引脚
大多数串行通信外设在使能时,将完全控制I/O 引脚,因此不 能通过相应的PORT 寄存器影响与该外设相关的输入引脚。 这些外设如下:
– – – – – SPI I2C DCI UART CAN
休眠和空闲模式下的CN 工作
CN 模块在休眠或空闲模式下继续工作。
– 如果使能的CN 引脚中的一个改变了状态, CNIF (IFS1<3>)状态位将被置1。 – 如果CNIE 位(IEC1<3>)被置1,则器件将从休眠或 空闲模式唤醒并恢复工作。
如果为CN 中断分配的优先级等于或低于当前 CPU 的优先级,则器件会紧随SLEEP 或IDLE 指 令后的那条指令继续执行。 如果为CN 中断分配的优先级高于当前CPU 的优 先级,则器件将从CN 中断向量地址继续执行。
变化通知(CN)引脚
CN 配置和操作
CN 引脚配置如下: 1. 通过将TRISx 寄存器中的相关位置1,确保CN 引脚配置为数字输 入引脚。 2. 通过将CNEN1 和CNEN2 寄存器中的相应位置1,允许所选的CN 引脚中断。 3. 通过将CNPU1 和CNPU2 寄存器中的相应位置1,打开所选的CN 引脚的弱上拉器件(如果需要)。 4. 清零CNIF (IFS1<3>)中断标志。 5. 使用CNIP<2:0> 控制位(IPC4<14:12>)为CN 中断选择所需的中 断优先级。 6. 使用CNIE (IEC1<3>)控制位允许CN 中断。 当CN 中断发生时,用户应读取与该CN 引脚相关的PORT 寄存器。 这样做将清除引脚电平不匹配条件,并设置CN 逻辑电路以检测下一 次引脚电平变化。可以将当前的端口值与上一次CN 中断时得到的端 口读出值比较,来确定发生过变化的引脚。
ODC 寄存器
每个I/O 引脚都可以单独配置为正常数字输 出( ODC 位为1)或开漏输出( ODC 位 为0 )。 ODC 位仅对输出引脚有效。 复位后, ODCx 寄存器的所有位的状态被 设置为0。
I/O 的开漏输出
15 7 6 5 4 3 2 1 0
0
0
0
1 0
0
0
0
0
0
ODCx
ቤተ መጻሕፍቲ ባይዱ
OD
;Turn LED @ PORTA bit 0 ON ;Turn LED @ PORTA bit 1 ON
RMW 问题的解决方法
对LAT寄存器使用R-M-W 指令:
– BSF LATA,#0 – BSF LATA,#1
LAT 寄存器
与I/O 引脚相关的LATx 寄存器消除了可能在执行 读-修改-写指令过程中发生的问题。 PORT 和LAT 寄存器之间的差异可以归纳如下:
输入输出端口
功能:MCU与外界交换信息的通道。 引脚的复用功能:
– 通用I/O – 支持外部设备
I/O端口的功能:
– 并行I/O端口 – 模拟端口引脚配置 – 输入电平变化中断模式
相关的I/O端口引脚: RB0~RB15 RC12~RC15 RD0~RD11 RE0~RE7 RF0~RF6 RG2~RG9
例:使用RB口控制G6区的8个指示灯,循 环移位点亮,瞬间只有一个灯亮。发光二 极管点亮
共阳极
模拟端口
AD1PCFG 和TRIS 寄存器控制A/D 端口引脚的操 作。若希望端口引脚为模拟输入引脚,则必须将 相应的TRIS 位置1 (输入)。如果将TRIS 位清 零(输出),则该引脚的数字输出电平(VOH 或 VOL)将被转换。 读取PORT 寄存器时,所有配置为模拟输入通道 的引脚均读为0 (低电平)。配置为数字输入的 引脚不对模拟输入信号进行转换。