第6章 数字量输入输出接口 西安交通大学计算机系 桂小林 2011年4月23日.

Slides:



Advertisements
Similar presentations
第五章 微型计算机和外设的数据传输 5.1 为什么用接口电路? 5.2 CPU和I/O设备之间的信号; 5.3 接口部件的I/O端口;
Advertisements

输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
实验四 利用中规模芯片设计时序电路(二).
微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第10章 DOS功能调用与BIOS中断调用.
第7章 常用数字接口电路.
主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
第三节 CPU与外设间的数据传送方式 CPU与外设的工作速度不一致, 如何使两者高效、可靠地进行数据传送, 是本节讨论的问题。
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第六章 输入/输出接口 6.1 输入/输出接口概述 6.2 I/O指令和地址译码 6.3 PC系统总线(放到本章后面详细讲述)
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
AVR单片机软硬件设计教程-入门篇 ——学单片机就要学AVR!
第9章 AT89S52单片机的 I/O扩展 1.
第三章 微机基本系统的设计 第一章 8086程序设计 第二章 MCS-51程序设计 第四章 存贮器与接口 第五章 并行接口
第6章 基本输入输出接口技术 【本章提要】 【学习目标】
第 14 章 并行通信及其接口电路.
ARDUINO+BLUETOOTH Arduino实现蓝牙数据传输.
第七章 MCS-51并行口的扩展 MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展.
走进编程 程序的顺序结构(二).
第15章 串行通信及接口电路.
第 9 章 可编程外围接口芯片 8255A 中国科学技术大学 何克东.
第8章 PCH中的常规接口.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
第七章 可编程并行接口8255A §7.1并行接口的概述 §7.2 可编程并行接口8255A § A的0方式及其应用
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
第7章 微型机接口技术 可编程定时/计数器 可编程并行接口 串行接口与串行通信(概念) DMA控制器接口(不做要求) 模拟量输入/输出接口.
3.3.3 显示译码器 返回   在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来,一方面供人们直接读取测量和运算的结果,另一方面用于监视数字系统的工作情况。   数字显示电路是数字设备不可缺少的部分。数字显示电路通常由显示译码器、驱动器和显示器等部分组成,如图3-12所示。 2019/1/2.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
实验六 积分器、微分器.
CPU结构和功能.
14.2 时序逻辑电路的分析 概述 时序逻辑电路是由存储电路和组合逻辑电路共同组成的,它的输出状态不仅与输入有关,还与电路的过去状态有关,即具有存储功能。 输入信号 输出信号 输出方程 驱动方程 描述时序逻辑电路的三个方程 状态方程 存储电路的输入信号 时序逻辑电路构成框图 存储电路的输出信号.
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
K60入门课程 02 首都师范大学物理系 王甜.
可编程定时计数器.
计算机组成原理 课程设计.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
微机原理与接口技术 第6章 并行输入输出接口(8255A)
微机原理及应用 主讲:郑海春.
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
组合逻辑电路 ——中规模组合逻辑集成电路.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月04日.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
实验六 触发器逻辑功能测试 一、实验目的 二、实验仪器 1、熟悉并掌握RS、D、JK触发器的构成、工作原理和 功能测试方法。
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
第4课时 绝对值.
HSC高速输出例程 HORNER APG.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
第八章 串行接口 8-1 串行通信的基本概念 8-2 可编程串行接口8251A A的应用.
ADC0809并行A/D转换 (实验十) DAC0832并行D/A转换实验 (实验十一) RS232串口通信实验 (实验九)
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
DSP技术与应用 电子与信息技术系.
9.6.2 互补对称放大电路 1. 无输出变压器(OTL)的互补对称放大电路 +UCC
Presentation transcript:

第6章 数字量输入输出接口 西安交通大学计算机系 桂小林 2011年4月23日

目录 6.1 并行接口的概念 6.2并行接口控制芯片8255A 6.3 数字量并行接口的应用 6.4 数字量串行接口及芯片8251A 6.5 光电隔离输入输出接口 微机接口技术,桂小林

概述 数字量输入输出接口包括数字量输入和数字量输出两大部分。 数字量是计算机能够直接识别和处理的信号。输入输出系统中的主要数字量包括开关量输入和输出。所以数字量又称为开关量。 本章主要介绍数字量并行输入输出接口、数字量串行输入输出接口以及光电隔离的输入输出接口。 微机接口技术,桂小林

6.1 并行接口的概念 并行接口通信就是把一个字符的各位同时用几根线进行传输。 并行通信用在传输速率要求较高,而传输距离较短的场合。 图6-1给出了数据总线进行并行通行的例子。 1 D0 D1 D2 D3 D4 D5 D6 D7 目 的 源 图6-1 数据总线进行并行通行的例子 微机接口技术,桂小林

6.2并行接口控制芯片8255A 8255A是Intel公司生产的可编程并行接口芯片,它有多种工作方式可以进行选择,并且通常无需外围电路,使用方便而且广泛 。 6.2.1 8255A的编程结构 6.2.2 8255A的引脚功能 6.2.3 8255A的控制字 6.2.4 8255A的工作方式 微机接口技术,桂小林

6.2.1 8255A的编程结构 8255A的逻辑结构如图6-2所示,主要包括三个并行的输入/输出端口A、B和C,A组和B组的控制电路,数据缓冲器以及读写控制逻辑等部分。 为了与A组和B组进行区分,以下将端口A、B和C称为PA口、PB口和PC口。 微机接口技术,桂小林

微机接口技术,桂小林

8255A有三个I/O端口,分别是PA、PB和PC,三个端口都是8位的,并且通过编程可以作为输入、输出或输入/输出端口使用。 PA口是一个独立的8位I/O口,有数据输入/输出锁存功能。 PB口也是一个独立的8位I/O口,有数据输出锁存功能。 PC口可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口,还可看作独立的8位I/O口。有数据输出锁存功能。 端口PA和PB通常独立使用,而端口PC既可以独立使用,也可以配合端口PA和PB的工作,为它们提供联络信号,包括选通信号和应答信号。 端口PC在独立工作时,既可以8位并行输入或输出,也可以按位操作,具有更大的灵活性。 微机接口技术,桂小林

A组和B组的控制电路接收由读写控制逻辑获得的控制字,分别对A组和B组的工作方式进行控制,因此A组和B组可以工作在不同方式下。 在配合端口PA和PB工作时,端口PC被分为两部分,高4位(PC7 ~ PC4)与端口PA一起构成了A组,而低4位(PC3 ~ PC0)与端口PB一起构成了B组。 A组和B组的控制电路接收由读写控制逻辑获得的控制字,分别对A组和B组的工作方式进行控制,因此A组和B组可以工作在不同方式下。 微机接口技术,桂小林

