微机原理与接口技术_第1页
微机原理与接口技术_第2页
微机原理与接口技术_第3页
微机原理与接口技术_第4页
微机原理与接口技术_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章I/O接口技术与I/O接口芯片内容提要:

1接口的基本概念

2CPU与接口之间传送信息的方式

3并行通信与并行接口

4可编程并行通信接口芯片8255A5可编程定时/计数器芯片82536可编程串口芯片8251A学习目标:

1.重点掌握CPU寻址外设的方式、外设端口种类、编址方式、CPU与外设间传送信息的种类

2.理解程序控制传送方式,中断传送方式

3.了解DMA方式、I/O处理机方式的特点

4.重点掌握8255A、8253编程结构、控制字和初始化编程。

5.了解可编程通信接口芯片8251A。学时:8重点与难点:接口技术和编程应用。6.1接口的基本概念

★计算机系统由主机和外部设备两大部分组成;3、从外设管理和提高CPU的效率方面:★必须在外设和CPU三总线之间增设一个能控制外设与CPU进行信息交换的中转电路,用来协调CPU和外设间的信息交换及工作秩序。★这个中转电路就是接口电路

★外设不能直接和计算机系统的三总线相连接。其原因如下:1、外设的多样性,形式复杂:电子式、电磁式、光电式等;2、外设与CPU之间交换的信息的多样性:类型:数据信息、控制信息、状态信息;形式:模拟信息、数字信息;传递形式:串行传递、并行传递;★对于不同的外部设备,其接口电路也是不同的;(见下图)不同外设与计算机主机之间的接口一、接口的概念:

状态信息:外设的状态通过接口电路传递给CPU,使CPU了解外设当前的状态,以便进行下一步的操作;一般采用软件和硬件相结合的方法,设计高效、可靠的接口电路,以保证CPU与外设之间进行可靠的信息传递。1、接口电路是外设和CPU进行连接的桥梁和信息交换的中转站;2、通过接口电路交换的信息:☆数据信息:通过接口电路CPU与外设间交换有效的数据信息。☆控制信息:CPU的控制信息通过接口电路传递给外部设备,控制外设进行有序的工作;3、接口技术是计算机应用的一个重要技术:二、接口电路的组成:它是接在计算机总线和外设之间的一个电路1、与外设相连接:(用以传递信息)2、与计算机总线相连接:

☆应具有暂存信息的部件---寄存器;

☆暂存信息的部件被称为---端口;根据存放信息类型的不同,端口分为以下三种

☆在接口电路中,每个端口具有自己的地址;(1)数据端口:一般为双向(2)控制端口:单向输出(3)状态端口:单向输入★

数据总线缓冲器:连接数据总线,用于传递数据信息,为双向三态。

逻辑控制电路:连接控制总线,控制端口的读、写状态。

地址译码电路:连接地址总线,接受地址信息,寻找被访问的端口。接口是接在计算机总线和外设之间的一个电路三、端口地址的编址方式:(2)单独编址

---给端口单独分配地址空间优点:不占用存储器的地址空间缺点:访问端口必须使用专用的指令(如IN/OUT)1、接口电路中的端口是用来暂存与CPU交换的信息,通常由接口电路中的内部寄存器构成;2、CPU可以象访问存储器一样直接对端口进行读写操作。因此,必须对接口电路中的这些端口一一分配地址(编址);3、其分配地址(编址)的方式称为:端口地址编址方式;4、编址方式有两种:(1)统一编址

---和存储器的存储单元一起进行编址优点:访问端口如同访问存储器一样,不需专用的指令(使用MOV指令)缺点:占用了存储器的地址空间,使存储器的地址空间减少5、8086CPU系统采用了单独编址方式,并通过M/IO

控制信号来区分地址线上的地址是用于访问存储器或是访问端口的。四、接口电路的作用:4、总线与外设之间的隔离作用:1、锁存、缓冲信息:解决高速CPU和低速外设之间信息传递所存在的问题;2、信息传递方式的转换:串行转换为并行,并行转换为串行;3、信息类型的变换:模拟信号数字信号,电压信号电流信号;5、联络与协调的作用:五、接口电路(Interface)和端口(Port)的关系:4、一个接口电路中可含有多个端口。所以,一个接口电路可具有多个属于不同端口的地址。1、接口是接在CPU和外部设备之间进行信息交换的电路;2、端口是指在接口电路中完成信息暂存、传递,并可由CPU

直接寻址访问的寄存器3、接口电路由若干端口(寄存器)和相应的控制电路、译码电路构成;6.2CPU与接口之间传送信息的方式(输入/输出的控制方式)★因外设接收和发送信息的速度差别很大,应针对不同的外设采用不同的控制方式进行信息的传递。常用传递信息的方式有:四、DMA控制方式:

外设通过DMA控制器直接与存储器交换信息而不通过

CPU,提高了信息交换的速度★CPU与接口之间进行信息传递,实际上是与外设之间进行的信息传递。一、无条件传送方式:

CPU

