第6章基本输入输出接口技术ppt课件.ppt

上传人:本田雅阁 文档编号:2607438 上传时间:2019-04-17 格式:PPT 页数:115 大小:2.25MB
返回 下载 相关 举报
第6章基本输入输出接口技术ppt课件.ppt_第1页
第1页 / 共115页
第6章基本输入输出接口技术ppt课件.ppt_第2页
第2页 / 共115页
第6章基本输入输出接口技术ppt课件.ppt_第3页
第3页 / 共115页
亲,该文档总共115页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第6章基本输入输出接口技术ppt课件.ppt》由会员分享,可在线阅读,更多相关《第6章基本输入输出接口技术ppt课件.ppt(115页珍藏版)》请在三一文库上搜索。

1、第6章 基本输入输出接口技术,【本章提要】 本章首先概述I/O的基本知识,然后讨论输入/输出控制方式,I/O接口的读写技术, 并行通信与串行通信,最后重点讨论常用可编程典型I/O接口芯片及其接口技术。 【学习目标】 了解I/O接口信息、I/O编址方法、I/O组织、I/O控制方式、并行通信及串行通信等输入输出基础知识。 理解基本输入输出接口的操作。 掌握简单I/O接口的读写技术。 熟练掌握常用接口芯片16550/8250、8255和8253的工作原理及其编程应用。 能综合运用接口芯片,构建和分析实际应用系统。,第6章 基本输入输出接口技术,本章主要内容: 概 述 输入/输出控制方式 I/O接口读

2、写技术 并行通信与串行通信,可编程接口芯片 串行通信接口芯片 并行通信接口芯片 定时计数接口芯片,2019年4月17日星期三,6.1 概述,一、输入/输出与输入/输出接口 1.输入/输出:微处理器与外部设备之间的信息交换即通信。 2.输入/输出接口:完成微处理器与外部设备数据通信即输入/输出任务的接口。 包括:硬件接口电路和软件接口程序。,2019年4月17日星期三,二、I/O接口的功能,1. 内部地址译码 2.提供联络信号 3.信号特性匹配(如电平转换) 4.信息格式的转换(如正负逻辑的转换,串并 格式,模数转换) 5.数据缓冲与锁存 6.对外设进行中断管理 7.提供时序控制,2019年4月

3、17日星期三,三、CPU与I/O设备间的接口信息,三种:数据信息、状态信息、控制信息 这些信息均通过数据总线传输。,2019年4月17日星期三,四、I/O端口的编址方法,1.存储器映射编址 含义: I/O端口的地址与存储器的地址统一混合编址。 用访问存储器的指令,即可对整个地址空间(存储器和I/O)进行访问,而无需专用I/O指令。 优点: 访问I/O指令多,使用方便。 内存与外设地址分布相同。 无需专用的I/O指令。,2019年4月17日星期三,2. I/O映射编址,含义 I/O端口与存储器分开独立编址,即I/O端口和存储器都有自己的一套地址空间,而且互不相干。 优点 I/O设备不占用内存单元

4、,节约了内存空间。 指令执行速度快。 I/O端口 8086Core2微机采用I/O映射的编址方法。 I/O端口的地址64K 个8位口地址(0000H-FFFFH)。,2019年4月17日星期三,五、I/O组织,2.基于8086和80286 16位I/O组织,3.基于80386和80486 32位I/O组织,4.基于PentiumPentium4的64位I/O组织,I/O组 织,1. 基于8088的8位I/O组织,2019年4月17日星期三,8位I/O组织-基于8088,2019年4月17日星期三,16位I/O组织-基于808680286,2019年4月17日星期三,32位I/O组织-基于803