(3)数据缓冲器 双向、三态的数据缓冲器是8255A与数据总线的接口,微处理器可以通过它向三个I/O端口写入或读出数据,或者写入控制字以选择8255A的工作方式。 (4)读写控制逻辑 读写控制逻辑电路负责管理8255A的数据传输过程,实现8255A内部和外部的数据、控制字的传送。它根据地址、控制信号(复位信号、读写信号和片选信号等)的组合来决定将微处理器发送的控制字传送给A组或B组的控制电路,或者选择输入或输出数据到PA、PB和PC口。 微机接口技术,桂小林

6.2.2 8255A的引脚功能 1.面向CPU的引脚信号及功能 D0-D7:8位,双向,三态数据线,用来与系统数据总线相连; RESET:复位信号,高电平有效,输入,用来清除8255A的内部寄存器,并置A口,B口,C口均为输入方式; A1,A0:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作 微机接口技术,桂小林

2.面向外设的引脚信号及功能 PA0~PA7:A组数据信号,用来连接外设;具有输入、输出锁存功能,可以作为单向或双向信号线使用。 PB0~PB7:B组数据信号,用来连接外设;具有输出锁存功能,仅可以作为单向信号线使用。 PC0~PC7:C组数据信号,用来连接外设或者作为控制信号。具有输出锁存功能,仅可以作为单向信号线使用。 微机接口技术,桂小林

6.2.3 8255A的控制字 1.方式控制字(控制口) 微机接口技术,桂小林

2.C口置位/复位控制字(控制口) 注意:这里必须使用控制口操作PC口 微机接口技术,桂小林

例如,某系统要求使用8255A的C口的PC5输出一个由高到低的跳变。可以通过两种方式设置。 如下页 微机接口技术,桂小林

方法一:采用普通方式设置PC为输出,然后置位/复位PC5,具体程序段如下: MOV DX,控制口 MOV AL,1 00 0 0 X X XB ;选择PC高位输出,方式0 OUT DX,AL ;控制字设置 MOV DX,PC端口 MOV AL,XX 1 XXXXX B;即PC5设置为高电平输出 OUT DX,AL ;PC5置0(低电平) MOV AL,XX 0 XXXXX B;即PC5设置为低电平输出 微机接口技术,桂小林

方法二:采用置位/复位PC口方式,具体程序段如下: MOV DX,控制口 MOV AL,0 000 101 1B ;即0BH,选择PC5,置位 OUT DX,AL ;PC5置1(高电平) MOV AL,0 000 101 0B ;即0AH,选择PC5,复位 OUT DX,AL ;PC5置0(低电平) 微机接口技术,桂小林

3、8255A的状态字 8255A无状态寄存器,在方式1和方式2时,可以用端口C兼作状态用。 微机接口技术,桂小林

6.2.4 8255A的工作方式 1.方式0 方式0称为基本输入/输出方式,适合在同步传输(无条件传输)和程序查询方式下工作,CPU通过软件方式确认外设状态,与外设交换数据,因而不适合在实时性要求高的应用环境。 在方式0中,PA、PB和PC相互独立工作,PC又分为高4位和低4位两个独立的部分,通过控制字可以将这四部分任意选择为输入或输出,共有16种组合。 微机接口技术,桂小林

初始化实例 例如,某系统要求使用8255A的C口的PC4输出一个由高到低的跳变。写出8255A的方式控制字和初始化程序段。 【解】由于本例不关心PA和PB的工作方式,所以不用考虑设置8255A的方式控制字。 为了实现PC4输出一个由高到低的跳变,需要PC4先输出一个高电平,然后输出一个低电平。 方法一: 采用普通方式设置PC为输出,然后设置PC4(1,0),具体程序段如下: MOV DX,控制口 MOV AL,1 00 0 X X XB ;选择PC高位输出,方式0 OUT DX,AL ; MOV DX,PC口 MOV AL,XXX 1 XXXX B ;即PC4设置为高电平输出 OUT DX,AL ;PC4置1(高电平) MOV AL,XXX 0 XXXX B ;即PC4设置为低电平输出 OUT DX,AL ;PC4置0(低电平) 微机接口技术,桂小林

为了实现PC4输出一个由高到低的跳变,需要PC4先输出一个高电平,然后输出一个低电平。 方法2: 采用置位/复位PC口方式,具体程序段如下: MOV DX,控制口 MOV AL,0 000 100 1B ;即09H,选择PC4,置位 OUT DX,AL ;PC4置1(高电平) MOV AL,0 000 100 0B ;即08H,选择PC4,复位 OUT DX,AL ;PC4置0(低电平) 对于PC口可以采用两种方法之一,方法二简单。 对应PA和PB口,只能采用方法一,不能使用方法二。 特别注意:方法二对控制口进行,不是PC端口。 微机接口技术,桂小林

而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。 2.方式1 方式1是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出,输入输出均具有数据锁存功能。 而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。 微机接口技术,桂小林

(1)方式1的输入组态和应答信号的功能 图6-7给出了8255A的A口和B口在方式1的输入组态图。C口的PC3-PC5用作A口的应答联络线,PC0-PC2则作用B口的应答联络线,余下的PC6~PC7还可作为方式0使用。 微机接口技术,桂小林

方式1输入组态的应答联络线 微机接口技术,桂小林

微机接口技术,桂小林

方式1的输出组态和应答信号 微机接口技术,桂小林

微机接口技术,桂小林

微机接口技术,桂小林

3.方式2 方式2为双向选通I/O方式,只有A口才有此方式。 这时,C口有5根线用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线。 方式2就是方式1的输入与输出方式的组合,各应答信号的功能也相同。 而C口余下的PC0~PC2正好可以充当B口方式1的应答线,若B口不用或工作于方式0,则这三条线也可工作于方式0。 微机接口技术,桂小林

方式2为双向选通I/O方式 中断请求 输出缓冲器满 输出应答(外设读走数据) 输入选通(外设准备好了数据) 输入缓冲器满(8255已经收到数据) 作为普通输入输出(方式0) 微机接口技术,桂小林

6.3.1 七段数码管接口 6.3.2 非编码键盘接口 6.3.3并行打印机接口 6.3 并行接口的应用 本节介绍8255A的典型应用,包括8255A与LED的接口、8255A与非编码键盘的接口、8255A与并行打印机的接口。 6.3.1 七段数码管接口 6.3.2 非编码键盘接口 6.3.3并行打印机接口

6.3.1 七段数码管接口 1、单个LED与8255A的接口 2、多个LED与 8255A的接口 微机接口技术,桂小林

