《第11章可编程定时器计数器精选文档.ppt》由会员分享,可在线阅读,更多相关《第11章可编程定时器计数器精选文档.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第11章可编程定时器章可编程定时器计数器计数器本讲稿第一页,共五十页计数器计数器/定时器接口芯片定时器接口芯片8253n微机系统中经常会要求微机系统中经常会要求有一些实时时钟以实现定时或延时控制有一些实时时钟以实现定时或延时控制,如,如定时中断、定时检测、定时扫描等,或对外部事件进行计数并将计数定时中断、定时检测、定时扫描等,或对外部事件进行计数并将计数结果提供给结果提供给CPU。n定时或计数的工作实质均体现为对脉冲信号的计数,定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号如果计数的对象是标准的内部时钟信号,由于其周期恒定,故,由于其周期恒定,故计数值就恒定
2、地对应于一定的时间,这一过程即为计数值就恒定地对应于一定的时间,这一过程即为定时定时,如果计数的对象是与外部过程相对应的脉冲信号如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等)(周期可以不相等),则此时即为,则此时即为计数计数。本讲稿第二页,共五十页11.2可编程定时可编程定时/计数器计数器825311.2.18253的主要性能的主要性能11.2.28253的内部结构及外部引脚的内部结构及外部引脚11.2.38253的工作方式及波形的工作方式及波形11.2.48253的编程的编程11.2.58253的应用的应用本讲稿第三页,共五十页11.2.18253的主要性能的主要性能8253是
3、是三通道三通道16位位的的可编程可编程计数计数/定时器定时器。8254是是8253的改进型。的改进型。本讲稿第四页,共五十页8253可编程定时计数器内部有可编程定时计数器内部有3个个独立的独立的16位定时计数器位定时计数器通道。通道。计数器可按照计数器可按照二进制或十进制二进制或十进制计数,计数,每个通道有每个通道有6种种工作方式,工作方式,计数频率可高达计数频率可高达2MHz以上。以上。本讲稿第五页,共五十页11.2.28253的内部结构及外部引脚的内部结构及外部引脚8253各引脚的定义各引脚的定义(连接系统总线连接系统总线):lD0D7:数据线数据线。lRD#:读控制信号读控制信号,低电平
4、有效。,低电平有效。lWR#:写控制信号写控制信号,低电平有效。,低电平有效。lA0、A1:地址线地址线,用于选择,用于选择3个计数器中的个计数器中的一个及选择控制字寄存器。一个及选择控制字寄存器。lCS#:片选信号片选信号,低电平有效。,低电平有效。本讲稿第六页,共五十页11.2.28253的内部结构及外部引脚的内部结构及外部引脚8253各引脚的定义各引脚的定义(连接外设连接外设):lCLK02:计数器计数器0、1、2的的时钟输入时钟输入端端。lGATE02:计数器计数器0#、1#、2#的的门控制脉门控制脉冲输入端冲输入端,由外部设备送入门控脉冲。,由外部设备送入门控脉冲。lOUT02:计数
5、器计数器0#、1#、2#的的输出端输出端。本讲稿第七页,共五十页11.2.28253的内部结构及外部引脚的内部结构及外部引脚l8253的内部结构的内部结构:3个结构相同的个结构相同的16位位计数器计数器,1个个8位位控制字寄存器控制字寄存器。l每个计数器内部包括:每个计数器内部包括:计数初值寄存器计数初值寄存器CR,计数执行部件计数执行部件CE,输出锁存器输出锁存器OL。它们都是它们都是16位寄存器,也可以作位寄存器,也可以作8位寄存器使用。位寄存器使用。本讲稿第八页,共五十页本讲稿第九页,共五十页计数器内部结构计数器内部结构控制单元控制单元初值寄存器初值寄存器(CR)计数执行单元计数执行单元
6、(CE)输出锁存器输出锁存器(OL)CLKGATEOUT在计数器工作时,通过程序给在计数器工作时,通过程序给计数初值寄计数初值寄存器存器CR送入初始值,该初始值再被送入送入初始值,该初始值再被送入计计数执行部件数执行部件CE进行进行减减1计数计数;而;而输出锁存器输出锁存器OL则用来锁存则用来锁存CE的内容,该内容可以由的内容,该内容可以由CPU进行读出操作。进行读出操作。8253内部的内部的3个计数器和个计数器和1个控制字寄存器,可通过地址线个控制字寄存器,可通过地址线A0、A1,读写控制读写控制线线RD#、WR#与片选与片选CS#进行寻址,并实现相应的操作。进行寻址,并实现相应的操作。本讲
7、稿第十页,共五十页表表11.18253读写控制逻辑表读写控制逻辑表CSRDWRA1A0操作操作对计数器对计数器0写初值写初值对计数器对计数器1写初值写初值对计数器对计数器2写初值写初值写控制字到控制寄存器写控制字到控制寄存器读计数器读计数器1当前计数值当前计数值读计数器读计数器 0 当前计数值当前计数值读计数器读计数器2当前计数值当前计数值无操作无操作01000011000101001110000010010100011其它情况其它情况本讲稿第十一页,共五十页11.2.38253的工作方式及波形的工作方式及波形1.方式方式0-中断信号发生器中断信号发生器2.方式方式1-可编程单稳负脉冲信号发生
8、器可编程单稳负脉冲信号发生器3.方式方式2-分频器分频器4.方式方式3-方波信号发生器方波信号发生器5.方式方式4-软件触发的选通脉冲信号发生器软件触发的选通脉冲信号发生器6.方式方式5-硬件触发的选通脉冲信号发生器硬件触发的选通脉冲信号发生器l工作方式由方式控制字确定,每种工作方式的过程类似:工作方式由方式控制字确定,每种工作方式的过程类似:设定工作方式设定工作方式设定计数初值设定计数初值(硬件启动)(硬件启动)计数初值进入减计数初值进入减1计数器计数器每输入一个时钟计数器减每输入一个时钟计数器减1的计数过程的计数过程计数过程结束计数过程结束本讲稿第十二页,共五十页工作过程:工作过程:1.写
9、控制字:写控制字:设定工作方式后,设定工作方式后,OUT端变为低电平端变为低电平;2.写初值:写初值:8位位/16位(分位(分2次)初值次)初值;3.开始计数:开始计数:计数值装入执行部件,计数值装入执行部件,每个每个CLK下降沿,减下降沿,减1计数计数;4.计数结束:计数结束:减到减到0时,计数过程结束,时,计数过程结束,OUT端变为高电平。此输出信端变为高电平。此输出信号可作为计数结束的中断请求信号;号可作为计数结束的中断请求信号;5.GATE作为计数控制信号:作为计数控制信号:计数过程中,计数过程中,GATE=1:允许计数;:允许计数;GATE=0:暂停计数;:暂停计数;6.重新计数:重
10、新计数:计数过程中,计数过程中,可随时写入新的计数值可随时写入新的计数值;如果初值为;如果初值为8位,位,则写完初值后,按新的初值重新开始计数;如果新的初值为则写完初值后,按新的初值重新开始计数;如果新的初值为16位,位,则写入第一个字节时,立即中止计数,写入第二个字节后,按新则写入第一个字节时,立即中止计数,写入第二个字节后,按新的初值重新开始计数;计数结束后,的初值重新开始计数;计数结束后,OUT端保持高电平,直至赋新的端保持高电平,直至赋新的初值。初值。1.方式方式0-中断信号发生器中断信号发生器本讲稿第十三页,共五十页图图11.5方式方式0时序波形图时序波形图WRCLKGATEOUT4
11、321方式方式0初值初值=40本讲稿第十四页,共五十页图图11.5方式方式0时序波形图时序波形图本讲稿第十五页,共五十页计数开始的时刻计数开始的时刻处理器写入处理器写入8253的计数初值只是写入了计数初值寄存器的计数初值只是写入了计数初值寄存器CR,之后到,之后到来的来的第一个第一个CLK输入脉冲输入脉冲(需先由低电平变高,再由高变低)才将预置(需先由低电平变高,再由高变低)才将预置寄存器的初值送到计数执行部件寄存器的初值送到计数执行部件CE减减1计数器。计数器。从从第二个第二个CLK信号的下降沿信号的下降沿,计数器才真正开始减,计数器才真正开始减1计数。计数。本讲稿第十六页,共五十页本讲稿第
12、十七页,共五十页本讲稿第十八页,共五十页2.方式方式1-可编程单稳负脉冲信号发生器可编程单稳负脉冲信号发生器 工作过程:1.写控制字:设定工作方式后,OUT端变为高电平;2.写初值:8位/16位(分2次)初值;3.开始计数:GATE上升沿控制计数开始。GATE上升沿的下一个时钟周期,OUT变为低电平,每个CLK下降沿,减1计数;4.计数结束:减到0时,计数过程结束,OUT端变为高电平。此方式可以输出一个宽度(计数初值*Tclk)可调的单拍负脉冲,可作为设备的选通信号。5.重设初值:计数过程中,重新写入初值,对当前计数过程不会产生影响;6.重新触发:计数过程中,GATE上升沿的下一个时钟脉冲计数
13、器将从初始值重新作减1计数,此时OUT端低电平保持不变,从而加宽了输出的负脉冲宽度。7.重新计数:计数结束后,GATE上升沿控制新一轮计数。本讲稿第十九页,共五十页图图11.6方式方式1时序波形图时序波形图WR10CLKGATEOUT432初值初值=4方式方式1本讲稿第二十页,共五十页本讲稿第二十一页,共五十页3.方式方式2-分频器分频器 工作过程:1.写控制字:设定工作方式后,OUT端变为高电平;2.写初值:8位/16位(分2次)初值;3.开始计数:计数值装入执行部件,每个CLK下降沿,减1计数;4.计数结束:当计数器减到1时,OUT端输出将变为低电平;再经过一个时钟周期,计数值减到0后,O
14、UT又恢复为高电平。在此方式下,计数器具有自动装入计数初值的功能,即计数器的计数过程会自动重复工作。从而产生一个n分频(n是写入计数器的初值)的连续的不对称的脉冲信号,可以作为脉冲信号发生器。5.重设初值:计数过程中,重新写入初值,对当前计数过程不会产生影响;6.计数过程控制:GATE1:允许计数;GATE0:停止计数,并强迫OUT输出高电平;GATE上升沿:下一个时钟周期,计数器恢复初值重新开始作减1计数。本讲稿第二十二页,共五十页图图11.7方式方式2时序波形图时序波形图WRCLKGATEOUT4 321043210432104321方式2初值=4本讲稿第二十三页,共五十页4.方式方式3-
15、方波信号发生器方波信号发生器方式方式3与方式与方式2类似,不同的是输出的波形为方波或者为近似对称的矩类似,不同的是输出的波形为方波或者为近似对称的矩形波。形波。当计数值当计数值n为偶数:为偶数:每当计数值减到每当计数值减到n/2时,时,OUT端由高电平变为低端由高电平变为低电平,并一直保持计数到电平,并一直保持计数到0,一旦计数为,一旦计数为0时时OUT端又由低变高并重端又由低变高并重新给计数器装入初值。新给计数器装入初值。当计数值当计数值n为奇数:为奇数:输出分频波高电平宽度为(输出分频波高电平宽度为(n+1)/2计数脉冲周期,计数脉冲周期,低电平宽度为(低电平宽度为(n-1)/2计数脉冲周
16、期。计数脉冲周期。本讲稿第二十四页,共五十页图图11.8方式方式3时序波形图时序波形图3 2 1WRCLKGATEOUT4 3 2 104 3 21 04 3 2 1 04方式3初值=4本讲稿第二十五页,共五十页5.方式方式4-软件触发的选通脉冲信号发生器软件触发的选通脉冲信号发生器工作过程:工作过程:1.写控制字:写控制字:设定工作方式后,设定工作方式后,OUT端变为高电平;端变为高电平;2.写初值:写初值:8位位/16位(分位(分2次)初值次)初值;3.开始计数:开始计数:计数值装入执行部件,计数值装入执行部件,每个每个CLK下降沿,减下降沿,减1计数计数;4.计数结束:计数结束:减到减到
17、0时,时,输出宽度为输出宽度为1个个Tclk的负脉冲的负脉冲。该负脉冲可以作为该负脉冲可以作为选通信号。选通信号。5.计数过程控制:计数过程控制:GATE1:允许计数;:允许计数;GATE0:停止计数:停止计数;6.重设初值:重设初值:该方式是该方式是一次有效一次有效,即不重新写入计数值,就只产生一,即不重新写入计数值,就只产生一个选通脉冲。个选通脉冲。如果在计数时又写入新的计数值,则在下一个时钟如果在计数时又写入新的计数值,则在下一个时钟周期时将把此计数值写入计数器执行部件,使计数器按此新的计周期时将把此计数值写入计数器执行部件,使计数器按此新的计数值重新计数。数值重新计数。本讲稿第二十六页
18、,共五十页图图11.9方式方式4时序波形图时序波形图WRCLKGATEOUT方式4初值=4初值=34 3 2 1 03 23 2 1本讲稿第二十七页,共五十页本讲稿第二十八页,共五十页6.方式方式5-硬件触发的选通脉冲信号发生器硬件触发的选通脉冲信号发生器此方式与方式此方式与方式4类似,不同的是:方式类似,不同的是:方式4靠软件触发,而方式靠软件触发,而方式5是利用是利用引脚引脚GATE来触发。来触发。GATE上升沿触发:上升沿触发:下一个时钟周期,计数器开始作减下一个时钟周期,计数器开始作减1计数。计数。在任何时刻,当在任何时刻,当GATE触发脉冲上升沿到来时,将把计数初值重新送入触发脉冲上
19、升沿到来时,将把计数初值重新送入计数器,然后重新开始计数过程。计数器,然后重新开始计数过程。本讲稿第二十九页,共五十页11.2.48253的编程的编程1.写入方式控制字写入方式控制字2.写入计数值写入计数值3.读取计数值读取计数值初始化编程初始化编程(1)写控制字)写控制字无论对哪个通道写控制字都必须写到控制寄存器无论对哪个通道写控制字都必须写到控制寄存器(2)写计数初值写计数初值 用哪个计数器通道,则写到该计数器通道对应的端口地址。用哪个计数器通道,则写到该计数器通道对应的端口地址。写初值时,要与控制字内的操作类型一致。写初值时,要与控制字内的操作类型一致。本讲稿第三十页,共五十页1.写入方
20、式控制字写入方式控制字8253的方式控制字格式如图所示,各计数器有的方式控制字格式如图所示,各计数器有6种可供选择的工作种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。方式,以完成定时、计数或脉冲发生器等多种功能。本讲稿第三十一页,共五十页8253初始值计算:初始值计算:l假假设设已已知知8253相相应应通通道道的的CLK端端接接入入的的时时钟钟频频率率为为fCLK,周周期期记记为为tCLK=1/fCLK,要要求求产产生生的的周周期期性性信信号号频频率率为为F(周周期期为为T)或或定时时间为定时时间为T(F=1/T),则所需计数初值,则所需计数初值n为:为:l在计算时注意时间和频
21、率的单位一致性。在计算时注意时间和频率的单位一致性。本讲稿第三十二页,共五十页2.写入计数值写入计数值若规定只写低若规定只写低8位,则只写位,则只写1次,且写入的为计数初值的低次,且写入的为计数初值的低8位,高位,高8位自动位自动为为0。若规定只写高若规定只写高8位,则只写位,则只写1次,且写入的为计数初值的高次,且写入的为计数初值的高8位,低位,低8位自位自动为动为0。若规定写两次,则先写入的为计数初值的低若规定写两次,则先写入的为计数初值的低8位,再写入的为计数初值的位,再写入的为计数初值的高高8位。位。选择二进制时选择二进制时计数值范围:计数值范围:0000HFFFFH0000H是最大值
22、,代表是最大值,代表65536选择十进制(选择十进制(BCD码)码)计数值范围:计数值范围:000099990000代表最大值代表最大值10000本讲稿第三十三页,共五十页注意注意:1、当采用、当采用8位二进制计数时位二进制计数时:在在8253初始化编程的传送指令初始化编程的传送指令“MOVAL,n”中,中,n可以写成任何进制数可以写成任何进制数(二进制、十进制或十六进制)的形式。(二进制、十进制或十六进制)的形式。2、当采用、当采用16位二进制计数时位二进制计数时:方法一方法一:先把计算得到的:先把计算得到的十进制十进制计数初值计数初值n转换成转换成十六进制数十六进制数(即(即16位二位二进
23、制),然后分两次写入进制),然后分两次写入8253的指定端口。的指定端口。方法二方法二:先把该:先把该十进制十进制计数初值计数初值n直接传送给直接传送给AX,然后分两次写入,然后分两次写入8253指定端口,即:指定端口,即:MOVAX,nOUTPORT,AL;先写低;先写低8位(位(PORT为端口号)为端口号)MOVAL,AHOUTPORT,AL;后写高;后写高8位位本讲稿第三十四页,共五十页注意注意:3、当采用十进制(、当采用十进制(BCD码)计数时:码)计数时:将十进制计数初值将十进制计数初值n加上加上后缀后缀H,以便在相应的传送指令执行后能够在以便在相应的传送指令执行后能够在AL(或或A
24、X)中得到十进制数中得到十进制数n的的BCD码码表示形式。表示形式。例如例如n=50,则应按如下方式写入:,则应按如下方式写入:MOVAL,50HOUTPORT,AL如果如果n=1250,则需分两次写入,即:,则需分两次写入,即:MOVAL,50HOUTPORT,AL;先写低先写低8位位MOVAL,12HOUTPORT,AL;后写高后写高8位位本讲稿第三十五页,共五十页【例例11.1】已知已知8253的端口地址为的端口地址为40H43H,用,用8253的计数器的计数器0,每隔,每隔2ms输出一个负脉冲,设输出一个负脉冲,设CLK0为为2MHz,完成软件设计。,完成软件设计。解解:1、计算计数初
25、值计算计数初值N:2、确定控制字:确定控制字:根据题意,选择计数器根据题意,选择计数器0,工作工作方式方式2。(1)二进制计数二进制计数,计数初值为,计数初值为4000(0FA0H),既写高字节,又写低字,既写高字节,又写低字节。控制字为:节。控制字为:00110100B=34H(2)BCD码计数码计数,计数初值为,计数初值为4000H,低字节为,低字节为0,可只写高字节。控制字,可只写高字节。控制字为:为:00100101B=25H3、确定各端口地址确定各端口地址计数器计数器0,计数器计数器1,计数器计数器2,控制端口的地址分别为,控制端口的地址分别为40H、41H、42H和和43H。本讲稿
26、第三十六页,共五十页4、程序:程序:(1)采用采用二进制计数二进制计数:MOVAL,34H;控制字;控制字OUT43H,AL;写到控制端口;写到控制端口MOVAX,4000;把;把4000自动分离出低自动分离出低8位和高位和高8位位OUT40H,AL;先送低;先送低8位到计数器位到计数器0MOVAL,AH;把高;把高8位给位给ALOUT40H,AL;再送高;再送高8位到计数器位到计数器0(2)采用采用BCD码计数码计数:MOVAL,25H;控制字;控制字OUT43H,AL;写到控制端口;写到控制端口MOVAL,40H;只需写高字节,低字节自动为;只需写高字节,低字节自动为0OUT40H,AL;
27、写高;写高8位到计数器位到计数器0本讲稿第三十七页,共五十页3.读取计数值读取计数值对对8位数据线,读取位数据线,读取16位计数值需分两次。计数在不断进行,应该将当前计位计数值需分两次。计数在不断进行,应该将当前计数值先行数值先行锁存锁存,然后读取。,然后读取。【例例11.2】设某系统中设某系统中8253的端口地址为的端口地址为0B00B3H,读取计数器,读取计数器1当前当前的计数值(设计数值为的计数值(设计数值为16位),并存入位),并存入BX寄存器的程序如下:寄存器的程序如下:解:解:MOVAL,01000000B;发;发锁存命令锁存命令OUT0B3H,AL;写入控制端口;写入控制端口IN
28、AL,0B1H;读低;读低8位位MOVBL,AL;存入;存入BL中中INAL,0B1H;读高;读高8位位MOVBH,AL;存入;存入BH中中本讲稿第三十八页,共五十页【例例11.3】某某8086系统中有一片系统中有一片8253芯片,端口地址为芯片,端口地址为500H、502H、504H、506H,各通道均接,各通道均接6MHz的时钟信号,要求在计数器的时钟信号,要求在计数器0输出一个输出一个最最大宽度的负脉冲大宽度的负脉冲,计数器,计数器1输出一个方波信号,周期为输出一个方波信号,周期为10s,计数器,计数器2输出一个定时中断信号,定时时间为输出一个定时中断信号,定时时间为0.2ms,写出其初
29、始化程序。,写出其初始化程序。分析:分析:l计数器计数器0、1、2的地址分别为的地址分别为500H、502H、504H,控制端口的地址为,控制端口的地址为506H。l计数器计数器0工作在方式工作在方式1,必须采用二进制,计数器值为,必须采用二进制,计数器值为0(65536)。l计数器计数器1工作在方式工作在方式3,计数值为,计数值为60,只写低字节,采用二进制或,只写低字节,采用二进制或BCD码码计数都可以。计数都可以。l计数器计数器2工作在方式工作在方式0,计数值为,计数值为1200,采用二进制或,采用二进制或BCD码计数都码计数都可以。可以。本讲稿第三十九页,共五十页计数器计数器0:MOV
30、DX,506HMOVAL,00110010BOUTDX,ALMOVDX,500HMOVAL,0OUTDX,ALOUTDX,AL计数器计数器1:MOVDX,506HMOVAL,01010111BOUTDX,ALMOVDX,502HMOVAL,60HOUTDX,AL计数器计数器2:MOVDX,506HMOVAL,10110000BOUTDX,ALMOVDX,504HMOVAX,1200OUTDX,ALMOVAL,AHOUTDX,AL本讲稿第四十页,共五十页【例例11.4】某某8088系统中有一片系统中有一片8253芯片,端口地址为芯片,端口地址为150H153H,计数器,计数器0的输出作为计数器的
31、输出作为计数器1的计数脉冲,利用计数器的计数脉冲,利用计数器1控制控制发光二极管,使发光二极管持续闪烁,亮发光二极管,使发光二极管持续闪烁,亮2秒,灭秒,灭2秒,利用其计数秒,利用其计数器器2完成对外部事件计数,计满完成对外部事件计数,计满200次向次向CPU发出中断申请,试编写发出中断申请,试编写8253的初始化程序,硬件电路如图的初始化程序,硬件电路如图11.12所示。所示。本讲稿第四十一页,共五十页8088CPUGATE 0GATE 1GATE 2CLK0CLK1CLK2OUT2A1A0RDWRD7D0CSA1A0IORIOWD7D0OUT1OUT0+5 V8259 AINTR82532
32、 MHZ1kHZIRQ0INT地址地址译码译码本讲稿第四十二页,共五十页计数器计数器0:计数初值计数初值N=2MHz/1KHz=2000,设采用二进制计数,操作类型为,设采用二进制计数,操作类型为11(2000=07D0H,高低字节都不为,高低字节都不为0),方波为方式,方波为方式3。初始化程序如下:初始化程序如下:MOVAL,00110110B;通道;通道0的控制字的控制字MOVDX,153H;控制端口的地址;控制端口的地址OUTDX,AL;写控制字到控制端口;写控制字到控制端口MOVAX,2000;让计数初值;让计数初值2000自动分离出高低字节自动分离出高低字节MOVDX,150H;通道
33、;通道0地址地址OUTDX,AL;写计数初值的低字节到通道;写计数初值的低字节到通道0的地址的地址MOVAL,AH;把高字节给;把高字节给ALOUTDX,AL;写计数初值的高字节到通道;写计数初值的高字节到通道0的地址的地址本讲稿第四十三页,共五十页计数器计数器1:亮亮2秒,暗秒,暗2秒,应为方波,且周期为秒,应为方波,且周期为4s,所以计数初值为,所以计数初值为4s*1KHz=4000,设计数制式为二进制,则操作类型为,设计数制式为二进制,则操作类型为11。初始化程序如下:初始化程序如下:MOVAL,01110110B;通道;通道1控制字控制字MOVDX,153H;控制端口地址;控制端口地址
34、OUTDX,AL;写控制字到控制端口;写控制字到控制端口MOVAX,4000;让初值;让初值4000自动分离出高低字节自动分离出高低字节MOVDX,151H;通道;通道1地址地址OUTDX,AL;写初值的低字节到通道;写初值的低字节到通道1的地址的地址MOVAL,AH;把高字节给;把高字节给ALOUTDX,AL;写初值的高字节到通道;写初值的高字节到通道1的地址的地址本讲稿第四十四页,共五十页计数器计数器2:OUT2产生中断请求信号,应为方式产生中断请求信号,应为方式0,计数初值为,计数初值为200,设采用二进制,设采用二进制计数,计数,200256,操作类型为,操作类型为01,只写低字节。,
35、只写低字节。初始化程序如下:初始化程序如下:MOVAL,10010000B;通道;通道2的控制字的控制字MOVDX,153H;控制端口地址;控制端口地址OUTDX,AL;写控制字到控制端口;写控制字到控制端口MOVAL,200;通道;通道2初值初值MOVDX,152H;通道;通道2地址地址OUTDX,AL;写初值到通道;写初值到通道2的地址的地址本讲稿第四十五页,共五十页课堂练习课堂练习已知已知8253各通道时钟接各通道时钟接8MHz信号,端口地址为信号,端口地址为700H、702H、704H和和706H,要求在,要求在OUT0产生周期为产生周期为10us的方波,的方波,OUT1产生产生2KH
36、z的连的连续脉冲信号,续脉冲信号,OUT2产生一个最大的负脉冲。试写出其初始化程序。产生一个最大的负脉冲。试写出其初始化程序。本讲稿第四十六页,共五十页已知已知8253各通道时钟接各通道时钟接8MHz信号,端口地址为信号,端口地址为700H、702H、704H和和706H,要求在,要求在OUT0产生周期为产生周期为10us的方波,的方波,OUT1产生产生2KHz的连的连续脉冲信号,续脉冲信号,OUT2产生一个最大的负脉冲。完成其初始化程序。产生一个最大的负脉冲。完成其初始化程序。分析:分析:OUT0:初值初值=10us*8MHz=80方式方式3OUT1:初值初值=8MHz/2KHz=4000方
37、式方式2OUT2:初值初值=0,二进制计数二进制计数方式方式1本讲稿第四十七页,共五十页;CTC0MOVDX,706H;控制端口地址;控制端口地址MOVAL,00010110B;CTC0控制字控制字OUTDX,ALMOVDX,700H;CTC0口地址口地址MOVAL,80;CTC0初值初值OUTDX,AL本讲稿第四十八页,共五十页;CTC1MOVDX,706H;控制端口地址;控制端口地址MOVAL,01110100B;CTC1控制字控制字OUTDX,ALMOVDX,702H;CTC1口地址口地址MOVAX,4000;CTC1初值初值OUTDX,AL;先写低字节;先写低字节MOVAL,AH;取高字节;取高字节OUTDX,AL;后写高字节;后写高字节本讲稿第四十九页,共五十页;CTC2MOVDX,706H;控制端口地址;控制端口地址MOVAL,10110010B;CTC2控制字控制字OUTDX,ALMOVDX,704H;CTC2口地址口地址MOVAL,0;CTC2初值初值OUTDX,AL;先写低字节;先写低字节OUTDX,AL;后写高字节;后写高字节本讲稿第五十页,共五十页