310 likes | 454 Views
Sunplus SPCE061A 微控制器. 并行 I/O 口. 概述. 在了解了 unsp 系列单片机的结构特点,以及 SPCE061A 单片机的基本硬件结构后,我们开始学习单片机最基础的部份: I/O 口。 介绍输入输出口的内容中,着重讲述 SPCE061A 单片机的较特殊的 I/O 结构,以及 SPCE061A I/O 口的特殊能力。. 单片机的输入与输出. SPCE061A I/O 特性. 独立的 I/O 口逻辑电平( VDDIO ) 可接 VDDIO 范围:3.3~5.5 V。 多种输入方式 悬浮、上拉、下拉输入方式,适应不同的外围器件对接口要求。
E N D
Sunplus SPCE061A 微控制器 并行I/O口
概述 • 在了解了unsp系列单片机的结构特点,以及SPCE061A单片机的基本硬件结构后,我们开始学习单片机最基础的部份:I/O口。 • 介绍输入输出口的内容中,着重讲述SPCE061A单片机的较特殊的I/O结构,以及SPCE061A I/O口的特殊能力。
SPCE061A I/O特性 • 独立的I/O口逻辑电平(VDDIO) 可接VDDIO范围:3.3~5.5V。 • 多种输入方式 悬浮、上拉、下拉输入方式,适应不同的外围器件对接口要求。 • 按位设置每一位I/O口 可按位设置每一位的输入输出方式、状态。
IOA与IOB 两个并行16位I/O口 • IOA口 • IOA0~IOA6:7路普通AD输入端口 • IOA0~IOA7:触键唤醒功能 • IOB口 • 外部中断输入 • 串行接口、 • PWM输出等复用端口
I/O口的设置范例 I/O口的基本操作举例 例:设置端口:IOA[3~0] 为带下拉电阻的输入口,IOA[7~4]为带上拉电阻的输入口,IOA[11~8]为带数据缓存器的高电平输出口,IOA[15~12] 为带数据缓存器的低电平输出口。
上下拉与悬浮 • 悬浮输入:接其它IC的输出,如此不会影响速度 • 下拉输入:有效电平为高且大部分的状态为低假设外接key,且高电平时作用。可以少接一下拉电阻.节省成本与加工。 • 上拉输入:有效电平为低且大部分的状态为高假设外接key,且低电平时作用。可以少接一上拉电阻.节省成本与加工。 • 悬浮输入:接其它IC的输出,如此不会影响速度 • 下拉输入:有效电平为高且大部分的状态为低假设外接key,且高电平时作用。可以少接一下拉电阻.节省成本与加工。 • 上拉输入:有效电平为低且大部分的状态为高假设外接key,且低电平时作用。可以少接一上拉电阻.节省成本与加工。
Data与Buffer • P_IOA/B_Data(读/写) • 读:读出是读I/O口管脚电平状态 • 写:写入是将数据写入A口的数据寄存器 • P_IOA_Buffer (读/写) • 读:是从A口数据寄存器内读其数值 • 写:将I/O口的数据向量写入I/O口的数据寄存器 管脚电平状态
同相输出与反相输出 • 同相输出:(Output with Buffer) 同相输出,带数据缓存。 • 反相输出:(Output with Data Inverted) 反相输出,只是方便某些时候运算。
合理用法 I/O使用技巧 • SPCE061A的I/O端口在上电复位时,默认为带下拉的输入口。 不合理用法
IOA口相关寄存器 • P_IOA_Data(读/写)(7000H) • P_IOA_Buffer (读/写) (7001H) • P_IOA_Dir(读/写)(7002H) • P_IOA_Attrib(读/写)(7003H) • P_IOA_Latch(读)(7004H) 读该单元以锁存A口上的输入数据,用于进入睡眠状态前的触键唤醒功能的启动。
IOA口特殊功能 • IOA(7:0)键唤醒 根据IOA低八位外接的电平状态唤醒单片机 • IOA(6:0)普通AD输入通道 • 10位精度 • 此时打开的通道I/O口要为悬浮输入方式 • 电压输入范围:(AVSS-0.3V)to(AVDD+0.3V)
IOA口应用 • 键盘输入:IOA[7:0]按键唤醒 • ADC输入:IOA口[6:0] • 八位并行数据传输: IOA[15:8]/IOA[7:0] • 端口控制:IOA[15:0]
从输入看Data与Buffer的区别 程序说明:在单步运行程序期间将A口的任意管脚接VDD,通过观察寄存器表中的R2,R3的值可观察到二者的不同。
IOB口相关寄存器 • P_IOB_Data(读/写)(7005H) • P_IOB_Buffer (读/写) (7006H) • P_IOB_Dir(读/写)(7007H) • P_IOB_Attrib(读/写)(7008H) • 特殊功能复用
P_SystemClock 1.口位默认为带下拉电阻的输入管脚。 2.PWM:脉宽调制(Pulse Width Modulation) 。
IOB Feedback功能 IOB2、3及IOB4、5 • 单个IOB2或IOB3口可设置为外部中断的输入口。 • 设置P_FeedBack单元, 再将IOB2/3和IOB4/5之间连接一个电阻和电容形成反馈电路以产生振荡信号;利用FeedBack功能。 IOB2、3及IOB4、5 • 单个IOB2或IOB3口可设置为外部中断的输入口。 • 设置P_FeedBack单元, 再将IOB2/3和IOB4/5之间连接一个电阻和电容形成反馈电路以产生振荡信号;利用FeedBack功能。
IOB Feedback应用 • RFC(Resistor to Frequency Converter) 用法:结合片内硬件结构,以及软件,对外接的RC振荡电路的频率进行测量 用途:湿度测量、接近检测、触模检测等
PWM输出 IOB8 IOB9 • 普通I/O口 • PWMA/B输出口 需设置TA/BON(详见TimerA/B设置寄存器) TA/BON:的脉宽调制信号输出允许位。 • TimerA/B溢出信号输出
IOB口其他 • SIO、UART复用I/O口可参后后面的章节 • IOB口的直流电流特性与IOA口一样,可参考本章前面内容。 • IOB13、IOB14建议使用电压范围为0~VDD,而当VDDIO高于VDD时,要注意限制这两口的电压范围
输入与输出 • 如果把单片机看得简单些,可以这么认为:单片机只是一个从输入到输出的设备。而I/O则是最基本的输入输出设备。 • SPCE061A的32个通用I/O口提供了丰富的接口模式,而且还提供了很多复用功能,如IOA口的触键唤醒、ADC输入;IOB口的串行接口、Feedback、PWMO、EXT等。
定时闪烁的LED • I/O口,有了I/O口就可以实现对LED灯的控制了,但如何让I/O控制的LED灯有序地定时地闪烁呢? • 定时器/计数器、时间基准信号,再加上I/O的控制,就可以实现了。 • 在下面一章,介绍凌阳单片机中极具特色的时间基准信号,及其定时器/计数器。
凌阳科技 科技落实生活 • 请参看IDE环境光盘和技术手册; • 请登陆凌阳大学计划网站: http://www.unsp.com.cn • 凌阳应用推广部,服务中心: E_mail:unsp@sunplus.com.cn 凌阳大学计划竭诚为您服务