可以没有任何条件随时访问

外部设备

并与其交换信息二、查询传送方式:

CPU访问外部设备,首先要查询外设是否准备就绪,以决定是否与外设进行信息交换三、中断控制方式:

外设与CPU交换信息时,主动向CPU发出信号(中断请求);CPU响应中断请求后,与外设交换一组信息然后进行其它操作;提高了CPU运行的效率一、无条件传送方式:(无条件传送的输入输出电路)★

作为外设的接口电路,应随时做好接收或输出数据的准备;

1、输入设备:信息变化缓慢的外设;2、输出设备:能对输出的信息立即做出反应的外设;3、信息变化呈周期性、且定时的周期为已知的外设。★为保证信息的可靠传输,下列设备可采用此控制方式进行信息的传送:二、查询传送方式:

查询外设的状态:当CPU需同外设交换信息时首先对外设的状态进行查询,得知外设已做好数据接收或发送的准备时,采进行信息交换。1、查询输入传送方式:LL:INAL,02HTESTAL,01HJZLLINAL,01H2、查询输出传送方式:NN:INAL,04HANDAL,80HJNZNNMOVAL,DATAOUT03H,AL查询传送方式的特点:不论是无条件传送方式还是查询传送方式,都不能发现和处理预先无法估计的错误和异常情况。为了提高CPU的效率、增强系统的实时性,并且能对随机出现的各种异常情况做出及时反应,通常采用来实现CPU与外设之间的数据传送即中断传送方式。

优点:能保证主机与外设之间协调同步地工作,且硬件线路比较简单,程序也容易实现。缺点:CPU要不断地查询外设,当外设没有准备好时,CPU要等待,而许多外设的速度比CPU要慢得多,CPU的利用率不高、实时性差。三、中断控制方式在查询方式下,CPU主动查询外设的状态,占用了CPU大量的时间资源,降低了CPU的工作效率。在中断方式下,由外设主动向CPU提出中断请求,CPU响应外设的中断请求并和外设进行一次信息交换后返回继续进行其它的操作。中断控制方式进行数据输入时的基本电路故这种传送方式一般适合于少量的数据传送。对于大批量数据的输入/输出,可采用高速的直接存储器存取方式,即DMA方式。优点:CPU不必查询等待,工作效率高,CPU与外设可以并行工作;由于外设具有申请中断的主动权,故系统实时性比查询方式要好得多。缺点:但采用中断传送方式的接口电路相对复杂,而且每进行一次数据传送就要中断一次CPU,CPU每次响应中断后,都要转去执行中断处理程序,且都要进行断点和现场的保护和恢复,浪费了很多CPU的时间。中断控制方式的特点:四、DMA控制方式(存储器直接存取方式)DMA控制方式是一种成块数据传送的方式同时它还可以向CPU报告外设和外设控制器的状态,对状态进行分析,并对输入/输出系统的各种情况进行处理。五.I/O处理机方式I/O处理机接管了原来由CPU承担的控制输入/输出操作及其他的全部功能。

I/O处理机有自己的指令系统,可以独立地执行程序,对外设进行控制,对输入/输出过程进行管理,并能完成字与字之间的装配和拆卸、码制的转换、数据块的错误检测和纠错以及格式变换等操作。

8086/8088系列中,8089IOP就是常用的高性能的通用的输入/输出处理机,在8089内部有两个独立的I/O通道,每一个通道都兼有CPU功能和非常灵活的DMA控制的功能。

6.3并行通信与并行接口2、双通道并行接口:具有两个信息传输的通道,分别作为输入及输出接口。一、并行通信是把一个字符的各位用几条数据线(通常8条)同时进行传递;★

优点:传输速度快,信息率高

缺点:传输距离短,所需的电缆多

常用在传送距离较短和数据传输率较高的场合二、并行接口☆实现并行通信的接口电路称为并行接口;1、单通道并行接口:只具有一个信息传输的通道,如:★输入接口★输出接口★输入/输出接口6.4可编程并行通信接口芯片8255A6.4.1可编程接口芯片的基本概念:☆一般可编程芯片的构成:见下图☆在接口芯片工作之前,通过程序将控制命令写入到芯片的控制寄存器中,用于确定芯片电路的不同工作方式和选择不同的工作通道,使其按照用户要求的工作模式进行工作;☆这种过程称为:芯片的初始化;☆接口电路的工作状态和功能可通过程序进行设定和控制,这样的接口芯片称为“可编程接口芯片”;☆可编程接口芯片具有:多通道、多功能的功能。1、内部构成:控制寄存器(端口)、状态寄存器(端口)、输入/输出缓存寄存器(端口)读写控制逻辑电路。2、外部引脚:与CPU相连接;与外部设备相连接。系统总线控制寄存器输入缓存寄存器状态寄存器输出缓存寄存器读写逻辑控制电路输入设备输出设备输入RDYACKSTBROY输出DB低位地址RDWR准备好INT复位OEWECSAB高位译码+M/IO端口地址线6.4.28255A芯片内部结构及其引脚其基本特征特点:1、40引脚双列直插芯片,单一正5V电源;是一种通用型、应用较广的可编程输入/输出接口芯片。常用来扩展控制器(CPU)的输入/输出接口4、三个数据端口分别称为:A口、B口、C口;具有三种工作方式:方式0、方式1、方式2。2、具有3个相互独立又关联的8位并行输入/输出端口,各端口均具有数据输出锁存和输入三态缓冲功能;3、具有1个控制端口,CPU可通过编程,设置各端口工作在某种工作方式下;6.4.28255A芯片内部结构及其引脚一、8255A的内部结构:四部分组成1、数据总线缓冲器:三态、八位双向,它是8255A与数据总线的接口。2、A、B、C三个数据端口:输出具有锁存、输入三态具有缓冲功能;A组:A口和C口的高四位;B组:B口和C口的低四位;3、A、B组控制电路:根据工作方式控制字,决定各组中各口的工作方式;4、读写控制逻辑电路:接收CPU经总线发出的地址和控制信号,管理接口中的信息传送、控制字的接收和状态信号的传递。二、8255A的外部引脚:40条引脚,输入、输出信号均为TTL电平A1

