《第八章计数器定时器接口技术PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第八章计数器定时器接口技术PPT讲稿.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章计数器定时器接口技术第1页,共31页,编辑于2022年,星期三本章内容本章内容8.1 基本概念基本概念8.2 8253A内部结构和引脚内部结构和引脚8.3 8253A的编程的编程8.4 8253A的工作方式的工作方式8.5 8253A的应用的应用第2页,共31页,编辑于2022年,星期三8.1 概概 述述 定时定时:定时打铃定时打铃石英钟石英钟红绿灯红绿灯动态存储器的刷新定时动态存储器的刷新定时系统的日历时钟系统的日历时钟 计数计数:生产线生产线出租车计费出租车计费点钞机点钞机定时信号定时信号软件定时软件定时不可编程硬件定时不可编程硬件定时可编程硬件定时可编程硬件定时第3页,共31页,编
2、辑于2022年,星期三 延迟子程序延迟子程序,包含一定的指令包含一定的指令,设计者要求对这些指令的设计者要求对这些指令的执行时间进行严密的计算或者精确的测试执行时间进行严密的计算或者精确的测试,以便确立延迟时以便确立延迟时间是否符合要求间是否符合要求,时间长时用循环程序。时间长时用循环程序。优点:不需添加硬件设备,只需编制有关延时程序优点:不需添加硬件设备,只需编制有关延时程序缺点:增加缺点:增加CPU的开销,时间越长,开销越大,浪费的开销,时间越长,开销越大,浪费CPU资源。资源。1.软件定时软件定时第4页,共31页,编辑于2022年,星期三 单稳态延时电路或计数电路来实现延时或定时单稳态延
3、时电路或计数电路来实现延时或定时 器件器件容易老化,导致定时不准(容易老化,导致定时不准(RC决定脉冲宽度)。决定脉冲宽度)。2.不可编程的硬件延时不可编程的硬件延时 在实际中很少单独采用在实际中很少单独采用1、2,而采用,而采用1、2结合的方法,结合的方法,并且将它们作成一个通用的器件,这就是并且将它们作成一个通用的器件,这就是3。3.可编程硬件定时可编程硬件定时 主要思路:计数器主要思路:计数器/定时器开始工作,此时定时器开始工作,此时CPU 不必过问它的工作,而可以去作别的工作。计数器不必过问它的工作,而可以去作别的工作。计数器/定时器定时器计数或定时达到确定值时,可以自动产生一个输出。
4、计数或定时达到确定值时,可以自动产生一个输出。第5页,共31页,编辑于2022年,星期三 优点:计数或定时时,不占用优点:计数或定时时,不占用CPU,并且利用计数,并且利用计数/定时器产生中断信号,还可以建立多作业环境,提高了定时器产生中断信号,还可以建立多作业环境,提高了CPU 的效率。的效率。可编程计数器可编程计数器/定时器具有两种功能:定时器具有两种功能:一是作为计数器,设置好计数初值后,计数器被启一是作为计数器,设置好计数初值后,计数器被启动,便开始减动,便开始减1计数,当减为计数,当减为0时,输出一个信号;时,输出一个信号;二是作为定时器,设置好计数初值后,启动减二是作为定时器,设置
5、好计数初值后,启动减1计数,计数,按定时常数不断的输出为时钟周期整数倍的定时间隔。按定时常数不断的输出为时钟周期整数倍的定时间隔。两者区别:计数时,减到两者区别:计数时,减到0之后,输出一个信号结束之后,输出一个信号结束定时时,不断的产生信号两者都基于减定时时,不断的产生信号两者都基于减1计数计数第6页,共31页,编辑于2022年,星期三8.2 8253A内部结构和引脚内部结构和引脚1.8253的主要功能的主要功能3个独立的个独立的16位计数通道;位计数通道;每个计数器都可以单独使用,采用二进制或每个计数器都可以单独使用,采用二进制或BCD;计数器的计数速率可达计数器的计数速率可达2MHz,最
6、高达,最高达2.6MHz;每个通道有每个通道有6种工作方式;种工作方式;输入输入出与出与TTL兼容。兼容。2.8253的内部结构的内部结构 8253A由数据总线缓冲存储器、读由数据总线缓冲存储器、读/写控制电路、写控制电路、控制字寄存器及控制字寄存器及3个独立的计数通道组成。个独立的计数通道组成。第7页,共31页,编辑于2022年,星期三第8页,共31页,编辑于2022年,星期三 数据总线缓冲器数据总线缓冲器 8位三态缓冲器位三态缓冲器,CPU通过数据总线缓冲器向通过数据总线缓冲器向8253A写入写入数据和命令或从数据总线缓冲器向数据和命令或从数据总线缓冲器向8253A读取数据或状态信读取数据
7、或状态信息。息。三个基本功能:三个基本功能:a.向向8253写入确定工作方式的命令写入确定工作方式的命令 b.向向8253计数器寄存器装入计数值计数器寄存器装入计数值 c.读出读出8253的计数值的计数值 读写控制逻辑读写控制逻辑 8253内部操作的控制部分内部操作的控制部分,接受来自系统总线的接受来自系统总线的信息信息,产生控制整个芯片的控制信号。产生控制整个芯片的控制信号。第9页,共31页,编辑于2022年,星期三a.A1A0端口选择信号,由端口选择信号,由CPU输入,选择输入,选择3个通道个通道 和控制端口。和控制端口。b.RD和和 WR输入低电平有效。输入低电平有效。RD CPU读取读
8、取A1A0所选定通道内计数器的当前值所选定通道内计数器的当前值WR CPU向向8253控制字寄存器或向计数器置计数初值控制字寄存器或向计数器置计数初值c.CS 片选信号,低电平有效,通常由端口地址的片选信号,低电平有效,通常由端口地址的 高位地址译码形成。高位地址译码形成。第10页,共31页,编辑于2022年,星期三.通道通道0通道通道1 三个独立通道,每个通道内有三个独立通道,每个通道内有16位减位减1计数器,每来计数器,每来一个计数脉冲计数器减一个计数脉冲计数器减1,在,在OUTi端输出一个计数结束信端输出一个计数结束信号,每个通道内有一个计数锁存器,可以锁住当前计数值,号,每个通道内有一
9、个计数锁存器,可以锁住当前计数值,供供CPU查询。查询。计数脉冲计数脉冲计数器计数器 计数脉冲由计数脉冲由CLK引脚输入,计数引脚输入,计数周期可不固定,计数脉冲来自外部。周期可不固定,计数脉冲来自外部。定时器定时器 计数脉冲要求来自系统的主时钟,计数脉冲要求来自系统的主时钟,周期固定,周期固定,CLK最高计数频率为最高计数频率为2.6MHz。第11页,共31页,编辑于2022年,星期三定时系数定时系数=要求定时时间要求定时时间时钟脉冲的周期时钟脉冲的周期.控制字寄存器控制字寄存器 用来存放用来存放CPU写入写入8253的方式选择控制字的方式选择控制字第12页,共31页,编辑于2022年,星期
10、三3).8253的编程命令的编程命令 .8253的控制命令的控制命令 在在8253的初始化编程中,由的初始化编程中,由CPU向向8253的控制寄存器的控制寄存器输出一个控制字,用来选择计数器,设定工作方式和计数输出一个控制字,用来选择计数器,设定工作方式和计数格式。格式。.8253的设置初值命令的设置初值命令 控制字写入控制字写入8253后,设置初值命令,所谓设置初值后,设置初值命令,所谓设置初值就是设置计数的初始值,其初始值可以是就是设置计数的初始值,其初始值可以是8位的,也可以位的,也可以是是16位,则要用两条输出指令完成计数初值决定,先送低字位,则要用两条输出指令完成计数初值决定,先送低
11、字节,后送高字节。节,后送高字节。第13页,共31页,编辑于2022年,星期三 8253初始化后进入工作状态初始化后进入工作状态,锁存命令是配合锁存命令是配合CPU读计读计数器当前值而设置的,在读计数值时,必须先用锁存命令,数器当前值而设置的,在读计数值时,必须先用锁存命令,将当前计数值在输出锁存器中锁定,方可由将当前计数值在输出锁存器中锁定,方可由CPU读取,否读取,否则计数器的数值有可能正在改变过程中,可能读取一个不确则计数器的数值有可能正在改变过程中,可能读取一个不确定的结果。锁存命令一旦写入定的结果。锁存命令一旦写入8253,减法计数器计到某一个,减法计数器计到某一个值,该值被锁定,输
12、出锁存器跟随减法计数器,所以锁存器锁值,该值被锁定,输出锁存器跟随减法计数器,所以锁存器锁定的值就是计数器在同一时刻的值。定的值就是计数器在同一时刻的值。.8253的锁存命令的锁存命令第14页,共31页,编辑于2022年,星期三 注意:当注意:当CPU将锁定值用输入指令在读走时,锁存器自动失将锁定值用输入指令在读走时,锁存器自动失锁,又跟随减法计数器工作,在锁存和读出计数值的过程中,不锁,又跟随减法计数器工作,在锁存和读出计数值的过程中,不影响计数进行。影响计数进行。6种方式,基本原则:种方式,基本原则:第一,控制字写第一,控制字写8253,控制逻辑复位,控制逻辑复位,OUT进入初始态。进入初
13、始态。第二,装入计数初值后,要经过一个时钟周期,计数器工第二,装入计数初值后,要经过一个时钟周期,计数器工作,时钟下降沿使计数器减作,时钟下降沿使计数器减1计数,初值最大值是计数,初值最大值是0,二进制,二进制计数,计数,0相当用于相当用于216,BCD计数,计数,0相当相当 于于104。4).8253的工作方式的工作方式第15页,共31页,编辑于2022年,星期三第三,一般情况下,第三,一般情况下,CLK上升沿,采样门控信号。上升沿,采样门控信号。门控信号门控信号触发方式触发方式电平触发方式(上升沿检测)电平触发方式(上升沿检测)边沿触发方式(边沿触发器检测门边沿触发方式(边沿触发器检测门控
14、信号的上升沿,计数器控制逻辑控信号的上升沿,计数器控制逻辑电路在每个时钟脉冲的上升沿采样电路在每个时钟脉冲的上升沿采样边沿触发器,检测是否被外部门控边沿触发器,检测是否被外部门控脉冲触发过)脉冲触发过)第16页,共31页,编辑于2022年,星期三.工作方式工作方式0 计数结束中断计数结束中断第17页,共31页,编辑于2022年,星期三.工作方式工作方式1 可编程单脉冲发生器可编程单脉冲发生器第18页,共31页,编辑于2022年,星期三.工作方式工作方式2 速率发生器速率发生器第19页,共31页,编辑于2022年,星期三.工作方式工作方式3 方波发生器方波发生器第20页,共31页,编辑于2022
15、年,星期三.工作方式工作方式4 软件触发方式软件触发方式 第21页,共31页,编辑于2022年,星期三.工作方式工作方式5 硬件触发方式硬件触发方式第22页,共31页,编辑于2022年,星期三5).8253初始化举例初始化举例 例例1 设设8253通道通道0工作于方式工作于方式0,用二进制计数,用二进制计数,其初始值为其初始值为4,其初始化程序如下:,其初始化程序如下:MOV AL,10H;控制字(控制字(0001000B)OUT 43H,AL;写入控制寄存器写入控制寄存器 MOV AL,4;计数初值,只送低计数初值,只送低8位位 OUT 40H,AL;初值送通道初值送通道0设设8253端口地
16、址为端口地址为40H43H 例例2 设设8253通道通道1,工作于方式,工作于方式1,用,用BCD码计数,码计数,其初始值为其初始值为4000H,其初始化程序如下:其初始化程序如下:第23页,共31页,编辑于2022年,星期三 MOV AL,63H;控制字(控制字(01100011B)OUT 43H,AL;写入控制寄存器写入控制寄存器 MOV AL,40H;计数初值,只送高计数初值,只送高8位位 OUT 41H,AL;初值送通道初值送通道1 例例3 设设8253通道通道2,工作于方式,工作于方式2,用二进制计数,其初始值,用二进制计数,其初始值为为0304H,其初始化程序如下:其初始化程序如下
17、:MOV AL,0B4H;控制字(控制字(10110100B)OUT 43H,AL;写入控制寄存器写入控制寄存器 MOV AL,04H;OUT 42H,AL;初值低初值低8位送通道位送通道2 MOV AL,03H;OUT 42H,04H;初值高初值高8位送通道位送通道2第24页,共31页,编辑于2022年,星期三 某某8086系统中包含一个系统中包含一个8253芯片,要求完成如下功芯片,要求完成如下功能:能:(1)利用通道)利用通道0完成对外部事件计数功能,计满完成对外部事件计数功能,计满100次次向向CPU发出中断请求。发出中断请求。(2)利用通道)利用通道1产生频率为产生频率为1KHz的方
18、波。的方波。(3)利用通道)利用通道2作标准时钟作标准时钟。6.8253应用举例应用举例 8253A的四个端口地址分别为的四个端口地址分别为FFF9H、FFFBH、FFFDH、FFFFH;8259的两个端口地址分别为的两个端口地址分别为FFFCH和和FFFEH。第25页,共31页,编辑于2022年,星期三第26页,共31页,编辑于2022年,星期三 .MODEL SMALL .STACK 100.DATAAdd8253C0 DB FFF9HAdd8253C1 DBFFFBHAdd8253C2 DBFFFDHAdd8253CR DBFFFFHAdd8259ED DBFFFCHAdd8259OD
19、DBFFFEH.CODECLOCK PROC FARPUSH DS 第27页,共31页,编辑于2022年,星期三MOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV DX,Add8253CRMOV AL,10HOUT DX,ALMOV DX,Add8253C0MOV AL,64HOUT DX,AL第28页,共31页,编辑于2022年,星期三MOV DX,Add8253CRMOV AL,76HOUT DX,ALMOV DX,Add8253C1MOV AX,09C4HOUT DX,ALMOV AL,AHOUT DX,ALMOV DX,Add8253CRMOV AL,B1HOUT DX,AL第29页,共31页,编辑于2022年,星期三MOV DX,Add8253C2MOV AX,1000HOUT DX,ALMOV AL,AHOUT DX,ALMOV DX,Add8259EDMOV AL,13HOUT DX,ALMOV DX,add8259ODMOV AL,50HOUT DX,AL第30页,共31页,编辑于2022年,星期三 MOV AL,03 OUT DX,AL MOV AL,0FAH OUT DX,AL STIWaitInt:HLT JMP WaitInt .CLOCK ENDP END第31页,共31页,编辑于2022年,星期三
限制150内