题9.3 8253每个通道有 6 种工作方式可供选择。若设定某通道为方式0后,其输出引脚为 低 电平;当 写入计数初值(并进入减1计数器) 后通道开始计数, CLK 信号端每来一个脉冲 减1计数器 就减1;当 计数器减为0 ,则输出引脚输出 高 电平,表示计数结束。8253的CLK0接1.5MHz的时钟,欲使OUT0产生频率为300KHz的方波信号,则8253的计数值应为 5(=1.5MHz÷300KHz) ,应选用的工作方式是 3 。
9.4 按要求编写8253初始化程序,对应计数器0~2和控制字的I/O端口地址为204H~207H。
(1)使计数器1工作在方式0,仅用8位二进制计数,初值为128。 (2)使计数器0工作在方式1,按BCD码计数,计数值为3000。 (3)使计数器2工作在方式2,计数值为02F0H。 解:
(1) MOV AL,01010000B ;即50H MOV DX,207H OUT DX,AL MOV AL,128 ;或80H MOV DX,205H OUT DX,AL (2) MOV AL,00100011B ;即23H,或用33H初值3000H MOV DX,207H OUT DX,AL MOV AL,30H ;仅送高8位 MOV DX,204H OUT DX,AL (3) MOV AL,10110100B ;即0B4H MOV DX,207H OUT DX,AL MOV DX,206H MOV AX,02F0H OUT DX,AL MOV AL,AH OUT DX,AL
9.5 设8253计数器0~2和控制字的I/O地址依次为F8H~FBH,说明如下程序的作用。
mov al, 33 ;0011 0011 out 0fbh, al mov al, 80h out 0f8h, al mov al, 50h out 0f8h, al
解:计数器0工作在方式1,BCD码计数,计数值5080D。
9.7 解: 例题9.2中CLK0实际输入101个下降沿后产生中断,还能用工作方式1、4、5。如果利用外部信号启动计数,则GATE0应从 +5v → 0v → +5v。 若采用计数器0方式1的控制字为:00 01 001 0 B= 12H 。
(初始化程序类似p.226 例9.2。) MOV AL,12H ;计数器0方式1 MOV DX,203H OUT DX,AL MOV DX,200H MOV AL,100 OUT DX,AL
题9.8解:先计算计数器0的初值,N=输入f /输出f‘ =5MHz /1KHz=5000
计数器0的方式控制字:00 10 010 1 N= 5000 用BCD计数 计数器1的方式控制字:01 11 100 0 N=1000=3E8H 计数器0初始化程序:
MOV DX,0FFF3H
OUT1 IRQ4 MOV AL,25H
OUT DX,AL
CLK1 MOV AL,50H MOV DX,0FFF0H OUT DX,AL OUT0 (或方式控制字0011 0100,初值5000)
CLK0 5MHz mov dx,0fff3h
mov al,34h
8253 out dx,al
mov dx,0fff0h
mov ax,5000 out dx,al
mov al,ah ;先低后高 out dx,al
计数器1初始化程序:
MOV DX,0FFF3H MOV AL,78H OUT DX,AL MOV AX,3E8H MOV DX,0FFF1H OUT DX,AL
MOV AL,AH ;先低后高 OUT DX,AL
(或方式控制字01 10 100 1,初值1000D,只送高字节) mov al, 69h
mov dx, 0fff3h out dx, al
mov dx, 0fff1h mov al, 10h out dx, al
补充: (此处题目不需要进行8259A的初始化)
IRQ4的中断向量为0CH,若需要设置8259A的初始化如下: MOV AL,13H ;ICW1 OUT 20H,AL MOV AL,08H ;ICW2 OUT 21H,AL MOV AL,07H ;ICW4 OUT 21H,AL
对应中断屏蔽字为11101111,中断屏蔽位设置程序: IN AL,21H ;读出IMR AND AL,0EFH ;设置允许IRQ4 ,其它位不影响 OUT 21H,AL ;再写入IMR 即OCW1
9.9 扬声器控制发音程序:子程序speaker、speakon、speakoff参见p.223 解:参考答案一、 .DATA P1 DW 1193180/524 P2 DW 1193180/588 P3 DW 1193180/660 P4 DW 1193180/698 P5 DW 1193180/784 P6 DW 1193180/880 P7 DW 1193180/998 P8 DW 1193180/1048 .CODE MOV AX, @DATA MOV DS, AX keyin: MOV AH,1 INT 21H ;等待按键 CMP AL,1BH ;是否ESC JZ EXIT CMP AL,31H JZ PP1 CMP AL,32H JZ PP2 CMP AL,33H JZ PP3 CMP AL,34H JZ PP4 CMP AL,35H JZ PP5 CMP AL,36H JZ PP6 CMP AL,37H JZ PP7 CMP AL,38H JZ PP8 CALL speakoff JMP keyin EXIT: MOV AX,4C00H INT 21H PP1: MOV AX,P1 CALL speaker
CALL speakon JMP keyin ;……程序段PP2~PP7 略 PP8: MOV AX,P8
参考答案二、 addr keyin: stop: exit:
CALL speaker CALL speakon JMP keyin .DATA DW 2277,2029,1808,1709 DW 1522,1356,1196,1139 .CODE MOV AX, @DATA MOV DS, AX MOV AH,1 INT 21H ;等待按键 CMP AL,1BH ;是否ESC JZ exit CMP AL,31H JL stop ;< ’1’ CMP AL,38H JG stop ;> ’8’ AND AL,0FH ;截取数1~8 DEC AL ;成为0~7 SHL AL ;因为DW,*2 LEA BX,addr ;数据表起始地址MOV AH,0 ADD BX,AX MOV AX,[BX] CALL speaker CALL speakon JMP keyin CALL speakoff JMP keyin MOV AX,4C00H INT 21H
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理与接口技术课程习题答案(4)在线全文阅读。
相关推荐: