版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章并行接口1第11章并行接口教学重点
8255A的工作方式和编程8255A的应用简易键盘的扫描识别程序LED数码管的多位显示2并行数据传输方式并行传输以计算机的字长为传输单位(通常是8位、16位或32位),一次传送1个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器311.1并行接口电路8255A8255A是具有多种功能的可编程并行接口电路芯片8255有3个8位的数据端口(A/B/C),共24个I/O引脚,各端口共有3种输入输出工作方式基本输入/输出(A/B/C口)选通输入或选通输出(A/B口)双向选通(A口)58255A123456789PA3GNDPA4VCCPA1PA0RDCSA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA210111213141516171819202524232221262728293031323334353738394036PA5PA6PA7RESETD0D1D2D3D4D5D6PB7PB6PB5PB4PB3D7WR(a)(b)A组8255AA口A0RESET848C口C口B口PA7~PA0D7~D0PC7~PC4PC3~PC04PB7~PB0B组WRRDA1CS8255A引脚及功能示意图(a)引脚;(b)功能示意图611.1.18255A的内部结构和引脚数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0~PC3CL口PB0~PB7B口PC4~PC7CH口PA0~PA7A口-RD-WRA0A1-CSRESETA组端口A72.与处理器的接口-CSA1A0I/O地址读操作-RD写操作-WR00000101001160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写方式字和位控字911.1.28255A的工作方式方式0:基本输入输出方式(不带联络)适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式(带输入联络或输出联络)适用于查询和中断方式的接口电路方式2:双向选通方式(同时带输入联络和输出联络)适用于可双向传送数据的外设适用于查询和中断方式的接口电路10方式0的输入时序(数据来自外设)外设提供数据输入端口D0~D7-RD-CS、A1A0请体会这里8255A的数据缓冲作用数据8255外设CPU内总线外总线11方式1输入引脚:端口APC4PC5PC3PA7~PA0INTEAIBFAINTRA-STBA中断允许触发器(PC4)输入缓冲器满信号表示A口已经接收数据数据选通信号表示外设已经准备好数据中断请求信号请求CPU接收数据外设数据征用C口3引脚和1个控制位13方式1输入引脚:端口BPC2PC1PC0PB7~PB0INTEBIBFBINTRB-STBB中断允许触发器(PC2)输入缓冲器满信号表示B口已经接收数据数据选通信号表示外设已经准备好数据中断请求信号请求CPU接收数据外设数据征用C口3引脚和1个控制位14方式1输入
联络信号-STB——Strobe,选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——InputBufferFull,输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——InterruptRequest,中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据15方式1中断控制8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,该位置位/复位就可以控制INTE触发器17方式1输出引脚:端口APC6PC7PC3PA7~PA0INTEA-OBFAINTRA-ACKA输出缓冲器满信号表示CPU已经输出了数据外设响应信号表示外设已经接收到数据中断请求信号请求CPU再次输出数据征用C口3引脚和1个控制位中断允许触发器(PC6)输出数据18方式1输出引脚:端口BPC2PC1PC0PB7~PB0INTEB-OBFBINTRB-ACKB输出缓冲器满信号表示CPU已经输出了数据外设响应信号表示外设已经接收到数据中断请求信号请求CPU再次输出数据征用C口3引脚和1个控制位中断允许触发器(PC2)输出数据19方式1输出
时序8255外设CPU内总线外总线
INTR
CPU数据数据输出端口D0~D7-WR-OBF-ACK
-OBF和-ACK是外设和8255A间的一对应答联络信号,为的是可靠地输出数据21方式2双向选通方式方式2将方式1的选通输入与选通输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在-OBF有效时向外设输出数据,而是在外设提供响应信号-ACK有效时才送出数据22方式2双向选通引脚PC6PC7PC3PA7~PA0INTE1-OBFAINTRA-ACKAPC4PC5IBFA-STBAINTE2数据输入中断和输出中断征用C口5引脚和2个控制位中断允许触发器(PC6)中断允许触发器(控制中断输出)通过位控PC4设置INTE2输入联络输出联络2311.1.38255A的编程初始化编程:写方式控制字到控制口控制口I/O地址:A1A0=11工作过程中:读写数据端口(对外设数据进行)数据口A、B和C的I/O地址,分别为:00、01、10端口C各位置1或置025问题:1、8255端口地址问题。若端口地址分别为为FFF8H、FFFAH、FFFCH、FFFEH,问8088与8255的连接方式?2、控制字问题。
两个:方式控制字端口C置位/复位控制字26D7D6D5D4D3D2D1D00xxx000001…1111or02、端口C置位/复位控制字标志未用位选择位控制29要求对端口C的PC7置1,PC3置0,设控制口地址是63HMOVAL,0FHMOVDX,63HOUTDX,ALMOVAL,06HOUTDX,AL向控制口写“端口C置位/复位控制字”
—示例30读写数据端口(in,out)—示例对输出端口B的PB7位置1
movdx,0fffah ;B端口假设为FFFAH inal,dx ;读出B端口原输出内容 oral,80h ;使PB7=1 outdx,al ;输出新的内容初始化编程后,可对三个数据端口进行读写操作。3111.28255A的应用作为通用的并行接口电路芯片,8255A具有广泛的应用,如:应用在IBMPC/XT微机上应用于打印机接口电路用于连接简易键盘用于驱动LED数码管3211.2.18255A在IBMPC/XT上的应用工作在基本输入/输出方式0端口A为方式0输入,用来读取键盘扫描码端口B工作于方式0输出,例如控制扬声器等端口C为方式0输入,读取系统状态和配置系统的初始化编程:
moval,10011
001b ;方式控制字99H
out63h,al33以打印机为例说明8255应用34打印机接口的信号与时序主机把数据送给引脚DATA0~DATA7同时送出数据选通信号-STROBE打印期间,打印机在BUSY信号线上发出忙信号打印机处理好输入的数据时撤消忙信号同时又送出一个响应信号-ACKDATA0~7打印机-STROBEBUSY-ACK入出8255808835打印机接口的信号与时序BUSY(出)DATA0~7(入)-ACK(出)-STROBE(入)打印机忙打印机响应3611.2.2用8255A方式0与打印机接口BUSY
DATA0~78255APC7PC2PA0~PA7打印机-STROBE设打印数据保存在寄存器AH中,地址分配:FFF8H、FFFAH、FFFCH、FFFEH。378255A的初始化 movdx,0fffeh ;控制口地址:FFFEH moval,10000001B ;方式控制字:91H
outdx,al ;A口方式0输出,CH输出、CL输入 moval,00001111B ;位控字,令PC7=1,即-STROBE无效
outdx,al例11.138打印子程序:查询printc
proc pushax pushdxprn: movdx,0fffch ;读取端口C
inal,dx ;查询打印机状态 andal,04h ;测试PC2(BUSY) jnzprn ;为1,打印机忙,则循环等待例11.139打印子程序:输出 movdx,0fff8h;为0,打印机不忙,则输出数据 moval,ah;ah中存放打印数据
outdx,al ;将打印数据从端口A输出例11.140打印子程序:打印
movdx,0fffeh ;从PC7送出控制负脉冲 moval,00001110B ;置-STROBE(PC7)=0(有效)
outdx,al nop ;产生一定宽度的负脉冲 nop moval,0
0001111B ;置-STROBE=1(无效)
outdx,al;打印机-STROBE端输入负脉冲例11.141打印子程序:返回
popdx popax retprintc endp例11.14211.2.3用8255A方式1与打印机接口1000pf2K15321441LS123单稳电路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印机-ACK-ACK-OBF-STROBE产生-STROBE负脉冲438255的A口方式1、输出注意区分两个ACK信号的不同8255的-ACK引脚在一次出具传送过程中共获得两次信号:
1、通过cpu复位INTE;2、打印机过来的ACK负脉冲。ACK信号的前沿将-OBF置1448255A方式1与打印机接口时序配合PA0~PA7(DATA0~7)-ACK-OBF-STROBE打印机在方式1工作时的时序458255A的初始化
movdx,0fffeh moval,0a0h;方式字10100000
outdx,al moval,0ch;位控字,令INTEA(PC6)为0,禁止中断
outdx,al …… movcx,counter ;打印字节数送CX movbx,offsetbuffer ;取字符串首地址 callprints ;调用打印子程序例11.246打印子程序:输出prints proc pushax ;保护寄存器 pushdxprint1: moval,[bx] ;取一个数据 movdx,0fff8h
outdx,al ;从端口A输出例11.247打印子程序:查询 movdx,0fffchprint2: inal,dx testal,80h ;检测PC7,即-OBFA状态 jzprint2 ;为0,说明打印机方面未响应, ;继续检测 例11.248打印子程序:返回 incbx ;为1时打印机已接收数据 loopprint1 ;准备输出下一个数据 popdx ;打印结束,恢复寄存器 popax ret ;返回prints endp例11.24911.2.4双机并行通信接口PA0~PA7PC4PC08255A甲方(发送)方式1输出PA0~PA7PC7PC68255A乙方(接收)方式0输入-OBF-ACK两机均采用查询方式工作50甲机的初始化 movdx,0fffeh moval,0a0h;方式字1
0100
000:A口方式1输出
outdx,al moval,0dh;令INTEA(PC6)=1,允许中断输出
outdx,al例11.351甲机发送程序 trsmt: movdx,0fffch;C口地址
inal,dx;读C口 andal,08h;查询INTRA(PC3) jztrsmt ;为0,无中断请求,继续查 movdx,0fff8h ;否则,发送数据 moval,ah
outdx,al例11.352乙机的初始化 movdx,0fffeh moval,98h;方式字10011000:A口方式0输入
outdx,al moval,01h;令应答信号(PC0)=1(初始无效)
outdx,al例11.353乙机:查询接收receive: movdx,0fffch
inal,dx ;读C口 andal,10h ;查询甲机的写选通信号(PC4) jnzreceive ;为1时无效(甲未发数据), ;继续查询 movdx,0fff8h ;接收数据
inal,dx movah,al;数据保存于ah例11.354乙机:接收响应 movdx,0fffeh moval,00h;应答信号(PC0)=0(有效)
outdx,al nop;适当延时,产生一定宽度的有效负脉冲 nop moval,01h;应答信号(PC0)=1(无效)
outdx,al例11.35511.3键盘及其接口键盘是微机系统的标准输入设备编码键盘:按键时自动产生编码输出,比如PC键盘在按键与释放会自动向CPU送出16位的编码。非编码键盘:按键时不会自动产生编码输出,需要CPU主动去检查识别,实现较为简单的数据输入,其结构可分为:简单按键——每个按键连接1根I/O线矩阵式键盘——多根行及列I/O线构成矩阵,按键跨接在交叉点上。5611.3.1非编码键盘——线性键盘线性键盘每个按键连接1个输入引脚读入0时反应键被按下读入1时反应健未被按下对I/O引脚资源消耗大+5V10K5711.3.1非编码键盘——矩阵式键盘矩阵式键盘每行连接一个I/O引脚每列连接一个I/O引脚在行列交叉点上跨接按键通过扫描识别按键+5V10K检测线输入控制线输出581、逐行扫描法识别矩阵式键盘粗扫——行线送全0,列线检测到全1,说明无键按下;否则,有键按下,遂进入下一步逐行扫描。逐行扫描——某行送0其余送1,此时若列线检测到全1,说明该行无键按下,换下一行继续扫描;若列线检测到非全1,说明该行有键按下,通过组合此时的行码和列码可形成与特定按键相对应的识别码。通过查表环节可获得按键键值(按键的排列序号)。+5V10K检测线输入控制线输出59第1段:是否有键按下key1: moval,00 movdx,rowport
;rowport为连接行线的端口地址
outdx,al ;使所有行线为低电平 movdx,colport
;colport为连接列线的端口地址
inal,dx ;读取列值 cmpal,0ffh ;判断列线是否读到全1 jzkey1 ;是,无闭合键,循环等待 calldelay ;否,延迟20ms清除抖动键盘扫描程序60第2段:识别按键(扫描) movcx,8 ;扫描行数送CX movah,0feh ;第一行扫描初值送AHkey2: moval,ah movdx,rowport
outdx,al ;输出行码(扫描码) movdx,colport
inal,dx ;读到列码键盘扫描程序61第2段:识别按键(判断) cmpal,0ffh ;判断列线是否全1 jnzkey3 ;否,有按键,转下一步处理 rolah,1 ;是,无按键,扫描码移位 loopkey2 ;拟扫下一行 jmpkey1 ;所有行都没有键按下,返回粗扫key3: …… ;此时,al=列码,ah=行码 键盘扫描程序622.行列反转法识别矩阵式键盘
P258
考试重点63第一步,先将行线设为输出、列线设为检测输入CPU通过输出端口将行线(控制线)全部设置为低电平,然后从输入端口读取列线(检测线),若列码读到全1说明无键按下,否则有键按下,转第二步。第二步,将行线和列线作用反转,即列线设为输出,行线设为检测输入。将前一步读到的列码从列线端口输出,并读取行线的输入码(行码)当一个键被按下时,必然涉及一对特定的行码和列码,以此组成按键特定的识别码,通过查表环节可获得按键键值。6411.4LED数码管及其接口发光二极管LED(LightEmittingDiode)是最简单的显示设备由8段LED组成的LED数码管LED数码管广泛用于单板微型机、微型机控制系统及数字化仪器中651.LED数码管的工作原理主要部分是7(8)段LED发光管各段顺时针排列,分别称为a、b、c、d、e、f、g、dp(或h,即小数点,有时不用)通过7个发光段的不同组合可显示不同内容。可显示0~9十个数码也可以显示A~F(实现16进制数的显示)还可以显示个别特殊字符,如-、P、H等abcdefg66LED数码管的结构共阳极共阳极+5Vabcdefgh共阴极abcdefgh共阴极672.单个LED数码管的显示8255APA0PA1PA2PA3PA4PA5PA6PA7同相驱动电路abcdefghcom+5V共阳数码管送0点亮送0点亮68单个数码管的显示LEDtb db0c0h,0f9h,0a4h ;共阳七段码表 db……
moval,1 ;要显示的数码在表中的位置 movbx,offsetLEDtb ;bx指向七段码表
xlat ;通过换码取要显示的七段码 ;al←ds:[bx+al] movdx,port
outdx,al ;输出七段码软件译码69实验LED数码管显示实验用8255实现“simpleIO”实验的内容用8255模拟十字路口交通灯的控制情况。用8255作接口,在数码管上显示字符用8255作接口,扫描4*4键盘,将按键值送串行口,显示在上位机屏幕上。70第11章教学要求1.
掌握8255A的结构特点和引脚功能2. 掌握8255A的各种工作方式、编程及方式0/1的应用3. 理解简易键盘的工作原理4. 掌握键盘扫描程序的编写5.
了解PC机键盘的工作原理6.掌握LED数码管的工作原理和显示方法7.了解并行打印机接口的引脚定义和接口时序71第11章教学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省广州市海珠区2025-2026学年高一(上)期末物理模拟试卷(含答案)
- 北京市海淀区2025-2026学年高三上学期期末考试物理试卷(含答案)
- 安徽省合肥市科大附中2025-2026学年九年级(上)期末化学试卷(含答案)
- 2025-2026学年上海市浦东新区七年级(上)期末历史试卷(含答案)
- 五下试卷及答案数学
- 网络管理专业题库及答案
- 2024年北师大版小学三年级上册数学期末测试题及答案
- 酒吧策划方案4篇
- 凭祥2022年事业单位招聘考试模拟试题及答案解析16
- 电气更新改造技术要点
- 2026年小学说明文说明方法判断练习题含答案
- 中国监控管理制度规范
- 2026年工程法律顾问高级面试含答案
- 2026年医疗器械不良事件分析报告
- 通信网络设备安装与调试指南(标准版)
- 二年级常考多图版看图写话专项训练29篇(含范文)
- 风电场运维安全责任书2025年版
- 浙江省杭州市上城区2024-2025学年七年级上学期语文1月期末试卷(含答案)
- 基于机器视觉的SLM金属3D打印设备视觉标定技术研究
- CJ/T 192-2017内衬不锈钢复合钢管
- 2025年马口铁印铁制罐项目可行性研究报告
评论
0/150
提交评论