欢迎来到天天文库
浏览记录
ID:33479303
大小:298.95 KB
页数:10页
时间:2019-02-26
《凌阳16位单片机c语言程序设计第三章(我修改)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章I/O端口的C语言程序设计.....................................................................................243.1IO端口的结构.....................................................................................................................243.2IO端口设置的寄存器...........................
2、..............................................................................243.2.1A口相应的寄存器........................................................................................................253.2.2并行I/O口的组合控制.........................................................
3、......................................253.2.3B口相应的寄存器........................................................................................................263.2.4B口的特殊功能.....................................................................................................
4、.......263.3IO端口设置的C库函数.....................................................................................................273.4IO端口的应用实例.............................................................................................................29第3章I/O端口的C语言程序设计第3章I/O端
5、口的C语言程序设计3.1IO端口的结构输入/输出接口(也可简称为I/O口)是单片机与外设交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界输送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。unSP内有并行和串行两种方式的I/O口。SPCE061A有两个16位通用的并行I/O口:A口和B口。这两个口的每一位都可通过编程单独定义成输入或输出口。A口的IOA0~IOA7用作输入口时具有唤醒功能,即具有输入电平变化引起CPU中断功能。在那些用电池供电、追求低能耗的应用场合,可以应用CPU的睡眠
6、模式(通过软件设置)以降低功耗,需要时以按键来唤醒CPU,使其进入工作状态。例如:手持遥控器、电子字典、PDA、计算器、移动电话等。图3.1是SPCE061A的I/O端口结构图。与其它的单片机相比,它除了每个I/O端口可以单独定义其状态外,每个对应状态下的I/O端口性质电路都是内置的,在实际的电路中不需要再次外接。例:设端口A口为带下拉电阻的输入口,在连接硬件时无需在片外接下拉电路。P_IOA/B_Buffer(读)P_IOA/B_Data(写)数据寄存器P_IOA/B_Buffer(写)上拉I/O和管脚P_IOA/B_Dir(读/写)控
7、制下拉逻辑P_IOA/B_Attrib(读/写)P_IOA/B_Data(读)图3.2I/O端口结构图3.2IO端口设置的寄存器SPCE061A提供了位控制结构的I/O端口,每一位都可以被单独定义用于输入或输出数据。通常,对某一位的设定包括以下3个基本项:数据向量Data、属性向量Attribution和方向控制向量Direction。3个端口内每个对应的位组合在一起,形成一个控制字,用来定义相应I/O口位的输入输出状态和方式。例如,假设需要IOA0是下拉输入管脚,则相应的Data、Attribution和北阳电子内部技术资料24第3章I
8、/O端口的C语言程序设计Direction的值均被置为“0”。如果需要IOA1是带唤醒功能的悬浮式输入管脚,则Data、Attribution和Direction的值被置为“010”。A口和B
此文档下载收益归作者所有