A000A端口01B端口10C端口11控制(寄存器)端口2、面向外设的信号引脚:

PA0~PA7;PB0~PB7;PC0~PC7;

各个端口的输入、输出线。1、面向系统总线信号的引脚:

D0~D7:双向三态数据信号线,接系统总线;

CS:片选端,输入低电平有效。系统高位地址经译码后和M/IO信号共同产生片选信号。

RD:读信号,输入低电平有效。

WR:写信号,输入低电平有效。

RESET:复位信号,输入高电平有效。复位后,各口为输入方式,内部寄存器被清零。

A1、A0:片内端口地址线,输入;用于端口选择:6.4.38255A的控制字★

8255A内部有两个控制寄存器,共用一个端口地址:11B★

用于存放:工作方式控制字和C口按位置位/复位控制字一、工作方式控制字:D7D6D5D4D3D2D1D0D7=1是方式选择控制字

D7=0是C口按位置位/复位控制字

在使用8255A时,首先要由CPU对8255A写入控制命令字,有两种控制命令字方式,8255A的三种工作方式都要由控制命令字来设定——这个设置过程称为“初始化”D7D6D5D4D3D2D1D0D7=1A口工作方式选择:00=方式0,01=方式1,1X=方式2A口工作状态为:基本输入输出选通输入输出双向选通输入输出

A口输入输出选择:0=输出1=输入C口高位输入输出选择:0=输出1=输入B口工作方式选择:0=方式0基本输入输出

1=方式1选通输入输出

B口输入输出选择:0=输出

1=输入C口低位输入输出选择:

0=输出1=输入例:8255A工作在方式选择控制字,A口是选通的输入方式,B口基本的输出方式。解:控制字为10111000=0B8,初始化程序:

MOV DX,PORT-C MOV AL,0B8H OUT DX,AL二、C口按位置位/复位控制字:

C口按位置位/复位控制字作用:

对C口中的某一位进行置位(置1)或复位(置0)D7=0置位/复位控制字标志三位无效D3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7D7D6D5D4D3D2D1D0B组:置位/复位选择

1=置位0=复位6.4.48255A的工作方式8255A有三种工作方式:方式0

;方式

1;方式2100××0××工作方式控制字:一、方式0:基本输入输出方式①

基本功能为:若A口、B口都工作在方式0,则此时8255A可以有2个8位的数据输入输出(A口、B口),2个4位口(C口上半部、下半部),而且A口、B口、C口上半部、C口下半部共有16种不同的组合方式;输出是锁存的,输入只有缓冲而无锁存功能。

特点:系统没有指定C口的某些线作为专门的信号联络线和状态位,但是用户可以自定义C口的某些线作为信号联络线。

注意点:CPU和8255AA口、B口之间传送数据只能用程控方式(即无条件或查询方式),不能用中断方式。

二、方式1:选通输入或输出方式方式1的基本特征:★

A组和B组端口均可选用此工作方式★当A口、B口置于此工作方式时,与A口、B口同组的C口部分引脚(位)被用作A口或B口输入输出时的联络线(选通控制信号),从而不能作为I/O口使用。★在方式1时,C口作为联络控制信号线,CPU可以采用查询方式或

中断方式与8255A交换信息。★

A口、B口在作为输入和输出时的选通信号不同,即C口的作用不同★

C口的8位除用作选通信号外,其余位可工作于方式0下,作为输入或输出口1、方式1的输入结构及时序

STB:选通信号,输入。外设给接口的启动信号,有效时,将PA0~PA7引脚上的数据装入A口寄存器IBF:输入缓存寄存器满信号,输出。作为外设的应答信号。

INTR:中断请求信号,输出。用于向CPU发出请求,CPU根据此信号,可采用中断或查询方式将接口中的数据取走。2、方式1的输出结构及时序