七段数码管 数码显示管(LED)是一种简单的显示输出设备,通常作为仪器、仪表的显示器,用于显示数字或少数字符。 图6.13给出了一种七段式数码管的内部结构。 微机接口技术,桂小林

显示不同数字和字符时,七段数码管需要点亮的二极管位置不同。如,显示数字“3”,需要点亮a、b、c、d和g四段发光二极管。 表6-2给出了图6.13所示结构的七段数码管实现数字0~9以及字符A~F时,需要发光的二极管段。 微机接口技术,桂小林

显示的 数字 发光的段 字符 abcdef 5 afgcd A abcefg F aefg 1 bc 6 afgcde b abcdefg abcdef 5 afgcd A abcefg F aefg 1 bc 6 afgcde b abcdefg q abcfg 2 abged 7 abc C adef – g 3 abgcd 8 d bcdeg = gd 4 fgbc 9 abcdfg E adefg P abefg 微机接口技术,桂小林

1、单个七段数码管与8255A的接口 8255A与单个数码管的接口电路如图6.14所示。 共阳 微机接口技术,桂小林

根据题意,当在PB0上输出低电平时,LED的a段二极管发光,输出高电平时,LED的a段二极管熄灭。其它各段发光的方法依次类推。 该数码管由8个发光二极管构成,对外引脚共9个,分别是a、b、c、d、e、f、g、dp和公共引脚,采用共阳极结构。除Vcc外,每个引脚外接1个460欧姆的电阻,然后连接到8255A的PB口的PB0~PB7上。 根据题意,当在PB0上输出低电平时,LED的a段二极管发光,输出高电平时,LED的a段二极管熄灭。其它各段发光的方法依次类推。 微机接口技术,桂小林

首先,分析图中LED实现不同数字和字符时发光的二极管,由此确定PB口输出什么数值时控制显示不同的“数字”或“字符”。 例如,要显示数字“2”时,需要点亮a、b、d、e、g共5段发光二极管,根据a、b、d、e、g与PB口的连接关系,可以确定PB口的值应该设置为PB0=0(a段),PB1=0(b段),PB2=1(c短),PB3=0(d段),PB4=0(e段),PB5=1(f段),PB6=0(g段),PB7=1(DP段),写出字节的形式就是10100100B,即0A4H。 这种为确定显示字符而确定的CPU需要送出的控制数值,称为LED段码或字形码。 表6-3给出了全部16进制数字字符的LED段码。 微机接口技术,桂小林

显示数符 发光段 LED段码 abcdef C0H A abcefg 88H 1 bc F9H b cdefg 2 abged A4H C abcdef C0H A abcefg 88H 1 bc F9H b cdefg 2 abged A4H C adef 3 abgcd B0H d bcdeg 4 fgbc 99H E adefg 5 afgcd 92H F aefg 6 afgcde 82H q abcfg 7 abc E8H – g 8 abcdefg 80H = gd 9 abcdfg 9F P abefg 微机接口技术,桂小林

在上例中,采用共阳LED,低有效驱动显示,如果要求先显示数字“3”,然后显示数字“6”,写出程序段。 【解】先分析数字“3”和数字“6“显示时的LED段码,分别为:0B0H和82H,然后写出程序段如下: MOV DX, 8255控制口 MOV AL, 1 000 0 00 0B ;80H,8255A初始化B口方式0,输出 OUT DX,AL MOV DX,8255PB口 MOV AL,0B0H ;“3”的段码 OUT DX,AL ;显示“3” CALL DELAY20MS ;延时 MOV AL,82H ;“6”的段码 OUT DX,AL ;显示“6” 微机接口技术,桂小林

2、8255A与多个LED的接口 图6-15为8255A驱动8个LED的接口电路。其中的七段数码管采用共阴LED,每个LED包含8个引脚,分别是a、b、c、d、e、f、g、dp和公共引脚。 除公共引脚外,每个引脚外接1个460欧姆的电阻(图中未给出),然后连接到8255A的PA口的PA0~PA7上。每个LED的公共引脚经过反相器连接到PC口的PC0~PC7。 微机接口技术,桂小林

在这种有多个数码管的情况下,通常采用动态扫描的方式来控制数码管的显示,其过程是首先使PC0输出高电平,而PC1 ~ PC7输出低电平,选中数码管U0,然后由PA口根据要显示的第一个数字输出8位数据(称为段码或字形码),尽管段码同时到达8个数码管的段选线,但只有U0能够显示,因此将第一个数字显示在U0上。 微机接口技术,桂小林

为了能够获得较好的显示效果,每个数码管的扫描时间需要选取恰当,时间太长会造成闪烁现象。 在这种有多个数码管的情况下,通常采用动态扫描的方式来控制数码管的显示,其过程是首先使PC0输出高电平,而PC1 ~ PC7输出低电平,选中数码管U0,然后由PA口根据要显示的第一个数字输出8位数据(称为段码或字形码),尽管段码同时到达8个数码管的段选线,但只有U0能够显示,因此将第一个数字显示在U0上。 这种状态维持2m后,接下来使PC1输出高电平,而其它7位输出低电平,可以在数码管U1上显示第二个数字。以此类推,周而复始,就可以使8个数码管同时显示8位数字。上述动态扫描过程利用了视觉暂留现象。 为了能够获得较好的显示效果,每个数码管的扫描时间需要选取恰当,时间太长会造成闪烁现象。 微机接口技术,桂小林

求解过程-第1阶段:设置段码表 PA位 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 DB位 D7 D6 D5 D4 D3 D2 D1 D0 段 a b c d e f g dp 段码 1 FCH 60H 2 DAH 3 F2H 4 66H 5 B6H 6 BEH 7 E0H 8 FEH 9 F6H A   EEH 本例由于采用共阴LED,而且LED引脚和PA口的连接顺序不同(引脚a、b、c、d、e、f、g、dp分别对应PA口的PA7~0),因而得到的段码(字形码)不同。 微机接口技术,桂小林

第2阶段:设置显示缓冲区 8个LED要显示的数字可以放到显示缓冲区DispBuff中。 例如,8个LED要显示“20070501”,则DispBuff的值可以设置为:2,0,0,7,0,5,0,1。通过修改显示缓冲区,可以让8个LED显示不同的数字,简化了软件设计。 DispBuff: 02H, 00H, 00H, 07H, 00H, 05H, 00H, 01H ;放置要实现的8个数字,作为查找下表的偏移量使用 微机接口技术,桂小林

