第八章接口技术PPT讲稿.ppt
《第八章接口技术PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第八章接口技术PPT讲稿.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章接口技术第八章接口技术第八章接口技术第八章接口技术1第1页,共83页,编辑于2022年,星期三第一节第一节第一节第一节 定时器定时器定时器定时器/计数器计数器计数器计数器第2页,共83页,编辑于2022年,星期三8.1 定时与计数(课本定时与计数(课本317页)页)定时功能是由计数器实现的(计数器的实现原理是每个时钟周定时功能是由计数器实现的(计数器的实现原理是每个时钟周期进行减期进行减1操作),如果输入计数器的时钟脉冲是频率精确的,操作),如果输入计数器的时钟脉冲是频率精确的,则可实现定时。则可实现定时。例如:时钟周期是例如:时钟周期是1ns,则如果给计数器赋计数值为则如果给计数器赋计
2、数值为109。则。则每次计数器减到每次计数器减到0时,就是时,就是1s时间。时间。所以定时器就是计数器,它们的硬件电路是一样的。所以定时器就是计数器,它们的硬件电路是一样的。常用的计数常用的计数器器/定时器是:定时器是:Intel系列的系列的8253/8254.第3页,共83页,编辑于2022年,星期三计算机系统中的定时计算机系统中的定时计算机系统中的定时计算机系统中的定时通常,一个计算机系统中定时功能是必需的。该定时器用来驱动操作通常,一个计算机系统中定时功能是必需的。该定时器用来驱动操作系统的系统时钟。操作系统根据系统时钟完成任务调度等。定时长度系统的系统时钟。操作系统根据系统时钟完成任务
3、调度等。定时长度(古代称之为(古代称之为Tick,嘀嗒声)可以是嘀嗒声)可以是500ns,10ms,100ms等。等。定时器的工作原理定时器的工作原理Fosc标准时钟发生器标准时钟发生器预分频器预分频器其输出作为计数器时钟(计时精度与计时长度)其输出作为计数器时钟(计时精度与计时长度)时间常数寄存器(时间常数寄存器(TCR)-存放计数初值,决定计时长度。存放计数初值,决定计时长度。计数器计数器它从它从TCR取得初值,在时钟驱动下进行计数(可以是减计数或加计数)取得初值,在时钟驱动下进行计数(可以是减计数或加计数)第4页,共83页,编辑于2022年,星期三定时方法定时方法定时方法定时方法软件定时
4、软件定时 用循环程序实现。占用用循环程序实现。占用CPU时间。主机频率不同,时间。主机频率不同,软件延时就不同。定时程序通用性差。软件延时就不同。定时程序通用性差。硬件定时硬件定时 采用硬件或可编程定时器芯片实现。定时准确,不采用硬件或可编程定时器芯片实现。定时准确,不占用占用CPU时间。但需附加硬件。时间。但需附加硬件。典型芯片典型芯片 Intel 8253/8254 Zilog CTC第5页,共83页,编辑于2022年,星期三8.2.1 8253的内结构和外特性的内结构和外特性(课本课本321页页)第6页,共83页,编辑于2022年,星期三1、数据总线缓冲器:、数据总线缓冲器:D7D0 数
5、据总线缓冲器是一个三态缓冲器,用于数据总线缓冲器是一个三态缓冲器,用于8253与与CPU数据总线的连数据总线的连接。它的功能是:接。它的功能是:CPU通过它向通过它向8253写入命令(控制字,控制字要写到控制字寄存器写入命令(控制字,控制字要写到控制字寄存器中)中)写写数据(对相应计数器设置的初始计数值)数据(对相应计数器设置的初始计数值)从内部读出数据(某个计数器中的当前计数值)。从内部读出数据(某个计数器中的当前计数值)。2、读写逻辑、读写逻辑 读写逻辑接收读写逻辑接收CPU的读写和地址信号,选择读出或写入的读写和地址信号,选择读出或写入内部的寄存器。可接收的各个信号的作用是:内部的寄存器
6、。可接收的各个信号的作用是:(1)A1A0地址信号。用于选择芯片内部的三个计数器和控制寄存地址信号。用于选择芯片内部的三个计数器和控制寄存器。一般器。一般A1A0与与CPU的地址线的地址线A1A0连接。连接。(2)RD、WR读、写控制信号。读、写控制信号。(3)CS片选信号,低电平有效,此时片选信号,低电平有效,此时CPU才可对才可对8253进行操作。进行操作。否则芯片不能工作。否则芯片不能工作。CS一般由一般由CPU的地址译码输出控制。的地址译码输出控制。第7页,共83页,编辑于2022年,星期三82538253的内部结构的内部结构的内部结构的内部结构3、计数器、计数器0计数器计数器2每个计
7、数器的结构完全一致,为每个计数器的结构完全一致,为16位计数结构,可位计数结构,可以有两种技术格式(二进制和压缩以有两种技术格式(二进制和压缩BCD码形式)码形式)包括包括一个计数初值寄存器、一个减一个计数初值寄存器、一个减1寄存器和一个锁寄存器和一个锁存寄存器存寄存器,分别负责保存计数初值、完成计数和将现在减分别负责保存计数初值、完成计数和将现在减1计数计数器中的计数值锁存起来。器中的计数值锁存起来。每个计数器有三根信号引脚,每个计数器有三根信号引脚,CLK是计数脉冲输入,是计数脉冲输入,GATE是计数门控制信号,是计数门控制信号,OUT是计数结束输出信是计数结束输出信号(定时时间到或计数到
8、号(定时时间到或计数到0产生中断信号,送到产生中断信号,送到8259A的的IRQ端)。端)。第8页,共83页,编辑于2022年,星期三第9页,共83页,编辑于2022年,星期三4、控制字寄存器(由控制字寄存器(由D7D6位区别当前所写入的控制字是控制哪位区别当前所写入的控制字是控制哪一个计数器工作,一个计数器工作,A0A111)第10页,共83页,编辑于2022年,星期三8253/83548253/8354的每个计数通道逻辑框图的每个计数通道逻辑框图的每个计数通道逻辑框图的每个计数通道逻辑框图 第11页,共83页,编辑于2022年,星期三8253/82548253/8254的内部逻辑(续)的内
9、部逻辑(续)的内部逻辑(续)的内部逻辑(续)计数器计数器 芯片内部有芯片内部有3个独立、完全相同的计数器。每一个计个独立、完全相同的计数器。每一个计数器可工作在不同的模式。数器可工作在不同的模式。16位计数初值寄存器位计数初值寄存器CR 用于存放计数初值。然后将初值装入减用于存放计数初值。然后将初值装入减1计数器计数器CE。可自动重载初值可自动重载初值16位计数单元位计数单元CE 减减“1”计数器。计数器。CPU不能直接读、写不能直接读、写CE的值。的值。16位当前计数值锁存器位当前计数值锁存器OL OL“跟随跟随”CE的值。收到的值。收到“锁存锁存”命令后,锁存当前命令后,锁存当前CE的值。
10、的值。CPU读走后,恢复到读走后,恢复到“跟随跟随”CE的状态。的状态。第12页,共83页,编辑于2022年,星期三8.2.2 8253编程示例编程示例8253编程注意问题:编程注意问题:(1)计数器)计数器0,1,2可以独立工作,定时计数无先后顺序;(即先可以独立工作,定时计数无先后顺序;(即先让哪个计数器开始工作都可以)让哪个计数器开始工作都可以)(2)编程命令(分类):)编程命令(分类):读出命令:读出命令:对要读取计数值的计数器对要读取计数值的计数器 发出锁存命令。发出锁存命令。读当前计数器的值读当前计数器的值写入命令:写入命令:设置计数器工作方式、写计数初值方式;设置计数器工作方式、
11、写计数初值方式;设置计数器的计数初值;设置计数器的计数初值;第13页,共83页,编辑于2022年,星期三8.2.2 8253编程示例编程示例例如:选择8253计数器0工作在方式1,计数初值1000H,计数器0的初值写入方法是:先写入低字节,再写入高字节;计数器1工作在方式2,计数初值为50H,只写入低字节。8253的端口地址为40H一43H(计数器0的端口地址为A1A0为0,所以地址最低,控制寄存器的端口地址最高;因此,计数器0的端口地址为40H;控制字寄存器的端口地址为43H),两个计数器的计数工作方式为:二进制。其程序段(主要指令)为:MOVAL,00110010B;计数器0控制字OUT4
12、3H,ALMOVAX,1000H;计数器0初值第14页,共83页,编辑于2022年,星期三8.2.282538.2.28253编程示例编程示例 OUT 40H,AL ;先写低字节;先写低字节MOV AL,AH OUT 40H,AL ;再写高字节;再写高字节MOV AL,01010100B ;计数器;计数器1控制字控制字 OUT 43H,AL MOV AL,50H ;计数器;计数器1初值初值 OUT 41H,AL ;只写低字节;只写低字节第15页,共83页,编辑于2022年,星期三例如,(接上题)要求读出并检查例如,(接上题)要求读出并检查0#计数器的计数值是计数器的计数值是否为否为“05AAH
13、”若非若非“05AAH”则等待再读,当为则等待再读,当为“05AAH”后程序可继续执行,则程序片断如下:后程序可继续执行,则程序片断如下:COUNT EQU 040H;设;设0#计数器的符号地址为计数器的符号地址为040H LPCN:MOV AL,00000010B;对;对0#计数器送锁存命令,工作计数器送锁存命令,工作方式为方式方式为方式1。OUT COUNT+3,ALIN AL,COUNT;读;读0#计数器当前计数值计数器当前计数值MOV AH,AL;低;低8位暂存位暂存AH中中IN AL,COUNT;读高;读高8位位XCHG AH,AL;16位计数值存位计数值存AX中中CMP AX,05
14、AAH;计数值写;计数值写05AAH相比较相比较JNE LPCN;若不相等则继续等待;若不相等则继续等待第16页,共83页,编辑于2022年,星期三1.方式方式0计数结束产生中断计数结束产生中断(一次定时或计数一次定时或计数,重写初值重写初值,启动新一轮的计数启动新一轮的计数)8253工作模式工作模式0第17页,共83页,编辑于2022年,星期三1 1方式方式方式方式00计数结束中断(课本计数结束中断(课本计数结束中断(课本计数结束中断(课本323323页)页)页)页)在方式在方式0下,下,GATE信号可用来控制计数过程,当信号可用来控制计数过程,当GATE=1时,允时,允许计数;许计数;GA
15、TE0时,停止计数,计数值将保持时,停止计数,计数值将保持GATE有效时的有效时的数值不变,待数值不变,待GATE信号重新有效后,减信号重新有效后,减1计数继续进行。计数继续进行。第18页,共83页,编辑于2022年,星期三1.1.方式方式方式方式00计数结束中断计数结束中断计数结束中断计数结束中断在计数过程中如果改变计数初值,则计数器停止计数。待计数初值写入在计数过程中如果改变计数初值,则计数器停止计数。待计数初值写入后,计数器按照新的数值开始计数。后,计数器按照新的数值开始计数。第19页,共83页,编辑于2022年,星期三高2.方式方式1_单脉冲触发器单脉冲触发器(GATE边沿触发边沿触发
16、,启动新一轮计数启动新一轮计数)8253工作模式工作模式1第20页,共83页,编辑于2022年,星期三2方式1可编程单稳态触发器方式方式1具有可重复触发特性,也就是在减具有可重复触发特性,也就是在减1计数过程中,如果计数过程中,如果GATE信号重新产生一个上升沿,将使计数初值被重新装入信号重新产生一个上升沿,将使计数初值被重新装入计数器并重新开始计数,于是扩展了输出负脉冲计数器并重新开始计数,于是扩展了输出负脉冲的宽度。的宽度。第21页,共83页,编辑于2022年,星期三2.2.方式方式方式方式11可编程单稳态触发器可编程单稳态触发器可编程单稳态触发器可编程单稳态触发器在计数过程中,如果改变计
17、数初值,在计数过程中,如果改变计数初值,本次计数过程不受影响,计数本次计数过程不受影响,计数到到0后输出为高。后输出为高。如果再来一个计数脉冲,则计数器按照新的如果再来一个计数脉冲,则计数器按照新的计数值计数。计数值计数。第22页,共83页,编辑于2022年,星期三3.方式方式2-分频器分频器(具有计数具有计数初值重装初值重装能力能力)8253工作模式工作模式2第23页,共83页,编辑于2022年,星期三3方式方式2速率产生器速率产生器在方式在方式2,GATE同样可以控制计数过程。同样可以控制计数过程。GATE=1,允许计数;,允许计数;GATE=0,停止计数。如果在计数过程中,停止计数。如果
18、在计数过程中GATE变为变为0,暂停计数,暂停计数,待待GATE信号恢复为高电平后,重新装入计数初值并开始减信号恢复为高电平后,重新装入计数初值并开始减1计数。计数。第24页,共83页,编辑于2022年,星期三方式方式方式方式22速率产生器速率产生器速率产生器速率产生器计数过程中如果改变计数初值,对本次计数过程没有影响。再计数过程中如果改变计数初值,对本次计数过程没有影响。再下一个计数过程中,计数器按照新的计数值计数。下一个计数过程中,计数器按照新的计数值计数。第25页,共83页,编辑于2022年,星期三4.方式方式3-方波发生器方波发生器(具有计数具有计数初值重装初值重装能力能力)8253工
19、作模式工作模式3第26页,共83页,编辑于2022年,星期三4、方式3方波发生器的特点:.若计数值为偶数,若计数值为偶数,a 每一个计数脉冲使计数值减每一个计数脉冲使计数值减1,减到,减到n/2时,时,out端改变输出状端改变输出状态;态;b 如果减到如果减到0,则改变输出状态,重新装入新的计数值。重复,则改变输出状态,重新装入新的计数值。重复a,b两步。两步。.计数值为奇数,规律是:计数值为奇数,规律是:a.每一个脉冲减每一个脉冲减1,如果减到(,如果减到(n-1)/2,则改变输则改变输出状态出状态;b 如果减到如果减到0,则改变输出状态,重新装入新的计数值。重复,则改变输出状态,重新装入新
20、的计数值。重复a,b两步。两步。GATE1时,计数进行;时,计数进行;GATE=0时,计数停止。时,计数停止。如果计数过程中,如果计数过程中,GATE变为低电平,则输出端会立即变为高电平,此时计数停变为低电平,则输出端会立即变为高电平,此时计数停止止;在在GATE又变为高电平的下一个时钟脉冲来到时,计数器重新装入初始又变为高电平的下一个时钟脉冲来到时,计数器重新装入初始值,重新开始计数。值,重新开始计数。第27页,共83页,编辑于2022年,星期三4.方式方式4-软件触发的选通信号发生器软件触发的选通信号发生器8253工作模式工作模式4第28页,共83页,编辑于2022年,星期三5、方式4软件
21、触发的选通信号发生器模式4具有下列特点:当写入控制字以后,输出端OUT变为高电平作为初始电平,写入初始值后,再过一个周期,计数执行部件(减1计数器)获得计数初值,并开始计数。当计数器减到0的时侯,输出变为低电平持续一个时钟周期,然后又自动变为高电平,并一直维持高电平。一般将此负脉冲作为选通信号。GATE1时,进行计数;GATE0时,计数停止,而输出维持当时的电平。当GATE恢复为高电平后从新计数。如果在计数时,又写入新的计数值,那么,在下一个时钟周期时,此计数值被写入执行部件,并且,计数器将从新的计数值开始作减1计数。这种情况下,通过写入新的计数值使计数器从头工作,叫软件再触发。第29页,共8
22、3页,编辑于2022年,星期三5.方式方式5-硬件触发的选通信号发生器硬件触发的选通信号发生器 8253工作模式工作模式5第30页,共83页,编辑于2022年,星期三6、方式5硬件触发选通模式5具有下列特点:写入控制字后,输出端OUT出现高电平作为初始电平。写入计数值后,必须有信号GATE的上升沿来到,才在下一个时钟周期将计数初值送到计数执行部件。此后,执行部件作减l计数,计数到达0的时候,输出端出现一个宽度为1个时钟周期的负脉冲后又自动变为高电平,并将持续不变。此负脉冲可以用作选通脉冲,它是通过硬件电路的门控信号上升沿触发后得到的,所以叫硬件触发的选通脉冲。如果在计数过程中,GATE端又来一
23、个上升沿进行触发,则在上升沿后的下一个时钟周期,执行部件将重新获得计数初值,并且按初值往下作减1计数,直到减为0为止。计数过程中,如果改变计数值,则GATE信号有上升沿后的下一个周期按新的计数值计数。第31页,共83页,编辑于2022年,星期三 8253 8253初始化方法初始化方法计数初值计数初值:=定时时间Tout/时钟周期时钟周期1/频率fc :=定时时间ToutCLK的频率fc定时时间Tout=计数初值/CLK的频率fc例例5:设:设8253:fc=1MHZ,最大计数初值:,最大计数初值:N=65536 一个定时器最大定时时间:一个定时器最大定时时间:Tmax=N/fc=65536/1
24、06=0.065536s8253应用举例8253应用举例应用举例第32页,共83页,编辑于2022年,星期三例例:设定时器设定时器0、定时器、定时器1工作于方式工作于方式2,外部提供一个时钟,外部提供一个时钟,频率频率f=2MHZ。要求定时器。要求定时器1每每5ms产生一个脉冲,定时器产生一个脉冲,定时器0每每5s产生产生一个脉冲。一个脉冲。1).一个定时器的最大定时时间:一个定时器的最大定时时间:65536/(2*106)=0.032768 s=32.768ms2).将定时器将定时器1的的CLK1接接2MHZ时钟,计数初值:时钟,计数初值:3).将定时器将定时器1的的OUT1端接到定时器端接
25、到定时器0的的CLK0端端,定时器定时器0的计数初值的计数初值:8253应用举例应用举例第33页,共83页,编辑于2022年,星期三地址地址译码译码CPUD7D0AB8253两个定时器串连使用两个定时器串连使用8.2.3:8253应用举例应用举例第34页,共83页,编辑于2022年,星期三8253初始化程序:(端口地址为:40H43H)MOV AL,00110100B ;0 0号定时器号定时器,方式方式2 2OUT 43H,ALMOV AX,1000 (十进制数据十进制数据)OUT 40H,ALMOV AL,AHOUT 40H,AL MOV AL,01110100B ;1号定时器号定时器,方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 接口 技术 PPT 讲稿
限制150内