常用可编程并行接口芯片及应用

上传人:san****019 文档编号:84176561 上传时间:2019-03-03 格式:PPT 页数:47 大小:279.50KB
返回 下载 相关 举报
常用可编程并行接口芯片及应用_第1页
第1页 / 共47页
常用可编程并行接口芯片及应用_第2页
第2页 / 共47页
常用可编程并行接口芯片及应用_第3页
第3页 / 共47页
常用可编程并行接口芯片及应用_第4页
第4页 / 共47页
常用可编程并行接口芯片及应用_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《常用可编程并行接口芯片及应用》由会员分享,可在线阅读,更多相关《常用可编程并行接口芯片及应用(47页珍藏版)》请在金锄头文库上搜索。

1、主要内容 8.1 可编程接口芯片的概念 8.2 计数器/定时器8253 8.3 可编程并行接口8255A 8.4 可编程DMA控制器8237A 学习要求 1.掌握8253的编程应用 2.掌握8255A的编程应用,第八章 可编程接口芯片及应用,8.1 可编程接口芯片的基本概念,(1)CPU与I/O外设交换信息的方式有两种: 并行通信:数据各位同时向外传送。 优点:传输速率快; 缺点:传输多少位至少要多少根传输线,工程造价高。 串行通信:数据一位一位传送,通信双方沿单根线或双根线 实现二进制序列传输称串行通信。 优点:一根或两根线,线路简单,成本低,适用于远距离传输。 缺点:传输速率慢。,(2)可

2、编程接口芯片 不可编程接口芯片,接口功能单一,用户不可改变。 如74LS244、74LS273 可编程接口芯片,大多是多功能、多通道的。一个通道用户 可定义为输入端口,也可以规定为输出端口。选择的方法是在 芯片正式工作之前,编写一段程序写入该该芯片的控制寄存器 中,用来选择不同的通道和不同的电路功能,使之按照人们所 希望的方式工作,这个过程称为“初始化编程”。,8.1 可编程接口芯片的基本概念,(3)多通道、多功能 多通道:是指一个接口芯片一方面可与CPU相连,另一方面可连接 多个外设。 多功能:是指一个接口芯片能够实现多种接口功能,使接口芯片具 有不同的电路工作状态。,8.2 计数器/定时器

3、8253/8254,定时及计数技术在计算机中具有很重要的作用。比如:定时采样、 定时中断、定时启动电机等,这都需要一类定时及计数电路,因 此微机系统都必须有定时技术。 为获得稳定准确的定时,必须有准确稳定的时间基准(简称时基)。 定时:本质是计数,把时间片加起来就获得一段时间。 定时方式:软件或硬件件。 软件定时:利用CPU执行指令需要若干指令周期的原理,运用软 件编程,然后循环一段程序而产生延时,再配合简单接口可以向 外发送定时控制信号。 优点:不需增加硬件电路只需编制相应的延时子程序即可; 缺点:占用CPU的工作时间,浪费CPU资源。 硬件定时:硬件定时有专用的多谐振荡器件或单稳态触发器。

4、 缺点:改变定时要改变硬件。,可编程通用定时器/计数器芯片:使用灵活,定时时间长,改变定时 时间或工作方式只要改变编程控制参数即可。初始化编程后,就按 设定的方式工作,不再占用CPU的时间。,8.2.1 8253功能概述,主要功能特点: 8253是可编程的计数定时器 每个8253有三个独立的16位计 数器通道,有六种工作方式可 供选择。 每个计数器可按二-十进制计数。 每来一个脉冲计数器减1,当计数 器减到0时,输出端OUT产生一个 跳变。 每个计数器可用作定时器,也 可用作计数器。二者的本质都是 基于计数器减1工作方式。 所有输入/输出都与TTL电平兼 容。,8.2.2 计数/定时的内部结构

