




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、9.2 9.2 可编程计数器可编程计数器/ /定时控制器定时控制器82538253z计数器计数器/定时器定时器8253特点特点z 三个通道,可单独使用三个通道,可单独使用z片内寻址片内寻址z A1 A0= 00、01、10、11z 对应:通道对应:通道0、1、2和控制口地址和控制口地址z工作方式:工作方式:6种种 一、微机定时方法一、微机定时方法 1. 软件定时软件定时延迟子程序延迟子程序 2. 硬件定时硬件定时用计数器用计数器/定时器定时器8253 二、可编程计数器二、可编程计数器/定时器的工作原理定时器的工作原理 功能功能:一是为计数;一是为定时。:一是为计数;一是为定时。 8253的用处
2、的用处:1)在多任务的分时系统中用来作为中断信号实)在多任务的分时系统中用来作为中断信号实 现程序的切换;现程序的切换;2)可以往)可以往I/O设备输出精确的定时信号;设备输出精确的定时信号;3)作为一个可编程的波特率发生器;)作为一个可编程的波特率发生器;4)实现时间延时。)实现时间延时。计数器计数器/ /定时器的工作特点定时器的工作特点 1 1)门脉冲控制时钟输入;)门脉冲控制时钟输入; 2 2)用门脉冲来重新启动计数;)用门脉冲来重新启动计数; 3 3)用门脉冲停止计数;)用门脉冲停止计数; 4 4)单一计数;)单一计数; 5 5)循环计数)循环计数. . 计数初始值计数初始值= =时钟
3、频率时钟频率* *T T 8_2_1 8253芯片内部结构1.数据总线缓冲器数据总线缓冲器 往计数器设置计数初值;往计数器设置计数初值; 从计数器读取计数值;从计数器读取计数值; 往控制寄存器设置控制字。往控制寄存器设置控制字。2.读读/写逻辑电路写逻辑电路 A1 A0:端口选择:端口选择 0 0:通道:通道0(0号计数器)号计数器) 0 1:通道:通道1(1号计数器)号计数器) 1 0:通道:通道2(2号计数器)号计数器) 1 1:控制字寄存器:控制字寄存器3.通道通道0、通道、通道1、通道、通道2 计数器计数器0:CLK0计数器计数器0的时钟输入。的时钟输入。 GATE0计数器计数器0的门
4、脉冲控制输入。的门脉冲控制输入。 OUT0计数器计数器0的输出。的输出。 计数器计数器1 计数器计数器2 定时系数(计数初值)定时系数(计数初值)n =定时时间定时时间t 时钟频率时钟频率fc =定时时间定时时间t/时钟脉冲周期时钟脉冲周期Tc 编程结构 (2)8253的工作原理 4. 4. 控制寄存器控制寄存器 82538253控制寄存器的格式控制寄存器的格式 SC1 SC0 RW1 RW0 M2 M1 M0 BCD1-计数值为BCD码格式0-计数值为二进制格式M2 M1 M0 模式选择 0 0 0 模式0 0 0 1 模式1 / 1 0 模式2 / 1 1 模式3 1 0 0 模式4 1
5、0 1 模式50 0-对计数器进行锁存0 1-只读/写低8位字节 1 0-只读/写高8位字节1 1-只读/写低8位字节, 再读/写高8位字节.0 0-选计数器00 1-选计数器11 0-选计数器21 1-无意义8-2-2. 8253的工作模式的工作模式 (1)方式)方式0计数结束产生中断计数结束产生中断 一次定时或计数一次定时或计数,重重写初值写初值,启动新一轮的计数启动新一轮的计数 (2)方式)方式1可编程的单脉冲可编程的单脉冲(单稳单稳)触发器触发器 GATE边沿触发边沿触发,启动新一轮计数启动新一轮计数 (3)方式)方式2分频器分频器(速度波发生器速度波发生器) 具有计数具有计数初值重装
6、初值重装能力能力 (4)方式)方式3方波发生器方波发生器 具有计数具有计数初值重装初值重装能力能力 (5)方式)方式4软件触发的选通信号发生器软件触发的选通信号发生器 一次定时一次定时,重写初值重写初值,启动新一轮的计数启动新一轮的计数 (6)方式)方式5硬件触发的选通信号发生器硬件触发的选通信号发生器 GATE边沿触发新一轮计数边沿触发新一轮计数图图 8-22 方式方式0计数结束产生中断计数结束产生中断图图 8-22 单脉冲触发器单脉冲触发器高图图 8-23 分频器分频器图图 8-23 方波发生器方波发生器图图 8-23 软件触发的选通信号发生器软件触发的选通信号发生器图图 8-23 硬件触
7、发的选通信号发生器硬件触发的选通信号发生器8253初始化方法初始化方法:z控制字控制字z计数初值计数初值: 已知已知:CLK 的频率的频率fc与定时的时间与定时的时间t. 计数初值计数初值: n= fc t 例例1: fc=1MHZ,最大计数初值:,最大计数初值: 65536 一个定时器最大定时时间:一个定时器最大定时时间: N/fc=65536/ 106 =0.065536s8-2-3 8253应用举例例例2:设定时器设定时器0、定时器、定时器1工作于方式工作于方式2,外部提供,外部提供一个时钟一个时钟,频率频率f=2MHZ。要求定时器。要求定时器1每每5ms产生产生一个脉冲,定时器一个脉冲
8、,定时器0每每5s产生一个脉冲。产生一个脉冲。1). 一个定时器的最大定时时间:一个定时器的最大定时时间: 65536/(2*106)=0.032768 s=32.768ms2). 将定时器将定时器1的的CLK1接接2MHZ时钟,计数初值:时钟,计数初值:3).将定时器将定时器1的的OUT1端接到定时器端接到定时器0的的CLK0端端,定时定时器器0的计数初值的计数初值:10005200520010510030sfnHZmsf1000010256111msftn例例3:计数器计数器2输出输出600HZ方波,送扬声器。工方波,送扬声器。工作于模式作于模式3.发声子程序发声子程序:z SSP PRO
9、C NEARz ;8253初始化初始化:z MOV AL,10110110B ;计数器;计数器2,模式模式3,初值初值16位位,二进制二进制z OUT 43H, ALz MOV AX, 1983 ; 计数初值计数初值=1.19MHZ 600HZ=1983z OUT 42H,AL ;送计数初值低位字节送计数初值低位字节z MOV AL,AHz OUT 42H,AL次次 ;送计数初值高位字节送计数初值高位字节 8255控制程序控制程序: IN AL,61H ;读读8255的的PB口原输出值口原输出值 MOV AH,AL ;保留到保留到AH OR AL,03H ;使使PB0PB1均为均为1 OUT
10、61H,AL ;打开打开GATE2门门,输出方波到扬声器输出方波到扬声器 SUB CX, CX ;CX为循环次数为循环次数,最大为最大为216L: LOOP L ;延时延时 DEC BL ;BL为子程序入口条件为子程序入口条件 JNZ L ;BL=6,发长声发长声(3S),BL=1发短声发短声(0.5S) MOV AL,AH ;取回取回8255的的PB口原输出值口原输出值 OUT 61H, AL ; 恢复恢复8255PB口口,停止发声停止发声 RETSSP ENDP 例例4:4: 定时定时/ /计数器计数器 82538253与与 8086/8088CPU 8086/8088CPU 相连相连构成
11、完整的定时、计数或脉冲发生器系统。要构成完整的定时、计数或脉冲发生器系统。要求能完成的求能完成的功能功能是:是: 1 1)利用通道)利用通道0 0完成对外部事件计数功能,完成对外部事件计数功能,计满计满100100次向次向CPUCPU发中断请求。发中断请求。 2 2)利用通道)利用通道1 1产生频率为产生频率为1KHz1KHz的方波。的方波。 3 3)利用通道)利用通道2 2作标准时钟作标准时钟, ,定时定时1 1秒秒, ,输出输出接接IR2IR2。z(1)8253的数据线(的数据线(D7D0)与)与CPU的高的高8位数据位数据线(线(D15-D8)相连,所以)相连,所以8253的端口地址必须
12、是的端口地址必须是奇地址(奇地址(A0=1)。)。z(2)通道通道0定义为工作方式定义为工作方式0,完成计数,完成计数. 通道通道0的计数初值应为的计数初值应为: n0= 100 控制字控制字: 00 01 0000=10Hz(3)将通道将通道1定义为工作方式定义为工作方式3, 控制字控制字=0111 0110=76H, 从从CLK1输入输入2.5MHz的时钟脉冲,的时钟脉冲, OUT1输出频率为输出频率为1KHz的方波,而输出方波的周期的方波,而输出方波的周期1ms。 通道通道1的计数初值的计数初值: n1= f1*t1= 2.5 106 1 10-3 =2500=09C4H。(4)通道通道
13、2应定义为方式应定义为方式0, 控制字控制字=1011 0001=0B1H,每秒钟利用每秒钟利用OUT2向向CPU发出一次中断请求,由于输入时钟频率为发出一次中断请求,由于输入时钟频率为1KHz,计数初值计数初值应为应为: n2=f2*t2=1000*1=1000。 8253的控制端口地址:的控制端口地址:66H通道通道0的端口地址:的端口地址:60H通道通道1的端口地址:的端口地址:62H通道通道2的端口地址:的端口地址:64H 8253-0 EQU 60H 8253-1 EQU 62H 8253-2 EQU 64H 8253-C EQU 66H STT: MOV DX,8253-C ;82
14、53控制口地址MOVAL,10HOUTDX,AL;通道0工作在方式0MOVDX,8253-0 ;8253通道0地址MOVAL,64HOUTDX,AL;给通道0送计数值MOVDX,8253-CMOVAL,76HOUTDX,AL;通道1工作在方式3MOVDX,8253-1 ;8253通道1地址MOV AX,09C4H OUTDX,AL ;给通道1送计数初值低8位MOVAL,AHOUTDX,A ;给通道1送计数值高位MOVDX,8253-CMOV AL,0B1HOUTDX,AL;通道2工作在方式0MOVDX,8253-2 ;通道2地址MOVAX,1000H ;1000的BCD数1000HOUTDX,
15、AL ;给通道2送计数初值的低8位MOVAL,AHOUTDX,AL ;给通道2送计数值的高8位MOVDX,8259A偶MOVAL,13HOUTDX,AL ;设ICW1,边缘触发,需ICW4MOVDX,8259A奇 MOVAL,50H ;设设ICW2ICW2, 0通道中断类型码为50HOUTDX,AL ; 通道2的中断类型码为52HMOVAL,03 OUTDX,AL ;设ICW4,非自动EOI方式MOVAL,0FAH ;OCW1;OCW1,屏蔽IR0,IR1以外的输入OUTDX,ALSTIFF:HLTJMPFFIR2IR2时钟程序时钟程序: :zS1 DB ? ;秒秒zS2 DB ? ;分分zS
16、3 DB ? ;时时z.zIR2_TIMER: INC S1z CMP S1,60z JNC EXIT ;不满不满60秒秒,退出退出z MOV S1,00H z INC S2 ;分单元加一分单元加一z CMP S2,60 ;不满不满60分分,退出退出z JNC EXITz MOV S2,00H ;时单元加一时单元加一z INC S3 z JMP S3,24z JNC EXITz MOV S3,00Hz CALL DISPLAY ;显示时间显示时间z .z STI zEXIT: IRET 思考题:思考题:l. 微机中实现定时控制的主要方法是什么? 2. 8253每个计数通道与外设接口有哪些信号线
17、,每个信号的用途是什么? 3. 8253每个通道有_ 种工作方式可供选择。若设定某通道为方式0后,其输出引脚为电平;当_后通道开始计数,信号端每来一个脉冲就减1;当_则输出引脚输出电平,表示计数结束。8253的CLKO接15MHZ的时钟,欲使OUT。产生频率为300kHZ的方波信号,则8253的计数值应为_,应选用的工作方式是_. 4. 试按如下要求分别编写 8253的初始化程序,已知 8253的计数器0 2和控制字IO地址依次为04H07H。 ( l)使计数器 11作在方式0,仅用 8位二进制计数,计数初值为 128。 ( 2)使计数器 O工作在方式 1,按 BCD码计数,计数值为 3000
18、。 ( 3)使计数器2工 在方式 2,计数值为 02F0H。 5. 设8253计数器02和控制字的I/O地址依次为F8HFBH,说明如下程序的作用。 mov al; 33h out ofbh, al mov al, 80h out ofsh, al mov al, 50h out of8h, al习题习题1 1分析:分析: 用通道用通道 0 0 作定时器,初始编程使通道作定时器,初始编程使通道0 0按方式按方式3 3工作,每秒产工作,每秒产生生18.218.2次输出信号,该信号送到次输出信号,该信号送到8259A8259A中断控制器的中断控制器的IRQ0IRQ0输入端。输入端。每每55ms55
19、ms产生一次中断请求,产生一次中断请求,80868086对其计数,用来计算时间。对其计数,用来计算时间。通道通道 1 1 用作动态用作动态RAMRAM刷新定时,每隔刷新定时,每隔5.12us5.12us产生一次输出信号,请求动态产生一次输出信号,请求动态刷新。刷新。OUT1OUT1输出产生输出产生DMADMA请求信号送请求信号送82378237,由,由82378237对动态对动态RAMRAM刷新。刷新。(82538253地址为地址为40H43H40H43H)通道通道0 0:地址为:地址为40H40H,控制字为,控制字为36H36H,工作方式,工作方式3 3,计数初值为,计数初值为0 0通道通道
20、1 1:地址为地址为41H41H,控制字为,控制字为 54H54H,工作方式,工作方式2 2,计数初值为,计数初值为12H12HTIMEMODECTRLTIMEMODECTRLEQUEQU43H43HTIMEADDTIMEADDEQUEQU40H40HCTRL1CTRL1DBDB36H36HCTRL2CTRL2DB DB 54H54HTIME1TIME1DWDW0 0TIME2TIME2DWDW12H12HMOVBP,TIMEMODECTRLMOVAL,CTRL1;送通道0控制字MOVBYTE PTR BP,ALMOVAL,CTRL2;送通道1控制字MOVBYTE PTR BP,ALMOVBP
21、,TIMEADD;通道0端口地址送BPMOVAX,TIME1MOVBYTE PTR BP,ALMOVBYTE PTR BP,AH;送通道0时常数INCBP;通道1端口地址送BPMOVAX,TIME2MOVBYTE PTR BP,ALMOVBYTE PTR BP,AH;送通道1时常数 INCBP第3节 DMA控制器8237Az主要内容:zDMA控制器的一般结构和概要zDMA控制器8237A的原理z8237A的编程和使用基本问题:基本问题:z说明在说明在DMA方式时内存往外设传输数据的过程方式时内存往外设传输数据的过程。zDMA控制器初始化工作包括哪些内容?控制器初始化工作包括哪些内容?zDMA控
22、制器在什么时候作为主模块?控制器在什么时候作为主模块? 什么时候作为从模块?什么时候作为从模块?z为什么为什么CPU对对DMA控制器提出的总线响应要比控制器提出的总线响应要比中断请求响应快?中断请求响应快?DMADMA控制器控制器 DMA DMA 控制器可以象控制器可以象CPUCPU那样得到总线控制权,那样得到总线控制权,用用DMADMA方式实现外部设备和存储器之间的数据高速方式实现外部设备和存储器之间的数据高速传输。传输。 一个一个DMADMA控制器通常可以连接一个或几个输入控制器通常可以连接一个或几个输入/ /输出接口,每个接口通过一组连线和输出接口,每个接口通过一组连线和DMADMA控制
23、器相控制器相连。连。 将将DMADMA控制器中和某个接口有联系的部分为控制器中和某个接口有联系的部分为一个通道。而一个一个通道。而一个DMADMA控制器一般由几个通道组成。控制器一般由几个通道组成。z 当一个接口中有数据要输入时,就往当一个接口中有数据要输入时,就往DMA控制器发个控制器发个DMA请求;请求;DMA控制器接到请求后,便往控制总线上发控制器接到请求后,便往控制总线上发一个总线请求;一个总线请求;z 如果如果CPU允许让出总线,则发一个总线允许信号;允许让出总线,则发一个总线允许信号;DMA控制器接到此信号后,就将地址寄存器的内容送到地址总控制器接到此信号后,就将地址寄存器的内容送
24、到地址总线上,同时往接口发一个线上,同时往接口发一个DMA回答信号,并发一个回答信号,并发一个1/O读信号和一个内存写信号;读信号和一个内存写信号;z 接口接口接到接到DMA回答信号以后,将数据送到数据总线上,回答信号以后,将数据送到数据总线上,并撤除并撤除DMA请求信号;内存在接收到数据以后,一般往请求信号;内存在接收到数据以后,一般往DMA控制器回送一个准备好信号,于是,控制器回送一个准备好信号,于是,DMA控制器的控制器的地址寄存器内容加地址寄存器内容加1或减或减1,计数器的值减,计数器的值减1,而且撤除总,而且撤除总线请求信号,这样,就完成了对一个数据的线请求信号,这样,就完成了对一个
25、数据的DMA输入传输入传输。输。 DMA传输结束时,往接口发一个结束信号,向CPU交回总线控制权。其状态寄存器的传输结束标志置“1”。查询时查询时,CPU在主程序中通过查询状态寄存器的传输结束标志,决定是否进行后续处理。中断方式时中断方式时,结束信号可作为送到外设的中断请求信号(也可以送到总线控制逻辑)。后续程序后续程序必须检查出错标志,确定是否重新传输、打印出错信息。注意:注意:DMA控制器不能提供中断类型号。图 6-8 DMA控制器内部编程结构和外部连接8.3.1 8257芯片内部结构z数据总线缓冲器数据总线缓冲器z读写逻辑电路读写逻辑电路z工作方式寄存器工作方式寄存器z状态寄存器状态寄存
26、器z优先选择逻辑优先选择逻辑z4个个DMA通道通道5.82575.8257工作方式寄存器和状态寄存器工作方式寄存器和状态寄存器 DMA控制器内部包含一个控制器寄存器和一个状态寄存器,一个地址寄存器和计数器。多通道时,控制寄存器和状态寄存器为本多个通道所公用,而地址寄存器和计数器为本每个通道所独有。 DMADMA的初始化的初始化: (1)将数据传输缓冲区的起始(结束)地址送到地址寄存器中。 (2)将传输的字节数(字数)送到计数器中。三、三、8257A8257A的编程和使用的编程和使用 第8章小节z一. 中断控制器z1.中断的概念z 中断:z 外部中断(硬件中断):NMI.INTRz 内部中断(软
27、件中断):INTn.INTO.单步z 中断过程:中断请求.中断响应.中断处理.中断返回z 2.8086中断系统中断系统 1)中断类型中断类型: 硬件中断硬件中断(外部中断外部中断) 内部中断内部中断:与硬件无关与硬件无关,不执行中断响应周期不执行中断响应周期,除单步除单步中断外中断外,内部中断不可屏蔽内部中断不可屏蔽,优先级高于外部中断优先级高于外部中断2)中断向量表中断向量表:00000003FFH3.中断响应过程中断响应过程1).可屏蔽中断响应过程可屏蔽中断响应过程 响应条件响应条件:TF=1.无总线请求无总线请求.当前指令结束当前指令结束 CPU发中断请求信号后发中断请求信号后,CPU回
28、答信号回答信号INTA 8059给出中断类型码给出中断类型码,CPU由中断类型码找到中由中断类型码找到中断向量的地址指针断向量的地址指针zCPU保护断点保护断点:将将CS.IP.标志寄存器内容入栈标志寄存器内容入栈z清清IF.TFz查中断向量表查中断向量表,取中断服务程序首地址取中断服务程序首地址z执行中断处理程序执行中断处理程序z中断返回中断返回z2)非屏蔽中断响应过程非屏蔽中断响应过程z 由由NMI引入引入,CPU优先响应优先响应,类型码为类型码为2.z3).内部中断响应内部中断响应z 由指令或硬件给出由指令或硬件给出,无外部逻辑输入无外部逻辑输入z 无中断响应周期无中断响应周期z 与与IF无关无关z 除单步中断外除单步中断外,内部中断优先级高于外部中断内部中断优先级高于外部中断4.8259中断控制器中断控制器 可编程中断控制器可编程中断控制器:单片管理单片管理8级级 级联时级联时:9片管理片管理64级中断级中断 初始化命令字初始化命令字:ICW1ICW4 操作命令字操作命令字:OCW1OCW31)设置优先级方式设置优先级方式 全嵌套方式全嵌套方式.特殊全嵌套方式特殊全嵌套方式.优先级自动循环方优先级自动循环方式式2)屏蔽中断源方式屏蔽中断源方式普通屏蔽方式普通屏蔽方式,用用OCW1屏蔽屏蔽,特殊屏蔽方式特殊屏蔽方式3).结束中断方式结束中断方式 自动结束方式自动结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胸外科手术疼痛管理
- 秋冬预防感冒知识
- 2024濮阳县职业教育培训中心工作人员招聘考试及答案
- 2024海南珠江源高级职业技术学校工作人员招聘考试及答案
- 设备保养与维修承包合同书
- 汽车托管租赁合同全新趋势分析
- 金属工艺品销售合同
- 房屋租赁居间合同书
- 标准化的驾校场地租赁合同模板
- 合伙合同债务分割协议范文
- 肺动脉高压的指南分类及精选课件
- C139营销模型简介(含案例)课件
- DBJ50T-402-2021 地铁工程施工质量验收标准 通则
- 《繁星》教学课件人教部编版语文1
- 高中生社会实践证明
- 危险源辨识、风险评价清单(市政(管道)工程)
- 05 Maxwell-RMxprt参数化与优化设置
- 人卫版内科学第九章白血病(第1-2节)
- TSG 81-2022 场(厂)内专用机动车辆安全技术规程
- 【教学课件】飞行校验课程
- 挡墙施工危险源辨识及风险评价
评论
0/150
提交评论