第3阶段:设计8个LED轮流显示的完整程序 // 初始化8255A MOV AL,10000000B ;PA、PC均为方式0, 输出 MOV DX,PORTCTL ;8255A控制口 OUT DX,AL BEGIN:MOV CX,8 ;循环8次 MOV DI,Offset DisBuff MOV BX,Offset SegCodeTab MOV SI,0 MOV AH,00000001B ;PC0设置为1,选中第一个LED 微机接口技术,桂小林

MOV AH,00000001B ;PC0设置为1,选中第一个LED SCAN:MOV AL,AH ;使PC口相应位置位 MOV DX,PORTC ;MOV DX,PORTCTL ;C口位控时的指令 OUT DX,AL ;使PC口相应位置位 ADD DI,SI ;查找显示缓冲区 MOV DX, [DI] ;取出要显示的数字符 MOV AL,[BX+ DX] ;取出显示字符的段值(字形码) INC SI ;下一个要显示字符的偏移量 MOV DX,PORTA ;PA口输出字形码 OUT DX,AL CALL DELAY2MS SHL AH,1 ;为显示下一个数码管做准备 ;ADD AH,2 ;C口位控时,为显示下一个数码管做准备 LOOP SCAN JMP BEGIN ;重复显示 微机接口技术,桂小林

6.3.2 非编码键盘接口 键盘根据实现方法可以分为编码键盘和编码键盘非两种。编码键盘是指可以直接提供按键编码(如ASCII码)的键盘。 为了能够提供按键编码,编码键盘内部需要有键盘扫描电路,这些硬件电路能够检测是否有键按下,并根据按下的是哪一个键而输出其编码。 比如经常使用的PC机键盘,其内部专门设有一个单片机进行键盘检测和处理。 非编码键盘只有按键而无扫描电路,这些按键它由多个开关组合而成。 微机接口技术,桂小林

16个键的键盘 对于大多数的键盘,按键被排成行和列的矩阵。下面以机械式开关构成的16个键的键盘为例(如图6-16所示),来讨论键盘接口的工作原理,这种原理对采用其它类型的开关的键盘也是适用的。 微机接口技术,桂小林

分析 设16个键分别为16进制数字0~9和A~F,键盘排列、连线及接口电路如图6-16所示。 16个键排成4行×4列的矩阵,通过8255A构成的接口与CPU连接。8255A的端口A作输出,端口B作输入。 矩阵的4条行线接到输出端口A的PA3~PA0,用程序能改变这4条行线上的电平。 4条列线连到输人端口B的PB3~PB0,4条行线还同时接到输人端口B的PB7~PB4上(这不是必须的,可以不接),这样,用输入指令读取B口状态时,可同时读取键盘的行列信号。 微机接口技术,桂小林

16个按键的扫描码 例如,对于数字0,它位于3行、3列,压下“0”键时,从B口可读得D7位和D3位为0,其余位为1,所以数字0的编码为01110111B,即77H;对于数字6,处于2行1列,压下‘6’键时,D6位和D1位0以其余位为1,所以数字6的编码为10111101B=BDH。 按键 1 2 3 4 5 6 7 扫描码 77H 7BH 7DH 7EH 0B7H 0BBH 0BDH 0BEH 8 9 A B C D E F 0D7H 0DBH 0DDH 0DEH 0E7H 0EBH 0EDH 0EEH 微机接口技术,桂小林

确定程序流程 包括键盘检测、去抖动、键值编码和确定键名等。具体流程如下: (1) 检测是否所有键都松开了,若没有则反复检测(该步可省去)。当所有键都松开了,转(2); (2) 检测是否有键压下,若无键压下则反复检测。 (3) 若有键压下,则通过延迟20ms消除键抖动,如果该键还按下,则继续判断是哪个键按下,否则,继续检测。 (4) 对压下的键进行编码,将该键的行列信号转换成16进制码,由此可确定哪个键被压下了。 如出现多键重接的情况,只有在其它键均释放后,仅剩一个键闭合时,才把此键当作本次压下的键。 (5) 该键释放后,再回到(2)。 微机接口技术,桂小林

给出具体程序 首先给出该8255A的端口地址(这里是假设,实际系统根据地址译码确定),具体为: 然后确定程序出口,具体参数为: PORTA EQU 0FF9H ;8255 A口地址 PORTB EQU 0FFBH ;8255 B口地址 PORTCTL EQU 0FFFH ;8255控制口地址 然后确定程序出口,具体参数为: 若返回值AH=0,表示已读到有效的键值,并在AL中存有0~F键的16进制代码; 若返回值AH=l,则表示出错。 最后给出程序段,包括注释与说明。 微机接口技术,桂小林

给出具体程序 等待全部按键释放 本 段 程 序 可 以 省 略 微机接口技术,桂小林

给出具体程序 本段程序检查是否有键按下? 微机接口技术,桂小林

IN AL,DX CMP AL,77H JZ Key0 CMP AL,7BH JZ Key1 … … 本段程序检查哪一个键按? 本段程序编码并查表 从按键F开始查表,直到按键0。 如果按键较少,则不用查表,根据编码转去直接处理 微机接口技术,桂小林

按键 1 2 3 4 5 6 7 扫描码 77H 7BH 7DH 7EH 0B7H 0BBH 0BDH 0BEH 8 9 A B C D E F 0D7H 0DBH 0DDH 0DEH 0E7H 0EBH 0EDH 0EEH 从上面键盘接口例子我们可以看到,为了要及时发现键盘中的按键是否按下,CPU必须定时或不断地利用软件(即上述扫描程序)对键盘进行扫描,这样CPU的开销太大,降低了CPU的工作效率。为此有关厂家专门开发了、用于键盘接口的大规模集成电路芯片,例如Intel 8279、SSK814。 微机接口技术,桂小林

键盘实例 差分 微机接口技术,桂小林

6.3.3并行打印机接口 并行打印机接口(LPT)在不同PC系列机型中,以不同的形式出现。 在PC/XT机中是以I/O扩展槽上的IBM并行打印机适配器板出现,在AT机中是以插在I/O扩展槽上的 IBM并行口/串行口适配器板出现。 现在的LPT则集成在主板上,随着计算机的快速发展,LPT接口的使用频率在下降,代之而起的是基于USB接口的打印机的广泛使用。 但作为打印机的主要接口之一,本节有必要进行介绍与讲述。 微机接口技术,桂小林

Centronics总线标准 在并行打印机中,设置有36引脚的Centronics总线标准插座。打印机与PC通过36芯-25芯电缆连接到PC的25芯D型连接器LPT上。它的25个引脚所代表的信号可分为:数据信号、状态信号和控制信号三类。 表6-6给出了Centronic总线引脚及其功能说明。 微机接口技术,桂小林

Centronic 总线引脚 及功能说明 Centronic 总线时序 微机接口技术,桂小林

