安徽大学王年副院长课的微机原理 第七章

上传人:子 文档编号:57139569 上传时间:2018-10-19 格式:PPT 页数:113 大小:897.50KB
返回 下载 相关 举报
安徽大学王年副院长课的微机原理 第七章_第1页
第1页 / 共113页
安徽大学王年副院长课的微机原理 第七章_第2页
第2页 / 共113页
安徽大学王年副院长课的微机原理 第七章_第3页
第3页 / 共113页
安徽大学王年副院长课的微机原理 第七章_第4页
第4页 / 共113页
安徽大学王年副院长课的微机原理 第七章_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《安徽大学王年副院长课的微机原理 第七章》由会员分享,可在线阅读,更多相关《安徽大学王年副院长课的微机原理 第七章(113页珍藏版)》请在金锄头文库上搜索。

1、2018/10/19,共113页,1,第七章 典型可编程接口芯片的编程和应用,2018/10/19,共113页,2,1、数据输入和输出电路IO接口电路是为了保障主机与外设之间数据信息的交换。依据计算机主机发出的指令进行相应的输入和输出操作。由于数据信息的多样性,输入和输出电路应包含以下部分: 数据的缓冲与锁存 信息的转换 2、地址译码电路一个可编程接口芯片的内部一般有两个以上的IO端口,它们都挂在主机的系统总线上。 3、控制和状态寄存器控制寄存器是接收并存放CPU发来的控制命令(控制字)。状态寄存器的作用是保存外设的当前状态信息(如忙闲、 准备就绪等)。,接口芯片的组成,2018/10/19,

2、共113页,3,I/O接口电路的核心是集成电路芯片,称做“接口芯片”。 按功能分类: 通用接口芯片适用于大部分外设,例如:并行接口芯片8255A、串行接口芯片8251等; 专用接口芯片MC6845用于CRT显示接口电路;8279用于键盘接口电路;与CPU配合使用的中断控制器8259A、DMA控制器8237、定时/计数器8253等。 按可编程性划分: 可编程接口芯片可编写程序选定芯片的某种功能或工作方式。为设定芯片的工作方式而编写的程序段一般被称为该接口芯片的初始化程序段。8237、8255等。 不可编程的接口芯片8286、8282等。,接口芯片的分类,2018/10/19,共113页,4,实现

3、定时功能主要有三种方法,即 1、软件定时:指程序执行一个固定的循环,以得到不同的定时信号,其定时的时间常数是用每条指令的T周期数决定。(常用在延时时间不长,精度要求不高的场合) 2、不可编程的硬件定时:一般采用计数分频器,RC单稳等。(电路确定,定时时间和范围不能改变) 3、可编程的硬件定时:可编程的计数和定时器是专为微机系统而设计的,其工作方式可随时由CPU编程设置,因而能满足各种不同的计数和定时要求。,计数和定时,2018/10/19,共113页,5,Intel 8253定时器/计数器,一、概述1、定时与计数器的概念定时器:在时钟信号作用下,进行定时的减“1”计数,定时时间到(减“1”计数

4、回零),从输出端输出周期均匀、 频率恒定的脉冲信号。由上述可知,定时器强调的是精确的时间。,计数和定时,2018/10/19,共113页,6,定时举例:一天24小时的计时,称为日时钟。在监测系统中,对被测点的定时取样。在读键盘时,为去抖,一般延迟一段时间,再读。在微机控制系统中,控制某工序定时启动。,计数和定时,2018/10/19,共113页,7,计数器:在时钟信号作用下,进行减“1”计数,计数次数到(减“1”计数回零),从输出端输出一个脉冲信号。,计数举例: 对零件和产品的计数; 对大桥和高速公路上车流量的统计,等等。,Intel8253在微机系统中可用作定时器和计数器。定时时间与计数次数

