您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第三章 定时计数技术习题答案
第三章定时/计数技术习题答案•如果8253接收到的控制字为10010000B,那么会把它设置成何种配置?解:计数器2,二进制计数,操作在方式0。•写一个计数器1的控制字,其设置如下:只装入低字节,操作在方式5,二进制计数。解:控制字D7-D0=5AH•编写一个在计数操作进行过程中读取计数器2内容的指令序列,并把读取的数值装入AX寄存器。假定8253的端口地址从40H开始。MOVAL,1000XXXXB;锁存计数器2OUT43H,ALINAL,42H;读低8位MOVBL,ALINAL,42H;读高8位MOVAH,ALMOVAL,BL•图中的计数器1编程操作于方式4。为在装入该计数器10us后产中一个选通信号,应装入的计数初值是多少?解:N=0BH分析:方式4使计数器工作在软件触发选通方式。在这种方式下,当由软件装入计数初值之后,计数器便自动进行减1计数;当到达计数终止时刻(计数器计数到0时,在N+1个时钟脉冲之后),该计数器的输出端产生一个选通脉冲信号。现要求在10us后产生一个选通信号则N=Tout/Tclk=10/(1/1.19318)=12十进制数12转换为十六进制数为0CH所以,应把计数初值N=0BH装入计数器1以便在装入10us后产生一个选通信号。1.分频器设计例3.2某微机系统中8253-5/8254-2的端口地址为250H~253H,如何用该定时器将1MHz的脉冲变为1Hz的脉冲?D0~D7D0~D7A0A0A1A1CSRDWR地址译码IORIOWCLK0OUT0GATE0CLK1OUT1GATE12MHz1Hz+5V程序设计MOVAL,27H;计数器0控制字MOVDX,253HOUTDX,ALMOVAL,65H;计数器1控制字OUTDX,ALMOVDX,0250HMOVAL,02H;计数器0时间常数(BCD数高8位)OUTDX,ALMOVAL,50H;计数器1时间常数(BCD数高8位)MOVDX,0251HOUTDX,AL2.脉宽调制D0D7A0A1IORIOWCPU地址D0D7A0A1RDWRCLK0OUT0GATE0CLK1OUT1GATE12MHz输入PWM输出+5VVCC译码器CSMOVDX,0253HMOVAL,34H;计数器0控制字OUTDX,ALMOVAL,72H;计数器1控制字OUTDX,ALMOVDX,0250HMOVAX,10000OUTDX,AL;写入初值低8位MOVAL,AHOUTDX,AL;写入初值高8位MOVDX,0251HMOVAX,NOUTDX,AL;写入初值低8位MOVAL,AHOUTDX,AL;写入初值高8位.8253—5的通道0按方式3工作,时钟CLK0的频率为1MHz,要求输出方波的重复频率为40KHz,此时应如何写入计数初值。解:首先计算计数初值若采用二进制计数,则写入方式为MOVAI,25OUTPORT0,AL;PORT0为通道0的端口地址若采用十进制计数,则写入方式为MOVAL,25HOUTPORT0,AL25KHz40MHz1TTnMHz11f1TKHz401f1T0CLK0OUT0CLK0CLK0OUT0OUT教材中的8253—5应用实例中,若通道0和1都采用二进制计数,扬声器的发声频率为500Hz,问程序应如何改动?解:由于发声频率改为500Hz,则OUT1连续输出500Hz方波5秒后停止输出。通道1的计数初值应为n1=2.5x106/500=5000,因采用二进制计数,若把5000化为十六进制数,则N=1388H,据此,程序变动如下:对通道0,初始化程序中MOVAL,15H改为MOVAL,14HMOVAL,50H改为MOVAL,50对通道1,初始化程序中MOVAL,77H改为MOVAL,76HMOVAL,00H改为MOVAL,88HM0VAL,25H改为MOVAL,13H当然通道1的计数初值也可写为:MOVAX,5000OUT41H,ALMOVAL,AHMOV41H,AL;41H为通道1的端口地址编程实现8253通道0方式0,计数值为Fh,手动逐个输入脉冲,从计算机显示器上显示对应的数。codesegmentassumecs:codestart:movdx,283hmoval,10houtdx,almovdx,280hmoval,0fhoutdx,all1:movdx,280hinal,dxcalldispmovah,1int16hjzl1jbenumadddl,7num:adddl,30hmovah,02hint21hmovdl,0dhint21hmovdl,0ahint21hpopdxretdispendpcodeendsendstartmovah,4chint21hdispprocnearpushdxandal,0fhmovdl,alcmpdl,98254的CLK0的时钟频率是8KHz,问(1)T/C0最大定时时间是多少?(2)要求8254端口地址为90H、92H、94H和96H,请使用74LS138译码器加简单门电路完成地址连线。(3)现在要求使用该8254产生周期为9秒,占空比为4:9的方波,请在上面的电路图中完成电路,并编写初始化程序。1.答:(1)TCLK0=1/fCLK0=1/8000=0.125ms最大定时时间=65536×0.125ms=8.192秒(2)(3)D7~D0IOWIORY2A1A2A7A5A4A3≥1≥1A8A9A6A0CLK1GATE1D7~D0WRRDA0A18254CSCBA74LS138G1G2AG2BCLK0GATE0OUT0CLK2GATE2OUT3OUT18KHz1Hz5V占空比4:9,周期9秒的方波初始化程序:MOVAL,00110111B;T/C0OUT96H,ALMOVAX,8000HOUT90H,ALMOVAL,AHOUT90H,ALMOVAL,01110111B;T/C1MOVAX,9HOUT92H,ALMOVAL,AHOUT92H,AL8253通道2接有一个发光二极管,要使发光二极管以点亮2秒、熄灭2秒的间隔工作,当CPU的地址线A9A8A7A6A5A4A3A2=11000000时,8253的片选信号端变低,其硬件电路如下图所示。试编程完成以上工作。答案:由题中的图可知,CLK1=1KHZ,而通道2工作在方式3输出4S有周期信号设通道1工作方式3,OUT1输出信号的周期为1秒。程序如下:MOVDX,303HMOVAL,01110110BOUTDX,ALMOVDX,301HMOVAX,1000OUTDX,ALMOVAL,AHOUTDX,ALMOVDX,303HMOVAL,10010110BOUTDX,ALMOVDX,302HMOVAL,4OUTDX,AL
本文标题:第三章 定时计数技术习题答案
链接地址:https://www.777doc.com/doc-3301773 .html