5、8680486,2019年4月17日星期三,64位I/O组织 -基于Pentium Core2,2019年4月17日星期三,2.I/O端口的地址分配,1. I/O地址范围 0000H-FFFFH.共64K个8位端口 从8086Core2 I/O地址采用A15A0共16条地址线,且与存储器分开编址。 2. 系统板保留的1K个I/O端口 (详见书P.238表6.1) 000H-03FFH,共1K个8位端口 3. 查看当前系统I/O地址分配,2019年4月17日星期三,系统板保留的1K地址,2019年4月17日星期三,I/O指令时序,(b) OUT 指令操作时序 OUT P8,AL或OUT DX,A

6、L P8为8位端口地址,(a) IN指令操作时序 IN AL,P8 或IN AL,DX P8为8位端口地址,6.2 输入输出控制方式,直接程序控制方式 中断控制方式 DMA控制方式 I/O处理机控制方式,2019年4月17日星期三,一、直接程序控制方式,含义:直接在程序控制下进行微处理器与外设之间的数据传送。 分类:无条件传送方式和条件传送方式两种。 1.无条件传送方式 含义:不查询外设状态而直接进行输入输出的一种方式。 特点:简单、经济,但可靠性差。,2019年4月17日星期三,2.条件传送方式,含义:首先查询外设状态,满足条件时才进行数据的传送,因此也叫查询传送方式。 特点:简单、可靠性高

7、,但CPU效率低。,输入,输出,2019年4月17日星期三,二、中断控制方式,含义:在满足传输条件时,外设向CPU发请求传输的中断信号,CPU接收请求后进入服务程序,在中断服务程序中进行输入输出操作。 特点:无需查询等待,CPU利用率大大提高。 不足:中断控制方式仍需要一系列本与输入输出无关的操作(如压栈保护等),因此对于高速I/O设备效率仍不算快。,2019年4月17日星期三,三、DMA控制方式,含义:直接由DMA控制器硬件控制数据传输,传输过程无需CPU干预。 特点:速度快(因为有DMA硬件直接控制),效率高。,2019年4月17日星期三,DMA方式与其它方式比较,MOV XX,AL,OU

8、T DX,AL,IN AL,DX,MOV AL,XX,无需CPU指令,2019年4月17日星期三,四、I/O处理机控制方式,尽管DMA方式优点比较突出,但在DMA进行传输之前,对DMA的初始操作、对数据的运算和处理等都需要处理器事先干预。为了让处理器彻底摆脱管理和控制I/O设备的负担,引入了I/O处理机控制方式。这种方式下,由专用I/O协处理器负责I/O操作和处理。,2019年4月17日星期三,6.3 I/O接口的读写技术,一、简单输入输出接口 输入采用缓冲器,输出采用锁存器。 1.常用缓冲器:,2019年4月17日星期三,简单I/O接口-锁存器,2.常用锁存器,2019年4月17日星期三,二

9、、简单I/O接口的读控制,读操作程序: MOV DX,377H IN AL,DX,2019年4月17日星期三,2.简单I/O接口的写控制,写操作程序: MOV DX,0DFFFH OUT DX,AL,2019年4月17日星期三,3. 16位I/O接口的读操作,读操作程序: MOV DX,2F6H IN AX,DX,2019年4月17日星期三,32位I/O接口的写操作,写操作程序: MOV DX,3ECH ;选中3ECH3EFH4个端口 OUT DX,EAX,常用接口芯片及应用,6.4 并行通信与串行通信 6.5 可编程串行通信接口芯片 6.6 可编程并行通信接口芯片 6.7 可编程定时/计数器

10、芯片,6.4 并行通信与串行通信,并行通信与并行接口 串行通信与串行接口 串行通信方式及异步通信协议 串行异步通信标准接口,2019年4月17日星期三,一、并行通信与并行接口,1. 并行通信 含义:并行通信是指将一个字节或一个字的各 位同时进行传输的一种通信方式。 要点:传输的各位同时传输(输入或输出)。 特点: (1)传输速度快 (2)传输的信息率高 (3)比串行通信需要更多通信信号线 用途:常用于传输距离短,数据传输速度要求 高的场合。,2019年4月17日星期三,含义:实现并行通信的接口称为并行通信接口。,2.并行接口,2019年4月17日星期三,二、串行通信与串行接口,1. 串行通信