ACK:读输出缓存器信号,输入。外设给接口的读信号,有效时,将输出端口中的数据读取走,同时将INTR

信号置位(有效)OBF:输出缓存寄存器满信号,输出。用于通知外设接收数据。

INTR:中断请求信号,输出。用于向CPU发出请求,CPU根据此信号,可采用中断或查询方式将数据送入接口中。方式1工作模式下A口和B口的组合方式1工作方式下的状态字:方式1下C口寄存器

为CPU与8255间采用查询方式工作提供了状态标志C口寄存器:三、方式2:双向选通输入输出方式

★只有A口具有此工作方式,在方式2下:输入、输出均锁存;★B口只具有工作方式1和工作方式0;★在方式2下,C口的PC3~PC7作为A口的联络控制信号端.

STB:外设输入,选通缓存寄存器信号;IBFA:输出应答信号,输入缓存寄存器满。OBFA:输出应答信号,输出缓存器满;ACK:外设输入,读输出缓冲器。1、方式2下的引脚定义:11I/OI/OI/OD7D6D5D4D3D2D1D0控制字PC2-01=输入0=输出口B1=输入0=输出B组方式0=方式01=方式1PC3PA7~PA0PC7PC6PC4PC5PC2~PC0&≥1INTE1INTE2&INTRA8OBFAACKASTBAIBFAI/O3RDWR2、方式2下的时序:★

其时序是方式1下输入及输出时序的组合。★

输入:外设产生STB信号,将A端口的数据装入8255A的输入缓冲器。★

输出:CPU将数据装入8255A后,8255A产生OBF信号,通知外设。3、方式2下的状态字:是方式1下输入输出状态字的组合产生中断请求时,需判别IBFA和OBFA,以区别是输入或输出产生的中断。6.4.58255A的应用举例1、8255A模拟交通灯实验原理:★以8255的C口为输出口,经74LS240驱动电路控制4个双色LED(红、绿),

模拟十字路口交通信号灯的控制。交通灯的变化规律如下:初始状态0:为东西红灯,南北红灯。全部禁行,然后转状态1;状态1:南北绿灯通行,东西红灯禁行;调用延时软件1后转入状态2;状态2:南北绿灯闪烁几次转亮黄灯;调用延时软件2后转入状态3,(此时东西向仍为红灯);状态3:东西绿灯通行,南北红灯禁行;调用延时软件1后转入状态4,状态4:东西绿灯闪烁几次转亮黄灯;调用延时软件2后转入状态1,(此时南北向仍然红灯);★双色LED由一个红色LED管芯和一个绿色LED管芯封装在一起,阴极为共用端:⑴红色阳极加高电平时,红灯亮。绿色阳极加高电平时,绿灯亮。⑵红色、绿色阳极同时加高电平,显示黄灯2、8255A模拟交通灯实验驱动电路图:PC0:红灯(北)PC4:绿灯(北)PC1:红灯(西)PC5:绿灯(西)PC2:红灯(东)PC6:绿灯(东)PC3:红灯(南)PC7:绿灯(南)PA或PB口可以做为输入口设:8255的地址为:

200H~21FH3、8255A模拟交通灯实验流程图:设置8255各口为输出清LED四灯全红延时南北绿灯,东西红灯,延时绿灯闪三次南北红灯,东西绿灯,延时南北黄灯,延时绿灯闪三次东西黄灯,延时初始化返回DOS有键按下NYD1EQU20H

;延时时间常数1D2EQU200H

;延时时间常数2

DATASEGMENTPBDB?MESS2DB‘ENTERANYKEYCANEXITTODOS!’,0DH,0AH,’$’MESS1DB‘ENTERANYKEYTOBEGIN!’,0DH,0AH,’$’

DATAENDS

STACKSEGMENTSTACKSTADW50DUP(?)

TOPEQULENGTHSTA

STACKENDS

CODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATA

MOVDS,AX;装入数据断段基址

MOVAX,STACKMOVSS,AX;装入堆栈断段基址

MOVSP,TOP;装入堆栈指针文件名:EXP2.ASMMOVDX,21BH

;送控制口地址MOVAL,10000000B;设置为全输出OUTDX,AL;送控制字MOVDX,21AH;送C口地址MOVAL,0FFH

OUTDX,AL;LED全灭MOVAH,09HLEADX,MESS1;9号功能调用,INT21H;提示按任意键开始MOVAH,08H;8号功能调用INT21H;按任意键开始MOVAH,09HLEADX,MESS2;9号功能调用,INT21H;提示按任意键退出MOVDX,21AH

;送C口地址MOVAL0F0HOUTDX,AL;输出全红MOVBX,100H;送时间常数CALLDLY;调延时子程序BG:MOVAL,01101001B;南北绿,东西红OUTDX,AL;输出MOVBX,D2;送时间常数D2CALLDLY;调延时子程序MOVCX,03HXH1:MOVAL,11111001B

OUTDX,AL;南北绿灭MOVBX,D1;送时间常数D1CALLDLY;调延时子程序MOVAL,01101001B