5、是由用户事先设定。,计数和定时,2018/10/19,共113页,8,2、 8253 定时/计数器与CPU的关系8253 定时/计数操作过程与CPU相互独立,并行操作。3、8253定时/计数结束时产生的脉冲信号可用于对某一事件进行控制,也可作为一外部中端请求信号。,计数和定时,2018/10/19,共113页,9,二、Intel 8253 定时器/计数器的基本性能参数,1、一片8253内部有3个16位的计数器(相互独立)。2、每个计数器的内部结构相同,可通过编程手段设置为6种不同的工作方式来进行定时/计数。3、每个计数器在开始工作前必须预置时间常数(时间初始)。4、每个计数器在工作过程中的当前

6、计数值可被CPU读出(8254不同)。5、最高计数频率能达到2MHz(8254为10MHz)。6、可以按照二进制码或BCD码两种方式计数。 (注:时间常数也可在计数过程中更改),计数和定时,功能: 具有计数、定时、测频、代替软件延时和产生多种频率的脉冲信号。8253适用于许多场合,如用作可编程方波频率产生器、分频器、程控单脉冲发生器等等。,2018/10/19,共113页,10,三、8253 定时器/计数器的内部结构,1、内部结构,内部逻辑结构8253/8254内部有6个模块,2018/10/19,共113页,11,8253 定时器/计数器的内部结构框图,2018/10/19,共113页,12

7、,定时器/计数器的内部结构,数据总线缓冲器,它是一个三态、双向8位寄存器,用于将8253与系统数据总线D0D7 相连。读写操作的信息包括: CPU在对8253进行初始化编程时,向它写入的控制字。 CPU向某一计数器写入的计数初值。 从计数器读出的计数值。,读写控制电路,CS:片选信号 RD:读信号,读取所选定的计数器通道中的内容。 WR:写信号,将计数初值写入所选中的计数通道中或者将控制字写入控制字寄存器中。 A1、A0:端口选择信号 ,3个计数器通道(02)和一个控制字寄存器端口。(8086/8088有区别),2018/10/19,共113页,13,8253的端口寻址及基本操作,2018/1

8、0/19,共113页,14,8253 内部的各计数器的结构,CEH(8) CEL(8),CRH(8) CRL(8),OLH(8) OLL(8),8位状态字,8254,2018/10/19,共113页,15,对输入到CLK引脚上的脉冲按二进制或十进制(BCD码)格式进行计数。 采用倒计数法。当计数器的值减为0时,便从OUT引脚输出一个脉冲信号。 输出波形由工作方式决定,同时还受到从外部加到GATE门控信号控制。 作外部事件计数器时,由外部事件产生的CLK脉冲的间隔可以是不相等的。 作定时器时CLK应输入精确的时钟脉冲。定时时间取决于计数脉冲的频率和计数器的初值,即:定时时间时钟脉冲周期TC预置的

9、计数初值n 例:在某系统中,8253所使用的计数脉冲频率为0.5MHz,即脉冲周期TC2s,如果给8253的计数器预置的初值n500,则当计数器计到数值为0时,定时时间T2s5001ms。 注意:对8253来讲,外部输入到CLK端上的时钟脉冲频率不能大于2MHz。如果大于2MHz,必需经分频后才能送到CLK端。,8253 的内部的各计数器的结构,2018/10/19,共113页,16,控制字寄存器,数制选择,0:二进制计数 1:BCD码计数,2018/10/19,共113页,17,SC1,SC0,M2,RW1,RW0,BCD,M0,M1,D7 D6 D5 D4 D3 D2 D1 D0,00 计

10、数器锁存命令,00 选择计数器0 01选择计数器1 10 选择计数器2,计数器选择,未用,锁存计数器当前计数值控制字,2018/10/19,共113页,18,关于的控制字说明,1、8253只有一个工作方式控制字,但是对每个计数器而言,它们的工作方式控制字内容一定各不相同(前两位不同),所用各计数器的控制字需要分别设置,先后不计。2、8253的工作方式控制字的特殊形式可用于对计数器的当前计数值进行锁存。RW1RW2=00,M2、M1、M0、BCD未用3、在工作方式控制字被设置之后,随后必须紧接着给计数器预设置计数初值,计数器方可开始工作。,2018/10/19,共113页,19,4.计数初值计数

