单片机教材 - 第4章I-O接口及应用
第四章 I/O接口及应用
4.1 并行接口概述
当单片机用来控制一个设备时,首先要知道设备的状态,其次是要能控制设备运行。例如用单片机控制自动门。首先单片机要检测(输入)自动门的开启或关闭命令,当收到开启或关闭命令时,发出(输出)开启或关闭控制指令,在开启或关闭自动门的过程中,要检测门是否开启或关闭到位(输入),到位后要发出停止信号(输出)。所以单片机必定要有输入与输出引脚。
几乎所有单片机都设计有并行输入、输出接口。并行输入、输出接口一般为8位。通过一条输入指令可以一次读取8个引脚的状态,组成一个字节的数据,称为并行输入;通过一条输出指令可以将一个字节的数据送到8个引脚上,称为并行输出。并行输入接口一般用来采集外部数据;并行输出接口用来输出控制信息。 4.1.1 并行输入工作原理
并行输入接口中某一位的简化接口电路如图4-1所示:引脚的状态取决于外部电路,缓冲器后的状态为引脚状态,三态门的输出由RP端控制,当RP端为0时,三态门的输出为高阻抗状态,数据总线不受引脚影响;当RP端为1时,三态门的输出与输入相同,此时为读引脚状态。在读接口时,RP控制端有效。 数据总线三态门缓冲器引脚图4-1 输入接口等效电路 4.1.2 并行输出工作原理 并行输出接口中某一位的简化接口电路如图4-2所示。当控制端WP为0(低电平)时,数据锁存器的输出端Q为上次输出的值,与输入端D无关,数据总线操作不影响输出。当控制端WP为1(高电平)时,数据锁存器的输出端Q的值为输入端D的值,为输出数据状态。数据输出到引脚。锁存器输出端Q为0时, 输出为低电平;锁存器输出端Q为1时,输出为高电平。RL控制端为读取输出值。 上拉管数据总线数据锁存器方向器缓冲驱动器引脚图4-2 输出接口等效电路 4.1.3 并行输入/输出接口工作原理 并行输入/输出接口简称I/O接口,可以用它来作输入接口,也可以用它作输出接口。但在使用前必须选择方向(是作为输入,还是作为输出)。 ATmega16有四个8位的并行输入/输出接口,分别为PA、PB、PC和PD,对应的引脚是PA0~PA7 、PB0~PB7、PC0~PC7和PD0~PD7。每一个引脚的简化接口电路如图4-3所示:由输入电路、输出电路及方向选择控制电路组成。输出锁存器、三态驱动器、三态门1、上拉管组成输出电路(等效为图4-2所示的输出电路);缓冲器、三态门2组成输入电路(等效为图4-1所示的输入电路);方向锁存器、三态门3、与非门组成方向控制电路。WD为方向控制端,它将总线上的方向信号锁存到方向锁存器的输出端Q。 方向锁存器上拉管与非门三态门3数据锁存器数据总线缓冲驱动器引脚三态门1三态门2缓冲器图4-3 I/O接口等效电路 当方向锁存器Q端为低电平时,三态驱动器控制为高阻抗状态,输出无效,引脚状态由外部电路及上拉管控制。输出锁存器Q端为0时,上拉管截止;输出锁存器Q端为1时,上拉管作上拉电阻用。可通过RP端控制读取引脚信号。
当方向锁存器Q端为高电平时,三态驱动器控制为导通状态,输出引脚状态与输出锁存器的Q端状态相同,电路等效为图4-2所示的输出电路,工作原理同并行输出。
C语言编程时,在头文件
PORTA为接口寄存器,在接口为输出时用来将数据输出到接口,也可以用来读取接口输出状态;在接口为输入时连接或关闭上拉电阻。我们以PA口为例介绍其使用方法。I/O接口在使用之前,必须先定义为输入接口或输出接口。这一定义由给变量DDRA赋值来完成,DDRA的每一位对应定义PA口的每一位。
DDRA.7 DDRA.6 DDRA.5 DDRA.4 DDRA.3 DDRA.2 DDRA.1 DDRA.0
D7 D6 D5 D4 D3 D2 D1 D0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
当DDRA的某位为0时,送到方向锁存器的输出端为0,相应位只能作输入。 当DDRA的某位为1时,送到方向锁存器的输出端为1,相应位只能作输出。 例如DDRA=0xf0=0b11110000,则PA口的高四位为输出,低四位为输入。当
DDRA=0xff时,PA口的所有位都为输出,可以按输出接口工作原理使用;当DDRA=0时,PA口的所有位都为输入,可以按输入接口工作原理使用;
例如程序段:
char k; k=0xa5; DDRA=0xff; PORTA=k; 第三条语句定义PA口为输出口,第四条语句是把变量k的数据送给PA口的引脚。 执行上述程序段,将使PA口的PA0~PA7引脚控制为:高低高低低高低高 程序段:
char k; DDRA=0x0; PORTA=0xf0; k=PINA;
第二条语句定义PA口为输入口,第三条语句是高四位使用内部上拉电阻, 低四位不使用内部上拉电阻。第四条语句是读取PA口引脚的值。
对PB口,相应的三个特定变量为:DDRB、PINB、PORTB 对PC口,相应的三个特定变量为:DDRC、PINC、PORTC 对PD口,相应的三个特定变量为:DDRD、PIND、PORTD 综上所述,4个并行接口的情况如表4-1所示。
表4-1 端口变量
接口名称 PA 方向定义变量 DDRA 引脚输入变量 PINA 引脚输出变量 PORTA 接口性质 I/O PB PC PD DDRB DDRC DDRD PINB PINC PIND PORTB PORTC PORTD I/O I/O I/O
注:因为所有IO接口都具有不同的第二功能,因此实际的接口电路都与前面介绍的有所不同,要详细了解请查阅相关资料。
4.2 并行接口应用举例
4.2.1 例1:彩灯控制
如图4-4所示的电路,有8只发光二极管接在PC口,每只发光管低电平点亮。如果按图4-5所示的方式点亮,每次点亮两只发光管,间隔0.2秒后,再换成点亮相邻的两只,依此类推,4次后,再回到第一次,周而复始,形成彩灯的移动。
图4-4 彩灯控制电路
位数 7 6 5 4 3 2 1 0 第一次 第二次 第三次 第四次 图4-5 彩灯点亮示意图
程序清单如下:
#include
#include
/* PORTC定义 */ PORTC = 0x00;
DDRC = 0xFF; //设置PC口为输出口 while(1) //无限循环 {j=0x11;
for(i=0;i<4;i++)
{PORTC=~j; //取反后输出 delay_ms(200); //延时200毫秒 j=(j<<1); //j的内容左移一位 } } }
4.2.2 实验指导1
在教师的指导下,首先生成“实验1.prj”工程,再生成“实验1.c”文件,添加到“实验1.prj”工程中。设置PC口为输出口,并将实验装置的PC口与发光管控制口相连。实验中可以改变延时时间来控制速度。可以采用右移来改变移动方向。还可以自行设计彩灯变换。
4.2.3 例2——二进制数输入、输出控制
如图4-6所示为二进制数输入、输出控制的电路原理图。
图4-6 并行输入/输出应用
PC口作为输入接口使用,每一位接有上拉电阻和开关。当开关断开时,输入为高电平,读取的结果为1;当开关闭合时,输入为低电平, …… 此处隐藏:1561字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




