单片机实用技术讲座(6)第四讲 I/O口的特点及操作
- 格式:pdf
- 大小:164.54 KB
- 文档页数:3
第四章 I/O接口及应用4.1 并行接口概述当单片机用来控制一个设备时,首先要知道设备的状态,其次是要能控制设备运行。
例如用单片机控制自动门。
首先单片机要检测(输入)自动门的开启或关闭命令,当收到开启或关闭命令时,发出(输出)开启或关闭控制指令,在开启或关闭自动门的过程中,要检测门是否开启或关闭到位(输入),到位后要发出停止信号(输出)。
所以单片机必定要有输入与输出引脚。
几乎所有单片机都设计有并行输入、输出接口。
并行输入、输出接口一般为8位。
通过一条输入指令可以一次读取8个引脚的状态,组成一个字节的数据,称为并行输入;通过一条输出指令可以将一个字节的数据送到8个引脚上,称为并行输出。
并行输入接口一般用来采集外部数据;并行输出接口用来输出控制信息。
4.1.1 并行输入工作原理并行输入接口中某一位的简化接口电路如图4-1所示:引脚的状态取决于外部电路,缓ATmega16有四个8位的并行输入/输出接口,分别为PA、PB、PC和PD,对应的引脚是PA0~PA7 、PB0~PB7、PC0~PC7和PD0~PD7。
每一个引脚的简化接口电路如图4-3所示:由输入电路、输出电路及方向选择控制电路组成。
输出锁存器、三态驱动器、三态门1、上拉管组成输出电路(等效为图4-2所示的输出电路);缓冲器、三态门2组成输入电路(等效为图4-1所示的输入电路);方向锁存器、三态门3、与非门组成方向控制电路。
当方向锁存器Q端为低电平时,三态驱动器控制为高阻抗状态,输出无效,引脚状态由外部电路及上拉管控制。
输出锁存器Q端为0时,上拉管截止;输出锁存器Q端为1时,上拉管作上拉电阻用。
可通过RP端控制读取引脚信号。
当方向锁存器Q端为高电平时,三态驱动器控制为导通状态,输出引脚状态与输出锁存器的Q端状态相同,电路等效为图4-2所示的输出电路,工作原理同并行输出。
C语言编程时,在头文件<mega16.h>中定义了一些与I/O接口有关的特定变量,每一个特定变量对应单片机内部的一个特殊功能寄存器,用大写字母书写。
80C51的I/O端口结构及应用特性一,I/O端口的结构1,锁存器加引脚的典型结构80C51的I/O端口都有内部总线实现操作控制。
P0-P3四个I/O 口都可以做普通I/O口,因此,要求具有输出锁存功能。
内部总线有事分时操作,因此每个I/O端口都有相应的锁存器。
然而I/O端口又是外部的输入/输出通道,必须有相应的引脚,故形成了I/O端口的锁存器加引脚的典型结构。
2,I/O口的复用功能(1)I/O口的总线复用。
80C51在使用并行总线扩展时,P0口可作为数据总线口和低8位地址总线口,这是,P0为三态双向口。
P0口输出总线的地址数据信号,P2口输出高8位地址信号。
(2)I/O口的功能复用。
I/O口的P3为功能复用的I/O端口。
端口有复用输出的控制端;引脚也有复用输入的控制端。
3,准双向结构P0,P1,P2,P3口做普通I/O口使用时,都是准双向口结构。
准双向口的典型结构见P1口位结构图。
准双向口的输入操作和输出操作本质不同,输入操作时读引脚状态;输出操作时对口锁存器的写入操作。
有口锁存器和引脚电路可知:当有内部总线对只1或只0时,锁存器的0、1状态立即反应到引脚上。
但是输入操作(读引脚)时,如果口锁存器的状态为0,引脚被嵌位在0状态,导致无法读出引脚的高电平输入。
二,I/O端口的应用特性1,引脚的自动识别。
无论P0,P2口的总线复用,还是P3口的功能复用,内部资源会自动选择,不需要通过指令的状态选择。
2,口锁存器的读、该、写操作。
许多涉及到I/O端口的操作,只是涉及口锁存器的读出、修改、写入的操作。
这些指令都是一些逻辑运算指令、置位/清除指令、条件转移指令以及将I/O口作为目的地址的操作指令。
3,读引脚的操作指令。
如果某个I/O口被指定为源操作数,则为读引脚的操作指令。
例如,执行MOV A,P1时,P1口的引脚状态传送到累加器中,执行MOV P1,A是,指令则将累加器的内容传送到P1口锁存器中。
4,准双向口的使用。