OUTDX,AL;南北绿亮MOVBX,D1;送时间常数D1CALLDLY;调延时子程序LOOPXH1;循环三次MOVAL,01100000B

OUTDX,AL;南北黄,东西红MOVBX,D1CALLDLY;调延时子程序MOVBX,D1CALLDLY;调延时子程序MOVAL,10010110B;南北红,东西绿OUTDX,AL;南北红,东西绿MOVBX,D2CALLDLY;调延时子程序MOVCX,03XH2:MOVAL,11110110BOUTDX,AL;东西绿灭MOVBX,D1;送时间常数D1CALLDLY;调延时子程序M0VAL,F6HOUTDX,AL;东西绿亮MOVBX,D1;送时间常数D1CALLDLY;调延时子程序LOOPXH2;循环三次MOVAL,90HOUTDX,AL;南北红,东西黄MOVBX,D1;送时间常数D1CALLDLY;调延时子程序MOVBX,D1;送时间常数D1CALLDLY;调延时子程序PUSHDXMOVDL,0FFHMOVAH,06H;6号功能,直接控制台I/O;如有字符输入,放入AL中,ZF被置0;如无字符输入,零标志位ZF被置1INT21HJNZDSSPOPDXJMPBG;返回DSS:MOVAX,4C00HINT21H;退出DLYPROCNEAR;子程序PUSHCXDDD:MOVCX,0FFFFHCCC:LOOPCCCDECBXCMPBX,0JNEDDDPOPCXRTEDLYENDPCODEENDSENDSTATR6.5

可编程定时/计数器芯片8253

在计算机系统中往往需要外部时钟电路,用于实现定时、延时控制,或对外部事件的计数。2、不可编程硬件定时:通用性、灵活性差,当其电路参数决定后,无法改变定时时间。不占用CPU的时间,如:555定时电路。常用下列方法:1、软件定时:通用性、灵活性好,不需硬件;但在定时过程中,占用了CPU的时间资源。一般用在短时间的定时,毫秒~秒。3、可编程硬件定时:通用、灵活,可和CPU同步工作,通过输入控制字和时间常数,可以灵活修改其定时时间;可工作在计数或定时的不同工作方式下。可编程定时/计数器芯片8253是一种常用的定时、计数芯片一、8253的引脚及内部结构1、外部引脚★面向外设的引脚:

CLK0

~CLK2:

计数脉冲或时钟输入;

OUT0~OUT2:

计数结束输出信号;

GATE0~GATE2:

输入,门控信号。★面向CPU的引脚:

DO~D7:双向数据信号线;

CS:片选信号线;

A0、A1:片内地址线;

RD、WR:读/写控制信号线.2、8253内部结构图●三个独立的16位计数器

●六种工作方式,可通过编程设置(2)读写控制逻辑电路:内部操作的控制电路接收CPU的读写信号和地址信号,完成对8253的功能操作,具体见读写操作表:(1)数据总线缓冲器:双向三态,和系统总线的接口;(4)计数器:每个计数器都有自己独立的控制寄存器,共用一个控制端口。内部结构图(减一计数)(初值保持不变)(可读)(3)控制寄存器:接收、存放工作方式控制字,只能写入、不能读出;控制字用于定义计数器的工作方式;二、8253的控制字及其编程:1、定时初值的计算:定时初值(时间常数)=预计定时时间输入时钟脉冲的周期2、工作方式控制字:

设定各计数器的工作方式;计数初值的读写顺序;字节数;减一计数的数制例:8253的端口地址为:70~73H,选择计数器0,工作方式0,计数初值为

500,采用二进制计数,初始化程序如下:8253共有四个端口,其地址见下表:A0A1端口00CNT001CNT110CNT211控制寄存器MOVAL,00110000B;工作方式控制字OUT73H,AL;写入控制字MOVAX,500

OUT70H,AL;装计数初值低字节MOVAL,AHOUT70H,AL;装计数初值高字节若采用BCD码计数,应注意控制字和计数初值的写法!!!3、8253的编程(初始化):

8253无复位引脚,上电后各寄存器的值不定,其工作方式也是随机的。使用前必须对其进行初始化

(1)写入控制字:用于确定工作方式、指定初值的装入顺序及计数数制。

(2)写入计数初值:按控制字的要求向选定的计数器写入计数初值。三、8253的工作方式:★

每个计数器都有六种工作方式可选择,各工作方式有不同的特点:(1)OUT端输出波形的方式不同,电平方式或脉冲方式;(2)GATE启动计数器开始计数的触发方式不同;(3)计数过程中门控信号对计数操作的影响不同。软件启动GATE端为高电平置入计数初值后的第2个CLK脉冲的下降沿★

计数器的启动方式:硬件启动GATE端的上升沿后对应下一个CLK脉冲的下降沿装入初值启动

1、方式0(计数结束中断方式)N+1OUT输出的信号★软件启动:装入控制字后

由CLK的下降沿进行计数,★GATK:

变低停止计数,变高继续计数★计数过程中:

