嵌入式技术基础与实践(第2版)第03章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Slide 14
5.2 IO模块结构及功能 输出驱动能力选择
在MCU内部每个并行端口都配有一个8位的输出驱动控制寄存器 (PTxDS),控制对应的输出管脚是否允许高驱动输出。
• PTxDSn = 0:对应输出管脚PTxDn选择低驱动(缺省值,如和IC接口) • PTxDSn = 1:对应输出管脚PTxDn选择高驱动(如驱动LED)
Slide 18
5.2 IO模块内部寄存器
每个I/O管脚的功能受5个寄存器的控制:
PTxD (Port x Data Register)
Slide 19
5.2 IO模块内部寄存器
每个I/O管脚的功能受5个寄存器的控制:
PTxDD (Data Direction for Port x Register)
I/O口输出电路
3.2
内部结构
AW60的GPIO
• 具有7个I/O端口(A,B,C,D,E,F,G)
• 最多54个通用I/O管脚 • 大多数I/O管脚和片内其它外围模块 功能复用
Slide 7
3.2
外部管脚
AW60的GPIO
• 具有7个I/O端口(A,B,C,D,E,F,G)
• 最多54个通用I/O管脚(不同封装有别)
PTxPE = 0
• 上拉:禁止
PTxDS = 0
• 输出驱动:低驱动
PTxSE = 0
• 输出摆率:禁止
MCU复位之后,所有I/O管脚都被配置为不带内部上拉电阻的高阻 抗输入管脚。为了避免悬空的输入管脚产生而外的电流损耗,应用 程序中的复位初始化子程序要么允许片内上拉电阻,要么改变未使 用的管脚的方向为输出,这样管脚就不再悬空。 应用中没有用到的I/O管脚必须要端接,这可以避免由于输入悬空而 导致电流过载并提高抗噪能力。端接方法有:
3.2
外部管脚
AW60的GPIO
• 具有7个I/O端口(A,B,C,D,E,F,G)
• 34个通用I/O管脚(不同封装有别)
– A:2; B:4; C:6; D:4; – E:8; F:4; G:6
Slide 10
3.2
外部管脚
• I/O管脚功能复用
AW60的GPIO
复位之后,共享的外围模块功能被禁止,因此I/O端口 的所有管脚都是作为并行I/O管脚使用。
Slide 22
5.2 IO模块内部寄存器
每个I/O管脚的功能受5个寄存器的控制:
PTxSE (Output Slew Rate Control Enable for Port x)
Slide 23
5.2 IO模块内部寄存器 管脚复位状态
PTxD = 0 PTxDD = 0
• 管脚方向:输入
3.1
通用I/O接口基本概念及连接方法
1. I/O接口的概念
I/O接口,即输入输出接口,是微控制器同外界进行交互的 重要通道。这里的接口英文是port,也可以翻译为“端口”, 另一个英文单词是interface,也翻译为接口。在嵌入式系统中, 接口千变万化,种类繁多,有显而易见的人机交互接口,如操 纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机 器设备接口
Slide 17
5.2 IO模块内部寄存器
每个I/O管脚的功能受5个寄存器的控制:
PTxD (Port x Data Register) PTxDD (Data Direction for Port x Register) PTxPE (Port x Pullup Enable Register) PTxDS (Output Drive Strength Selection for Port x) PTxSE (Output Slew Rate Control Enable for Port x) 对I/O管脚的控制正是通过对I/O寄存器的控制来实现 I/O寄存器分布在MCU存储区域的寄存器空间 • PTxD和PTxDD分布于0页寄存器空间 • PTxPE、PTxDS和PTxSE分布于高页寄存器空间
第3章 第一个样例程序及 CodeWarrior工程组织
主要内容
3.1 通用I/O接口基本概念及连接方法 3.2 AW60的GPIO 3.3 开发套件CodeWarrior开发环境与 S08/S12/ColdFire写入器 3.4 CW环境C语言工程文件的组织 3.5 第一个C语言工程:控制小灯闪烁 3.6 第一个汇编语言工程:控制小灯闪烁
Slide 16
5.2 IO模块结构及功能 输出摆率控制
在MCU内部每个并行端口都配有一个8位的输出摆率控制寄存器 (PTxSE),控制对应的输出管脚是否允许摆率控制。
• PTxSEn = 0:对应输出管脚PTxDn禁止摆率控制(缺省,信号跳变陡, 40/11ns) • PTxSEn = 1:对应输出管脚PTxDn允许摆率控制(信号跳变平坦,75/35ns)
5.2 IO模块结构及功能 内部输入上拉
在MCU内部每个并行端口都配有一个8位的输入上拉控制寄存器 (PTxPE),控制对应的输入管脚是否允许内部输入上拉。
• PTxPEn = 0:对应输入管脚PTxDn禁止内部输入上拉(上电复位缺省值) • PTxPEn = 1:对应输入管脚PTxDn允许内部输入上拉——可避免悬空,降低 Slide 13 功耗,提高系统可靠性
Slide 15
5.2 IO模块结构及功能 输出摆率控制
在MCU内部每个并行端口都配有一个8位的输出摆率控制寄存器 (PTxSE),控制对应的输出管脚是否允许摆率控制。
• PTxSEn = 0:对应输出管脚PTxDn禁止摆率控制(缺省,信号跳变陡,如上图黄) • PTxSEn = 1:对应输出管脚PTxDn允许摆率控制(信号跳变平坦,如上图粉)
Slide 20
5.2 IO模块内部寄存器
每个I/O管脚的功能受5个寄存器的控制:
PTxPE (Port x Pullup Enable Register)
Slide 21
5.2 IO模块内部寄存器
每个I/O管脚的功能受5个寄存器的控制:
PTxDS (Output Drive Strength Selection for Port x)
– A:8; B:8; C:7; D:8; – E:8; F:8; G:7
Slide 8
3.2
外部管脚
AW60的GPIO
• 具有7个I/O端口(A,B,C,D,E,F,G)
• 38个通用I/O管脚(不同封装有别)
– A:4; B:4; C:6; D:4; – E:8; F:5; G:7
Slide 9
MC9S0 8AW60CPUE 3.3V
MC9S08AW 60
2
10uF/T an
0.1uF
0.1uF
0.1uF
GND 22p F BKGD 1 3 5 J72 2 4 6 GND RST# 3.3V
10M
GND 1K
21 59 45 55 57
VSS@2 1 VSS@5 9 VSSAD@45 VREFL PTG5 /XTAL
1
4MHz 22p F GND 1 2 SW GND GND 4 3 3.3V BKGD 10K RST#
0.1uF
58 56 3
PTG6 /EXTAL BKGD/MS RESET#
HDR-2 X3- Sock et BDM socket
PORTC
PORTB
CLK
I/O Output Leds
2 2 2 2 2 2 1 330 ohm 2 1 330 ohm 330 ohm
4X1 0K
4X1 0K
1
1
ห้องสมุดไป่ตู้
1
1 330 ohm 330 ohm
5.2 IO模块结构及功能 输出驱动能力选择
在MCU内部每个并行端口都配有一个8位的输出驱动控制寄存器 (PTxDS),控制对应的输出管脚是否允许高驱动输出。
• PTxDSn = 0:对应输出管脚PTxDn选择低驱动(缺省值,如和IC接口) • PTxDSn = 1:对应输出管脚PTxDn选择高驱动(如驱动LED)
2.通用I/O
所谓通用I/O,也记为GPIO(General Purpose I/O),即基 本的输入/输出,有时也称并行I/O,或普通I/O,它是I/O的最 基本形式
通用I/O接口一般应具备
放置输入或输出控制字的寄存器 放置工作方式控制字的寄存器 放置要交换数据的寄存器 放置反映工作状态的寄存器
33 32 31 30 29 28 27 26 41 40 39 38 37 36 35 34 9 64 1 63 62 61 60 53 52 51 50 47 46 43 42 20 19 18 17 16 15 14 13
PTA7 PTA6 PTA5 PTA4 PTA3 PTA2 PTA1 PTA0 PTB7 PTB6 PTB5 PTB4 PTB3 PTB2 PTB1 PTB0 PTC6 PTC5 PTC4 PTC3 PTC2 PTC1 PTC0 PTD7 PTD6 PTD5 PTD4 PTD3 PTD2 PTD1 PTD0 PTE7 PTE6 PTE5 PTE4 PTE3 PTE2 PTE1 PTE0 GND LED7 LED6 LED5 LED4 LED3 LED2 LED
I/O输入电路
4.输出引脚的基本接法 作为通用输出引脚,MCU内部程序 向该引脚输出高电平或低电平来驱动 器件工作,即开关量输出。如图所示。 其中O1引脚是发光二极管LED的驱动引 脚,当O1引脚输出高电平时,LED不亮; 当O1引脚输出低电平时,LED点亮。O2 引脚接蜂鸣器驱动电路,当O2脚输出高 电平时,蜂鸣器响;O2脚输出低电平时, 蜂鸣器不响
Slide 11
5.2 IO模块结构及功能
管脚方向控制
在MCU内部每个并行端口都配有一个8位的数据寄存器(PTxD)和一个8 位的数据方向寄存器(PTxDD, DD: Data Direction)。 PTxDD的每一位 ( PTxDDn)和每一个I/O管脚相对应,控制它作输入还是作输出。
• PTxDDn = 0:对应管脚PTxDn设为输入(上电复位缺省值) • PTxDDn = 1 :对应管脚 PTxDn设为输出 Slide 12
3.3V
3.3V
2
8 7 6 5
8 7 6 5
IRQ PTD7 /KBI1P7/AD1 P15 PTD6 /TPM1CLK/AD1P14 PTD5 /AD1P13 PTD4 /TPM2CLK/AD1P12 PTD3 /KBI1P6/AD1 P11 PTD2 /KBI1P5/AD1 P10 PTD1 /AD1P9 PTD0 /AD1P8 PTE7/SPSCK1 PTE6/MOSI1 PTE5/MISO1 PTE4/SS1# PTE3/TPM1CH1 PTE2/TPM1CH0 PTE1/RxD1 PTE0/TxD1
3.上拉下拉电阻与输入引脚的基本接法
输入引脚有三种不同的连接方式:带上拉电阻的连接、 带下拉电阻的连接和“悬空”连接。
若MCU的某个引脚通过一个电阻接到电源(Vcc)上,这 个电阻被称为“上拉电阻”。与之相对应,若MCU的某个引 脚通过一个电阻接到地(GND)上,则相应的电阻被称为 “下拉电阻”。悬空的芯片引脚被上拉电阻或下拉电阻初 始化为高电平或低电平。
• 把未使用管脚通过软件配置为输出,并输出为高或低 Slide 24 • 把未使用管脚通过软件配置为输入,并使用内部或外部上拉电阻
5.2 IO模块应用举例
[例5.1] 根据图示电路编写程序,实现下述功能:将8位开关按键SW[7:0] 的状态实时地由8位发光二极管LED[7:0]显示出来。SW开关拨到左边时,输 入电平为低,要求LED灭;SW开关拨到右边时,输入电平为高,要求LED亮。
Power
JUMP- 2
PORTA
+
22 44 54
VDD@22 VDDAD@44 VREFH
PTA7 PTA6 PTA5 PTA4 PTA3 PTA2 PTA1 PTA0 PTB7/AD1P7 PTB6/AD1P6 PTB5/AD1P5 PTB4/AD1P4 PTB3/AD1P3 PTB2/AD1P2 PTB1/AD1P1 PTB0/AD1P0 PTC6 PTC5 /Rx D2 PTC4 PTC3 /TxD2 PTC2 /MCL K PTC1 /SDA1 PTC0 /SCL1
相关文档
最新文档