11、初值与输入时钟(CLK)频率及输出波形(OUT)频率之间的关系为:N= fCLK / fOUT或者: N= TOUT / TCLK,5. 8253初始化的工作有两个内容: (1)写入控制方式命令,以选择计数器(3个计数器之一),确定工作方式(6种方式之一),指定计数器计数初值的长度和装入顺序以及计数值的码制(BCD或二进制码)。 (2)向已选定的计数器按方式命令的要求写入计数初值。 6. 最大计数初值:0000表示65536或10000。,2018/10/19,共113页,20,例1:选择2号计数器,工作在方式3 ,计数初值为533H(2个字节),采用二进制计数。其初始化程序段为MOV DX,

12、307H ;命令口MOV AL,10110110B;2号计数器的初始化命 令字OUT DX,AL ;写入命令寄存器MOV DX,306H ;2号计数器数据口MOV AX,533H ;计数初值OUT DX,AL ;先送低字节到2号计数器MOV AL,AH ;取高字节送ALOUT DX,AL ;后送高字节到2号计数器,2018/10/19,共113页,21,例2:要求读出并检查1号计数器的当前计数值是否是全“1”(假定计数值只有低8位),其程序段为MOV DX,307H ;命令口 L :MOV AL,01000000B ;1号计数器的锁存命令OUT DX,AL ;写入命令寄存器MOV DX,305

13、H ;1号计数器数据口IN AL,DX ;读1号计数器的当前计数值CMP AL,0FFH ;比较JNE L ;非全“1”,再读HLT ; 是全“1”,暂停,2018/10/19,共113页,22,初始化编程步骤,8253没有复位信号,加电后工作方式不确定。 写入控制字 向控制字寄存器写入一个控制字,选定计数器通道,规定该计数器的工作方式和计数方式。写入控制字还起到复位作用,使输出端OUT变为规定的初始状态,并使计数器清0。 写入计数初值 向选中的计数器端口地址中写入一个计数初值,初值设置时要符合控制字中有关格式的规定。初值可以是8位数据,也可以是16位数据。若是8位数,只要用一条输出指令就可完

14、成初值的设置。如果是16位数,则必须用两条输出指令来完成,而且规定先送低8位数据,后送高8位数据。注意,计数初值为0时,也要分成两次写入,因为在二进制计数时,它表示65536,BCD计数时,它表示10000。 由于3个计数器分别具有独立的编程地址,而控制字寄存器本身的内容又确定了所控制的寄存器的序号,因此对3个计数器通道的编程没有先后顺序的规定,可任意选择某一个计数器通道进行初始化编程,只要符合先写入控制字,后写入计数初值的规定即可。 在计数初值写入8253后,还要经过一个时钟脉冲的上升沿和下降沿,才能将计数初值装入实际的计数器,然后在门控信号GATE的控制下,对从CLK引脚输入的脉冲进行递减

15、计数。,2018/10/19,共113页,23,1、方式0 “一次有效”1)计数器写完控制字,写信号的上升沿后(相应OUT就开始变成低电平),写完计数值后的下一个CLK脉冲,写入CE,开始计数。当计数器减到零时,OUT立即输出高电平(n+1个脉冲后)。,8253 的工作方式,3)在计数过程中可改变计数值(若是8位数,写入新值后,重新开始计数;十六位数写入第一个字节,停止计数,写入第二个字节后,按新值开始计数。,2)计数过程中,GATE=0,停止计数(计数值保持不变),GATE变高后,接着计数。,4)8253内部没有中断控制电路,也没有专用的中断请求线。若要用于中断,则可用OUT信号,但要有外接的中断优先权排队电路与向量产生电路。,

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

当前位置:首页 > 生活休闲 > 科普知识

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