5、及工作原理,控制寄存器,初始值寄存器,减1计数器,计数输出寄存器,状态寄存器,CLK,GATE,OUT,组成:,控制寄存器决定工作模式 状态寄存器反应工作状态 初值寄存器计数的初值 计数输出寄存器CPU从中读 当前计数值 计数器执行计数操作, CPU不能访问,每个计数器有三个引脚与外设相连: CLK 外脉冲输入端 GATE 门控输入端 OUT 计数器回零/时间到的信号输出端,8.2.3 计数/定时的工作原理,工作原理:对CLK信号进行减1计数 首先,CPU把控制字写入控制寄存器,计数初始值写入初值寄存器 计数从初值开始,每当CLK信号出现一次,计数值减1 当计数值减到0,从OUT端输出规定的信

6、号 CLK信号出现时,计数器是否减1,由门控信号GATE控制,8.2.3 计数/定时的工作原理,CLK是计数输入信号,计数器对CLK端出现的脉冲个数进行计数 CLK端可以输入外部事件 CLK端可以接入固定频率的时钟信号,从而实现计时 OUT信号在计数结束时发生变化 可将OUT作为外部设备的控制信号 可将OUT作为向CPU申请中断的信号 CPU可以从计数输出寄存器读出当前计数值。 读前,应向控制寄存器发送锁存命令,8.2.4 8253的编程结构,1片8253内部有三个计数器,结构完全相同,8253的引脚如下图所示。 DIP24,+5V电源。 其内部结构和寻址方式 见: P. 388,一片8253

7、占用四个连续的端口地址,分别对应三个计数器CNT0、CNT1、CNT2和控制寄存器。每个计数器内部都有一个8位控制寄存器,三个控制寄存器共用一个端口,在编程结构图中画为一个。,8253内部寄存器与地址码A1、A0的关系,A1 A0 0 0 选中CNT0计数器 进行读写 0 1 选中CNT1计数器 进行读写 1 0 选中CNT2计数器 进行读写 1 1 选中控制寄存器 进行写,8.2.4 8253的编程结构,8.2.4 8253的编程结构,8253控制字的格式,每个计数器的初值寄存器(CR)、输出锁存器(OL)都是16位的,但它们对应相同的一个8位端口地址,所以16位的CR、OL作为两个8位寄存

8、器读写,由控制寄存器控制读写高8位/低8位,8.2.5 8253的编程命令,初始化,写入控制字 按控制字要求写入计数初值 计数器初值计算:N=fCLK/fOUT=TOUT/TCLK,例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。计数器0,工作模式2,CR/OL仅使用低8位,初值为100,计数值使用二进制,MOV AL, 14H OUT 73H, AL MOV AL, 100 OUT 70H, AL,8.2.5 8253的编程命令,例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。计数器2,工作模式1,CR/OL使用

9、16位,初值为1234,计数值使用BCD,MOV AL, B3H OUT 73H, AL MOV AX, 1234H OUT 72H, AL MOV AL, AH OUT 72H, AL,8.2.5 8253的编程命令,读出命令,1)发出锁存命令,使当前计数值锁存在OL中 2)读OL,获得当前计数值,例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。读出计数器0的当前计数值,放在BX中,MOV AL, 0H OUT 73H, AL IN AL, 70H MOV BL, AL IN AL, 70H MOV BH, AL,8.2.6 8253的工作模式,工作模

10、式决定以下内容: 1)门控信号的影响 高电平允许,当GATE=0,即使出现CLK,也不计数 模式0,2,3,4 上升沿允许(上升沿触发) 模式1,5 2)OUT信号的状态 写入控制字后, OUT的状态 计数过程中, OUT的状态 计数终了, OUT的状态 3)计数操作可否重复 不可重复模式0,4 自动重复模式2,3 条件重复模式1,5,8.2.6 8253的工作模式,六种工作模式 详见P. 230,各种工作模式相同之处: 控制字写入计数器,所有的控制逻辑电路立即复位, 输出端OUT进入初始状态 计数初始值写入(GATE上升沿)之后,要经过一个 时钟周期,计数执行部件才可以开始进行计数操作。 因

11、为第一个下降沿将计数寄存器的内容送减1计数器 在每个时钟脉冲CLK的上升沿,采样门控信号GATE 在时钟脉冲的下降沿,计数器作减1计数,注意区分的几点: 不同的工作方式 启动计数器工作的方式不同 OUT输出波形不同 GATE信号的作用不同 本次计数过程中,GATE信号的改变对计数的影响 本次计数过程中,写入计数初值对计数的影响,8.2.6 8253的工作模式,8.2.6 8253的工作模式,方式0: 计数初值写入CR后,OUT由0到1跳变出现在n+1个时钟脉冲之 后 延迟时间TD=(n+1)TCLK 方式1: 单脉冲宽度T=n TCLK 方式2: 对输入端n个时钟脉冲,在输出端仅出现一个时钟脉