例如,已知某微型英文打印机的接口信号如下,信号间的时序关系如图6-17所示。其中: (1) STB#:输入打印机的选通信号(5ms负脉冲),用来把数据打入打印机数据缓冲器; (2)INIT# :初始化打印机信号(5ms负脉冲); (3) BUSY:打印机发出的状态信息(“忙”信号),BUSY有效(高电平)时,表示打印机现在不能接收数据,BUSY无效(低电平)时,表示打印机正处于空闲(准备好)状态,可以接收数据。 (4) DATA0~DATA7:送往打印机的打印数据,在英文字符打印机中,DATA0~DATA7上传输的是要打印的字符的ASCII码。 微机接口技术,桂小林

现在将英文打印机连接到8255A芯片上,8255A连接到PC/XT总线上,如图6-18所示。已知有5ms延迟程序Delay5ms可供调用。 微机接口技术,桂小林

解答下列问题: (1)分析图中的译码电路,给出8255A的PA、PB、PC和方式控制字的端口地址(用16进制表示); (2)给出8255A的方式控制字(用16进制表示),写出初始化8255A的程序段; (3)完成判断打印机忙的程序段; (4)完成下面的打印一个字符“A”的程序段。 微机接口技术,桂小林

【解】 (1)由图6-18的地址译码电路分析可知,8255A的片选信号连接到74LS138芯片的Y2上,即当Y2为低电平时选中8255A芯片。而74LS138的Y2为低电平的条件是:A9A8=11,A7A6=01,A4A3A2=010,A5为任意值。 根据上述分析,8255A的PA口地址为: 11 01X0 1000B,即348H或368H。 由此可得,8255A的PA、PB、PC和控制口的端口地址分别为: 348H或368H,349H或369H,34AH或36AH,34BH或36BH。 微机接口技术,桂小林

解: (2)按照题意,8255A的PA为输入(或输出),PB为输出,PC的低4位为输出,高4位为输入。由此可得8255A的方式字的值为98H。 下面是初始化8255A的程序段: MOV DX,34BH或36BH MOV AL,98H OUT DX,AL (3)下面是判断打印机忙的程序段; MOV DX,34AH ;或36AH,C口 BUSY: IN AL,DX TEST AL,40H; 检测PC6 JNZ BUSY 微机接口技术,桂小林

微机接口技术,桂小林

方式1时打印机连接 上面的例子给出的是8255A工作于方式0的例子。但在实际应用中,打印机与8255A可以方便实现方式1的连接,即由硬件判断打印机忙状态,通过中断方式进行打印数据发送。 图6.19所示,微型打印机的接口由8255A的A组实现,采用工作方式1、输出方式。根据方式1的时序关系,微处理器将数据写入PA口并由其引脚输出后,PC7输出信号,这正好作为数据选通信号将数据送入打印机,打印机完成接收操作后用信号指示8255A,随后8255A产生中断请求信号通知微处理器可以输出下一个数据。 微机接口技术,桂小林

中断向量填写 中断服务程序 [0+?*4] [0+?*4+2] 发送1个ASCII码到PA MOV DX,PA MOV AL,字符的ASCII码 OUT DX,AL 微机接口技术,桂小林

作业 P292 1、6、10 微机接口技术,桂小林

6.4 串行接口的基本概念 第1节: 串行通信基础 第2节: 可编程串行接口芯片-8251 第3节: 8251的串行异步通信的应用 第4节: PC系列串行异步通信接口 第5节: BIOS串行异步通信口的功能调用 2017年3月20日星期一修改 微机接口技术,桂小林

第1节:串行通信基础 1)串行通信的物理连接 2)串行通信类型和数据位鉴别方式 3)串行通信协议 4)串行通信的物理标准 微机接口技术,桂小林

1)串行通信物理连接方式 微机接口技术,桂小林

2) 串行通信的类型和数据位的检测方式 串行异步通信格式 一帧字符用起始位和停止位同步 微机接口技术,桂小林

2) 串行通信的类型和数据位的检测方式 串行同步通信格式 用同步字符完成同步 微机接口技术,桂小林

串行通信数据位的检测 时钟周期 :Tc 数据位间隔:Td Tc = Td / K K:波特率因子(16,32,64) 微机接口技术,桂小林

3)串行通信协议 ① 异步通信协议 ② 同步通信协议 微机接口技术,桂小林

① 异步通信数据格式 微机接口技术,桂小林

② 串行同步通信协议 BISYNC(Binary Synchronous Communication): SYN(1或多)、STX(起始控制符)、DATA FIELD(100或更多字节)、ETX(结束控制符)、BCC(块校验字符)、PAD(帧结束FFH) 微机接口技术,桂小林

② 串行同步通信协议 SDLC(Serial Data Link Control): IBM 用于计算机网络中 ② 串行同步通信协议 SDLC(Serial Data Link Control): IBM 用于计算机网络中 SYNC(Flag byte 01111110)、Address field(8bits)、Control field(8bits)、Data field(k bits)、Frame check(16 bits)、End flag(01111110) 微机接口技术,桂小林

4)物理标准 通信速率 串行通信接口标准 信号的调制和解调 微机接口技术,桂小林

4)物理标准 通信速率 波特率:bits / S , 波特,与距离成反比 100,300,600, 1200,2400,4800, 4)物理标准 通信速率 波特率:bits / S , 波特,与距离成反比 100,300,600, 1200,2400,4800, 9600,19200 微机接口技术,桂小林

串行通信接口标准:EIA RS-232C 控制信号的定义 微机接口技术,桂小林

接口 接口 信号电平标准: 采用负逻辑 TTL TTL 1489 1488 TTL TTL 1488 1489 TTL与RS-232电平变换 微机接口技术,桂小林

RS-232连接器连接方式 微机接口技术,桂小林

信号的调制和解调 长距离传输时传输介质频带限制 把发送代码调制成正弦波 调频 Frequency Modulation 1:2100Hz 调相 调幅 微机接口技术,桂小林

信号的调制和解调 长距离传输 微机接口技术,桂小林

几种可编程串行接口芯片 随着大规模集成电路技术的发展,生产微处理器芯片的公司,纷纷推出可编程的支持异步规程或同步规程的接口芯片。下表列出几种串行接口芯片。 这些芯片都是可编程的,用芯片构成串行通信接口,只需附加地址译码器和数据驱动器、波特率发生器以及电平转换器等简单电路。 有的芯片,例如INS 8250芯片内还集成了波特率发生器,用它组成串行接口适配器时、电路结构更简单。 微机接口技术,桂小林

下表列出几种串行接口芯片 PC机 微机接口技术,桂小林

