版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1西北农林科技大学水利与建筑工程学院第10章单片机I/O口扩展及应用
2西北农林科技大学水利与建筑工程学院7.1单片机为什么要I/O扩展
MCS-51单片机本身具有较强的接口能力。对于8051/8751组成的系统,P0~P3口均可作I/O口使用,共有32根I/O口线。同时他们都可以驱动小功率的元件,如门电路或发光二极管等。但作用有限。3西北农林科技大学水利与建筑工程学院7.1.2为什么要扩展I/O口1.单片机接口功能有限。口的数量以及在控制功能等方面欠缺。
除P1口外,其他口都是多功能的。
P0口:用作I/O和数据总线和低8位地址总线。
P2口:用作I/O和作高8位地址总线。
P3口:用作I/O第二功能:
P3.0:RxDP3.4:T0P3.1:TxDP3.5:T1P3.2:INT0P3.6:WDP3.3:INT1P3.7:RD2.有时无法满足复杂接口需要。主要表现有
·速度差异大:高速、低速
·设备种类繁多:机械、机电、电子
·数据信号多种多样:电压、电流、数字、模拟4西北农林科技大学水利与建筑工程学院3.扩展I/O口能实现的功能
·速度协调:单片机与外设进行异步通讯,只有在外设好的情况下才能传送。
·输出数据锁存:保证数据在总线上的保留足够时间。
·输入数据三态缓冲:工作数据与总线连接,其他必须与总线隔离。
·数据转换:单片机只能输入输出数字信号,接口需进行数模转换。 增强驱动能力。7.1.3I/O口的相关技术1.接口(interface)与端口(port):
接口:计算机与外设间的数据联系。接口需要有数据寄存器、状态寄存器、命令寄存器。且寄存器可以编址、可读写。
端口:接口电路中可编址、可读写的寄存器叫做端口(口)。一个接口可以包含多个端口,用户要了解端口的设置和编址情况。5西北农林科技大学水利与建筑工程学院2.数据总线隔离技术 单片机接口都挂在总线上,但是每一时刻只能对一个源或负载进行操作,因此要用到总线隔离技术。方法:使用三态缓冲电路或称三态门(TSL) 技术要求:速度快,信号延迟时间短。 高阻抗,对数据总线不呈现负载。3.单片机I/O口编址技术 单片机必须能够找到需要查找的口,因此需要进行口的编址。
·独立编址 将存储器和口分开编址。使其相互独立、界限分明。但需要硬件和命令的满足。如Z80的IN和OUT指令。
·统一编址
“存储器映象”编址方式。使用存储器指令进行读写I/O口,不需专门指令。简单、方便、功能强。缺点是指令长且执行速度慢。6西北农林科技大学水利与建筑工程学院7.1.4单片机I/O口控制方式 单片机使用:无条件传送、查询、中断三种控制方式1、无条件传送 同步程序传送。不需测试设备状态,可随时进行数据传送。 适合的设备有:
·常驻数据信号(机械开关、指示灯、二极管、数码管)可视为“随时好”。
·工作速度快,足以和单片机同步的设备7西北农林科技大学水利与建筑工程学院2、查询方式 又称有条件传送方式。在进行I/O口操作前,先检测(查询)设备状态,了解设备是否准备好。优点:软硬结合,电路简单,适用于各种设备的数据传送。 缺点:查询时消耗单片机资源。 适用条件:单道作业,规模较小的单片机系统。3、中断方式 程序中断方式。被动查询。设备准备好后,向单片机发出中断请求。 中断方式大大提高了效率,好像与单片机并行工作,但中断造成的CPU开销也不小。 使用条件:任何设备都可以。8西北农林科技大学水利与建筑工程学院7.2简单I/O口扩展
I/O口数据传送指令
输出:
9西北农林科技大学水利与建筑工程学院MOVPx,AMOVPx,RnMOVPx,@RiMOVPx,direct输入:MOVA,PxMOVRn,PxMOV@Ri,PxMOVdirect,Px位操作指令:MOVCLRSETBCPLJBJNBJBC其他命令:ANLORLXRLINCDECDJNZCJNE10西北农林科技大学水利与建筑工程学院7.2简单I/O口扩展7.2.1简单输入口 如果其输入输出是一些简单的开关量,若采用一些可编程的专用接口芯片往往价格比较高,可以采用TTL或CMOS电路的芯片。输入用三态缓冲器,如74LS244、74LS245等。这些芯片结构简单,配置灵活方便,比较容易扩展使系统降低了成本缩小了体积。11西北农林科技大学水利与建筑工程学院多输入口扩展使用或非门(74LS32),只有RD和线选信号同时有效,才能读入。12西北农林科技大学水利与建筑工程学院例题:1#口地址为7FFFH,2#口地址为0BFFFHI片,011111111111
11117FFFII片,101111111111
1111BFFF13西北农林科技大学水利与建筑工程学院7.2.2简单输出口扩展
主要目的是进行数据锁存。74LS273、74LS373、74LS37774LS377为带有允许输出端的8D锁存器, 有8个D输入端,
8个Q输出端, 一个时钟输入端CLK, 一个锁存允许信号。当=0时,CLK端信号的上升沿,把8D输入端的数据打入8位锁存器。
利用74LS377这些特性,通过P0口扩展一片74LS377锁存器作输出口,该锁存器被视为一个外部RAM单元。使用
MOVX@DPTR,A类指令访问之,输出控制信号/WR为,接口逻辑如图所示。
14西北农林科技大学水利与建筑工程学院WR信号由0变1时写入锁存器。74LS377是D触发器,上升沿有效。10.3可编程并行接口芯片Intel8155
8155内有:两个8位并行I/O端口、
一个6位并行I/O端口、
256B的静态RAM、
一个14位的减法定时/计数器。10.3.18155的结构和引脚(1)结构组成10.3.18155的结构和引脚IO/M:RAM或I/O口的选择线当CS=0,IO/M=0时,8155只能做片外RAM使用,共256B。其寻址范围由以及AD0~AD7的接法决定,这和第8章讲到的片外RAM的扩展方法相同。同时,对8155内RAM的操作也使用片外RAM的读/写指令“MOVX”。当对系统同时扩展片外RAM芯片和8155的RAM时,要注意二者的编址问题。
为高电平时,对3个I/O端口以及命令/状态寄存器和定时/计数器进行操作。内部寄存器共有6个。CS:片选线,低电平有效。10.3.18155的结构和引脚定时/计数器的脉冲输入、输出线TIMERIN是脉冲输入线,其输入每一个脉冲对8155内部的14位定时/计数器减1;TIMEROUT为输出线,当计数器计满回0时,8155从该线输出脉冲或方波,波形形状由计数器的工作方式决定。常和单片机的ALE端相连10.3.2I/O口及其工作方式(1)寄存器地址分配
当CS=0,IO/M=1时,对3个I/O端口以及命令/状态寄存器和定时/计数器进行操作。内部寄存器共有6个。8155的口地址分配AD7~AD0选中的寄存器AD7AD6AD5AD4AD3AD2AD1AD0×××××000命令/状态寄存器×××××001A口×××××010B口×××××011C口×××××100定时/计数器低8位寄存器×××××101定时/计数器高8位寄存器(2)命令/状态字(一个单元)①命令字,只能写,用MOVX@DPTR/Ri,A
②状态字,只能读,用MOVXA,@DPTR/Ri状态字也是8位,但实际上只使用了7位。状态字用于寄存各端口及定时/计数器的工作状态。10.3.3I/O口的工作方式A口和B口:通用输入/输出口,主要用于数据的I/O传送,它们都是数据口,因此只有输入和输出两种工作方式。C口:6位口,它既可以用于数据的输入/输出,也可以作为控制口,用于传送对A口和B口I/O操作时的控制信号或状态信号。C口有四种工作方式,分别是:方式0:输入方式;方式1:输出方式;方式2:A口控制端口方式;方式3:A口和B口控制端口方式。
当A口和B口以中断方式进行数据传送时,所需的联络信号由C口提供。INTR:中断请求信号(输出),高电平有效。BF:缓冲器满状态信号(输出),高电平有效。STB:选通信号(输入),0有效。外设应答信号(输出)C口线不同工作方式的功能方式1输入方式方式2输出方式方式3A口控制方式4A口和B口控制PC0PC1PC2PC3PC4PC5全部为输入全部为输出AINTRABFASTB
输出输出输出AINTRABFASTBBINTRBBFBSTB10.3.48155的定时/计数器(1)定时/计数器的寄存器格式
14位的减法计数器。8155定时/计数器的寄存器格式高8位低8位M2M1T13T12T11T10T9T8T7T6T5T4T3T2T1T0输出波形定时初始值(14位)输出方式在TIMERIN端输入计数脉冲,计满时由TIMEROUT输出脉冲或方波,输出方式由定时/计数器高8位寄存器中的M2和M1决定。当TIMERIN外接脉冲时为计数方式,外接系统时钟时为定时方式。②8155的定时/计数器只有一种工作方式,即14位的计数器,而MCS-51的单片机有多种工作方式。(2)8155定时/计数器与MCS-51单片机定时/计数器的差异①8155的定时/计数器是减法计数,而MCS-51单片机的定时/计数器是加法计数,因此,二者确定初始值的方法不同。③8155和MCS-51的定时/计数器都有定时和计数两种功能,但对于8155的定时/计数器,不管是定时,还是计数,其计数脉冲都由外部提供,即由TIMERIN输入。④当MCS-51的定时/计数器计满时置位溢出标志位TF,而8155的定时/计数器在计满后由TIMEROUT
输出不同形式的波形。
(3)定时/计数器的初始化①设置定时/计数器初始值定时/计数器的14位初始值(0~214-1)由CPU分别写入8155定时/计数器的低8位和高8位寄存器。②设置输出方式输出方式的设置如前面表中。③设置工作状态定时/计数器的工作状态由8155命令字的最高两位——TM2和TM1位决定。P236当TM2、TM1=00时:空操作,无任何动作,不影响计数器的工作。
=01时:停止计数。
=10时:如果计数器未启动,则空操作;若计数器正在工作,则计数器继续工作至减到0时停止;
=11时:启动计数器。
8155使用时,通常是先送计数长度和输出方式的两个字节,然后再送命令字到命令寄存器控制计数器的启停。10.3.5MCS-51单片机与8155的连接一种连接方式例10-2
编写8155定时器作100分频器的程序。设8155命令/状态寄存器的地址为0。解:因为8155是减数计数器,所以100分频时,应减数的初值为100,每计数达到100时输出一个电平恒定的信号,在下一个100计满时,输出电平取反,则输出是一个连续的方波,故M2M1=01。高8位寄存器的初始值应为40H(01000000),低8位寄存器的初始值为64H(100)(01100100)。若在装入初值后就启动定时/计数器,则TM2、TM1=11。因为与A、B、C口的控制无关,因此命令字为0C0H。若/CS接地,则8155命令/状态寄存器的地址为0000H。则低8位和高8位寄存器的地址分别为0004H和0005H。另外在TIMERIN端输入一定频率的信号,在TIMEROUT端接示波器,就可观察输出的波形。ORG 0000HMAIN:MOVDPTR,#0004 ;低8位寄存器
MOVA,#100 ;计数初始值
MOVX@DPTR,A ;装入初始值
INC DPTR ;高8位寄存器
MOVA,#40H ;连续方波
MOVX@DPTR,A ;装入高8位寄存器
MOVDPTR,#0000 ;命令寄存器MOVA,#0C0H ;TM2、TM1=11MOVX@DPTR,A ;装入命令字,启动计数器
SJMP $ENDC51语言参考程序如下:
#include<reg51.h> #include<absacc.h> #definePORTCONXBYTE[0x0000] #defineREGLOW XBYTE[0x0004] #defineREGHIGH XBYTE[0x0005] main() { REGLOW=100; REGHIGH=0x40; PORTCON=0xc0; while(1);}例10-3
如下图,要求从8155的A口每隔1s读入一次开关量,然后从B口输出给8个发光二极管。假设8051的fOSC=6MHz。命令字:02HA口入B口输出8155的口地址分配AD7~AD0选中的寄存器AD7AD6AD5AD4AD3AD2AD1AD0×××××000命令/状态寄存器×××××001A口×××××010B口×××××011C口×××××100定时/计数器低8位寄存器×××××101定时/计数器高8位寄存器P2.7--/CS,P2.6—IO/(/M)7FF8H-01111111111110007FF9H-01111111111110017FFAH-0111111111111010 ORG 0000HMAIN:
MOV DPTR,#7FF8H ;8155命令寄存器地址 MOV A,#02H ;命令字 MOVX @DPTR,A
LOOP:MOV DPTR,#7FF9H ;读A口
MOVX A,@DPTR
MOV DPTR,#7FFAH ;写B口
MOVX @DPTR,A ACALLDEL1S SJMP LOOPDEL1S:MOV R5,#10 ;延时1sDEL1: MOV R6,#200DEL2: MOV R7,#125DEL3: DJNZ R7,DEL3 DJNZ R6,DEL2 DJNZ R5,DEL1 RET END#include<absacc.h>chara;voiddelay1s(){unsignedint
i,j;for(i=1000;i>0;i--)
for(j=62;j>0;j--);//6MHz}main(){while(1){XBYTE[0x7ff8]=2;a=XBYTE[0x7ff9];XBYTE[0x7ffa]=a;delay1s();}}42西北农林科技大学水利与建筑工程学院7.58279可编程键盘/显示器接口芯片10.5键盘接口扩展单片机使用的键盘分为独立式和矩阵式。
⑴独立式按键
独立式按键是每个按键占用一根I/O端线。
特点:①各按键相互独立,电路配置灵活;②按键数量较多时,I/O端线耗费较多,电路结构繁杂;③软件结构简单。适用于按键数量较少的场合。
43西北农林科技大学水利与建筑工程学院44西北农林科技大学水利与建筑工程学院⑵矩阵式键盘
I/O端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路。
特点:①占用I/O端线较少;②软件结构教复杂。适用于按键较多的场合。
按键的过程有2步:键的识别(硬件) 按键功能实现(软件)。其中键盘识别分为:键盘扫描 键的识别 产生键码 排除多键、去抖动45西北农林科技大学水利与建筑工程学院键盘接口有 单片机芯片并口 单片机芯片串口 通用芯片:8255、8155
专用芯片:82797.7显示器接口技术7.7.1led显示接口
LED显示原理
·共阳极接法
·共阴极接法46西北农林科技大学水利与建筑工程学院LED数码管显示分类:静态显示方式和动态显示方式。⑴静态显示方式,每一位字段码分别从I/O控制口输出,保持不变直至CPU刷新。特点:编程较简单,但占用I/O口线多,一般适用于显示位数较少的场合。47西北农林科技大学水利与建筑工程学院⑵动态显示方式,在某一瞬时显示一位,依次循环扫描,轮流显示,由于人的视觉滞留效应,人们看到的是多位同时稳定显示。特点:占用I/O端线少,电路较简单,编程较复杂,CPU要定时扫描刷新显示。一般适用于显示位数较多的场合。48西北农林科技大学水利与建筑工程学院49西北农林科技大学水利与建筑工程学院50西北农林科技大学水利与建筑工程学院51西北农林科技大学水利与建筑工程学院7.38255A可编程通用并行接口芯片7.3.1概述
Intel公司的80/85系列接口电路都可以直接与MCS-51接口。常用的接口器件为:
8255:可编程通用并行接口电路;
8253/8254:可编程定时/计数器;
8155/8156:可编程RAM/IO/TIMER扩展芯片;
8251:可编程串行接口电路;
8279:可编程键盘显示接口电路;以上器件最大的特点是工作方式的确定和改变需要软件实现。因此称为可编程接口芯片。7.3.28255的逻辑结构和信号引脚 电路按功能分为三部分:口电路、总线接口电路、控制逻辑电路。52西北农林科技大学水利与建筑工程学院1、口电路
3个8位口,
A口:8位数据输入锁存器和8位数据输出锁存器/缓冲器。
B口:8位数据输入缓冲器和8位数据输入/输出锁存器/缓冲器。
C口:8位数据输入缓冲器和8位数据输出锁存器/缓冲器。还可分为2个4位口,又可以控制。数据传送时:A与C高4位合称A组
B与C低4位合称B组53西北农林科技大学水利与建筑工程学院2、总线接口电路用于实现8255与单片机的连接的
·数据总线缓冲器。
·读写控制逻辑00选A01选B10选C11选控制字54西北农林科技大学水利与建筑工程学院3、控制逻辑电路包括A组控制和B组控制,和在一起构成8位控制寄存器。用于存放各口的工作方式控制字。读8255写825555西北农林科技大学水利与建筑工程学院7.2.38255工作方式及数据I/O操作1、工作方式
8255有三种可通过编程来选择的基本工作方式:
方式0:基本输入输出方式;适用于无条件数据传送合查询方式的数据传送。
方式1:选通输入输出方式;AB口为数据传送,C口为数据传送联络信号。
方式2:双向传送方式(仅A口)。·方式0
是一种基本的输入/输出方式。在这种工作方式下,三个端口的每一个都可由程序选定作为输入或输出,任一端口都可由简单的传送指令来读或写,用于无条件传送十分方便。基本功能为:①两个8位端口(A,B),和两个4位端口(C)。②任一个端口可作输入或输出。③输出是锁存的。④输入不是锁存的。在MCS-51系统中,只要执行MOVXA,@DPTR和MOVX@DPTR,A类指令,便可完成输入/输出操作。56西北农林科技大学水利与建筑工程学院·方式1的操作功能
这是一种选通I/O方式,在这种方式下,PA口或PB口仍作数据端口输入/输出,但同时规定PC口的某些位作为控制或状态信息。主要功能:①用作一个或两个选通I/O端口。②每一个端口包含8位数据线,三条控制线(是固定的,不能用编程改变)提供中断逻辑。③任一端口都可作输入或输出。④若只有一个端口工作于方式1,余下13位可工作在方式0(由控制字决定)。⑤若两个端口都工作于方式1,C口还剩下两位可由程序指定为位的输入或输出,即具有置/复位功能。57西北农林科技大学水利与建筑工程学院2.数据输入操作连外设连单片机连单片机连单片机连外设INTR----中断请求信号,高电平有效。表示数据已被取走,请求CPU继续输入信号,由/WR下降沿复位。连单片机58西北农林科技大学水利与建筑工程学院1输入单片机单片机外设数据数据00变1数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务教案 基础 重点
- 《买菜》中班下学期科学教案
- 期权抵押合同融资租赁合同
- 生物质发电项目招投标申请表
- 大桥建设项目招投标报名
- 河堤地面施工协议
- 仓储物流设施招标承诺书模板
- 教育培训机构薪酬激励
- 燃气调压站员工安全培训
- 工厂蒸汽管道铺设工程合同
- FZ∕T 73037-2019 针织运动袜行业标准
- 食品风味研究专题智慧树知到期末考试答案章节答案2024年中国农业大学
- 医疗收费收据样式(医院基层)
- 交安设施施工安全技术交底
- 浙江省小升初数学试卷及答案二
- 仓库安全管理方法
- 神经内科介入治疗护理
- 砌体结构施工实训报告总结
- 20CS03-1一体化预制泵站选用与安装一
- 安全教育不咬手指头
- 教学评一体化
评论
0/150
提交评论