11、含义:串行通信是把传输的数据一位一位地顺序传送的一种通信方式。 要点:按位传输,同一时刻仅传送一位。 特点: (1)通信线少 (2)成本低 (3)但通信速度慢 用途:适用于长距离数据传输。,2019年4月17日星期三,完成串行通信任务的接口称为串行通信接口,简称串行接口。 功能: (1)输入时,完成串行到并行格式转换 (2)输出时,完成并行到串行格式转换。,2.串行接口,2019年4月17日星期三,串行通信数据传输方式,有单工方式、半双工方式、全双工方式,2019年4月17日星期三,三、串行通信方式 及异步通信协议,串行通信方式 两种:串行异步通信和串行同步通信。 1. 异步通信 异步通信:指

12、字符与字符之间的传送是完全异步的,随机 的,但一个字符的位与位之间是同步的。 2. 异步通信特点 字符的发送是随机的。 每一个字符传输总以一个起始位为准,然后接收方与发送方保持同步(格式的统一),最后是停止位 通信双方可随时改变通信协议,即改变数据位、奇偶校验位和停止位长度或数据传输率。,2019年4月17日星期三,3异步通信协议,异步通信协议包括:一是字符的传送格式的规定,二是数据传送速率的要求。 异步通信格式 协议,即改变数据位、奇偶校验位和停止位长度或数据传输率。,2019年4月17日星期三,波特率,波特率(Baud Rate):指单位时间传送二进制数的位数,一般以秒为单位。 微机中常见

13、的波特率有110,300,600,1200,2400,4800,9600,19200等。微机最高波特率由硬件决定。 例:已知字符格式中数据为8位,无校验,1位停止位,在1分钟内连续不断传送了 69120个字符,求波特率。 解:一个字符=1+8+0+1=10位 每秒传送的字符个数=69120/60=1152个 波特率=位/秒=1152*10=11520bits/S=11.52Kbits/s,2019年4月17日星期三,4.同步通信,同步通信 将多个字符连接成一个数据块,数据块前加1或2个同步字符,尾部是校验字符,最后为同步字符。 同步的含义 字符与字符之间时间间隔固定不变,是同步的。,2019年

14、4月17日星期三,四、串行异步通信标准接口,串行异步通信的标准接口有RS-232C、RS-449、RS-422、RS-485以及20mA电流环等接口。 一、RS-232C接口(PC使用) 1. 接口逻辑:负逻辑传送 1:-15V-5V 0:+5V+15V 允许噪声容限为2V 因此,实际RS-232能够区分的逻辑电平: 1:-15V-3V 0:+3V+15V 只有在-3V+3V时逻辑为不确定,2019年4月17日星期三,2. RS-232接口信号及含义,2019年4月17日星期三,二、RS-232逻辑电平的转换,为什么要进行逻辑电压的转换? 因为RS-232逻辑电平与UATRT电平不一致 常用单

15、电源供电的232电平转换芯片 MAX232、TLC232、UN232、SP232等为不同厂家的典型单电源供电的232接口芯片,完成电平转换功能。根据UART的电平的不同可分为5V和3.3V。,2019年4月17日星期三,RS232电平转换原理,计算机通信是TTL和CMOS逻辑电平,而RS-232规定的电平与之不符,故需电平转换。,2019年4月17日星期三,RS232电平转换典型芯片,C1C5可为0.1uF4,7uF,具体值参见芯片说明 TIN为TTL输入 RIN为232输入 TOUT为由TTL转换后的232电平输出 ROUT为由RS232转换后的TTL电平输出,2019年4月17日星期三,R