第2节:可编程串行通信接口 8251 1) 功能与结构 2) 8251的编程 3) 8251的应用 微机接口技术,桂小林

1)功能与结构-8251的基本性能 可用于同步或异步传送 同步传送时, 每字符可选5~8 bits; 可内或外同步; 能自动插入同步字符。 可产生中止字符 (Break Character) 并能自动检测和处理; 可产生1、1.5或2 bit的停止位; 可检测出假启动信号。 波特率, 同步时最高64 K波特; 异步时最高19.2 K波特。 完全双工, 双缓冲的发送器与接收器检错能力, 具有奇偶错、数据丢失错和帧错误的检测能力。 全部入/出信号均为正常TTL电平。 微机接口技术,桂小林

Intel 8251的结构见图,为28条管脚双列直插封装。 从8251的结构图上看到它的5个组成部分, 即接收器、发送器、调制解调控制、读/写控制, 以及几个缓冲器。 1)8251 的功能与结构 缓冲器又可细划为状态缓冲器, 发送数据/命令缓冲器, 和接收数据缓冲器3部分。 微机接口技术,桂小林

1)8251 的引脚安排 D7~D0 (接外部数据总线) TXD——数据发送引脚,在不发送数据时一般为高电平,但是通过发送终止字符可以使其为低电平。 /TxC 控制数据发送速率的时钟输入引脚,在发送数据时,TXD 引脚在的每个下降沿移出一位数据。 在同步方式下,数据传送速率等于的CLK频率, 而在异步方式下,通过方式指令字可以选择数据传送速率为CLK频率的1、1/16或1/64。 微机接口技术,桂小林

8251 的引脚安排 TXRDY—发送器准备就绪引脚,当TXRDY为高电平时指示发送缓冲器已空,微处理器可以写入新的数据,写信号上升沿引脚变低。 引脚由TXEN控制,TXEN=0时TXRDY维持低电平。 TXRDY通常作为中断请求信号,而TXEN可以看成是中断屏蔽位; 8251A的状态字中也有一位TXRDY,与TXRDY引脚的区别是不受和TXEN的控制,在查询输入/输出方式中,微处理器查询该状态位来判断是否可以传送数据。 微机接口技术,桂小林

发送引脚 TXEMPTY——发送缓冲器已空引脚,当发送缓冲器中的数据发送完毕,该引脚为高电平。当微处理器向发送缓冲器写入数据时,写信号上升沿使TXEMPTY变低。 在同步方式下,若TXEMPTY为高电平,表示当前没有数据可供发送,则8251A自动发送同步字符。 微机接口技术,桂小林

接收引脚 SYNDET—同步字符检测引脚。 SYNDET 既可以作为输入引脚也可以作为输出引脚。8251A复位后,SYNDET为低电平。内同步时,当在RxD线上检测到同步字符后,SYNDET输出高电平。 外同步时,SYNDET为输入。当外设完成同步字符检测后,向此引脚输入一个正跳变信号,使得8251A在下一个j接收时钟的下降沿开始装配字符。 微机接口技术,桂小林

接收引脚 ① RxD——数据接收引脚,8251A在/RxC的每个上升沿采样RxD引脚。 ②/RxC——控制数据接收速率的时钟输入引脚,控制数据接收速率的方式与/TxC相同,在实际使用时/RxC与/TxC通常接在一起。 ③ RxRDY——接收器准备就绪引脚,当RxRDY为高电平时,指示8251A的数据缓冲器中已经有接收到的数据,可供微处理器读出,并且由读信号的上升沿复位。如果在RxRDY信号有效的情况下微处理器没有及时取走数据,新接收的数据会覆盖数据缓冲器中原有数据,造成溢出错误,并且使状态字中的溢出错误标志OE置位。 RXRDY可以作为中断请求信号,也可以作为状态信号供微处理器查询 微机接口技术,桂小林

调制解调器控制电路 (1)/DTR(Data Terminal Ready)——数据终端准备就绪引脚(输出,低电平有效),通过命令指令字可以使该引脚输出低电平,通知调制解调器当前微处理器已经准备就绪。 (2)/DSR(Data Set Ready)——数据设备准备就绪引脚(输入,低电平有效),当为低电平时,通知微处理器当前调制解调器已经准备就绪。由于该信号是输入给8251A的,微处理器需要读取8251A的状态字来检测该信号,以了解调制解调器当前的状态。 (3)/RTS(Request To Send)——请求发送引脚(输出、低电平有效),通过命令指令字可以使该引脚输出低电平,通知调制解调器当前微处理器已经准备好发送。 (4)/CTS(Clear To Send)——清除发送引脚(输入,低电平有效),当为低电平时,表示调制解调器已经允许8251A发送数据。 微机接口技术,桂小林

时钟信号 8251时钟信号: CLK:时钟输入,用来产生8251A器件的内部时序。同步方式下,大于接收数据或发送数据的波特率的30倍,异步方式下,则要大于数据波特率的4.5倍。 TxC:发送器时钟输入,用来控制发送字符的速度。同步方式下,TxC的频率等于字符传输的波特率,异步方式下,TxC的频率可以为字符传输波特率的1倍、16倍或者64倍 微机接口技术,桂小林

8251A的发送和接收--- ①异步接收 a.在没有字符时,RxD线上为高电平 b.8251把RxD线上第一次出现的低电平作为起始位。 c.当检测到起始位后,8251启动一个内部计数器,以波特率因子为16为例,当计数器计到半个数位传输时间即8个脉冲时,再检测RxD线,若RxD为高,则8251认为RxD线上出现了干扰(假起始),重新开始检测起始位。若RxD仍为低,则8251确认收到一个有效的起始位。 d.当8251确认起始位后,进入正常的数据采样,如波特率因子为16,则每隔一个数位传输时间即16个接收时钟脉冲,采样一次RxD线,RxD为高,作为“1”,RxD为低,作为“0”;并将采样的数据送入“接收移位寄存器”。 e. 数据进入“输入移位寄存器”被移位,并进行奇偶校验和去掉停止位, 就变成了并行数据,再通过内部数据总线送到“数据输入寄存器”,同时设置“状态寄存器”中的输入有效状态位,发出RxRDY信号。 f.若有效数据少于8位,8251把“数据输入寄存器”的高位填“0”。 微机接口技术,桂小林

