收藏 分销(赏)

但是看看妇科.pptx

上传人:鼓*** 文档编号:14582017 上传时间:2026-10-16 格式:PPTX 页数:57 大小:490.11KB 下载积分:8 金币
下载 相关
但是看看妇科.pptx_第1页
第1页 / 共57页
但是看看妇科.pptx_第2页
第2页 / 共57页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,但是看看妇科,但是看看妇科,第1页,二,.8253,引线,1,、数据线(,D7D0,),2,、地址线:选择内部寄,存器;,3,、控制线:完成片选和,读写操作。,CLK,:输入脉冲线;,GATE,:门控信号输入线;,GATE=0,禁止计数,,GATE=1,允许工作;,OUT,:输出引脚;,当计数到“,0”,时,,OUT,端输出一信号。,8253,引脚排列图,8253,GATE1,Vcc,WR,RD,CS,A1,CLK2,OUT2,GATE2,CLK1,OUT1,GATE0,D7,D6,D5,D4,D3,D2,D1,D0,CLK0,OUT0,GND,A0,但是看看妇科,第2页,三,.8253,内部结构(书,283,页),4,、三个计数器(减法器)计数器,3,个引脚,3,个独立,16,位减法器,可作定时,/,计数器使用;,计数器按二,/BCD,方式减法计数,从预常减到零时,,OUT,端输出一信号。,数据总线,缓冲器,计数,器,0,读,/,写,逻辑,控制字,存放器,计数,器,1,计数,器,2,CLK0,CLK1,CLK2,GATE0,GATE1,GATE2,OUT0,OUT1,OUT2,D7 D0,RD,WR,A0,A1,CS,8253,内部结构,内部数据总线,1,、,数据总线缓冲器,(,传送信息,),写控制字,写时常,,读计数值,2,、读写逻辑幻灯片,3,3,、控制字存放器,(,存放控制字,),但是看看妇科,第3页,8253,输入信号组合功效表(书,284,页表,8.1,),CS,RD,WR,A1,A0,存放器选择和操作,0,1,0,0,0,写入计数器,0,0,1,0,0,1,写入计数器,1,0,1,0,1,0,写入计数器,2,0,1,0,1,1,写入,控制存放器,0,0,1,0,0,读计数器,0,0,0,1,0,1,读计数器,1,0,0,1,1,0,读计数器,2,0,0,1,1,1,无操作,(三态),1,*,*,*,*,禁止,(三态),但是看看妇科,第4页,计数器,3,个引脚,CLK,时钟输入信号,在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器计数值减,1,GATE,门控输入信号,控制计数器工作,可分成电平控制和上升沿控制两种类型,OUT,计数器输出信号,当一次计数过程结束(计数值减为,0,),,OUT,引脚上将产生一个输出信号,但是看看妇科,第5页,四,.8253-PIT,控制字(书,285,页),00,选择计数器,0,01,选择计数器,1,10,选择计数器,2,11,非法选择,0=,二进制,1=BCD,计数器,读,/,写格式,工作方式,数制,D0,D1,D2,D3,D4,D5,D6,D7,在,8253,初始化编程中,由,CPU,向,8253,控制字存放器写入一个控制字来要求,8253,工作方式。,00,计数器锁存命令,10,只读,/,写高位有效字节(高八位),01,只读,/,写低位有效字节(低八位),11,先读写低位有效字节然后读写高位有效字节,000,方式,0,001,方式,1,*10,方式,2,*11,方式,3,100,方式,4,101,方式,5,但是看看妇科,第6页,计数器结构示意图,预置存放器,GATE,CLK,OUT,减,1,计数器,输出锁存器,计数初值存于,预置存放器,;,在计数过程中,,减法计数器,值不停递减,,而预置存放器中预置不变。,输出锁存器,用于写入锁存命令时,,锁定当前计数值,但是看看妇科,第7页,五、,8253,工作方式,8253,有,6,种工作方式,由,方式控制字,确定,熟悉每种工作方式特点才能依据实际应用问题,选择正确工作方式,每种工作方式过程类似:,设定工作方式,设定计数初值,硬件开启,计数初值进入减,1,计数器,每输入一个时钟计数器减,1,计数过程,计数过程结束,但是看看妇科,第8页,方式,0,计数结束中止,GATE,OUT,CLK,0,3,1,2,4,4,方式,0,WR,设,定,工,作,方,式,设,定,计,数,初,值,计,数,值,送,入,计,数,器,计,数,过,程,计,数,结,束,但是看看妇科,第9页,计数开始时刻,需要注意:,处理器写入,8253,计数初值只是写入了预置存放器,之后到来第一个,CLK,输入脉冲(需,先由低电平变高,再由高变低,)才将预置存放器初值送到减,1,计数器。,从,第,二,个,CLK,信号,下降沿,,计数器才真正开始减,1,计数。,但是看看妇科,第10页,方式,1,可编程单稳脉冲,设,定,工,作,方,式,设,定,计,数,初,值,硬,件,启,动,计,数,值,送,入,计,数,器,计,数,过,程,计,数,结,束,GATE,OUT,CLK,0,3,1,2,4,4,方式,1,WR,但是看看妇科,第11页,*,CW,写入,,OUT=0,;,*写入时常,通道开始计数;,*计数到零,,OUT=1,;,*,计数器只计数一遍;,*,OUT,是,N+1,个,CLK,后变高;,*计数过程中,,GATE=0,,计数暂停;,*计数过程中可改变计数值;(书图,9,6,),1.,方式,0(,书上,287,页,),4,3,2,1,0,FF,OUT,GATE=1,CLK,WR,CW=10,LSB=4,3,2,2,2,0,FF,OUT,GATE,CLK,WR,CW=10,LSB=3,1,置时常,但是看看妇科,第12页,方式,1,(可编程单拍脉冲,)(书上,288,页),*,写入控制字,OUT=1,,写入常数不计数;,*,GATE,开启计数,,OUT=0,;,*计数到,,OUT=1,。,*,单拍脉冲宽度为,N,;,*由,GATE,重新开启;,*计数中,可重新开启;,*计数中,可改变计数值,再次开启有效。,3,2,3,0,FF,OUT,GATE,CLK,WR,CW=12,LSB=3,1,3,2,3,0,OUT,GATE,CLK,WR,CW=12,LSB=3,1,2,1,但是看看妇科,第13页,方式,2,(速率发生器分频工作方式),*,写入控制字,OUT=1,;,*写入常数马上对,CLK,计数;,*计数到,1,,,OUT=0,;,*一个,CLK,周期后,,OUT=1,,重新计数。,*,通道连续工作不需重置时常;,*计数过程中,,GATE=0,,计数暂停,,GATE,变高后重新计数;,*计数过程中可改变计数值;新计数值在下一次有效。,3,2,OUT,GATE,CLK,WR,CW=14,LSB=3,3,2,1,3,2,3,2,1,OUT,GATE=1,CLK,WR,CW=14,LSB=3,3,2,1,3,但是看看妇科,第14页,方式,3,(方波速率发生器),*,与方式,2,区分在于:输出为周期是,N,个,CLK,脉冲方波。,*若计数值为偶数,每个,CLK,使计数值减,2,,计到,0,,,OUT,改变状态,重装计数值开始新计数。,*,若计数值为奇数,第一个脉冲先减,1,,以后,每个,CLK,使计数值减,2,,计到,0,时,,OUT,改变状态,重装计数值后,第一个脉冲减,3,,以后,每个,CLK,使计数值减,2,,计到,0,时,,OUT,改变状态。,*,GATE,信号控制计数过程;,*计数过程中写入新计数值将在半周期结束时装入计数器。,5,4,2,OUT,GATE=1,CLK,WR,CW=16,LSB=5,2,5,4,5,2,5,2,4,2,4,OUT,GATE=1,CLK,WR,CW=16,LSB=4,2,4,2,4,2,但是看看妇科,第15页,例:要求计数器,0,工作于,方式,3,,输出,方波,频率为,2KHz,,计数脉冲频率为,2.5MHz,,采取,BCD,计数,试写出初始化程序段。,1.,常数计算:,n=T,OUT,/T,CLK,=f,CLK,/Fout=2.5MHz/2KHz=1250,1250H,(,BCD,),MOV AL,,,37H,OUT 83H,,,AL,已知:,8253,端口地址为:,80H,,,81H,,,82H,,,83H,。,00,011,11,1,2.8253,方式控制字为:,3.,初始化程序段:,37H,MOV AL,,,50H,OUT 80H,,,AL,MOV AL,,,12H,OUT 80H,,,AL,但是看看妇科,第16页,方式,4,(软件触发选通),*,写入控制字,OUT=1,;,*写入常数马上对,CLK,计数;,*计数到,0,,,OUT=0,;,*一个,CLK,周期后,,OUT=1,,计数器停顿计数。,*,计数器只计数一遍;,*,OUT,是,N+1,个,CLK,后变低;,*计数过程中,,GATE=0,,计数暂停;,*若在计数过程中,改变计数值,则按新计数值重新开始计数。,3,2,1,OUT,GATE=1,CLK,WR,CW=18,LSB=3,0,FF,FE,FD,3,2,1,OUT,GATE=1,CLK,WR,CW=18,LSB=3,0,1,FF,2,LSB=2,但是看看妇科,第17页,方式,5,(硬件触发选通),*,写入控制字,OUT=1,;,*写入常数后,由,GATE,上升沿开启计数;,*计数到,0,,,OUT=0,;,*一个,CLK,周期后,,OUT=1,,计数器停顿计数,。,*,计数器只计数一次;,*,OUT,是,N+1,个,CLK,后变低;,*在 计数过程中出现,GATE,脉冲,将使 计数器重新开始计数,对输出状态没有影响;,*若在计数过程中改变计数值,只要没有,GATE,信号触发,不影响计数过程。有新,GATE,信号触发则按新计数值开始计数。,3,2,1,OUT,GATE,CLK,WR,CW=1A,LSB=3,0,FF,3,3,2,1,OUT,GATE,CLK,WR,CW=1A,LSB=3,0,FF,3,2,但是看看妇科,第18页,六,.8253-PIT,工作方式小结,1.,输出端,OUT,初始状态,只有方式,0,是在写入控制字后输出为低,其它均为高,;,2.,计数值设置,任一个方式,只有在写入计数值后才能开始计数,方式,0,、,2,、,3,、,4,在写入计数值后,计数自动开始,方式,1,、,5,需外部触发,才开始计数。,但是看看妇科,第19页,计数值,N,与输出波形关系,方式,功效,N,与输出波形关系,0,计完最终一个数中止,写入计数值,N,后,经过,N+1,个,CLK,脉冲输出变高,1,硬件再触发单拍脉冲,单拍负脉冲宽度为,N,个,CLK,脉冲,2,速率发生器,N,个,CLK,脉冲,输出宽度为一个,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,负脉冲,但是看看妇科,第20页,各种工作方式输出波形(,291,),方式,0,方式,1,方式,2,方式,3,方式,4,方式,5,0,N,0,N,0,N,0/N,1,1,0,N,N/2,N/2,0/N,0,N,0 1,N,0 1,N,0 1,但是看看妇科,第21页,3.,门控信号作用,-GATE,输入总是在,CLK,输入时钟上升沿被采样。在方式,0,,,2,,,3,,,4,中,,GATE,输入是电平起作用。在方式,1,,,2,,,3,,,5,中,GATE,输入是上升沿起作用。,(,书,300,页表,9,3),GATE,方式,功,能,低或变为低,上升沿,高,0,计完最终一个数中止,禁止计数,_,允许计数,1,硬件再触发单拍脉冲,-,开启计数,下一个,CLK,脉冲,使输出变低,-,2,速率发生器,禁止计数,马上使输出为高,重新装入计数值,开启计数,允许计数,3,方波速率发生器,禁止计数,马上使输出为高,开启计数,允许计数,4,软件触发选通,禁止计数,-,允许计数,5,硬件触发选通,-,开启计数,-,但是看看妇科,第22页,4.,在计数过程中改变计数值,马上有效是写入计数值后下一个,CLK,脉冲后,新计数值开始起作用。,5,.,计数到,0,后计数器状态,计数器减到,0,后并不停顿,在方式,0,,,1,,,4,,,5,,计数器减到,0,后从,FFFF/9999,继续计数。方式,2,,,3,是连续计数,计数器自动装入计数值后,继续计数。,方式,功效,改变计数值,0,计完最终一个数中止,马上有效,1,硬件再触发单拍脉冲,外部触发后有效,2,速率发生器,计数到,1,后有效,3,方波速率发生器,外部触发后有效,计数到,0,后有效,4,软件触发选通,马上有效,5,硬件触发选通,外部触发后有效,但是看看妇科,第23页,七,.8253-PIT,编程,8253-PIT,初始化编程步骤:,1.,写入通道控制字,要求通道工作方式;(,8253,A1A0=11,),2.,写入计数值(由控制字最高两位,D7D6,确定通道号)。,若要求只写入低,8,位,则写入为计数值低,8,位,高,8,位自动置,0,;,若要求只写入高,8,位,则写入为计数值高,8,位,低,8,位自动置,0,;,若是,16,位计数值,则分两次写入,,先写入低,8,位,再写入高,8,位。,定时系数(计数初值),n,=,定时时间,t,时钟频率,fc,=,定时时间,t,/,时钟脉冲周期,Tc,但是看看妇科,第24页,8253,控制字编程,;某个,8253,计数器,0,、,1,、,2,端口和控制端口地址依次是,40H,43H,;设置其中计数器,0,为方式,0,,采取二进制计数,先低后高写入计数值,mov al,30h,;方式控制字:,30H,00,11,000,0B,out,43h,al,;写入控制端口:,43H,但是看看妇科,第25页,8253,计数初值编程,;,某个,8253,计数器,0,、,1,、,2,端口和控制端口地址依次是,40H,43H,;设置计数器,0,采取二进制计数,写入计数初值:,1024,(,400H,),mov ax,1024,;计数初值:,1024,(,400H,),;写入计数器,0,地址:,40H,out,40h,al,;写入低字节计数初值,mov al,ah,out,40h,al,;写入高字节计数初值,但是看看妇科,第26页,例:,8253,地址为,04H,07H,,要使计数器,1,工作在方式,0,,仅用,8,位二进制计,数,计数值为,128,,编制初始化程序。,编程步骤:,1,、确定计数值及数制。,128,0128H(BCD)=80H(,二进制,),2,、确定工作方式及使用计数器。方式,0,,计数器,1,3,、确定读写格式。假如用,0128H,则即写高位又写低位,用,80H,只写低位,高位自动置,0,,,0080H,。,4,、确定控制字。,01,01,000,0,D0,D1,D2,D3,D4,D5,D6,D7,01,选择计数器,1,01,只读,/,写低位有效字节(低八位),000,方式,0,0=,二进制,50H,5,、确定端口地址。控制口,07H,,计数器,1,端口地址,05H,MOV AL,50H,OUT 07H,AL,MOV AL,80H,OUT 05H,AL,思索:假如用,BCD,数制呢?,6,、编写初始化程序。先写控制字,再写计数值。针对每个计数器。这里只用,计数器,1,但是看看妇科,第27页,01,11,000,1,D0,D1,D2,D3,D4,D5,D6,D7,01,选择计数器,1,先写低位有效字节(低八位),再写高位有效字节(高八位),000,方式,0,1=BCD,71H,MOV AL,71H,OUT 07H,AL,;先写控制字,MOV AL,28H,OUT,05,H,AL,;再写低八位,计数值:,128,0128H(BCD),MOV AL,01H,OUT,05,H,AL,;最终写高八位,思索:假如端口地址,255,呢?比如,200H,203H,。,MOV DX,203H,MOV AL,71H,OUT,DX,AL,;先写控制字,MOV DX,,,201H,MOV AL,28H,OUT,DX,AL,;再写低八位,MOV AL,01H,OUT,DX,AL,;最终写高八位,但是看看妇科,第28页,例:,8253,地址为,04H,07H,,要使计数器,0,工作在方式,1,,,BCD,计数,计数值为,3000,,编制初始化程序。,00,10,001,1,D0,D1,D2,D3,D4,D5,D6,D7,00,选择计数器,0,10,只写高位有效字节(高八位),001,方式,1,23H,1=BCD,MOV AL,23H,OUT 07H,AL,;先写控制字,MOV AL,30H,OUT,04,H,AL,;再写高八位,计数值,3000D,3000H,(,BCD,),只写高位,但是看看妇科,第29页,例:,8253,地址为,04H,07H,,要使计数器,2,工作在方式,2,,二进制计数,计数值为,02F0H,,编制初始化程序。,10,11,010,0,D0,D1,D2,D3,D4,D5,D6,D7,10,选择计数器,2,010,方式,2,0B4H,0=,二进制,MOV AL,0B4H,OUT 07H,AL,;先写控制字,计数值,02F0H,,先写低位,0F0H,,再写高位,02H,先写低位有效字节(低八位),再写高位有效字节(高八位),MOV AL,0F0HH,OUT,06,H,AL,;再写低八位,MOV AL,02H,OUT,06,H,AL,;最终写高八位,但是看看妇科,第30页,习题,1,、某系统中,,8253,芯片计数器,0,,计数器,1,,计数器,2,及控制端口地址分别为,70H,,,71H,,,72H,,,73H,。若利用计数器,0,对外部事件计数,其,GATE,接高电平,当计数计满,3000,次,向,CPU,发出中止申请;且利用计数器,1,输出频率为,100HZ,方波,,CLK1=2MHZ,。试编写,8253,初始化程序。,解:依据题意分析,计数器,0,工作在方式,0,,计数置,3000,次;计数器,1,工作在方式,3,,计数值,n=0=4E20H,次,8253,初始化程序片段以下:,MOV AL,,,21H,OUT 73H,,,AL,MOV AL,,,30H,OUT 70H,,,AL,;给计数器,0,送计数初值,MOV AL,,,76H,OUT 73H,,,AL,;设置计数器,1,控制字,MOV AL,,,20H,OUT 71H,,,AL,MOV AL,,,4EH,OUT 71H,,,AL,注:对每一个计数器,其控制字必须写在它计数值之前。计数值写入计数器格式,必须按照控制字,RL1,,,RL0,要求格式来写,但是看看妇科,第31页,习题,2,、利用,8253,2,计数器周期性地每隔,10ms,产生一次中止,已知,CLK,频率为,2MHz,。试选择工作方式,并编写出对应初始化程序。(设,8253,地址为,70H,73H,),解:,要产生周期性中止信号,可选择方式,2,。计数初值为,n=10ms2MHz=0=4E20H,初始化程序为,MOV AL,,,10110100B,OUT 73H,,,AL,MOV AL,,,20H,OUT 72H,,,AL,MOV AL,,,4EH,OUT 72H,,,AL,但是看看妇科,第32页,例(,286,),设,8253,芯片端口地址为,388H,38BH,。现要求计数器,0,工作在方式,3,,计数初值为,2354,,十进制计数;计数器,1,工作在方式,2,,计数初值为,18H,,二进制计数。试依据上述要求编写初始化程序及读取计数器,0,当前计数值程序。,;计数器,0,初始化程序,MOVDX,,,38BH,;给计数器,0,送控制字,MOVAL,,,00110111B,OUTDX,,,AL,MOVDX,,,388H,;送计数初值低,8,位,MOVAL,,,54H,OUTDX,,,AL,MOVAL,,,23H,;送计数初值高,8,位,OUTDX,,,AL,但是看看妇科,第33页,;计数器,1,初始化程序,MOVDX,,,38BH,;给计数器,1,送控制字,MOVAL,,,01010100B,OUTDX,,,AL,MOVDX,,,389H,;计数初值送低,8,位,MOVAL,,,18H,OUTDX,,,AL,但是看看妇科,第34页,;计数器,0,当前计数值读出程序,MOVDX,,,38BH,;送计数器,0,当前计数值锁存命令,MOVAL,,,00H,OUTDX,,,AL,MOVDX,,,388H,;读出当前计数值低,8,位,INAL,,,DX,MOVCL,,,AL,INAL,,,DX,;读出当前计数值高,8,位,MOVCH,,,AL,但是看看妇科,第35页,例,1,:某,8253,端口地址为,F8HFBH,,欲用通道,0,以方式,1,,按,BCD,计数,计数值为,5080,。,1.,确定通道控制字;,2.,计数值低,8,位为,80,;,3.,计数值高,8,位为,50,。,0,0,1,1,0,0,1,1,初始化程序为:,MOV AL,,,33H,OUT 0FBH,,,AL,MOV AL,,,80H,OUT 0F8H,,,AL,MOV AL,,,50H,OUT 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,;存入,CH,中,第二节,Intel8253-PIT,应用举例,0,1,0,0,0,0,1,1,但是看看妇科,第36页,例,2,:系统中,8253,芯片通道,0,至通道,2,和控制端口地址分别为,0FFF0H,,,0FFF2H,,,0FFF4H,和,0FFF6H,。,1,、通道,0,工作在方式,2,,,CLK0=2MHZ,,要求输出,OUT0=1KHZ,速率波;,2,、通道,1,工作在方式,0,,其,CLK1,输入外部计数事件,每计满,1000,个向,CPU,发出中止请求。,编写,8253,通道,0,和通道,1,初始化程序。,1,、,8253,通道,0,初始化程序为,MOV AL,,,00100101B,MOV DX,,,0FFF6H,OUT DX,,,AL,MOV 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,,,0FFF2H,OUT DX,,,AL,1,、,N=2M/1K=H(BCD),2,、,N,1000,1000H(BCD),但是看看妇科,第37页,例,3,:编程,将,8253,计数器,0,设置为方式,1,,计数初值为,3000,,,计数器,1,设置为方式,2,,计数初值为,H,,,计数器,2,设置为方式,4,,计数初值为,4030H,。,(设,8253,端口地址为,70H,73H,),MOV AL,,,00100011B,;送计数器,0,控制字,OUT,73,H,,,AL,MOV AL,,,30H,OUT,70,H,,,AL,;送计数器,0,计数初值,MOV AL,,,01110100B,OUT,73,H,,,AL,;送计数器,1,控制字,MOV AL,,,10H,OUT,71,H,,,AL,MOV AL,,,20H,OUT,71,H,,,AL,;送计数器,1,计数初值,MOV AL,,,10111000B,OUT,73,H,,,AL,;送计数器,2,控制字,MOV AL,,,30H,OUT,72,H,,,AL,MOV AL,,,40H,OUT,72,H,,,AL,;送计数器,2,计数初值,N0=3000=3000H(BCD),但是看看妇科,第38页,A4,A3,A0,A5,M/IO,A7,A6,A9,A8,G1,G2B,G2A,C,BA,Y4,A2,A1,RD,WR,D7D0,GATE0,OUT0,CLK0,CLK1,CLK2,GATE1,OUT1,GATE2,OUT2,A1,A0,RD,WR,D7D0,CS,1MHz,方波,5V,2KHz,方波,1ms,负脉冲,单脉冲,8086,CPU,74LS138,例,4,:用,8253,产生各种定时波形。,由图可知:,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0,1 1,0 0,0,1 0,*,*,0,端口地址,310H,,,312H,,,314H,,,316H,&,&,&,但是看看妇科,第39页,例,2,:用,8253,产生各种定时波形。要求:,(,1,)通道,0,输出频率为,2KHz,方波;,(2)通道1产生宽度为1ms负脉冲;,(3)通道2以硬件方式触发,输出单脉冲时常为26。,分析图知道:,8253,初始地址为,310H,,,3,通道所用时钟脉冲频率为,1MHz,。,分析:通道,0,工作于,方式,3,,时间常数,N0=1MHz/2KHz=500=0500H(BCD),;,通道,1,工作于,方式,1,,,OUT1,宽度为时常,时间常数,N1=1ms/0.001ms=1000=1000,H(BCD),;,通道,2,工作于,方式,5,,时间常数,N2=26=0026H(BCD),。,但是看看妇科,第40页,;,通道,0,初始化程序,MOV DX,,,316H,MOV AL,,,00100111B,OUT DX,,,AL,MOV DX,,,310H,MOV AL,,,05H,OUT DX,,,AL,;,通道,1,初始化程序,MOV DX,,,316H,MOV AL,,,01100011B,OUT DX,,,AL,MOV DX,,,312H,MOV AL,,,10H,OUT DX,,,AL,;,通道,2,初始化程序,MOV DX,,,316H,MOV AL,,,10011011B,OUT DX,,,AL,MOV DX,,,314H,MOV AL,,,26H,OUT DX,,,AL,但是看看妇科,第41页,例,5,有以下接口原理如图所表示。要求发光二极管,L0,亮,5S,后就熄灭;,L1,在,K1,开启后亮,6S,后就熄灭;,L2,亮,4S,灭,4S,交替进行。写出源程序片段(段定义语句能够省略)。,但是看看妇科,第42页,由译码电路分析知,,8253,计数器,0,、计数器,1,、计数器,2,及控制端口地址分别为,91H,,,93H,,,95H,,,97H,。,8253,计数器,0,应该工作在方式,0,,计数初值,N0=51000,5000,;,计数器,1,应工作在方式,1,(门控信号触发),,N1=61000,6000,;,计数器,2,应工作在方式,3,,,N2=,(,4,4,),1000,8000,。,依据以上分析,能够编写出,8253,初始化程序片段。,;初始化计数器,0,MOV AL,,,21H,;,00100001B,OUT 97H,,,AL,MOV AL,,,50H,OUT 91H,,,AL,;初始化计数器,1,MOV AL,,,63H,;,01100011B,OUT 97H,,,AL,MOV AL,,,60H,OUT 93H,,,AL,;初始化计数器,2,MOV AL,,,0A7H,;,10100111B,OUT 97H,,,AL,MOV AL,,,80H,OUT 95H,,,AL,但是看看妇科,第43页,例,6,:接口原理图如图所表示。要求发光二极管,L1,在,K1,开启后亮,3S,就熄灭;发光二极管,L2,亮,2S,灭,2S,交替进行。编写简化源程序。,但是看看妇科,第44页,依据译码电路,,8253,端口地址为,0B3H,,,0B7H,,,0BBH,,,0BFH,。,依据题目要求,经分析得出:,计数器,1,工作在方式,1,,计数初值,N,6000,;,计数器,2,工作在方式,3,,计数初值,N,8000,。,初始化程序片段为:,MOV AL,,,01100011B,OUT 0BFH,,,AL,MOV AL,,,60H,OUT 0B7H,,,AL,MOV AL,,,10100111B,OUT OBFH,,,AL,MOV AL,,,80H,OUT 0BBH,,,AL,但是看看妇科,第45页,例,7.,某系统中,,8253,芯片计数器,0,,计数器,1,,计数器,2,及控制端口地址分别为,0130H,,,0131H,,,0132H,,,0133H,。若利用计数器,1,对外部事件计数,其,GATE,接高电平,当计数计满,3200,次,向,CPU,发出中止申请;且利用计数器,2,输出高电平为,0.005S,,低电平为,0.005S,交替变换方波,,CLK2=2MHz,。试编写,8253,初始化程序。,解:依据题意分析,计数器,1,工作在方式,0,,计数置,3200,次;计数器,2,工作在方式,3,,计数值,n=0=4E20H,次。,8253,初始化程序片段以下:,MOV DX,,,0133H,MOV AL,,,61H,OUT DX,,,AL,MOV DX,,,0131H,MOV AL,,,32H,OUT DX,,,AL,MOV DX,,,0133H,MOV AL,,,0B6H,OUT DX,,,AL,MOV DX,,,0132H,MOV AL,,,20H,OUT DX,,,AL,MOV AL,,,4EH,OUT DX,,,AL,但是看看妇科,第46页,例,8,编程将,8253,计数器,0,设置为方式,1,,计数初值为,3000H,;计数器,1,设置为方式,2,,计数初值为,H,;计数器,2,设置为方式,4,,计数初值为,50,。,8253,端口地址为,3B0H,3B3H,。,ADDR EQU 3B0H,MOV DX,,,ADDR+3,;控制存放器地址,MOV AL,,,00110010B,;计数器,0,设置为方式,1,,二进制计数,OUT DX,,,AL,MOV DX,,,ADDR,;计数器,0,地址,MOV AL,,,0,OUT DX,,,AL,;设置,0,初值低,8,位,MOV AL,,,30H,OUT DX,,,AL,;设置,0,初值高,8,位,MOV DX,,,ADDR+3,MOV AL,,,01110100B,;计数器,1,设置为方式,2,,,二进制计数,OUT DX,,,AL,MOV DX,,,ADDR+1,;计数器,1,地址,MOV AL,,,10H,OUT DX,,,AL,MOV AL,20H,OUT DX,,,AL,MOV DX,,,ADDR+3,MOV AL,,,10011001B,;计数器,2,设置为方式,4,,,十进制计数,OUT DX,,,AL,MOV DX,,,ADDR+2,MOV AL,,,50H,OUT DX,,,AL,;设置,2,初值低,8,位,但是看看妇科,第47页,8.1.5 8253,应用举例,例,8.2,使用,8253,计数器,2,产生频率为,40 kHz,方波,设,8253,端口地址为,0040H,0043H,,已知时钟端,CLK,2,输入信号频率为,2 MHz,。试设计,8253,与,8088,总线接口电路,并编写产生方波程序。,8253,与,8088,总线接口电路如图,8.12,所表示。,为了使计数器,2,产生方波,应使其工作于方式,3,,输入,2 MHz,CLK,2,时钟信号进行,50,次分频后可在,OUT,2,端输出频率为,40 kHz,方波,所以,对应控制字应为,10010111B,,计数初值为十进制数,50,。程序以下所表示:,但是看看妇科,第48页,MOVAL,,,10010111B,;对计数器,2,送控制字,MOVDX,,,0043H,OUTDX,,,AL,MOVAL,,,50H,;送计数初值,50,MOVDX,,,0042H,OUTDX,,,AL,但是看看妇科,第49页,图,8.12 8253,与,8088,总线连接,但是看看妇科,第50页,例,8.3,8253,在,IBM PC/XT,机中应用。,图,8.13 8253,在,IBM PC/XT,机中连接,但是看看妇科,第51页,能够看出,要使,8253,片选信号,CS,有效,应使,A,9,A,8,A,7,A,6,A,5,=00010,,因为,A,4,A,3,A,2,未参加译码,这三位为任意状态均可使,8253,选中,所以,8253,端口地址为,40H5FH,,若取,A,4,A,3,A,2,=000,,则,8253,计数器,0,、计数器,1,、计数器,2,以及控制存放器端口地址分别为,40H,、,41H,、,42H,和,43H,。,如图中所表示,,8253,三个计数器使用相同时钟频率,它们是由,8284,时钟发生器输出时钟信号,PCLK,,再经过,D,触发器,74LS175(,图中未画出,),二分频后得到,频率为,1.19 MHz,,,8253,GATE,0,和,GATE,1,接,+5 V,,一直处于选返状态,,GATE,2,接,8255,PB,0,。,但是看看妇科,第52页,1),计数器,0,该计数器向系统日历时钟提供定时中止,工作方式为方式,3,,设置控制字为,36H,。门控,GATE,0,接,+5V,为常启状态,计数器计数初值预置为,0(,即,65536),。所以,,OUT,0,输出方波频率为,1.19 MHz/65536=18.21Hz,,即每秒产生,18.2,次中止,或者说每隔,55ms,申请一次日历时钟中止。其程序以下:,MOVAL,,,36H,;设置计数器,0,为工作方式,3,,采取二进制计数,OUT43H,,,AL,;写入控制字,MOVAL,,,0,;计数值,OUT40H,,,AL,;写入低字节计数值,OUT40H,,,AL,;写入高字节计数值,但是看看妇科,第53页,2),计数器,1,该计数器向,DMA,控制器定时发送动态存放器刷新请求,它选取方式,2,工作,设置控制字为,54H,。门控,GATE,1,接,+5V,为常启状态。,OUT,1,输出从低电平变为高电平使触发器置,1,,,Q,端输出一个正电平信号,作为内存刷新,DMA,请求信号,DRQ,0,。,DRAM,每个单元要求在,2 ms,内必须刷新一次。实际芯片每次刷新完成,512,个单元刷新,故经过,128,次刷新操作就能将全部芯片,64 KB,个单元刷新一遍。,但是看看妇科,第54页,由此能够算出每隔,2 ms/128=15.6,s,进行一次刷新操作,将能确保每个单元在,2ms,内都刷新一遍。为实现上述要求,将计数器,1,设置为工作方式,2,,计数初值取为,18,,这么,每隔,18,1/1.19=15.126,s,就可产生一次,DMA,请求,从而可满足,DRAM,刷新要求。其程序以下:,MOV AL,,,54H,;选择计数器,1,,方式,2,,只写入低,8,位,二进制计数,MOV43H,,,AL,OUTAL,,,12H,;预置计数初值,18,OUT41H,,,AL,但是看看妇科,第55页,3),计数器,2,该计数器控制扬声器发声,作为机器报警信号或伴音信号,选取方式,3,工作。计数器,2,输出方波经电流驱动器,75477,放大后驱动扬声器发声。门控,GATE,2,接,8255,PB,0,,用它控制计数器,2,计数过程。输出,OUT,2,经过一个与门,这个与门受,PB,1,控制,所以扬声器由,PB,0,和,PB,1,来控制发声。,在,IBM PC/XT,机,BIOS,中有一个声响子程序,BEEP,,它将计数器,2,设置为工作方式,3,,作为方波发生器输出约,1 KHz,方波,经滤波驱动后推进扬声器发声。程序以下所表示:,但是看看妇科,第56页,BEEP PROC,MOVAL,,,10110110B,;设计数器,2,为方式,3,,二进制计
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服