12、冲(负脉冲) N分频计数器,8.2.6 8253的工作模式,方式(方波发生器) 例:计数器工作模式3,计数器初值15,时钟脉冲频率为2MHz,确定OUT端输出方波的特性。 解:TCLK=1/2MHz=500ns 计数器初值15为奇数,输出分频波高电平宽度 TCLK(N+1)/2=4s 输出分频波低电平宽度 TCLK(N-1)/2=3.5s 方式4、5: 触发后n+1个时钟脉冲之后输出端产生选通脉冲信号,计数的启动 方式0、2、3、4都是在写入计数初值之后,就开始计数的 而方式1和方式5需要GATE端来外部触发脉冲(条件) ,才开始计数 输出波形 方式2、4、5的输出波形相似 方式2、3的波形连

13、续,方式3为方波 方式1输出的是宽度为为N个CLK脉冲周期的低电平有效脉冲 方式0在计数数过程中输出为低电平,计数结束时变为高电平,8.2.7 8253计数器小结,(1)8253工作方式小结,门控信号GATE 可以控制计数过程 方式0、2、3、4是电平起作用,允许/禁止计数 方式1、2、3、5是上升沿起作用,启动计数 对方式2、3来说,GATE信号的电平、上升沿 都可以起作用,8.2.7 8253计数器小结,8253的编程 初始化编程 写入控制字 写入计数初值 计数初值=CLK脉冲频率/输出脉冲频率 =定时时间(输出脉冲周期)/CLK周期 操作编程 写入计数初值(新) 读取计数器的计数值 向计

14、数器发锁存命令 读取计数器锁存的计数值,8.2.7 8253计数器小结,(2)8253的编程小结,8253的工作模式举例,例:计数器0工作模式4,初始化计数器,使装入计数器10 s后产生选通信号(设时钟频率2MHz,8253端口地址为50H53H)。 解:n+1=T/ TCLK=10/0.5=20 n=19=13H MOV AL, 18H OUT 53H, AL MOV AL, 13H OUT 50H, AL,8.2.8 8253的应用,1. PC机中8253的应用,计数器0:向系统日历时钟提供定时中断 模式3,控制字36H,计数器初始值0 计数器1:动态RAM刷新 模式2,控制字54H,计数

15、器初始值18(12H) 计数器2:控制扬声器发声 模式3,控制字B6H,计数器初始值1331(533H),PC机中,8253的端口地址为40H43H,8.2.8 8253的应用,2. 扬声器控制,设计一个程序,使扬声器发出600Hz频率的声音,按下任意键声音停止,PC机的发声系统以计数器2为核心。CLK2的输入频率1.19MHz, 改变计数器初值可以由OUT2得到不同频率的方波输出对于600Hz, 计数初值1.19MHz/600Hz=1938,发声系统受8255芯片B口的两个输出端线PB0、PB1的控制 PB0为1,使GATE2为1,计数器2能正常计数PB1为1,打开 输出控制门,8.2.8

16、8253的应用,2. 扬声器控制,CODE SEGMENT ASSUME CS:CODE START: IN AL, 61H OR AL, 03H OUT 61H, AL MOV AX, 1983 OUT 42H, AL MOV AL, AH OUT 42, AL MOV AH, 01H INT 21H IN Al, 61H AND AL, 0FCH OUT 61H, AL MOV AH, 4CH INT 21H CODE ENDS END START,8.2.8 8253的应用,3. 以2MHz输入8253,实现每5秒定时中断(设8253端口地址40H43H),分析:8253最大初值65536,CLK=2MHz可实现最大时间间隔 65536/(2106)=32.769ms 所以需要两个计数器串联,一个计数器的输出作为另一个计数器的输入,8.2.8 8253的应用,计数器1:模式2,OUT1每5ms输出一个脉冲 初值(2106)/(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号