重装计数初值,按新初值计数★计数个数:N+1个CLK脉冲★计数到零:OUT由低变高

计数过程由软件启动。

GATE的作用是开放计数或禁止计数。

OUT变为低,表示计数过程结束。方式0主要用于事件计数。

方式0的特点和应用:2、方式1(可编程单稳)★硬件启动:写入控制字,OUT变高;写入初值,定时器不启动;★GATK的上升沿后:由下一个

CLK的下降沿将初值装入CE并开始计数,OUT变低,进入暂态;★计数器减到零:OUT变高;★计数过程中:GATE的上升沿将使计数器重新按初值开始计数★计数过程中:装入新的初值,对计数无影响;★单稳时间是N

倍的CLK

周期单稳时间方式1的特点和应用:(1)

计数过程启动只能有GATE脉冲的上升沿产生,即硬件启动计数器。(4)

由于计数初值是由程序写入的,所以只要改变计数初值即可产生不同输出宽度的负脉冲,从而可以获取变宽脉冲信号。(3)

在形成单稳态脉冲过程中,可以重触发,使OUT输出的负脉冲加宽。(2)

OUT的输出为一个单稳态负脉冲,其脉冲宽度为计数初值个CLK时钟脉冲的周期之和。(5)在微机实时控制系统中常用作监视时钟(WatchdogTimer)。3、方式2(分频器方式)★软件启动:装入控制字,OUT变高,写入初值后用CLK脉冲的下降沿将初值装入CE,开始计数★GATK:计数中变低停止计数;变高初值重新装入CE开始计数;★计数过程中:

装入新的初值,对计数无影响;本次计数结束后按新值计数;★计数到一时:OUT输出一个宽度同CLK周期的负脉冲,开始新计数★周期是CLK

周期的N

倍N方式2的特点和应用:CR能自动重复地装入到CE中,所以只要CLK是周期性的脉冲序列,在OUT上就能连续地输出周期性分频信号。计数过程即可以软件启动也可以硬件启动。对某频率固定的CLK脉冲信号,改变计数初值,就可以获得不同速率的OUT输出信号。OUT的输出正脉冲的宽度为(计数初值-1)个CLK时钟脉冲的周期之和,而负脉冲的宽度均为1个CLK时钟脉冲的周期。方式2主要用作分频和时基信号,可以方便地从系统时钟PCLK中获得符合某种频率要求的标准信号,供系统使用。4、方式3(方波发生器)★类似方式2:方波周期为N

倍CLK

周期★软件启动:装入控制字,OUT变高,写入初值后用CLK脉冲的下降沿将初值装入CE,按减2

的方式开始计数(偶初值);★经N/2CLK周期:计数器到零,

OUT变低;初值重新装入CE中继续减2

计数,到零时OUT变高,开始下一轮计数;★初值为奇数时:按先减1,后减2的方式计数★GATK:计数中变低停止计数;变高重触发,按初值重新计数;★计数过程中:写入新的初值后,

OUT变高,将按新值重新计数;方波周期方式3的特点和应用:方式3中的计数过程是CE内容减2。在方式3的工作过程中,CR或CR-1的内容能自动装入CE,所以只要CLK是周期性脉冲,OUT将输出连续方波信号。计数器启动过程也有软件和硬件两种。改变计数初值,OUT端将输出不同频率的方波。方式3主要应用作为方波脉冲发生器和波特率发生器。5、方式4(软件触发选通)与方式0相似。区别:OUT输出负脉冲的宽度不同;计数期间的输出极性相反。

6、方式5(硬件触发选通方式)与方式1相似区别:CE为零时OUT端产生宽度为1个CLK脉冲周期的负脉冲选通信号。当写入控制字CW后,OUT变为高电平;然后写入计数初值到CR后,OUT仍然维持在高电平,仅在GATE由低变高之后的下一个CLK脉冲的下降沿才将CR装入CE,并启动计数器开始对CLK脉冲计数,直到CE为零时,OUT输出一个宽度为CLK周期的负脉冲,并且又将OUT变为高电平。四、8253-5的初始化8253投入工作之前,CPU要对它进行初始化编程。初始化编程的步骤为:(1)写入计数器的控制字,规定其工作方式及相应功能;(2)写入计数初值。当计数初值为8位,则控制字中RL1,RL0应取01,只写入CR的低8位,CR的高8位会自动置0;若是16位计数,而低8位是0,则应取RL1、RL0为10,只写入高8位,低8位会自动置0。若是16位的计数初值,则LR1,LR0=11,应分两次写入初值,先写低8位,再写入高8位。由于计数器采用递减方式计数,因此如果计数初值为0000H,则是最大的计数初值。例:若选择0计数器,工作在方式3,计数初值为2354H,十进制计数方式;或选择1#计数器,工作在方式2,计数初值为18H,二进制计数方式。并设8253端口地址为40~43H。则根据上述各计数器的功能,

其初始化编程如下:

;对0#计数器初始化编程

MOVAL,37H