16、S-232简单连接示意图,2019年4月17日星期三,二、RS-485接口标准,RS232C缺点:受共模干拢影响,通信距离不长。仅20米以内。 RS485主要特点: 采用差分传输方式,具有很强的抗共模干扰能力。 可同时连接多个接收器和发送器(32256个) 通信距离长,可达千米(标准为1.2Km)。 RS-485逻辑电平: 逻辑1:A的电位比B高200mV以上 逻辑0:B的电位比A高200mV以上,2019年4月17日星期三,RS-485接口的连接,由于是差分传输,因此RS485接口采用同名端相连的方法,即所有485芯片的A和A连在一起,B和B连在一起。 DI为数据发送端,RO为数据接收端,R

17、E收发使能 RE0接收,RE1发送 终端(两个远端)各接一个匹配电阻(120欧)防止传输反射。,2019年4月17日星期三,6.5 可编程串行通信接口芯片 16550与8250,一、16550及8250功能 (1) 具有全双工、双缓冲器发送器和接收器。 (2) 是串行异步通信接口(UART)。 (3) 波特率:8250=509600波特;16550=50115200波特。 (4) 异步通信格式,可通过编程选择。 (5) 具有自动奇偶校验、溢出和帧出错等检测标志。 (6) 片内具有优先级中断控制逻辑。 (7) 单一+5V,40个引脚的DIP封装形式。,2019年4月17日星期三,二、内部结构及工

18、作原理,2019年4月17日星期三,1.接收部分,接收移位寄存器将SIN脚的串行数据进行移位输入。 (1) 检测起始位:SIN变低后,连续测试8个RCLK时钟周 期,如果都是低电平,为起始位,否则为干扰信号。 (2) 采样数据位:每隔16个RCLK脉冲对SIN输入的数据位进 行一次采样。直到停止位,完成一个字符的接收。 (3) 去除无关位:接收同步控制电路自动去除起始位、奇 偶校验位和停止位。 (4) 串到并转换:同步控制电路控制接收移位寄存器将串 行数据转换成并行数据送入接收数据缓冲器(THR)中。 (5) 检查正确性:接收同步控制电路对数据的正确性进行检查。 如果在检测字符格式时有错误,则

19、通过线路状态寄存器 设置相应的出错标志。,2019年4月17日星期三,2.发送部分,发送部分负责接收CPU送来的并行数据,并通过移位的方法将其变换成串行信号,最后通过发送端SOUT发送出去。 (1) CPU的并行数据存入发送保持寄存器中,由 发送同步控制电路控制将该数据经过发送移 位寄存器处理,按照事先规定的格式加上起 始位、奇偶校验位和停止位,变换成串行数 据帧后由SOUT端输出串行数据信号。 (2) 当数据进入发送移位寄存器后,发送保持 寄存器自动变空,CPU即可再次写入数据。,2019年4月17日星期三,3. 通信线路控制寄存器,线路控制寄存器(LCR)接收CPU用OUT指令写入的控制命

20、令。控制寄存器的内容可以通过IN指令读出。线路控制寄存器的格式:,2019年4月17日星期三,4.通信线路状态寄存器,线路状态寄存器LSR记录串行数据发送和接收的状态,以供CPU查询。线路状态寄存器的格式:,2019年4月17日星期三,5. Modem控制寄存器,Modem控制寄存器MCR用于设置16550/8250与通信设备之间联络应答的输出信号,其格式如所示。,2019年4月17日星期三,6. Modem状态寄存器,Modem状态寄存器MSR反映8250与通信设备之间应答联络输入信号的当前状态以及这些信号的情况,各位的含义如图所示。,2019年4月17日星期三,7.中断允许寄存器IER,反

