《通用可编程接口芯》PPT课件.ppt

上传人:wuy****n92 文档编号:53620790 上传时间:2022-10-26 格式:PPT 页数:90 大小:1.12MB
返回 下载 相关 举报
《通用可编程接口芯》PPT课件.ppt_第1页
第1页 / 共90页
《通用可编程接口芯》PPT课件.ppt_第2页
第2页 / 共90页
点击查看更多>>
资源描述

《《通用可编程接口芯》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《通用可编程接口芯》PPT课件.ppt(90页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第8 8章章 通用可编程接口芯片通用可编程接口芯片 本章学习目标本章学习目标了解可编程接口芯片的基本概念了解可编程接口芯片的基本概念 掌握并行接口芯片掌握并行接口芯片8255A的编程结构与使用方法的编程结构与使用方法 掌握串行接口芯片掌握串行接口芯片8251的编程结构与使用方法的编程结构与使用方法 掌握定时掌握定时/计数器芯片计数器芯片8253的编程结构与使用方法的编程结构与使用方法第第8 8章章 通用可编程接口芯片通用可编程接口芯片8.1 8.1 并行接口芯片并行接口芯片并行接口芯片并行接口芯片8255A 8255A 8.2 8.2 可编程串行输入可编程串行输入可编程串行输入可编程串行输入

2、/输出接口芯片输出接口芯片输出接口芯片输出接口芯片8251 8251 8.3 8.3 可编程定时器可编程定时器可编程定时器可编程定时器/计数器接口芯片计数器接口芯片计数器接口芯片计数器接口芯片8253 8253 8.1 并行接口芯片并行接口芯片8255A 8.1.1 8.1.1 内部结构及引脚内部结构及引脚内部结构及引脚内部结构及引脚 8.1.2 8255A8.1.2 8255A的工作模式的工作模式的工作模式的工作模式 8.1.3 8255A8.1.3 8255A的编程及应用的编程及应用的编程及应用的编程及应用 8.1.1 内部结构及引脚内部结构及引脚 1.8255A内部结构 2.8255的内

3、部结构如图8-1所示。3.各部分功能概括如下:4.(1)数据输入输出端口5.(2)A组控制器和B组控制器6.(3)数据缓冲器:双向8位缓冲器,用于传送计算机和8255A间的控制字、状态字和数据字。7.(4)读写控制逻辑:接收计算机的读写命令和选择端口地址,用于控制8255A的读写。8.2.8255A引脚功能8255A有40条引脚,如图8-2所示。引脚功能如下:D7D0:数据总线,用于传送计算机和8255A间的数据、命令和状态字。RESET:复位线,高电平有效。CS:片选线,低电平有效。RD:读命令线,低电平有效。WR:写命令线,低电平有效。A0、A1:地址线,用于选择A口、B口、C口。PA7P

4、A0:A端口输入/输出线,双向I/O总线。PB7PB0:B端口输入/输出线,双向I/O总线。PC7PC0:C端口输入/输出线,双向I/O总线。图8-28255引脚图8.1.2 8255A的工作模式的工作模式 1.8255A控制字和状态字2.8255A通过控制字用来设定8255A有3种工作模式。控制字有两个,一个是工作方式控制字,用于8255A的初始化;另一个是C口位控制字,用于C口的位操作。这两个控制字使用同一口地址,由最高位D7区分,若D7为1,此控制字为8255A的工作方式控制字;若D7为0,此控制字为8255A的C口的位控制字。(1)方式控制字 8255A的方式控制字用来设定8255A三

5、个端口的工作方式及输入/输出状态。控制字的位定义如下:D7D6D5D4D3D2D1D0A组B组 D7:控制字标志位。D7为1,则本控制字为方式控制字;D7为0,则本控制字为C口控制字。lD6D3:A组控制位。其中:D5、D6:A组方式选择位,D6D5为00时,A组设定为方式0;D6D5为01,A组设定为方式1;若D6D51,A组设定为方式2。D4:A口输入输出控制位,D4为0,则PA7PA0用于输出数据;D4为1,则PA7PA0用于输入数据。D3:C口高四位输入输出控制位;D3为0,则PC7PC4为输出数据方式;D3为1,则PC7PC4为输入方式。lD2D0:B组控制位。其中:D2:方式选择位

6、,D2为0,B组设定为方式0;D2为1,B组设定为方式1。D1:B口输入/输出控制位,D1为0,则PB7PB0用于输出数据;D1为1,则PB7PB0用于输入数据。D0:C口低四位输入/输出控制位,D0为1,则PC3PC0用于输出数据;D0为1,则PC3PC0用于输入数据。(2)C口位控制字 该控制字可以使C口各位单独置位或复位,以实现特殊的控制功能。控制字格式如图8-4所示。D7D6D5D4D3D2D1D0无效位位选择控制位D7:控制字的特征位,0有效。D3D0:用于控制PC7PC0中某一位置位和复位。D0:置位/复位的控制位。当D0为0时,控制C口的某位复位;当D0为1时,控制C口的某位置位

7、。(3)8255A状态字8255A设定为方式1和方式2时,读C口便可读得相应状态字,可以了解8255A的工作状态。当8255A的A口、B口工作在方式l,则为输入时的状态字格式如下所示。在这个状态字中,INTEA和INTEB分别为A组和B组的中断允许触发器状态,其余各位为相应引脚上的电平信号。当8255A的A口、B口工作在模式l,则为输出时的状态字格式如下所示。8255A在方式2下的状态字格式如下所示。在这个状态字中,INTEl、INTE2和INTR为8255A的允许中断触发器状态。其中INTEl和INTE2受C口的置复位控制字决定,其余各位为同名引脚上的电平信号。D2D0由B组工作方式决定。2

8、.8255A工作方式工作方式(1)方式0方式0是一种基本的输入/输出工作方式,8255A的A口、B口和C口均可由程序设定为输入/输出口。其中输出可被锁存,输入不能锁存。【例8.1】设8255A的控制字寄存器地址为置9BH,则令A口和C口高四位工作在方式0输出方式以及B口和C口低四位工作于方式0输入方式,指令序列如下:MOV AL,83H ;方式控制字83H送ALMOV DX,9BH OUT DX,AL ;83H送控制字寄存器(2)方式1方式1是选通输入/输出工作方式,A口和B口皆可独立地设置成这种工作方式。在方式1下,既需要数据信号也需要选通联络信号,选通联络信号与输入/输出数据一起传送,其中

9、A组为数据口,可定义为输入或输出方式,以C口的PC5、PC4、PC3为选通联络线;B组为数据口,可定义为输入或输出方式,以C口的PC2、PC1、PC0为选通联络线。当A口工作于方式1输入状态时见图8-3。图8-38255的A口方式1输入方式下状态C口的相应联络线定义如下:(PC4、PC2)选通输入,低电平有效。由外设输入数据,并将数据送到输入锁存器。其中PC4对应A口,PC2对应B口。IBF(PC5、PC1)输入缓冲器满,高电平有效。当它为1时,说明CPU还未读取上次输入的数据,通知外设不应送新数据。当它为0时,通知外设可送新数据。其中PC5对应A口,PC1对应B口。INTR(PC3、PC0)

10、中断请求,高电平有效。当中断允许位INTR置1时,若输入缓冲器满,则产生一个“高”有效的中断请求1NTR至CPU,对外设送来的新数据以中断方式输入。其中PC3对应A口,PC0对应B口。当A口或B口工作在方式1输出状态时见图8-4 图8-48255的A口模式1输出方式下状态C口的各位定义如下:(PC7、PC1)输出缓冲器满信号,低电平有效。当数据写入该口的数据寄存器时,即启动该信号,以通知外设读取端口数据。其中PC7对应A口,PC1对应B口。(PC6、PC2)外部响应输入信号,低电平有效。当外设读取端口数据后,回发“低”有效信号作为回答。其中PC6对应A口,PC2对应B口。INTR(PC3、PC

11、0)中断请求信号,高电平有效。当中断允许位INIR置“1”时,若输出缓冲器空(1),则产生一个“高”有效的中断请求INTR至CPU,于是可在其中断处理程序中向该口输出新的数据。其中PC3对应A口,PC0对应B口。(3)方式28255A的另一种工作方式为带选通双向总线IO方式,且只有A口可以工作在这一方式下,A口为输入输出数据端,输入、输出均可锁存,既可以发送数据,也可以接收数据,握手联络信号和A口在方式1下的输入或输出时的握手联络信号分别相对应,输入输出时的中断请求都共用PC3。这是一个“或”逻辑,即PC6置“l”时,输出缓冲器“空”可引起中断,PC4置“l”时输入缓冲器“满”也能引起中断。当

12、A口工作于方式2时,B口可工作在方式0或者方式1;C口的高5位为A口的握手联络信号,低3位可用于B口在方式1时的握手联络信号。由8255A的控制字选择。方式2状态如图8-5所示。图8-5 8255模式2方式下状态其中:INTRA(PC3)中断请求信号,高电平有效。(PC7)输出缓冲器满信号,低电平有效。(PC6)外部响应信号,低电平有效。INTE1:输出缓冲器的中断允许触发器,由PC6置位/复位控制。(PC4)选通输入信号,低电平有效。IBFA(PC5)输入缓冲器满信号,高电平有效。INTE2:输入缓冲器的中断允许触发器,由PC4置位/复位控制。8.1.38255A的编程及应用8255A是计算

13、机外围接口芯片中典型的一种,主要用于接口扩展、外设扩展应用等。对8255A编程,首先应对8255A进行初始化,即向8255A写入控制字,规定8255A的工作方式,A口、B口、C口的工作方式等。然后,如果需要中断,则用控制字将中断允许标志置位。再以后就可以按相应的要求向8255A送入数据或从8255A读出数据。【例8.2】要求8255A工作在方式0,A口、B口输入,C口输出。其硬件电路如图8-6,片选端接译码电路输出(译码端由地址线A7、A6、A5译码输出),按要求8255A的控制字为92H(D7D0对应的数据为10010010)。图8-68255基本应用其工作程序如下:PORTKEQU1FH;

14、8255A控制口地址PORTAEQU1CH;8255A的A口地址PORTKEQU1DH;8255A的B口地址PORTKEQU1EH;8255A的C口地址;初始化8255AMOVAL,92H;控制字方式0,A、B输入,C输出MOVDX,PORTK;控制寄存器地址OUTDX,AL;控制字送控制寄存器;A口、B口、C口读写MOXDX,PORTA;A口地址INAL,DX;从A口读数据MOXDX,PORTB;B口地址INAL,DX;从B口读数据MOXDX,PORTC;C口地址MOVAL,DATAOUT DX,AL;向C口输出数据DATA【例8.3】要求8255A工作方式1,A口输入,B口输出,PC6、P

15、C7输出,禁止A口中断。按要求8255A控制字为0B7H,程序如下:PORTK EQU1FH;8255A控制口地址PORTA EQU1CH;8255A的A口地址PORTK EQU1DH;8255A的B口地址PORTK EQU1EH;8255A的C口地址;初始化8255AMOV AL,0B7H;控制字方式1,A输入,B输出MOVDX,PORTK;控制寄存器地址OUTDX,AL;控制字送控制寄存器MOVAL,09HOUTDX,ALMOVAL,04HOUTDX,AL8.2 可编程串行输入可编程串行输入/输出接输出接口芯片口芯片8251 8.2.1 8.2.1 串行通信的基本概念串行通信的基本概念串行

16、通信的基本概念串行通信的基本概念 8.2.2 8.2.2 可编程串行接口芯片可编程串行接口芯片可编程串行接口芯片可编程串行接口芯片82518251结构结构结构结构 8.2.3 82518.2.3 8251的初始化和编程应用的初始化和编程应用的初始化和编程应用的初始化和编程应用 8.2.4 PC8.2.4 PC机串行异步通信接口机串行异步通信接口机串行异步通信接口机串行异步通信接口 8.2 可编程串行输入可编程串行输入/输出接口芯片输出接口芯片8251 8.2.1 串行通信的基本概念 1.半双工和全双工 2.串行通信是一位接一位地顺序通过一条信号线进行传输的方式。它的通路可以只有一条,此时发送信

17、息和接收信息不能同时进行,只能采用分时使用线路的方法,如果在A发送信息时,B只能接收;而当B发送信息时,则A只能接收。这种串行通信的工作方式称为半双工通信方式;如果在两个通信站之间有两条通路,则发送信息和接收信息就可以同时进行。如当A发送信息,B接收,B同时也能利用另一条通路发送信息而由A接收。这种工作方式称为全双工通信方式。2.数据传输率 数据传输率是指每秒钟传送的二进制位数通常称为波特率(Band Rate)。国际上规定了标准波特率系列,最常用的标准波特率是:110波特、300波特、600波特、1200波特、l800波特、2400波持、4800波特、9600波特和19200波特。时钟频率n

18、波特率式中的n叫做波特率系数或波特率因子,它的取值可以为1、16、32或64。3.串行通信的方式 串行通信按通信约定的格式分为两种:异步通信方式和同步通信方式。(1)同步通信 所谓同步通信是指在约定的数据通信速率下,发送方和接收方的时钟信号频率和相位始终保持一致(同步),这就保证了通信双方在发送数据和接收数据时具有完全一致的定时关系。在有效数据传送之前首先发送一串特殊的字符进行标识或联络,这串字符称为同步字符或标识符。在传送过程中,发送端和接收端的每一位数据均保持同步。(2)异步通信异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。异步通信规定字符由起始

19、位(startbit)、数据位(databit)、奇偶校验位(parity)和停止位(stopbit)。起始位表示一个字符的开始,接收方可以用起始位使自已的接收时钟与数据同步。停上位则表示一个字符的结束。这种用起始位开始,停止位结束所构成的一串信息称为一帧(frame)。异步通信在传送一个字符时,由一位低电平的起始位开始,接着传送数据位,数据位的位数为58位。在传送时,按低位在前,高位在后的顺序传送。奇偶校验位用于检验数据传送的正确性,也可以没有,可由程序来指定。最后传送的是高电平的停止位,停止位可以是1位、1.5位或2位,两个字符之间的空闲位要由高电平1来填充。8.2.2 可编程串行接口芯片

20、可编程串行接口芯片1.8251的内部结构和引脚功能8251的内部结构如图8-12所示 主要包括:(1)数据总线缓冲器(2)发送器(3)接收器(4)读写控制电路(5)调制解调控制电路 2.8251的编程控制8251是可编程串行接口,在使用前必须由程序对其工作状态进行设置(称为初始化),其中包括:同步方式还是异步方式、传输波特率、字符代码位数、校验方式、停止位位数等。8251的控制字分为方式控制字和命令控制字。(1)方式控制字此控制字决定8251A是工作在同步方式还是异步方式。控制字格式如下:S2S1EPPENL2L1 B2B1其中:B2、B1:波特率系数控制位L2、L1:字符位数控制位PEN:校

21、验位允许位S2、S1:停止位位数或同步字符个数控制位(2)操作命令控制字是使8251处于发送数据或接收数据状态,通知外设准备接收或是发送数据。格式如下:EHIRRTSERSBRKRxEDTR TxEN8.2.2 可编程串行接口芯片可编程串行接口芯片1.8251的内部结构和引脚功能8251的内部结构如图8-12所示 主要包括:(1)数据总线缓冲器(2)发送器(3)接收器(4)读写控制电路(5)调制解调控制电路 8.2.3 8251的初始化和编程应用的初始化和编程应用 1.8251的初始化2.在传送数据前对8251进行初始化,才能确定发送方与接收方的通信格式。以及通信的时序,从而保证准确无误地传送

22、数据。由于三个控制字没有特征位,且工作方式控制字和操作命令控制字放入同一个端口,因而要求按一定顺序写入控制字,不能颠倒。【例8-5】编写一段程序,通过8251采用查询方式接收数据的程序。要求8251A定义为异步传输方式,波特率系数为64,采用偶校验,1位停止位,7位数据位。设8251的数据端口地址为04A0H,控制/状态寄存器端口地址为04A2H。程序如下:MOVDX,04A2HMOVAL,7BH;写工作方式字OUTDX,ALMOVAL,14HOUTDX,AL;写操作命令字LP:INAL,DX;读状态控制字ANDAL,02H;检查RxRDY是否为1JZLPMOVDX,04A0HINAL,DX2

23、.8251和和CPU的通信方式的通信方式(1)查询方式发送数据的程序在初始化程序之后。【例8.6】若采用查询方式发送数据,且假定要发送的字节数据放在TABLE开始的数据区中,且要发送的字节数据放在BX中,则发送数据的程序段如下所示。START:MOVDX,3FDHLEASI,TABLEWAIT:INAL,DXTESTAL,20H;检查THR是否空JZWAIT;若为空,则继续等待PUSHDXMOVDX,3F8HLODSBOUTDX,AL;否则发送一个字节POPDXDECBXJNZWAIT同样,在初始化程序后,可以用查询方式实现接收数据。【例8.7】下面是一个接收数据程序,假设接收后的数据送入DA

24、TA开始的数据存储区中。RECV:MOVSI,OFFSETDATAMOVDX,3FDHWAIT:INAL,DX;读入线路状态寄存器TESTAL,1EH;检查是否有任何错误产生JNZERROR;有,转出错处理TESTAL,01H;否则检查数据是否准备好JZWAIT;未准备好,继续等待检测MOVDX,3F8HINAL,DX;否则接收一个字节ANDAL,7FH;保留低7位MOVSI,AL;送数据缓冲区INCSIMOVDX,3FDHJMPWAIT(2)中断方式利用中断方式可实现8251和CPU的串行通信。现设想系统以查询方式发送数据,以中断方式接收数据。波特率系数为16,1位停止位,7位数据位,奇校验

25、。程序如下:MOVDX,04A2HMOVAL,01011010B;写工作方式控制字OUTDX,ALMOVAL,14H;写操作命令控制字OUTDX,AL当完成对8251A的初始化后,接收端便可进行其他工作,接收到一个字符后,便自动执行中断服务程序。【例8.9】中断服务程序如下:RECIVE:PUSHAXPUSHBXPUSHDXPUSHDSMOVDX,3FDHINAL,DXMOVAH,AL;保存接收状态MOVDX,3F8HINAL,DX;读入接收到的数据ANDAL,7FHTESTAH,1EH;检查有无错误产生JZSAVADMOVAL,?;出错的数据用?代替SAVAD:MOVDX,SEGBUFFER

26、MOVDS,DXMOVBX,OFFSETBUFFERMOVBX,AL;存储数据MOVAL,20HOUT20H,AL;将EOI命令发给中断控制器8259POPDSPOPDXPOPBXPOPAXSTIIRET8.2.4 PC机串行异步通信接口机串行异步通信接口 1.串行异步通信适配器2.串行异步适配器结构如下:2.EIA RS-232串行通信总线标准 RS-232是一种串行通信总线标准,1969年由美国电子工业协会(EIA)从CCITT远程通信标准中导出的一个标准。9针、25针RS-232标准接口引脚排列如图所示。25脚引脚号(9脚)符号方向功能2(3)TXD输出发送数据3(2)RXD输入接收数据

27、4(7)RTS输出请求发送5(8)CTS输入清除发送6(6)DSR输入数据通信设备准备好7(5)GND信号地8(1)DCD输入数据载波检测20(4)DTR输出数据终端准备好22(9)RI输入振铃指示两台计算机的连接方法如下图所示:3.BIOS串行异步通信方式接口的功能调用IBMPC及兼容机提供了一种有较强的硬件依赖性,但却比较灵活的串行口I/O的方法,即通过INT14H调用ROMBIOS串行通信口例行程序。下面给出串行异步通信接口功能调用的具体情况:(1)初始化串行通信口(AH=0)入口参数:AL=初始化参数,DX=通信口号出口参数:AH=通信口状态,AL=调制解调器状态初始化参数据可以用来设

28、置串行口的波特率、奇偶性、字长和终止位。8位数据具体含义如下:设置波特率、设置校验位设置终止位设置字长D7D6D5D4D3D2D1D0l 位7、6、5:设置波特率000=110波特001=150波特010=300波特011=600波特100=1200波特101=2400波特110=4800波特111=9600波特ll 位4、3:设置校验位01=奇校验11=偶校验0=无校验ll 位2:设置终止位0=1位1=2位ll 位1、0:设置字长10=7位11=8位例如指令序列:MOVAH,0MOVAL,0A3HMOVDX,0INT14H完成的功能是将0号通信口的波特率设置为2400波特,字长为8位,1位终

29、止位,无奇偶校验位。(2)向串行通信口写字符(AH=1)入口参数:AL=所写字符,DX=通信口号出口参数:写字符成功AH=0,AL=字符写字符失败(AH)7=1,(AH)06=通信口状态(3)从串行通信口读字符(AH=2)入口参数:DX=通信口号出口参数:读字符成功(AH)7=0,AL=字符读字符失败(AH)7=1,(AH)06=通信口状态(4)取串行通信口状态(AH=3)入口参数:DX=通信口号出口参数:AH=通信口状态,AL=调制解调器状态3号功能用来读串行口的当前状态,调用时,只需给出被查询的串行通信口是COM1或是COM2,调用返回时,其状态信息放入AX中,(AL)MODEM状态,(A

30、H)线路状态。4.BIOS串行异步通信接口的功能调用应用接口串行异步通信接口的功能调用应用接口通过前面的介绍,已经知道串行通信的编程方式有I/O指令方式、DOS功能调用方式和BIOS中断调用方式,在这里选择BIOS中断调用方式。编程的关键首先确定串行通信的基本方式。【例8.11】在下面的程序中设置串行通信的传输参数为:1200波特、7个数据位,1个奇偶校验位,2个停止位。两台计算机机可互发数据,即在程序开始首先检测是否有数据要接收,若没有则检测是否有键按下,若有数据发送,否则重新检测。程序清单如下:CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA

31、MOVDS,AX;数据段基值装入(通过AX)LEADX,SHOWMESS;字符串有效地址装入DX寄存器MOVAH,09HINT;DOS显示字符串功能调用;初始化串口COM2;串行口初始化为1200波特、数据位MOVAH,0MOVDX,1MOVAL,8EHINT14H;初始化COM2口 FORE:MOVH,03HMOVDX,1INT14H;读串口2状态字TESTAH,01H;数据准备好?JNZRECE;准备好转接收程序TESTAH,20H;发送移位寄存空?JZFORE;不空转FORE继续检测MOVAH,1INT16H;否则利用BIOS键盘中断调用,输入字符JZFORE;没有按键,继续MOVAH,

32、0INT16H;BIOS键盘输入CMPAL,1BHJZQUIT;是否是ESC键,是退出MOVAH,1MOVDX,1INT14H;否则发送字符CMPAL,0DHJNZRECEMOVAH,02HMOVDL,0AHINT21H;若发送的为回车符,显示换行MOVDL,0DHINT21Hrece:MOVAH,3MOVDX,1INT14H;读串口2状态字TESTAH,01H;数据准备好?JZFORE;数据未准备好转fore继续检测MOVAH,2MOVDX,1INT14H;否则读入字符MOVDL,ALANDDL,7FHMOVAH,02H;屏蔽校验位INT21H;DOS中断显示字符JMPFORE;接收方发送字

33、符QUIT:MOVAH,4CH;退出程序,返回DOSINT21HCODEENDS;代码段结束ENDSTART;程序结束8.3 可编程定时器可编程定时器/计数器接计数器接口芯片口芯片8253 8.3.1 8.3.1 定时的基本概念定时的基本概念定时的基本概念定时的基本概念 8.3.2 8.3.2 可编程接口芯片可编程接口芯片可编程接口芯片可编程接口芯片82538253结构和引脚功能结构和引脚功能结构和引脚功能结构和引脚功能 8.3.3 82538.3.3 8253的编程的编程的编程的编程 8.3.4 82538.3.4 8253的工作方式的工作方式的工作方式的工作方式 8.3 可编程定时器可编程

34、定时器/计数器接口芯片计数器接口芯片8253 微型计算机经常要用来对外部事件进行定时控制或记录外部事件产生次数、即定时或计数控制。如函数发生器、计算机中的系统日历时钟、DRAM的定时刷新、定时采样和控制系统等,都要用到定时信号。定时信号可以利用软件编程或硬件的方法得到。串行异步适配器结构如下:8.3.1 定时的基本概念定时的基本概念 可编程计数器定时器8253就是用软、硬技术相结合的方法实现定时和计数控制。其主要有以下特点。(1)有3个独立的16位计数器,每个计数器均以减法计数;(2)每个计数器都可按二进制计数或十进制(BCD码)计数;(3)每个计数器都可由程序设置6种工作方式;(4)每个计数

35、器计数速度可达2MHZ;(5)所有I/O都可与TTL兼容。1.内部结构内部结构8253内部包含合3个16位计数器,每个计数器可按二进制或十进制计数,有6种工作方式,可通过编程选择。8253采用单一+5V电源供电,NMOS工艺制造,24引脚DIP封装,其内部结构如图所示。主要包括:(1)数据总线缓冲器(2)读/写逻辑电路(3)控制字寄存器(4)计数通道8.3.2 可编程串行接口芯片可编程串行接口芯片8253结构和引脚功结构和引脚功能能 2.引脚功能引脚功能D7D0:8位双向数据线。CS:片选信号,输入,低电平有效。RD:读有效信号,输入,低电平有效。WR:写有效信号,输入,低电平有效。A1、A0

36、:地址信号线。CLK0CLK2:每个计数器的时钟信号输入端。GATE0GATE2:门控信号,用于控制计数器的启动和停止。OUT0OUT1:计数器输出信号。8253内部端口地址和操作CSRDWRA1A0功能00000011010111110000写计数器0写计数器1写计数器2写方式控制字00000011010100001111读计数器0读计数器1读计数器2无效1.写控制字8253在工作之前,必须对它进行编程,以确定每个计数器的工作方式和对计数器赋计数初值。CPU通过写控制字指令,将每个计数通道分别初始化,使之工作在某种工作方式之下。8253的控制字格式如下:8.3.3 8253的编程的编程 D7

37、D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD各位含义如下:lSC1、SC0:计数器选择00计数器001计数器110计数器211非法lRL1、RL0:计数长度选择00将计数器中的数据锁存于缓冲器01只读/写计数器低8位10只读/写计数器高8位11先读/写计数器低8位,再读写计数器高8位lM2、M1、M0:工作方式选择000方式0001方式1x10方式2x11方式3100方式4101方式5lBCD:计数制选择0二进制计数1BCD计数2.写入计数初值写入计数初值对8253编程时,首先向控制字寄存器写入控制字,以选择计数器的工作方式然后对相应的计数器输入计数值。在计数值送到计

38、数值寄存器后,需经一个时钟周期才能把此计数值送到递减计数器。当控制字D0=0时,即二进制计数,初值可在0FFFFH之间选择;当D0=l时,则为十进制计数,其值可在0一9999十进制之间选择。计数初值的选择和定时长短以及时钟频率有关。【例8.12】在一个系统中,8253的CLK0CLK2的时钟频率为2MHZ,端口地址为200H203H。要求计数器0工作在方式0下,十进制计数,定时100s后产生中断请求;计数器1工作在方式3下,二进制计数,用于产生周期为10s的对称方波;计数器2工作在方式2下,二进制计数,每隔1ms产生一个负脉冲。根据上述要求和已知条件,可知CLKs。则可计算出计数器0的初始值为

39、100s/0.5s=200,计数器1的计数初始值为10s/0.5s=20,计数器2的计数初始值为1ms/0.5s=2000。MOVDX,203H;控制字地址送DXMOVAL,10110100B;控制字内容送ALOUTDX,AL;写控制字MOVAX,2000;计数初始值送AXMOVDX,202H;计数器2地址202H送DXOUTDX,AL;写低8位MOVAH,ALOUTDX,AL;写高8位若计数器2工作在十进制计数方式,则应把2000H送AX中。计数器2的初始化程序段可改为下列指令序列:MOVDX,203HMOVAL,10100101BOUTDX,ALMOVDX,202HMOVAL,20HOUT

40、DX,AL8253有6种不同的工作方式,在不同的工作方式下,计数过程的启动方式、OUT端的输出波形都不一样。自动重复功能和GATE的控制作用以及写入新的计数初值对计数器的工作过程产生的影响出不一样。下面借助工波形来分别说明这6种工作方式的计数过程。8.3.4 8253的工作方式的工作方式 1.方式0计数结束,产生中断2.方式1可重复触发的单稳态触发器3.方式2分频器4.方式3方波发生器5.方式4软件触发的选通信号发生器6.方式5硬件触发的选通信号发生器1.8253的初始化的初始化对8253的初始化,也可称为对8253的编程。完成初始化后,8253即开始自动按设置好的工作方式工作。初始化程序包括

41、两部分,一是写各计数器的控制字,二是设置计数初始值。【例8.13】假设8253的计数器0工作在方式5,按二进制计数,计数初始值为100;计数器1工作在方式1下,BCD码计数,计数初始值为4000;计数器2工作在方式2,按二进制计数,计数初始值为600。8253占用的端口地址为200H到203H。以上情况的初始化程序如下:8.3.5 8253的应用的应用 MOVDX,203H;控制寄存器地址送DXMOVAL,00011010B;计数器0,写低字节,方式5,二进制计数OUTDX,AL;写控制字寄存器MOVDX,200H;计数器0的地址送DXMOVAL,100;计数初始值为100OUTDX,AL;写

42、入计数初始值MOVDX,203H;控制寄存器地址送DXMOVAL,01100011B;计数器1,写高字节,方式1,十进制计数OUTDX,AL;写控制字寄存器MOVDX,201H;计数器1的地址送DXMOVAL,40H;计数初始值为4000H,只写高8位即可OUTDX,AL;写入计数初始值MOVDX,203H;控制寄存器地址送DXMOVAL,10110100B;计数器2,16位初始值,方式1,二进制计数OUTDX,AL;写控制字寄存器MOVDX,202H;计数器2的地址送DXMOVAX,600;计数初始值为600OUTDX,AL;先写低8位MOVAL,AHOUTDX,AL;再写高8位2.8253

43、与系统的连接与系统的连接IBMPC/XT机使用一片Intel8253作为定时/计数芯片。3个计数通道分别用于日时钟计时、DRAM刷新定时和控制扬声器发声。8253和系统的连接如图所示。IBMPCAT使用与8253兼容的Intel8254,在AT机的连接使用也与XT机一样。从连接图可看出,8253共占用4个端口地址,地址范围由高位地址信号决定,高位地址的译码输出接到片选端,A0和A1分别接到系统总线的A0和A1地址信号线上,用来寻址芯片内部的3个计数器及控制字寄存器。系统总线的和分别接入8253的和,数据总线的低8位连接至8253的数据线D7D0。PC机中只有A9A0参加I/O地址空间的译码,所

44、以PC机中可寻址的I/O端口的个数最多为512个。下面给出XT机中系统板上端口片选生成逻辑,如图所示。图IBMPC/XT机中8253和CPU连接图图系统板上片选生成逻辑3.8253应用实例应用实例【例8.14】现要求利用8253完成以下工作:8253的通道2的OUT2输出接有一发光二极管,要使发光二极管以闪烁形式工作,即点亮2s,熄灭2s。8253的通道地址为200H到203H。画出硬件连接图如图所示。分析题目,编写程序。图例8-14图分析:根据要求8253的计数器2应输出一个占空比为1:1,周期为4s的方波。从图中可以知道,计数器1的CLK1输入的时钟周期为1s,若计数器1工作在定时方式,其

45、最大的定时时间为1s65536,ms,因此使用一个通道达不到定时4s的要求,此时,采用计数器级连的方法,将计数器1的输出作为计数器2的输入。根据图中连接方式,可知,应将计数器1设置为方式2,完成对1MHZ频率分频,输出脉冲周欺期为4ms,则计数器1的初始值为4000。OUT2的输入端为周期4ms的脉冲,要求输出的波形为方波且周期为4s,所以计数器2的计数初始值为1000。程序编写如下:MOVAL,75HOUT43H,AL;写计数器1控制字MOVAL,0B7HOUT43H,AL;写计数器2控制字TIM:MOVAX,4000HOUT41H,AL;写计数器1初始值低8位MOVAL,AHOUT41H,AL;写计数器1初始值高8位MOVAX,1000HOUT42H,AL;写计数器2初始值低8位MOVAL,AHOUT42H,AL;写计数器2初始值高8位THANK YOU VERY MUCH本章到此本章到此结结束,束,谢谢谢谢您的光您的光临临!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