对0#计数器送控制字。

OUT43H,

ALMOVAL,

54H

送初值的低8位。

OUT40H,

ALMOVAL,

23H

送初值的高8位。

OUT40H,

AL

;对1#计数器初始化编程。

MOVAL,

01010100B

对1#计数器送控制字。

OUT43H,

ALMOVAL,

18H

计数初值送低8位。

OUT41H,

AL;当采用“飞读”的方法读取1#计数器的计数值时,可采用如下程序片段:

MOVAL,

01000100B

对1#计数器送锁存控制字。

OUT43H,

ALINAL,

41H

读低8位。

MOVCL,

AL

读取的计数值存于CL中。

;当计数值为16位时,

则“飞读”时还应读取高8位锁存器中的计数值。

五、8253的工作方式总结:方式0:软件启动,不自动重复计数。装入初值后输出端变低电平,计数结束输出高电平硬件启动,不自动重复计数。装入初值后输出端变高电平,计数开始输出低电平,结束后又变高方式1:方式2:软、硬件启动,自动重复计数。装入初值后输出端变高电平,计数到最后一个脉冲时输出低电平方式3:软、硬件启动,自动重复计数装入初值后输出端变高电平输出对称方波方式4:软件启动,不自动重复计数。装入初值后输出端变高电平,计数结束输出一个CLK宽度的低电平方式5:硬件启动,不自动重复计数波形与方式4相同六、8253的应用举例:见教材P3306.6可编程串行通信接口芯片8251A

计算机控制系统中数据通信的方式有并行和串行通信两种方式。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少并且可以借助现成的电话、电视、电力网络进行信息传送,因此特别适合远距离数据传送。对于显示器、打印机、磁盘等与计算机相距较近,但需要按位处理和串行存储的外部设备,采用串行通信方式进行数据交换,也不在少数。在当前工厂自动化、安全保卫等需要实时控制和管理时,相互之间的数据交换也多采用串行通信。上节介绍并行通信,本节将介绍常用的串行通信原理及串行通信接口。一、串行通信

1、串行通信的特点:传送线省,成本低,传送时间长(NT),串行传送适用于长距离通信系统及各类计算机网络。

2、串行通信编码:串行通信传送常用ASCII与扩展的BCD交换码EBCDIC进行信息传送。EBCDIC:ExtendedBinaryCodedDecimalInterchengeCode3、串行通信方式:由于串行通信信息在一个方向上传输只占用一根传输线,而这根线上既传送数据,又传送联络信号,为此为区分这根线传送的信息流中,哪一部分是联络信号,哪一部分是数据,就必须引出串行通信的一系列约定。于是,在串行通信中就有异步通信和同步通信两种基本串行通信方式。

6.6.1串行通信概述

二、异步通信

异步通信ASYNC(AsynchronoueDataCommunication)以字符为单位进行传输,即异步传输方式,是非同步传输方式。其通信协议是起止式异步通信协议。异步通信的信息格式由起始位、数据位、校验位、停止位与不固定的空闲位五个部分组成。起始位——每个字符开始传送的标志,起始位采用逻辑0电平数据位——紧跟着起始位传送。由5~8个二进制位组成,低位先传送校验位——校验是否传送正确;可选奇检验、偶校验或不传送校验位停止位——表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位空闲位——传送字符之间的逻辑1电平,表示没有进行传送空闲起始位…...5~8数据位1/01/01/0011/0较验位停止位11空闲起始位波特率的决定数据收发的时钟:时钟频率=N×波特率波特率系数N=1/16/32/64

三、同步通信方式

以一个固定长度的字符组成的数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束,通信的信息格式见图。同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂。串行同步通信主要应用在网络当中。最常使用高级数据链路控制协议HDLC。同步字符较验字符同步通信传输步骤:●传输开始,接受设备不停检测传输线—测试同步字符是否到来。●收到同步字符(约定好的)之后,收方开始接受数据。●接受:N个字符数据+校验字符。●处理:组合出N个数据字节,查奇偶无错,结束一帧数据传输。●开始检测同步字符,准备接受下一帧数据。注:发送与接受每位都保持完全一致,由时钟信号统一。四、数据传送的三种模式

1、全双工模式:数据发送和接受由两根不同的传输线传送,通信双方在同一时刻进行发送和接受2、半双工模式数据的发送和接受由一根传输线传送,通信双方不能同时收发3、单工模式数据发送和接受在单一方向上传送五、串行输入/输出的软硬件实现

1、软件实现串行数据转换成并行数据或反之,完全可由CPU通过软件来实现,外部只要增加简单的电平转换电路即可。

TTYOUT:MOV CL,0BH ;输出位数10位

MOV AL,DL ;

OR AL,AL ;CF=0 RCL AL,1 ;CF送D0,起始位MORE:

OUT 02H,AL ;

CALL DELAY ;与波特率相配合

RCR AL,1 ;带CF右移

STC ;CF=1,停止位

DEC CL JNE MORE RET2、UART硬件实现