②异步发送 a.当程序把8251的控制寄存器TxEN位(允许发送)置1后,若8251收到Modem(DCE)发来的CTS(Modem 允许8251发送),则开始发送。注意:若无Modem,应将8251的CTS端接地。 b.发送控制电路根据编程要求,为每个字符加上起始位、校验位和停止位,并把它送至发送移位寄存器。 c.发送移位寄存器在发送时钟TxC的控制下,按波特率因子的要求,把装配好的信息一位一位地从TXD端上发出。 d.当一帧信息发完后,8251发出TxE信号,表示已完成发送。 e.若TxE有效,且CTS为低(Modem允许发送),TxEN位置1(程序允许发送),则8251发出TxRDY信号,表示8251可以再从CPU获得数据,重新开始发送。CPU可从状态寄存器中查询TxRDY信号。也可把TxRDY信号作为中断请求信号,以便开始下一字符的发送。 微机接口技术,桂小林

③同步接收 a.搜索同步字符: 8251监测RxD线,每当RxD线出现一个数据位时,就将其送入“接收移位寄存器”,然后比较“接收移位寄存器”和“同步字符寄存器”,若不等,8251接收下一个数据位,若相等,表示已找到同步字符,实现了同步,8251发出SYNDET信号。对于双同步,只有连续找到两个同步字符,才发出SYNDET信号。如果在SYNDET上外加一个高电平(外同步),8251立刻脱离对同步字符的搜索,认为已完成同步(注:SYNDET是一个双向线)。 b.实现同步后,按时钟信号对RXD线采样,并把收到的数据位送入“接收移位寄存器”。注意:采样频率即“接收移位寄存器”的移位频率等于接收时钟RXC上的输入频率。在同步方式下,无波特率因子,或者说波特率因子固定为1(异步方式下,采样频率,即“接收移位寄存器”移位频率,即波特率=RXC时钟频率/波特率因子)。 c.接收到规定的数位时,接收移位寄存器的内容送“数据输入寄存器”,并发出RxRDY信号。 微机接口技术,桂小林

④同步发送 a.当程序设置TxEN位,且CTS有效后,8251开始发送 b.发一个或两个同步字符。 d.在8251发送过程中,若CPU来不及提供新的数据给8251,则8251自动插入同步字符。 微机接口技术,桂小林

2)8251的编程机构 8251A的内部可编程寄存器包括方式指令字寄存器和命令指令字寄存器。 方式指令字规定了8251A的工作方式, 而在同步方式中,需要写入在传送数据时使用的同步字符。 方式指令字必须在复位后首先写入,而且只能写入一次, 若改变8251A的工作方式,则必须先通过命令指令字使8251A复位。 在写入方式指令字后才可以写入命令指令字和同步字符,并且可多次写入 微机接口技术,桂小林

(1)方式指令字 波特率分别是时钟频率的1、1/16和1/64 微机接口技术,桂小林

(2)命令指令字 微机接口技术,桂小林

(3)状态字 TE、OE和PE分别反映数据传送中的三种错误,由硬件自动监测,微处理器只有读取状态字才能知道数据传送过程中是否有错误发生。 微机接口技术,桂小林

例如,若要查询8251A接收器是否准备好,则可用下列程序段完成: MOV DX,0F2H ;状态口 LOPP: IN AL,DX ;读状态口 AND AL,02H ;查RxRDY=1? JZ LOPP ;未准备好,则等待 MOV DX, 0F0H ;数据口 IN AL,DX ;已准备好则读取数据 微机接口技术,桂小林

8251A的读写操作方式(寻址) C=COMMAND: 三个寄存器 D=DATA: TxBUF & RxBUF C/ 操作 1 X 向8251A中写入数据 从8251A中读出数据 向8251A中写入指令字 从8251A中读出状态字 C=COMMAND: 三个寄存器 D=DATA: TxBUF & RxBUF   微机接口技术,桂小林

以后不管是同步方式还是异步方式,只要不是复位命令,当A0接C/D#时,由CPU向奇地址端口写入的是命令控制字,向偶地址端口写入的是数据。 8251在初始化编程时,首先使芯片复位,第一次向控制端口(奇地址)写入的是方式字;如果是同步方式,接着向奇地址端口写入的是同步字符,若有2个同步字符,则分2次写入; 以后不管是同步方式还是异步方式,只要不是复位命令,当A0接C/D#时,由CPU向奇地址端口写入的是命令控制字,向偶地址端口写入的是数据。 在写入命令指令字后,若IR = 1,则引起内部复位,又回到流程的开始,可以重新写入方式指令字。 微机接口技术,桂小林

初始化流程 奇地址 偶地址 微机接口技术,桂小林

同步方式初始化程序1 下面是设置8251A为同步方式的初始化程序,8251A的C/D引脚接在地址总线的A0上,写指令字的端口地址为51H。 MOV DX,51H ;设置端口地址 MOV AL,10 11 10 00H;写入方式指令字 OUT DX,AL;同步方式,7位数据,偶校验 MOV AL,16H;使用一个同步字符,为16H OUT DX,AL MOV AL,97H;写入命令字:启动发送器、接收器 OUT DX,AL;复位错误标志,搜索同步字符 微机接口技术,桂小林

同步方式初始化程序2 8251A的C/D引脚接在地址总线的A0上, 指令字的端口地址为51H,数据为50H。 MOV DX,51H; 设置端口地址 MOV AL,40H; 复位8251A OUT DX,AL MOV AL, 38H; 写入方式指令字 OUT DX,AL; 同步方式,7位数据,偶校验 MOV AL,0FFH; 使用2个同步字符0xFF OUT DX,AL OUT DX,AL MOV AL,97H; 写入方式指令字:启动收发器、接收器 OUT DX,AL; 复位错误标志,搜索同步字符 微机接口技术,桂小林

异步方式初始化程序 ;写入方式指令字:异步方式,7位数据,波特率因子1,偶校验,1个停止位 MOV AL,79H OUT 51H,AL ;写入命令指令字 ;启动发送器、接收器, ;复位错误标志 MOV AL,35H 微机接口技术,桂小林

第3节 6.5.3 8251A的综合应用 图6.32是利用8251A形成RS-232C串口的接口电路,8251A实现了串行数据的发送和接收,电路1488和1489用于实现信号的TTL电平与RS-232电平的相互转换。 设8251A的控制和状态端口地址为52H,数据输入和输出端口地址为50H。 微机接口技术,桂小林

放在BUFFER标号所指的内存缓冲区中的程序设计方法。 【解】下面的程序段先对8251A进行初始化,然后对状态字进行测试,以便输入字符。 具体的程序段如下: MOV AL,0FAH ;11 11 10 10B ;设置方式指令字,异步方式,波特率因子16 ;7个数据位,2个停止位,偶校验 OUT 52H,AL MOV AL,35H ;00 1 1 0 1 0 1B ;设置命令指令字,使发送器和接收器启动, OUT 52H,AL ;并清除出错指示位 MOV DI,0 ;变址寄存器初始化 MOV CX,80 ;计数器初始化,共收取80个字符1 微机接口技术,桂小林