21、映了接收器和发送器以及Modem是否允许中断的情况,通过设置可以指定其中的某些部件允许中断。它是一个可读可写的寄存器。,2019年4月17日星期三,8.中断识别寄存器IIR,中断识别寄存器IIR,可以识别4个中断源引起的中断。接收器线路状态中断、接收数据准备好中断、发送保持寄存器空中断和调制解调器状态中断。,2019年4月17日星期三,9. 波特率发生器,16550及8250使用1.8432MHz的基准输入时钟,分频后产生所需的内部基准脉冲,作为接收器和发送器的同步脉冲,以控制接收移位寄存器和发送移位寄存器的移位操作。 发送或接收串行数据时使用的时钟频率是数据传送波特率的16倍 除数值与波特率

22、的关系: 除数1843200(波特率16),2019年4月17日星期三,波特率发生器与除数寄存器,根据波特率与除数的关系,可计算出不同波特率对应的除数值,如表所示。,2019年4月17日星期三,三、16550/8250引脚信号,几个最重要的信号 RCLK 接收时钟 SIN 串行输入引脚 SOU串行数据输出 A2,A1,A0 内部寄存器选择输入信号 其它信号,2019年4月17日星期三,其它引脚,1. 电源及时钟VCC,GND,XTLA1,XTLA2 2. 数据线:D7D0 3. 片选信号:CS0,CS1和/CS2(输入) 4. 选通信号: 地址输入选通: /ADS 数据输入选通:DISTR和/