UART即通用异步接收/发送器,它既能发送,又能接收,接收和发送部分都是双缓冲结构。●功能:

接受:串行

——

并行

——

输入; 发送:并行

——

串行

——

输出

当输入时,由RXD端接收到的串行数据先进入移位寄存器,接收到一个字符后然后并行输入给输入数据缓冲器,转变为并行数据,由DB输至CPU;在发送时,由CPU来的并行数据被输出数据缓冲器接收,然后送到输出移位寄存器,由TXD端从最低有效位开始直至最高有效位结束一位接一位串行输出。●结构:设立有奇偶错误标志、帧错误标志、溢出错误标志为了检测长距离传送中可能发生的错误,通常增加一个奇偶校验位。UART检查每个字符及奇偶校验位“1”的个数,若不满足,则传送过程中出错。

三个出错标志:

奇偶出错标志:在接收时,若检测到奇偶出错,则置位该出错标志;

帧出错标志:在接收时,若检测到字符格式不合规定,则置位该出错标志;

溢出出错标志:在接收时,CPU还没从接收数据缓冲器取走上一个字符,而接收数据移位寄存器又接收到下一个字符,则上一个字符会丢失,则置位出错标志。

6.6.2可编程串行通信接口芯片8251A

一、串行通信接口的基本任务1、进行串—并转换:计算机处理数据是并行的,而串行传送的数据是按位依次传送。则数据由计算机到数据终端,接口要完成并行到串行转换,相反数据终端到计算机的数据,由接口实现串行到并行的转换。

2、串行数据格式化:异步通信时,在发送时,接口电路要自动生成起始位和停止位,接收时自动去除;在同步通信时;发送时自动在传送数据块前加同步字符,同样接收时自动去除。3、可靠性检验在数据发送时自动生成奇偶校验位,在数据接收时检查奇偶校验位,检查错误。4、实施接口与数据通信设备之间联络控制:接口电路要提供计算机的串行接口到数据通信设备(DCE)间的标准逻辑电平。二、可编程串行通信接口芯片8251A的引脚

三、8251A的基本特点

1、可用于同步和异步传送

同步传送:5~8bit/字符,内同步或外同步,自动插入同步字符;

异步传送:5~8bit/字符,接收/发送时钟频率为通信波特率的1,16或64倍;

2、可产生中止字符,可产生1,1.5,2位停止位。可检查假启动位,自动检测和处理中止字符;

3、波特率:DC-19.2Kbps(异步);DC-64Kbps(同步);

4、完全双工,双缓冲发送和接收器;

5、具有奇偶、帧、溢出出错检测电路。四、8251A的内部功能结构

发送缓冲器并/串转换发送控制电路接收缓冲器串/并转换接收控制电路TXDTXRDYTXETXCRXDRXRDYRXCSYNDET内部总线数据总线缓冲器读/写控制逻辑电路调制解调电路D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSOOOOOOO1、数据总线缓冲器:性质:三态双向8位缓冲器,由状态缓冲器、发送数据/命令缓冲器和接收数据缓冲器组成。功能:用作8251A和微机系统数据总线之间的接口。状态缓冲器和接收数据缓冲器分别用来存放CPU从8251A读取的状态信息和数据,发送数据/命令缓冲器用来存放CPU写入8251A的数据/控制字。

2、接收器:性质:由接收缓冲器、接收移位缓冲器及接收控制电路三部分组成。功能:接收RXD线上的串行数据并按规定的格式把它转换为并行数据,存放在接收数据缓冲器中。其接收数据的速率取决于从RXC端输入的接收时钟频率。

3、发送器性质:由发送缓冲器、发送移位缓冲器及发送控制电路三部分组成。功能:要发送数据由CPU送到发送数据缓冲器,再由发送器并行送到发送数据移位寄存器中。4、读/写控制逻辑

功能:读/写控制电路接受CPU送来的控制信号,对数据在内部总线上的传送方向进行控制。

5、调制解调控制电路性质:由电子开关、运算放大器组成。功能:用于8251A与MODEN或外设之间的通信联络的控制。在远距离通信时,8251A提供了与调制解调器联络的信号;在远距离串行通信时,8251A提供了与外设联络的应答信号。

3、发送器

性质:由发送缓冲器、发送移位缓冲器及发送控制电路三部分组成。功能:要发送数据由CPU送到发送数据缓冲器,再由发送器并行送到发送数据移位寄存器中。4、

读/写控制逻辑

功能:读/写控制电路接受CPU送来的控制信号,对数据在内部总线上的传送方向进行控制。

5、调制解调控制电路性质:由电子开关、运算放大器组成。功能:用于8251A与MODEN或外设之间的通信联络的控制。在远距离通信时,8251A提供了与调制解调器联络的信号;在远距离串行通信时,8251A提供了与外设联络的应答信号。

发送缓冲器接收缓冲器并串变换寄存器串并变换寄存器……...………..……..通信线路CPU发送数据CPU接收数据………...………..发送时钟接收时钟接收控制接收控制发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论