异步接收 BEGIN:IN AL,52H ;读取状态字,测试RxRDY位是否为1,如为0, DSR SYN DET TE OE PE TXE MPTY RX RDY TX RDY BEGIN:IN AL,52H ;读取状态字,测试RxRDY位是否为1,如为0, TEST AL,02H ;如果未收到字符,故继续读取状态字并测试 JZ BEGIN IN AL,50H ;读取字符 MOV DX,OFFSET BUFFER MOV [DX+DI],AL INC DI ;修改缓冲区指针 IN AL,52H ;读取状态字 TEST AL,38H ;测试有无帧校验错,奇/偶校验错和 JNZ ERROR ;溢出错,如有,则转出错处理程序 L00P BEGIN ;如没错,则再收下一个字符 JMP EXIT ;如输入满足80个字符,则结束 ERROR:CALL ERR ;调出错处理 EXIT: 微机接口技术,桂小林

异步发送 MOV BX,OFFSET SENDBUF;发送缓冲区首址 MOV SI,0 ;缓冲区指针清0 MOV CX,40 ;字符个数计数器 SEND:IN AL,52H ;读状态寄存器 TEST AL,01H ;检测TxRDY标志 JZ SEND ;数据没有发送完成,继续检测 MOV AL,35H ;00 1 1 0 1 0 1B ;设置命令指令字,使发送器和接收器启动, OUT 52H,AL ;并清除出错指示位 MOV AL ,[BX+SI] ;从SENDBUF读出数据 OUT 50H ,AL ;写发送数据到8251A INC SI IN AL,52H ;读状态寄存器 TEST AL,38H ;判断是否出错 JNZ ERROR LOOP SEND JMP EXIT ;发送完40个字符后结结束 ERROR: … ;出错处理 EXIT: … ;其它程序 微机接口技术,桂小林

第4节 PC计算机的电流环接口 第5节 PC计算机的BIOS调用

第4节 PC系列串行异步通信接口 PC系列为了能实现串行异步通信功能,而设置一个符合RS—232c接口标准的串行接口,在不同机型上,串行接口的硬件定位有区别。PC/XT机将串行异步通信接口单独做成一块控制卡,称为IBM串行异步通信适配器,可插在PC标准的I/O扩展槽上用.该板除支持RS-232C接口标准外,还支持20mA电流环标准。 PC AT机则将异步通信口与并行口组合在同一块控制卡上,称为IBM AT串行/并行适配器板,可插在I/O槽上使用;而各类PC系列兼容机,串行异步通信口的设置有采用PC/XT方式,有采PC/AT方式。有的将其组合在多功能控制卡上.而80386 PC机则将串行异步通信接口装在系统板上。 但不管串行接口定位于何处,它的核心芯片均使用可编程芯片,接口的端口地址范围也相同。而接口的连接器有两种类型,PC/XT机采用25脚的DB-25连接器(实际用15脚),而PC/AT取消了20mA电流环接口,而采用9脚的DB-9型D型连接器。 微机接口技术,桂小林

微机接口技术,桂小林

20mA电流环接口 20mA电流环是一个未经正式颁布的标准,这一标准的推出是为满足早期机械式电传打字机或使用20mA电流环标准的外部设备。这种标准使用电流信号,增强抗干扰的能力,传输远(可至1 km)。在PC,PC/XT串行异步通信接口卡中,利用25脚连接口中RS-232C标准未定义的引脚作为20mA电流环连接线的引脚。 电流环接口的持点是用两条连线(接通后)作为电流送出和返回的一个环路。通常是采用光电隔离器实现TTL电流与20mA电流间的转换。 微机接口技术,桂小林

20mA电流环接口图(光电隔离) 微机接口技术,桂小林

第5节 BIOS串行异步通信口的功能调用 PC系列及其兼容机ROM BIOS提供全面的功能调用。其中以INT 14H形式提供给高层系统软件或应用程序,支持异步串行通信的功能调用共有4个子功能,它们是: 初始化串行口、 发送1个字符到串行口、 从串行口接收一个字符、 读取串行口的当前状态。 微机接口技术,桂小林

下表列出4个功能调用号及其调用的入口参数和程序执行后的返回参数 微机接口技术,桂小林

(1) 0号功能(初始化串行口) 0号功能用来对8250进行初始化,即设定通信双方采用的传送速率、数据位数、停止位数及奇偶校验性等参数。这些参数调用INT 14H前,先由用户置入AL。AL的参数格式及取值规定如下; mov AH,0 ; 功能号AH mov AL, 11110110B ; 参数 mov DX, 0H ; 适配器号 INT 14H 微机接口技术,桂小林

(2) 1号功能(发送字符到串行口) 微机接口技术,桂小林

(3) 2号功能(从串行口接收字符) 微机接口技术,桂小林

(4) 3号功能(读串行口当前状态) 微机接口技术,桂小林

其它串行通信接口芯片(TL16C450/550) 电平变换 微机接口技术,桂小林

2.6 光电隔离输入输出接口 桂小林 西安交通大学 2011年5月15日

1.光电耦合器 图中光电耦合器件由两部分组成;发光二极管和光敏三极管。当发光二极管通以一定电流时;它就会发光。该光被光敏三极管接收,就使它的C、E两端导通;当发光二极管内没有电流流过时,就没有光照射到光敏三极管上,从而使三极管截止,C、E两端开路。 微机接口技术,桂小林

微机接口技术,桂小林

2、光电隔离输人接口电路 光电隔离输入通常用于控制动作的状态反馈。这种反馈可能是电信号形式,也可能是机械触点的断开或闭合形式。这里我们假定状态反馈形式是开关触点(或继电器触点)的断开或闭合。光电隔离输入接口电路的具体实例如图6-34所示。 微机接口技术,桂小林

读开关状态 MOV DX,220H REPT:IN AL,DX TEST AL,0000 0001B JNZ OFF JZ ON JMP REPT 微机接口技术,桂小林

3、光电隔离输出接口电路 在马达控制电路中,也可采用光耦来把控制电路和马达高压电路隔离开。马达靠MOSFET或IGBT功率管提供驱动电流,功率管的开关控制信号和大功率管之间需隔离放大级。在光耦隔离级一放大器级一大功率管的连接形式中,要求光耦具有高输出电压、高速和高共模抑制。 CPU与继电器之间的接口如图6-35所示 微机接口技术,桂小林

继电器控制 MOV DX,221H MOV AL,0100 0000B OUT DX,AL ;继电器接通 微机接口技术,桂小林

作业 P293 13;16;20;21 微机接口技术,桂小林

THANKS!