23、DISTR(接/IOR) 数据输出选通:DOSTR和/DOSTR(接/IOW) 5. 主复位:MR 6. 接收时钟: =接收波特率的16倍 7. 清除发送: /CTS 8. 数据装置(MODEM)准备好: /DSR 9. 接收线路信号检测: /RLSD(有效时表示Modem检测数据载波 10.振铃指示:/RI 有效表示Modem已经接收到一个电话振铃信号,2019年4月17日星期三,其它引脚续,11. 数据终端准备好: /DTR 有效时通知Modem,接口已准备好 12. 请求发送: /RTS有效请求发送数据 13. 用户输出引脚:/OUT1和/OUT2(由Modem控制寄存器决定) 14.

24、片选信号输出:CSout 片选输入信号CS0=1,CS1=1/CS2=0时,Csout=1(高电平) 15. 驱动器禁止: DDIS,有效时禁止外部总线转换器对系统总线的驱动. 16. 波特率输出: /BAUDout以16倍波特率的时钟输出 17. 中断请求:INTRPT当允许中断时,16550/8250内部发生某种中断时,该引脚为高电平有效,向8259A发中断请求信号.,2019年4月17日星期三,四、串行接口的编程及应用,1.串行接口的端口地址分配,2019年4月17日星期三,2.串行接口初始化,串行接口初始化的任务: (1)设置波特率 (2)确定通信的具体格式 (3)设置操作方式 (4)

25、设定是否使用中断、是否自测试操作等等。,2019年4月17日星期三,设置波特率方法,计算除数值 除数1843200(波特率16) 写线路控制寄存器,使DLAB=1以访问除数寄存器 先将除数低字节写入低字节寄存器端口 再将除数高字节写入高字节寄存器端口 注意: 线路控制寄存器地址:3FBH(COM1),2FBH(COM2) 除数低字节寄存器: 3F8H(COM1),2F8H(COM2) 除数高字节寄存器: 3F9H(COM1),2F9H(COM2),2019年4月17日星期三,1.设置波特率程序段,假设设置波特率为11520,则初始化程序片段如下: MOV AL,10000000B ;DLAB=

26、1 MOV DX,3FBH ;指向线路控制寄存器端口 OUT DX,AL ;写入线路控制寄存器 MOV AL,0AH ;置产生11520波特率的除数低字节 MOV DX,3F8H ;除数低字节寄存器口地址 OUT DX,AL ;写入除数低字节 MOV AL,00 ;除数高字节 INC DX ;指向除数高字节寄存器口地址 OUT DX,AL ;写入除数高字节,2019年4月17日星期三,2.设置通信数据格式方法,根据要求确定格式 将格式字写入线路控制寄存器,并使DLAB=0以正常工作 例子:假设一帧数据含有8位数据、1位停止位、奇校验,则有关程序如下: MOV AL,00001011B ;通信控

27、制寄存器控制字 MOV DX, 3FBH ;线路控制寄存器口地址 OUT DX, AL ;写入线路控制寄存器,2019年4月17日星期三,3.自测工作(自发自收),MOV AL,00010011B ;自发自收 MOV DX,3FCH ;Modem控制寄存器地址 OUT DX, AL ;写入线路控制寄存器,2019年4月17日星期三,4.设置中断允许寄存器,仅允许接收中断和发送中断:(COM1) MOV AL, 00000011;仅允许收、发中断 MOV DX, 3F9H OUT DX, AL ;写入中断允许寄存器,2019年4月17日星期三,三、串行通信实例,两台微机利用COM1(串行口1)进

28、行查询通信,只用 三根连接线。 双机通信的要求如下:数据为7位、1位停止位、奇校 验、波特率为19200;双机同时运行该程序,一方键入 的字符在另一方屏幕上显示,当按下小写字母q时, 结束通信回到DOS。 程序见教材P.261(COMMEX.ASM),6.6可编程并行接口芯片8255A,8255的内部结构及引脚信号 8255的工作方式 8255的编程,2019年4月17日星期三,一、 8255的内部结构及引脚信号,2019年4月17日星期三,引脚信号,(1) 与外设接口信号引脚 PA7PA0 A口的8个I/O引脚 PB7PB0 B口的8个I/O引脚 PC7PC0 C口的8个I/O引脚。 (2)

29、 与系统总线接口信号引脚 D7D0 数据线 /RD,/WR,/CS RESET 高电平有效,有效时8255内部寄存器清除,同时三个数据端口被自动设为输入端口。,2019年4月17日星期三,8255A的端口操作,二、8255的工作方式,基本输入输出方式-方式0 选通输入输出方式-方式1 双向输入输出方式-方式2,2019年4月17日星期三,基本输入输出方式-方式0,方式0没有规定固定的用于应答式的联络信号线。 在此方式下,三个数据端口A、B和C中的任何一个端口都可由程序设定为8位的输入口或输出口。 C端口的两个半口(高4位和低4位)可独立设为输入或输出端口。 端口输入具有缓冲功能;输出具有锁存功

30、能。 方式0下的各端口输入或输出有24=16种不同的组合。,2019年4月17日星期三,选通输入输出方式-方式1,方式1规定固定的用于应答式的联络信号线。 A口和B口可作为输入或输出端口使用,而此时C口的某些位与它们配合,作为控制或通信联络信号, 没有使用的C口某些位还可单独立定义为I/O口用。 方式1下A和B端口的输入和输出具有不同的组态。内部逻辑不同。 下面分别介绍A口输入、B口输出、A口输出和B口输出不同情况下的内部逻辑。,2019年4月17日星期三,方式1下的输入组态,2019年4月17日星期三,方式1下的输入工作波形,2019年4月17日星期三,方式1下的输出组态,2019年4月17

31、日星期三,方式1下的输出工作波形,2019年4月17日星期三,双向输入输出方式-方式2,方式2是双向的数据传输方式,仅限于A口,这时C端口配合其工作。,2019年4月17日星期三,三、8255编程,对8255编程首先要写入方式选择控制字,然后再行输入输出操作。 操作时可对端口C进行置/复位操作。 因此:8255有两个控制字是编程的关键所在。 方式选择控制字 端口C置/复位控制字,2019年4月17日星期三,方式选择控制字写入控制口,2019年4月17日星期三,例6.3,【例6.3】 编写对8255的初始化程序片段,要求:使A口为方式0输入,B口为方式0输出,C口作为8位的输出口使用。8255控

32、制端口的地址为12BH。 解:对照方式选择控制字格式可得到控制字为:10010000B=90H,初始化程序片段: MOV AL,90H ;方式选择控制字 MOV DX,12BH ;由于端口号256,用DX间接寻址 OUT DX, AL ;写入控制寄存器,2019年4月17日星期三,例6.4,【例6.4】 如果把A口设置为方式0输入,B口设成方式1输出,C口除了与B口方式1输出配合的PC0到PC2外,其PC3设成输入,C上半口(PC7PC4)设为输出。则对照控制字格式,得其方式选择控制字为:10010101B=95H。 解:假设8255的口地址为60H63H,并知道8255的A0和A1分别与CP

33、U总线的A0和A1相连,写出对8255的初始化程序片段。 对8255的初始化程序只需要两条指令如下: MOV AL, 95H ;方式选择控制字 OUT 63H,AL ;写入控制寄存器,2019年4月17日星期三,端口C置/复位控制字写入控制口,2019年4月17日星期三,例6.5,【例6.5】使A口为方式1输入,且采用中断传送,B口采用方式0输出,其余C口的位作为输出。假设控制端口地址为63H。则程序段为: 解: MOV AL,10110000B ;A口方式1输入,B口方式0输出,其余C口位输出 OUT 63H, AL;方式选择控制字写入控制寄存器 MOV AL,00001001B ;置位/复

34、位控制字,使PC4=1,即使INTE=1允许内部中断 OUT 63H, AL ;置位/复位控制字写入控制寄存器,2019年4月17日星期三,三、8255作为打印机接口实例,2019年4月17日星期三,打印机接口的时序要求,打印程序,MOV AL, 0A8H ;方式选择字(C上半口输入PC4) MOV DX, 343H ;控制端口 OUT DX, AL ;方式选择控制字写入控制口 MOV CX, Counter ;打印字符个数装入计数器 MOV BX, OFFSET Pstrings;Counter,Pstrings已定义(P.255) LP1: MOV AL, BX MOV DX, 340H

35、OUT DX, AL ;送一个字符到8255的A口 MOV DX, 342H LP2: IN AL, DX ;读取C口状态(准备检查BUSY状态) ANDAL, 00010000B ;屏蔽无关位, 取BUSY JZ LP2 ;等待接收新数据 LP3: IN AL, DX ;读取C口状态 AND AL, 00010000B ;屏蔽无关位, 取BUSY对应的PC4 JNZ LP3 ;BUSY=1等待,直到不忙 INC BX LOOP LP1,6.7 可编程定时/计数器8253(8254),三种方法:软件定时、硬件定时、可编程硬件定时 主要内容:,8253/8254的内部结构及引脚信号,8253 /

36、8254的工作方式,8253/8254的编程,8253最高工作频率2.6MHz 8254最高工作频率为10MHz,2019年4月17日星期三,8253/8254主要功能,1用于计数 当用于计数时,计数装入初始值后,在GATE为高电平的情况下,可以用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲,计数器减1一次,当计数值减到结束时,由OUT端输出一个信号。如果计数未结束,而外部没有触发的脉冲信号,则可以通过读取现行计数器的值来求出计数值。 2用于定时 当用于定时时,计数器装入初值后,在GATE为高电平情况下,由CLK脉冲触发开始自动计数,当减1计数结束时,在OUT端发送计数结束信号。定

37、时时间长度就是计数初值与CLK时钟周期的积。 由此可见,定时和计数的实际是计数,只是定时是在计数的基础上再乘以时钟周期。,2019年4月17日星期三,8253/8254内部结构,2019年4月17日星期三,8253端口及其操作,8253和8254的工作方式,方式0 中断信号发生器 方式1 单稳负脉冲信号发生器 方式2 速率信号发生器 方式3 方波信号发生器 方式4 软件触发的选通信号发生器 方式5 硬件触发的选通信号发生器,2019年4月17日星期三,方式0 中断信号发生器,2019年4月17日星期三,方式1 单稳负脉冲信号发生器,2019年4月17日星期三,方式2 速率信号发生器,2019年

38、4月17日星期三,方式3 方波信号发生器偶数初值,2019年4月17日星期三,方式3 奇数初值,2019年4月17日星期三,方式4 软件触发的选通信号发生器,2019年4月17日星期三,方式5 硬件触发的选通信号发生器,2019年4月17日星期三,8253/8254的编程方法,8253/8254控制字,2019年4月17日星期三,8253/8254计数范围,二进制计数:0000HFFFFH,即0-65535 BCD码计数:00009999 最小和最大计数值: 最大计数为0000,不是FFFFH或9999。 除方式2,3外,最小值都为1。,2019年4月17日星期三,8253/8254初始值计算

39、,假设已知8253相应通道的CLK端接入的时钟频率为fCLK,周期记为TCLK=1/fCLK,要求产生的周期性信号频率为F(周期为T)或定时时间为T(F=1/T),则所需计数初值n为: 在计算时注意时间和频率的单位一致性。,2019年4月17日星期三,8253/8254编程示例,已知8254各通道时钟接8MHz信号,端口地址为700H、702H、704H和706H,要求在OUT0产生周期为10us的方波,OUT1产生2KHz的连续脉冲信号,OUT3产生一个最大的负脉冲。 分析: OUT0:初值=10us8MHz=80 方式3 OUT1:初值=8MHz/2KHz=4000 方式2 OUT2:初值

40、=0,二进制计数 方式1,2019年4月17日星期三,示例程序片段,;CTC0 MOV DX,706H ;控制端口地址 MOV AL,00010110B ;CTC0控制字 OUT DX,AL MOV DX,700H ;CTC0口地址 MOV AL,80 ;CTC0初值 OUT DX,AL,2019年4月17日星期三,;CTC1,MOV DX,706H ;控制端口地址 MOV AL,01110100B ;CTC1控制字 OUT DX,AL MOV DX,702H ;CTC1口地址 MOV AX,4000 ;CTC1初值 OUT DX,AL ;先写低字节 MOV AL,AH ;取高字节 OUT D

41、X,AL ;后写高字节,2019年4月17日星期三,;CTC2,MOV DX,706H ;控制端口地址 MOV AL,10110010B ;CTC2控制字 OUT DX,AL MOV DX,704H ;CTC2口地址 MOV AL,0 ;CTC2初值 OUT DX,AL ;先写低字节 OUT DX,AL ;后写高字节,2019年4月17日星期三,8253应用,OUT0:55ms方波 OUT1:15us连续波 OUT2:1KHz方波 8255的B端口地址61H,2019年4月17日星期三,应用程序片段,;CTC0初值=55ms*1.19MHz=65450 MOV AL,00110110B ;CT

42、C0控制字 OUT 43H,AL ;写入控制端口 MOV AX,65450 ;CTC0初值 OUT 40H,AL ;先写低字节 MOV AL, AH OUT 40H,AL ;后写高字节,2019年4月17日星期三,;应用程序CTC1,;初值=15*1.19=17.85 取 18=12H MOV AL,01010100B ;CTC1控制字 OUT 43H,AL ;写入控制端口 MOV AL,12H ;CTC1初值 OUT 41H,AL ;写初值至CTC1,2019年4月17日星期三,;应用程序CTC2,;CTC2初值=1.19M/1K=1190 MOV AL,10110110B ;CTC2控制字 OUT 43H,AL ;写入控制口 MOV AX,1190 ;CTC2初值 OUT 42H,AL ;先写低字节 MOV AL, AH ;取高字节 OUT 42H,AL ;后写高字节 IN AL, 61H ;读8255A的B口的值 MOV AH, AL ;暂存AH中 OR AL, 00000011B OUT 61H, AL ;输出使扬声器发声,本章习题,作业: 习题6.10, 6.12, 6.13, 6.14 习题6.15, 6.16, 6.17, 6.19,6.20,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1