但是看看妇科指南课件_第1页
但是看看妇科指南课件_第2页
但是看看妇科指南课件_第3页
但是看看妇科指南课件_第4页
但是看看妇科指南课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、但是看看妇科指南第八章第八章 可编程接口芯片可编程接口芯片(xn pin)8.1计数器计数器/定时器电路定时器电路8253-PIT 一一. 8253的结构的结构(jigu)和功能和功能 计算机系统中,实现计算机系统中,实现(shxin)定时或延时有三种方法:定时或延时有三种方法:软件定软件定时时、不可编程的硬件定时不可编程的硬件定时、可编程的硬件定时器可编程的硬件定时器。8253为可编为可编程的硬件定时程的硬件定时/计数器。计数器。1. 主要功能主要功能A、 具有具有3个个独立独立的的16位位计数器通道;计数器通道;B、每个计数器均可按、每个计数器均可按二进制二进制或或十进制(十进制(BCD)

2、计数;计数;C、 每个计数器的计数速率高达每个计数器的计数速率高达2MHz;D、每个通道有、每个通道有6种工作方式种工作方式,可由程序设置和改变;,可由程序设置和改变;E、 所有的输入输出都与所有的输入输出都与TTL(晶体管晶体管-晶体管逻辑电路的英文缩写晶体管逻辑电路的英文缩写,Transister-Transister-Logic ) 兼容。兼容。第一页,共五十九页。但是看看妇科指南二二.8253 的引线的引线(ynxin)1、数据线(、数据线(D7D0)2、地址线:选择、地址线:选择(xunz)内内部寄部寄 存器;存器;3、控制线:完成片选和、控制线:完成片选和 读写操作。读写操作。CL

3、K:输入脉冲线;:输入脉冲线;GATE:门控信号输入线;:门控信号输入线; GATE=0 禁止计数,禁止计数, GATE=1 允许允许(ynx)工作;工作;OUT:输出引脚;:输出引脚; 当计数到当计数到“0”时,时,OUT 端输出一信号。端输出一信号。8253引脚排列图引脚排列图8253GATE1VccWRRDCSA1CLK2OUT2GATE2CLK1OUT1GATE0D7D6D5D4D3D2D1D0CLK0OUT0GNDA0第二页,共五十九页。但是看看妇科指南三三. 8253的内部结构(书的内部结构(书283页)页)4、三个计数器(减法器)计、三个计数器(减法器)计数器的数器的3个引脚个引

4、脚 3个独立的个独立的16位减法器,可作位减法器,可作定时定时/计数器使用;计数器使用; 计数器按二计数器按二/BCD方式减法方式减法(jinf)计数,从预常减到零时,计数,从预常减到零时,OUT端输出一信号。端输出一信号。数据总线数据总线缓冲器缓冲器计数计数(j sh)器器0读读/写写逻辑逻辑(lu j)控制字控制字寄存器寄存器计数计数器器1计数计数器器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7 D0RDWRA0A1CS8253内部结构内部结构内部数据总线内部数据总线1、数据总线缓冲器数据总线缓冲器(传送信息传送信息) 写控制字写控制字, 写时常,写

5、时常, 读计数值读计数值2、读写逻辑、读写逻辑幻灯片幻灯片 33、控制字寄存器、控制字寄存器(存放控制字存放控制字)第三页,共五十九页。但是看看妇科指南8253输入信号输入信号(xnho)组合的功能表(书组合的功能表(书284页表页表8.1)CSRDWRA1A0寄存器选择和操作寄存器选择和操作01000写入计数器写入计数器001001写入计数器写入计数器101010写入计数器写入计数器201011写入写入控制寄存器控制寄存器00100读计数器读计数器000101读计数器读计数器100110读计数器读计数器200111无操作无操作(三态)(三态)1*禁止禁止(三态)(三态)第四页,共五十九页。但

6、是看看妇科指南计数器的计数器的3个引脚个引脚 CLK时钟输入信号时钟输入信号在计数过程中,在计数过程中,此引脚上每输入一个时钟信号(下降此引脚上每输入一个时钟信号(下降沿),计数器的计数值减沿),计数器的计数值减1 GATE门控输入信号门控输入信号控制计数器工作,控制计数器工作,可分成电平控制和上升沿控制两种类型可分成电平控制和上升沿控制两种类型 OUT计数器输出信号计数器输出信号当一次计数过当一次计数过程结束程结束(jish)(计数值减为(计数值减为0),),OUT引脚引脚上将产生一个输出信号上将产生一个输出信号第五页,共五十九页。但是看看妇科指南四四. 8253-PIT的控制的控制(kng

7、zh)字(书字(书285页)页)00 选择计数器选择计数器001 选择计数器选择计数器110 选择计数器选择计数器211 非法选择非法选择0=二进制二进制1=BCD计数器计数器读读/写格式写格式工作方式工作方式数制数制D0D1D2D3D4D5D6D7 在在8253的初始化编程中,由的初始化编程中,由CPU向向8253的控制字寄存器写入的控制字寄存器写入一个控制字来规定一个控制字来规定8253的工作的工作(gngzu)方式。方式。00 计数器锁存命令计数器锁存命令10 只读只读/写高位有效字节(高八位)写高位有效字节(高八位)01 只读只读/写低位有效字节(低八位)写低位有效字节(低八位)11

8、先读写低位有效字节然后读写高位有先读写低位有效字节然后读写高位有效字节效字节000 方式方式0001 方式方式1*10 方式方式2*11 方式方式3100 方式方式4101 方式方式5第六页,共五十九页。但是看看妇科指南计数器结构计数器结构(jigu)示意图示意图预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法减法(jinf)计数器计数器的值不断递减,的值不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数

9、值锁定当前计数值第七页,共五十九页。但是看看妇科指南五、五、 8253的工作的工作(gngzu)方式方式 8253有有6种工作方式种工作方式(fngsh),由,由方式控制字方式控制字确定确定 熟悉每种工作方式的特点才能根据实际应用问题,熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式选择正确的工作方式 每种工作方式的过程类似:每种工作方式的过程类似: 设定工作方式设定工作方式 设定计数初值设定计数初值 硬件启动硬件启动 计数初值进入减计数初值进入减1计数器计数器 每输入一个时钟计数器减每输入一个时钟计数器减1的计数过程的计数过程 计数过程结束计数过程结束第八页,共五十九页。但是看

10、看妇科指南方式方式(fngsh)0 计数结束中断计数结束中断GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束第九页,共五十九页。但是看看妇科指南计数开始计数开始(kish)的时刻的时刻 需要注意:需要注意: 处理器写入处理器写入8253的计数初值只是写入了预置的计数初值只是写入了预置寄存器,之后到来的第一个寄存器,之后到来的第一个CLK输入脉冲(需输入脉冲(需先由低电平变高,再由高变低先由低电平变高,再由高变低)才将预置寄存)才将预置寄存器的初值送到减器的初值送到减1计数器。计数器。

11、 从从第第二二个个CLK信号信号(xnho)的的下降沿下降沿,计数器才真,计数器才真正开始减正开始减1计数。计数。第十页,共五十九页。但是看看妇科指南方式方式(fngsh)1 可编程单稳脉冲可编程单稳脉冲设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR第十一页,共五十九页。但是看看妇科指南* CW写入,写入,OUT=0;* 写入时常,通道写入时常,通道(tngdo)开始计开始计数;数;* 计数到零,计数到零,OUT=1;* 计数计数(j sh)器只计数器只计数(j s

12、h)一遍;一遍;* OUT是是N+1个个CLK后变高;后变高;* 计数过程中,计数过程中,GATE=0, 计计数暂停;数暂停;* 计数过程中可改变计数值;计数过程中可改变计数值;(书图(书图96)1. 方式方式(fngsh)0(书上书上287页页)43210FFOUTGATE=1CLKWRCW=10LSB=432220FFOUTGATECLKWRCW=10LSB=31 置时常置时常第十二页,共五十九页。但是看看妇科指南方式方式(fngsh)1(可编程单拍脉冲(可编程单拍脉冲)(书上)(书上288页)页)* 写入控制字写入控制字OUT=1,写入常数不计数写入常数不计数(j sh);* GATE启

13、动计数,启动计数,OUT=0;* 计数到,计数到,OUT=1。*单拍脉冲宽度为单拍脉冲宽度为N;*由由GATE重新启动;重新启动;*计数中,可重新启动;计数中,可重新启动;*计数中,可改变计数中,可改变(gibin)计计数值,再次启动有效。数值,再次启动有效。3230FFOUTGATECLKWRCW=12LSB=313230OUTGATECLKWRCW=12LSB=3121第十三页,共五十九页。但是看看妇科指南方式方式2(速率(速率(sl)发生器发生器分频工作方式)分频工作方式)* 写入控制字写入控制字OUT=1;* 写入常数立即对写入常数立即对CLK计数;计数;* 计数到计数到1,OUT=0

14、;* 一个一个CLK周期周期(zhuq)后,后,OUT=1,重新计数。,重新计数。* 通道连续工作不需重置时常通道连续工作不需重置时常(shchng);* 计数过程中,计数过程中,GATE=0,计数暂,计数暂停,停,GATE变高后重新计数;变高后重新计数;* 计数过程中可改变计数值;计数过程中可改变计数值;新的计数值在下一次有效。新的计数值在下一次有效。32OUTGATECLKWRCW=14LSB=332132321OUTGATE=1CLKWRCW=14LSB=33213第十四页,共五十九页。但是看看妇科指南方式方式(fngsh)3(方波速率发生器)(方波速率发生器)* 与方式与方式2的区别在

15、于:输出为周期是的区别在于:输出为周期是N个个CLK脉冲的方波。脉冲的方波。* 若计数值为偶数若计数值为偶数(u sh),每个,每个CLK使计数值减使计数值减2,计到,计到0,OUT改改变状态,重装计数值开始新的计数。变状态,重装计数值开始新的计数。*若计数值为奇数,第一个脉冲先减若计数值为奇数,第一个脉冲先减1,以后,每个,以后,每个CLK使计数值减使计数值减2,计到,计到0 时,时,OUT改变状态改变状态(zhungti),重装计数值后,第一个脉冲减,重装计数值后,第一个脉冲减3,以后,每个,以后,每个CLK使计数值减使计数值减2,计到计到0时,时,OUT改变状态改变状态(zhungti)

16、。*GATE信号控制计数过程;信号控制计数过程;*计数过程中写入新的计数值将计数过程中写入新的计数值将在半周期结束时装入计数器。在半周期结束时装入计数器。542OUTGATE=1CLKWRCW=16LSB=52545252424OUTGATE=1CLKWRCW=16LSB=424242第十五页,共五十九页。但是看看妇科指南例:要求例:要求(yoqi)计数器计数器0工作于工作于方式方式3,输出,输出方波方波的的频率为频率为2KHz,计数脉冲,计数脉冲的频率为的频率为2.5MHz,采用,采用BCD计数,试写出初始化程序段。计数,试写出初始化程序段。1. 常数常数(chngsh)计算:计算:n =T

17、OUT/TCLK=fCLK/Fout=2.5MHz/2KHz=12501250H(BCD)MOV AL,37HOUT 83H,AL已知:已知: 8253的端口地址为:的端口地址为:80H,81H,82H,83H。000111112. 8253的方式控制字为:的方式控制字为:3. 初始化程序段:初始化程序段:37HMOV AL,50HOUT 80H,ALMOV AL,12HOUT 80H,AL第十六页,共五十九页。但是看看妇科指南方式方式4(软件(软件(run jin)触发选通)触发选通)* 写入控制写入控制(kngzh)字字OUT=1;* 写入常数立即对写入常数立即对CLK计数;计数;* 计数

18、到计数到0,OUT=0;* 一个一个CLK周期后,周期后,OUT=1,计,计数器停止计数。数器停止计数。* 计数器只计数一遍;计数器只计数一遍;* OUT是是N+1个个CLK后变低;后变低;* 计数过程中,计数过程中,GATE=0, 计数暂停;计数暂停;* 若在计数过程中,改变计数值若在计数过程中,改变计数值(shz),则按新的计数值,则按新的计数值(shz)重新重新开始计数。开始计数。321OUTGATE=1CLKWRCW=18LSB=30FFFEFD321OUTGATE=1CLKWRCW=18LSB=301FF2LSB=2第十七页,共五十九页。但是看看妇科指南方式方式(fngsh)5(硬件

19、触发选通)(硬件触发选通)* 写入控制字写入控制字OUT=1;* 写入常数后,由写入常数后,由GATE的上的上升沿启动计数;升沿启动计数;* 计数到计数到0,OUT=0;* 一个一个(y )CLK周期后,周期后,OUT=1,计数器停止计数,计数器停止计数。* 计数器只计数一次;计数器只计数一次;* OUT是是N+1个个CLK后变低;后变低;* 在在 计数过程中出现的计数过程中出现的GATE脉冲,脉冲, 将使将使 计数器重新开始计数,对输出计数器重新开始计数,对输出状态没有影响状态没有影响(yngxing);* 若在计数过程中改变计数值,只若在计数过程中改变计数值,只要没有要没有GATE信号触发

20、,不影响计数信号触发,不影响计数过程。有新的过程。有新的GATE信号触发则按新信号触发则按新的计数值开始计数。的计数值开始计数。321OUTGATECLKWRCW=1ALSB=30FF3321OUTGATECLKWRCW=1ALSB=30FF32第十八页,共五十九页。但是看看妇科指南六六. 8253-PIT工作方式工作方式(fngsh)小结小结1. 输出输出(shch)端端OUT的初始状态的初始状态 只有方式只有方式0是在写入控制字后输出为低,其它均为高是在写入控制字后输出为低,其它均为高;2. 计数值计数值(shz)的设置的设置 任一种方式,只有在写入计数值后才能开始计数,任一种方式,只有在

21、写入计数值后才能开始计数,方式方式0、2、3、4在写入计数值后,计数自动开始,方式在写入计数值后,计数自动开始,方式1、5需外部触发,才开始计数。需外部触发,才开始计数。第十九页,共五十九页。但是看看妇科指南计数值计数值N与输出波形与输出波形(b xn)的关系的关系方式方式功能功能N 与输出波形的关系与输出波形的关系0计完最后一个数中断计完最后一个数中断 写入计数值写入计数值N 后,经过后,经过N+1 个个 CLK脉冲输出变高脉冲输出变高1硬件再触发单拍脉冲硬件再触发单拍脉冲 单拍负脉冲的宽度为单拍负脉冲的宽度为N 个个 CLK脉冲脉冲2速率发生器速率发生器 N 个个 CLK脉冲,输出宽度为一

22、个脉冲,输出宽度为一个CLK周期的负脉冲周期的负脉冲3方波速率发生器方波速率发生器写入写入 N 后,输出后,输出N /2 个个 CLK高电平,高电平,N /2 个个 CLK低电平低电平(N为偶数);为偶数);(N+1)/2 个个 CLK 高电平,高电平, (N-1)/2 个个 CLK 低电平低电平(N 为奇数)为奇数)4软件触发选通软件触发选通 写入写入 N 后,过后,过 N+1 个个 CLK ,输出宽度为一个,输出宽度为一个CLK的负脉冲的负脉冲5硬件触发选通硬件触发选通 门控触发后过门控触发后过N+1 个个 CLK ,输出宽度为一个,输出宽度为一个CLK的负脉冲的负脉冲第二十页,共五十九页

23、。但是看看妇科指南各种各种( zhn)工作方式的输出波形(工作方式的输出波形(291)方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1第二十一页,共五十九页。但是看看妇科指南3. 门控信号的作用门控信号的作用-GATE输入输入(shr)总是在总是在CLK输入输入(shr)时钟的上升时钟的上升沿被采样。在方式沿被采样。在方式0,2,3,4中,中,GATE输入输入(shr)是电平起作用。在方是电平起作用。在方式式1,2,3,5中中 GATE输入输入(shr)是上升沿起作用的。是上升沿起作用的。(书书3

24、00页表页表93)GATEGATE方式方式功功 能能低或变为低低或变为低上升沿上升沿高高0 0计完最后一个数中断计完最后一个数中断禁止计数禁止计数_允许计数允许计数1 1硬件再触发单拍脉冲硬件再触发单拍脉冲-启动计数启动计数下一个下一个CLKCLK脉冲脉冲使输出变低使输出变低-2 2速率发生器速率发生器禁止计数禁止计数立即使输出为高立即使输出为高重新装入计数值重新装入计数值启动计数启动计数允许计数允许计数3 3方波速率方波速率(sl)(sl)发生器发生器禁止禁止(jnzh)(jnzh)计数计数立即使输出为高立即使输出为高启动计数启动计数允许计数允许计数4 4软件触发选通软件触发选通禁止计数禁止

25、计数-允许计数允许计数5 5硬件触发选通硬件触发选通-启动计数启动计数-第二十二页,共五十九页。但是看看妇科指南4. 在计数过程中改变在计数过程中改变(gibin)计数值计数值立即有效是写入计数值后的下一个立即有效是写入计数值后的下一个CLK脉冲后,新的计数值开始起作用。脉冲后,新的计数值开始起作用。5.计数到计数到0后计数器的状态后计数器的状态(zhungti)计数器减到计数器减到0后并不停止,在方式后并不停止,在方式0,1,4,5,计数器减到,计数器减到0后从后从FFFF/9999继续计数。继续计数。方式方式2,3是连续计数,计数器自动装入计数值后,继续计数。是连续计数,计数器自动装入计数

26、值后,继续计数。 方式方式功能功能 改变计数值改变计数值0计完最后一个数中断计完最后一个数中断立即有效立即有效1硬件再触发单拍脉冲硬件再触发单拍脉冲外部触发后有效外部触发后有效2速率发生器速率发生器计数到计数到 1 1 后有效后有效3方波速率发生器方波速率发生器外部触发后有效外部触发后有效计数到计数到0 0后有效后有效4软件触发选通软件触发选通立即有效立即有效5硬件触发选通硬件触发选通外部触发后有效外部触发后有效第二十三页,共五十九页。但是看看妇科指南七七. 8253-PIT的编程的编程8253-PIT初始化编程的步骤初始化编程的步骤(bzhu):1.写入通道控制字,规定写入通道控制字,规定(

27、gudng)通道的工作方式;(通道的工作方式;(8253的的A1A0=11)2. 写入计数值(由控制字的最高两位写入计数值(由控制字的最高两位D7D6确定通道号)。确定通道号)。若规定只写入低若规定只写入低8 8位,则写入的为计数值的低位,则写入的为计数值的低8 8位,高位,高8 8位自动位自动置置0 0;若规定只写入高若规定只写入高8 8位,则写入的为计数值的高位,则写入的为计数值的高8 8位,低位,低8 8位自动置位自动置0 0;若是若是1616位计数值,则分两次写入,位计数值,则分两次写入,先写入低先写入低8 8位,再写入高位,再写入高8 8位。位。定时系数(计数定时系数(计数(j sh

28、)初值)初值)n =定时时间定时时间t 时钟频率时钟频率fc =定时时间定时时间t / 时钟脉冲周期时钟脉冲周期Tc第二十四页,共五十九页。但是看看妇科指南8253的控制的控制(kngzh)字编程字编程;某个;某个8253的计数器的计数器0、1、2端口和控制端口端口和控制端口地址依次是地址依次是40H43H;设置其中;设置其中(qzhng)计数器计数器0为方式为方式0,采用二进制,采用二进制计数,先低后高写入计数值计数,先低后高写入计数值mov al,30h;方式控制字:;方式控制字:30H00 11 000 0Bout 43h,al;写入控制端口:;写入控制端口:43H第二十五页,共五十九页

29、。但是看看妇科指南8253的计数的计数(j sh)初值编程初值编程;某个某个8253的计数器的计数器0、1、2端口和控制端口和控制(kngzh)端口地址依端口地址依次是次是40H43H;设置计数器;设置计数器0采用二进制计数,写入计数初值:采用二进制计数,写入计数初值:1024(400H)mov ax,1024;计数初值:;计数初值:1024(400H);写入计数器;写入计数器0地址:地址:40Hout 40h,al;写入低字节计数初值;写入低字节计数初值mov al,ahout 40h,al;写入高字节计数;写入高字节计数初值初值第二十六页,共五十九页。但是看看妇科指南例:例:8253的地址

30、为的地址为04H07H,要使计数器,要使计数器1工作在方式工作在方式0,仅用,仅用8位二进制计位二进制计数,计数值数,计数值(shz)为为128,编制初始化程序。,编制初始化程序。编程步骤:编程步骤:1、确定、确定(qudng)计数值及数制。计数值及数制。1280128H(BCD)=80H(二进制二进制)2、确定、确定(qudng)工作方式及使用的计数器。方式工作方式及使用的计数器。方式0,计数器,计数器13、确定读写格式。如果用、确定读写格式。如果用0128H则即写高位又写低位,用则即写高位又写低位,用80H只写低位,只写低位,高位自动置高位自动置0,0080H。4、确定控制字。、确定控制字

31、。01010000D0D1D2D3D4D5D6D701 选择计数器选择计数器101 只读只读/写低位有效字节(低八位)写低位有效字节(低八位)000 方式方式00=二进制二进制50H5、确定端口地址。控制口、确定端口地址。控制口07H,计数器,计数器1的端口地址的端口地址05HMOV AL,50HOUT 07H,ALMOV AL,80HOUT 05H,AL思考:如果用思考:如果用BCD数制呢?数制呢?6、编写初始化程序。先写控制字,再写计数值。针对每个计数器。这里只用、编写初始化程序。先写控制字,再写计数值。针对每个计数器。这里只用计数器计数器1第二十七页,共五十九页。但是看看妇科指南0111

32、0001D0D1D2D3D4D5D6D701 选择选择(xunz)计数器计数器1先写低位有效先写低位有效(yuxio)字节(低八位)字节(低八位) 再写高位有效字节(高八位)再写高位有效字节(高八位)000 方式方式(fngsh)01=BCD71HMOV AL,71HOUT 07H,AL ;先写控制字;先写控制字MOV AL,28HOUT 05H, AL ;再写低八位;再写低八位计数值:计数值:1280128H(BCD)MOV AL,01HOUT 05H, AL ;最后写高八位;最后写高八位思考:如果端口地址思考:如果端口地址255呢?例如呢?例如200H203H。MOV DX,203HMOV

33、 AL,71HOUT DX,AL ;先写控制字;先写控制字MOV DX,201HMOV AL,28HOUT DX ,AL ;再写低八位;再写低八位MOV AL,01HOUT DX,AL ;最后写高八位;最后写高八位第二十八页,共五十九页。但是看看妇科指南例:例:8253的地址为的地址为04H07H,要使计数器,要使计数器0工作在方式工作在方式1,BCD计数,计数值计数,计数值(shz)为为3000,编制,编制初始化程序。初始化程序。00100011D0D1D2D3D4D5D6D700 选择选择(xunz)计数器计数器010只写高位有效只写高位有效(yuxio)字节(高字节(高八位)八位)001

34、 方式方式123H1=BCDMOV AL,23HOUT 07H,AL ;先写控制字;先写控制字MOV AL,30HOUT 04H,AL ;再写高八位;再写高八位计数值计数值3000D3000H(BCD),只写高位),只写高位第二十九页,共五十九页。但是看看妇科指南例:例:8253的地址为的地址为04H07H,要使计数器,要使计数器2工作在方式工作在方式2,二进制计数,计数值,二进制计数,计数值(shz)为为02F0H,编制初始化程序。,编制初始化程序。10110100D0D1D2D3D4D5D6D710 选择选择(xunz)计数器计数器2010 方式方式(fngsh)20B4H0=二进制二进制

35、MOV AL,0B4HOUT 07H,AL ;先写控制字;先写控制字计数值计数值02F0H,先写低位,先写低位0F0H,再写高位,再写高位02H先写低位有效字节(低八位)先写低位有效字节(低八位) 再写高位有效字节(高八位)再写高位有效字节(高八位)MOV AL,0F0HHOUT 06H,AL ;再写低八位;再写低八位MOV AL,02HOUT 06H,AL ;最后写高八位;最后写高八位第三十页,共五十九页。但是看看妇科指南习题习题1、某系统中,、某系统中,8253芯片的计数器芯片的计数器0,计数器,计数器1,计数器,计数器2及控制端口地及控制端口地址分别为址分别为70H,71H,72H,73

36、H。若利用计数。若利用计数(j sh)器器0对外部事件对外部事件计数计数(j sh),其,其GATE接高电平,当计数接高电平,当计数(j sh)计满计满3000次,向次,向CPU发出中断申请;且利用计数发出中断申请;且利用计数(j sh)器器1输出频率为输出频率为100HZ的方波,的方波,CLK1=2MHZ。试编写。试编写8253的初始化程序。的初始化程序。解:根据题意分析,计数器解:根据题意分析,计数器0工作工作(gngzu)在方式在方式0,计数置,计数置3000次;计数器次;计数器1工作工作(gngzu)在方式在方式3,计数值,计数值n=20000=4E20H次次8253的初始化程序片段如

37、下:的初始化程序片段如下:MOV AL,21HOUT 73H,ALMOV AL,30HOUT 70H,AL ;给计数器;给计数器0送计数初值送计数初值MOV AL,76HOUT 73H,AL ;设置计数器;设置计数器1的控制字的控制字MOV AL,20HOUT 71H,ALMOV AL,4EHOUT 71H,AL注:对每一个注:对每一个计数器,其控计数器,其控制字必须写在制字必须写在它的计数值之它的计数值之前前(zhqin)。计数。计数值写入计数器值写入计数器的格式,必须的格式,必须按照控制字的按照控制字的RL1,RL0的的规定格式来写规定格式来写 第三十一页,共五十九页。但是看看妇科指南习题

38、习题2、利用、利用8253的的2计数器周期性地每隔计数器周期性地每隔10ms产生一次中断,产生一次中断,已知已知CLK频率为频率为2MHz。试选择工作方式,并编写出相应的初始。试选择工作方式,并编写出相应的初始化程序化程序(chngx)。(设。(设8253的地址为的地址为70H73H)解:解:要产生要产生(chnshng)周期性的中断信号,可选择方式周期性的中断信号,可选择方式2。计数初值为。计数初值为n=10ms2MHz=20000=4E20H初始化程序为初始化程序为MOV AL,10110100BOUT 73H,ALMOV AL,20HOUT 72H,ALMOV AL,4EHOUT 72H

39、,AL第三十二页,共五十九页。但是看看妇科指南 例(例(286) 设设8253芯片的端口地址为芯片的端口地址为388H 38BH。现要求计数器。现要求计数器0工工作作(gngzu)在方式在方式3,计数初值为,计数初值为2354,十进制计数;计数器,十进制计数;计数器1工作工作(gngzu)在方式在方式2,计数初值为,计数初值为18H,二进制计数。试根据上述要求编写初始化程序及读取计数,二进制计数。试根据上述要求编写初始化程序及读取计数器器0当前计数值的程序。当前计数值的程序。 ;计数器;计数器0的初始化程序的初始化程序(chngx)MOVDX,38BH;给计数器;给计数器0送控制字送控制字MO

40、VAL,00110111BOUTDX,ALMOVDX,388H;送计数初值的低;送计数初值的低8位位MOVAL,54HOUTDX,ALMOVAL,23H;送计数初值的高;送计数初值的高8位位OUTDX,AL 第三十三页,共五十九页。但是看看妇科指南;计数器;计数器1的初始化程序的初始化程序(chngx)MOVDX,38BH;给计数器;给计数器1送控制字送控制字MOVAL,01010100BOUTDX,ALMOVDX,389H;计数初值送低;计数初值送低8位位MOVAL,18HOUTDX,AL 第三十四页,共五十九页。但是看看妇科指南;计数器;计数器0当前当前(dngqin)计数值读出程序计数值

41、读出程序MOVDX,38BH;送计数器;送计数器0当前计数值锁存命令当前计数值锁存命令MOVAL,00HOUTDX,ALMOVDX,388H;读出当前计数值的低;读出当前计数值的低8位位INAL,DXMOVCL,ALINAL,DX;读出当前计数值的高;读出当前计数值的高8位位MOVCH,AL第三十五页,共五十九页。但是看看妇科指南例例1:某:某8253端口地址为端口地址为F8HFBH,欲用通道,欲用通道0以方式以方式(fngsh)1,按,按BCD计数,计数值为计数,计数值为5080。1.确定通道确定通道(tngdo)控制字;控制字;2.计数值的低计数值的低8位为位为80;3.计数值的高计数值的

42、高8位为位为50。00110011初始化程序初始化程序(chngx)为:为:MOV AL,33HOUT 0FBH,ALMOV AL,80HOUT 0F8H,ALMOV AL,50HOUT 0F8H,AL在计数过程中,在计数过程中,8253读计数器现行值的方法:读计数器现行值的方法:(将计数值存入内部锁存器)(将计数值存入内部锁存器)MOV AL,43H ;计数器;计数器1的锁存命令的锁存命令OUT 0FBH,AL;写入控制寄存器;写入控制寄存器IN AL,0F9H ;读低;读低8位位MOV CL,AL ;存入;存入CL中中IN AL,0F9H ;读高;读高8位位MOV CH,AL ;存入;存入

43、CH中中第二节第二节 Intel8253-PIT的应用举例的应用举例01000011第三十六页,共五十九页。但是看看妇科指南例例2:系统中:系统中8253芯片的通道芯片的通道0至通道至通道2和控制端口的地址分别为和控制端口的地址分别为0FFF0H,0FFF2H,0FFF4H和和0FFF6H。1、通道、通道0工作在方式工作在方式2,CLK0=2MHZ,要求,要求(yoqi)输出输出OUT0=1KHZ的速率波;的速率波;2、通道、通道1工作在方式工作在方式0,其,其CLK1输入外部计数事件,每计满输入外部计数事件,每计满1000个向个向CPU发出中断请求。发出中断请求。编写编写8253通道通道0和

44、通道和通道1的初始化程序。的初始化程序。1、8253通道通道(tngdo)0的初始化程序为的初始化程序为 MOV AL,00100101B MOV DX,0FFF6HOUT DX,ALMOV AL,20H MOV DX,0FFF0H OUT DX,AL 2、8253通道通道1的初始化程序为的初始化程序为 MOV AL,01100001B MOV DX,0FFF6H OUT DX,AL MOV AL,10H MOV DX,0FFF2HOUT DX,AL1、N=2M/1K=2000=2000H(BCD)2、N10001000H(BCD)第三十七页,共五十九页。但是看看妇科指南例例3:编程,将:编程

45、,将8253计数器计数器0设置设置(shzh)为方式为方式1,计数初值为,计数初值为3000, 计数器计数器1设置为方式设置为方式2,计数初值为,计数初值为2010H, 计数器计数器2设置为方式设置为方式4,计数初值为,计数初值为4030H。(设(设8253的端口地址为的端口地址为70H73H)MOV AL,00100011B ;送计数器;送计数器0控制控制(kngzh)字字OUT 73H,ALMOV AL,30HOUT 70H,AL ;送计数器;送计数器0的计数初值的计数初值MOV AL,01110100BOUT 73H,AL ;送计数器;送计数器1的控制字的控制字MOV AL,10HOUT

46、 71H,AL MOV AL,20HOUT 71H,AL ;送计数器;送计数器1的计数初值的计数初值MOV AL,10111000BOUT 73H,AL ;送计数器;送计数器2的控制字的控制字MOV AL,30HOUT 72H,AL MOV AL,40HOUT 72H,AL ;送计数器;送计数器2的计数初值的计数初值N0=3000=3000H(BCD)第三十八页,共五十九页。但是看看妇科指南A4A3A0A5M/IOA7A6A9A8G1G2BG2ACBAY4A2A1RDWRD7D0GATE0OUT0CLK0CLK1CLK2GATE1OUT1GATE2OUT2A1A0RDWRD7D0CS1MHz方

47、波方波5V2KHz方波方波1ms的负脉冲的负脉冲(michng)单脉冲单脉冲8086CPU74LS138例例4:用:用8253产生各种产生各种( zhn)定时波形。定时波形。由图可知:由图可知: A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 0 0 0 1 0 * * 0端口地址端口地址310H,312H,314H,316H&第三十九页,共五十九页。但是看看妇科指南例例2:用:用8253产生各种产生各种( zhn)定时波形。要求:定时波形。要求:(1)通道)通道0输出频率为输出频率为2KHz的方波;的方波;(2)通道)通道1产生宽度产生宽度(kund)为为1ms的负

48、脉冲;的负脉冲;(3)通道)通道2以硬件方式触发,输出单脉冲时常为以硬件方式触发,输出单脉冲时常为26。分析图知道:分析图知道:8253初始地址为初始地址为310H,3通道通道(tngdo)所用时钟脉冲频率为所用时钟脉冲频率为1MHz。分析:通道分析:通道0工作于工作于方式方式3,时间常数,时间常数N0=1MHz/2KHz=500=0500H(BCD);通道通道1工作于工作于方式方式1,OUT1的宽度为时常,时间常数的宽度为时常,时间常数N1=1ms/0.001ms=1000=1000H(BCD);通道通道2工作于工作于方式方式5,时间常数,时间常数N2=26=0026H(BCD)。第四十页,

49、共五十九页。但是看看妇科指南;通道通道(tngdo)0初始化程序初始化程序MOV DX,316HMOV AL, 00100111BOUT DX,ALMOV DX,310H MOV AL,05HOUT DX,AL;通道通道(tngdo)1初始化程序初始化程序MOV DX,316HMOV AL, 01100011BOUT DX,ALMOV DX,312H MOV AL,10HOUT DX,AL;通道通道(tngdo)2初始化程序初始化程序MOV DX,316HMOV AL, 10011011BOUT DX,ALMOV DX,314H MOV AL,26HOUT DX,AL第四十一页,共五十九页。但

50、是看看妇科指南例例5有如下接口原理如图所示。要求发光二极管有如下接口原理如图所示。要求发光二极管L0亮亮5S后就熄灭;后就熄灭;L1在在K1启动后亮启动后亮6S后就熄灭;后就熄灭;L2亮亮4S灭灭4S交替进行。写出源程序交替进行。写出源程序片段片段(pin dun)(段定义语句可以省略)。(段定义语句可以省略)。第四十二页,共五十九页。但是看看妇科指南由译码电路分析知,由译码电路分析知,8253计数器计数器0、计数器、计数器1、计数器、计数器2及控制端口的地址分别及控制端口的地址分别为为91H,93H,95H,97H。8253的计数器的计数器0应该工作在方式应该工作在方式0,计数初值,计数初值

51、N0=510005000;计数器计数器1应工作在方式应工作在方式1(门控信号触发(门控信号触发(chf)),),N1=610006000;计数器计数器2应工作在方式应工作在方式3,N2=(44)10008000。根据以上分析,可以编写出根据以上分析,可以编写出8253初始化程序片段。初始化程序片段。;初始化计数器;初始化计数器0MOV AL,21H;00100001BOUT 97H,ALMOV AL,50HOUT 91H,AL;初始化计数器;初始化计数器1MOV AL,63H;01100011BOUT 97H,ALMOV AL,60HOUT 93H,AL;初始化计数器;初始化计数器2MOV A

52、L,0A7H;10100111BOUT 97H,ALMOV AL,80HOUT 95H,AL第四十三页,共五十九页。但是看看妇科指南例例6:接口原理图如图所示。要求发光二极管:接口原理图如图所示。要求发光二极管L1在在K1启动后亮启动后亮3S就就熄灭熄灭(xmi);发光二极管;发光二极管L2亮亮2S灭灭2S交替进行。编写简化源程序。交替进行。编写简化源程序。第四十四页,共五十九页。但是看看妇科指南根据译码电路,根据译码电路,8253的端口地址为的端口地址为0B3H,0B7H,0BBH,0BFH。 根据题目要求,经分析得出:根据题目要求,经分析得出:计数器计数器1工作工作(gngzu)在方式在方

53、式1,计数初值,计数初值N6000;计数器计数器2工作在方式工作在方式3,计数初值,计数初值N8000。初始化程序片段为:初始化程序片段为:MOV AL,01100011BOUT 0BFH,ALMOV AL,60HOUT 0B7H,ALMOV AL,10100111BOUT OBFH,ALMOV AL,80HOUT 0BBH,AL第四十五页,共五十九页。但是看看妇科指南例例7.某系统中,某系统中,8253芯片的计数器芯片的计数器0,计数器,计数器1,计数器,计数器2及控制端口地址及控制端口地址分别为分别为0130H,0131H,0132H,0133H。若利用计数器。若利用计数器1对外部事件对外

54、部事件(shjin)计数,其计数,其GATE接高电平,当计数计满接高电平,当计数计满3200次,向次,向CPU发出中断申发出中断申请;且利用计数器请;且利用计数器2输出高电平为输出高电平为0.005S,低电平为,低电平为0.005S交替变换的方交替变换的方波,波,CLK2=2MHz。试编写。试编写8253的初始化程序。的初始化程序。 解:根据题意分析,计数解:根据题意分析,计数(j sh)器器1工作在方式工作在方式0,计数,计数(j sh)置置3200次;计数次;计数(j sh)器器2工作在方式工作在方式3,计数,计数(j sh)值值n=20000=4E20H次。次。8253的初始化程序片段如

55、下:的初始化程序片段如下:MOV DX,0133HMOV AL,61HOUT DX,ALMOV DX,0131HMOV AL,32HOUT DX,AL MOV DX,0133HMOV AL,0B6HOUT DX,ALMOV DX,0132HMOV AL,20HOUT DX,ALMOV AL,4EHOUT DX,AL第四十六页,共五十九页。但是看看妇科指南例例8编程将编程将8253的的计数器计数器0设置为方式设置为方式(fngsh)1,计数初值为,计数初值为3000H;计数器;计数器1设置设置为方式为方式(fngsh)2,计数,计数初值为初值为2010H;计数;计数器器2设置为方式设置为方式(f

56、ngsh)4,计数初值为,计数初值为50。8253的端口地址的端口地址为为3B0H3B3H。ADDR EQU 3B0HMOV DX,ADDR+3 ;控制寄存器地址MOV AL,00110010B ;计数器0设置(shzh)为方式1,二进制计数OUT DX,ALMOV DX,ADDR ;计数器0地址MOV AL,0OUT DX,AL ;设置0初值低8位MOV AL,30HOUT DX,AL ;设置0初值高8位MOV DX,ADDR+3MOV AL,01110100B ;计数器;计数器1设置为方式设置为方式(fngsh)2, 二进制计数二进制计数OUT DX,ALMOV DX,ADDR+1 ;计数

57、器;计数器1地址地址MOV AL,10HOUT DX,ALMOV AL, 20HOUT DX,ALMOV DX,ADDR+3MOV AL,10011001B ;计数器;计数器2设置为方式设置为方式4, 十进制计数十进制计数OUT DX,ALMOV DX,ADDR+2MOV AL,50HOUT DX,AL ;设置;设置2初值低初值低8位位第四十七页,共五十九页。但是看看妇科指南8.1.5 8253应用举例应用举例 例例8.2 使用使用8253计数器计数器2产生频率为产生频率为40 kHz的方波,设的方波,设8253的端口地址为的端口地址为0040H 0043H,已知时钟端,已知时钟端CLK2输入

58、信号的频率为输入信号的频率为2 MHz。试设计。试设计8253与与8088总线的接口电路,并编写产生方波的程序。总线的接口电路,并编写产生方波的程序。 8253与与8088总线的接口电路如图总线的接口电路如图8.12所示。所示。 为了为了(wi le)使计数器使计数器2产生方波,应使其工作于方式产生方波,应使其工作于方式3,输入的,输入的2 MHz的的CLK2时钟信号进行时钟信号进行50次分频后可在次分频后可在OUT2端输出频率为端输出频率为40 kHz的方波,的方波,因此,对应的控制字应为因此,对应的控制字应为10010111B,计数初值为十进制数,计数初值为十进制数50。程序如下。程序如下

59、所示:所示: 第四十八页,共五十九页。但是看看妇科指南MOVAL,10010111B;对计数器2送控制(kngzh)字MOVDX,0043HOUTDX,ALMOVAL,50H;送计数初值50MOVDX,0042HOUTDX,AL第四十九页,共五十九页。但是看看妇科指南图8.12 8253与8088总线(zn xin)的连接 & 74LS138ABC8253D0A0CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D7D7D0RDWRA1CS0Y1G2BG2AG1&A0A1A2A3A4A5A6A7A8A9A15IOWIOR第五十页,共五十九页。但是看看妇科指南例8.3 8253在IBM PC/XT机中的应用(yngyng)。 5 V8255PB11.19 MHz8253GATE0OUT0CLK0A174LS138ABCG1AENA9IRQ0(8259A)DCLKDRQ0&75477PB0GATE1GATE25 VQ2A2Y5 VOUT1OUT22YD7 D0D0 D7CLK1CLK2A0CSWRRD2AG2BG1A8A7A6A5A1A0IOWIOR图8.13 8253在IBM PC/XT机中的连接(linji) 第五十一页,共五十九页。但是看看妇科指南

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论