A2H 00H 00H 90H 40H 02H XX 00FAH
00FCH
执行后:0300H:00FEH
初始: 0300H:01000H
8.3 某一用户中断源的中断类型号为40H,其中断服务程序名为INTR40,请用两种不同的方法设置它的中断向量。
方法一: MOV AX,0 MOV DS,AX
MOV AX,OFFSET INTR40 MOV [00C0H],AX MOV AX,SEG INTR40 MOV [00C2H],AX
方法二: MOV AX,0 MOV ES,AX MOV DI,40H*4 CLD
MOV AX,OFFSET INTR40 STOSW
MOV AX,SEG INTR40 STOSW
8.5 某一8086CPU系统中,采用一片8259A进行中断管理。设8259A工作在全嵌套方式,发送EIO命令结束中断,边沿触发方式,IR0对应的中断向量号为90H,8259A在系统中的端口地址为FFDCH(A0=0)和FFDDH(A0=1),试编写8259A的初始化程序段。
初试化程序段为: MOV DX,0FFDCH
MOV AL,13H
OUT DX,AL INC DX INC DX
MOV AL,90H OUT DX,AL MOV AL,01 OUT DX,AL 第9章
可编程接口芯片及应用习题
9.1 试按如下要求分别编写初始化程序,已知计数器0 ~ 2和控制字寄存器的端口地址依次为204H ~ 207H。
(1)使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。 (2)使计数器0工作在方式1,按BCD码计数,计数值为3000。
(3)使计数器2工作在方式2,按二进制计数,计数值为02F0H。 初始化程序为: MOV DX,207H MOV AL,50H OUT DX,AL MOV DX,205H MOV AL,80H OUT DX,AL MOV DX,207H MOV AL,23H OUT DX,AL MOV DX,204H
MOV AL,30H
OUT DX,AL
MOV DX,207H MOV AL,0B4H OUT DX,AL MOV DX,206H MOV AL,0F0H OUT DX,AL MOV AL,02 OUT DX,AL
9.2 硬件如题9.2图,利用PC内部8253定时器0,并用中断方式实现每隔1s使发光二极管亮暗交替显示。(PC内部8253输入时钟频率为1.1932MHz,8253定时器0端口地址为40H,控制寄存器端口地址为43H。Y0为350H)。
定时器计数值=1.1932MHz÷5=32864=83D5H 软件计数值:50
程序为:(硬件图见教材P345题9.2图)
MOV AL,34H OUT 43H,AL MOV AL,0D5H OUT 40H,AL MOV AL,83H OUT 40H,AL MOV BL,50 ┇
T0中断服务程序为: DEC BL
JNZ EXIT1 MOV BL,50 MOV AL,BUF NOT AL MOV BUF,AL MOV DX,350H OUT DX,AL EXIT1:MOV AL,20H OUT 20H,AL;(设8259A的端口地址为20H,21H) IRET
9.3 硬件如题 9.3图,8253采用方式0,BCD码计数方式,初始值为1000,每按一次按钮S,计数器值减1。试编程实现显示8253当前计数值,直至计数值为0。8253端口地址范围为80H ~ 83H。
(略。在何处显示---屏幕/LED/液晶?)
9.4 图9.4为一简化的键盘/数码管显示接口电路,假设端口线a’ ~ h’及1、2脚送“1”电平,可使显
示点亮并能实现扫描,试问U1、U2及数码显示器的选用。
(1)U1为 (同相驱动器 / 反相驱动器)。 (2)U2为 (同相驱动器 / 反相驱动器)。 (3)数码显示器为 (共阴 / 共阳)数码管。 (4)若A键闭合,则端口线3,4的电平为 。 图9.4见教材P346
(1) 选用同相驱动器 (2) 选用反相驱动器 (3) 选用共阴数码管
(4) 若A键闭合,则端口线3,4的电平为0,1
9.5 硬件如题 9.5图,试编程实现循环检测S0、S1,当S0按下,数码管显示0,当S1按下,数码管显示1,S0、S1同时按下,则结束程序。8255的端口地址范围为80H83H。
程序为: MOV AL,82H OUT 83H,AL AGAIN: IN AL,81H TEST AL,03 JZ EXIT TEST AL,01
JZ NEXT MOV AL,3FH OUT 80H,AL JMP AGAIN NEXT: TEST AL,02 JZ NEXT1 MOV AL,06 OUT 80H,AL JMP AGAIN NEXT1:MOV AL,00 OUT 80H,AL JMP AGAIN EXIT: MOV AH,4CH INT 21H
第10章 串行通信习题
10.6 设异步传输时,每个字符对应一个起始位,7个信息位,1个奇偶校验位和一个停止位,如果波特率为9600,每秒能传输的最大字符数为多少个?
字符数=9600位 / 秒÷10位 / 字符=960(字符 / 秒)
10.13 要求8251A工作于异步方式,波特率系数为16,字符长度为7位,奇校验,2个停止位。工作状态要求:复位出错标志,使请求发送信号RTS有效,使数据终端准备好信号DTR有效,发送允许TxEN有效,接受允许RxE有效。设8251A的两个端口地址分别为0C0H和0C2H,试完成初始化编程。
初始化程序为:
MOV AL,11011010B (DAH) OUT 0C2H,AL
MOV AL,00110111B (37H) OUT 0C2H,AL 第11章 模数、数模转换习题
11.3 某8086系统中,A/D转换器ADC0809只使用一个模拟量输入通道,试设计其接口电路,并编写子程序。子程序的功能是启动A/D转换,并以查询方式读入一个采样数据放在寄存器DL中。
设所设计的A/D转换器接口电路如下:
采样程序为: CYSUBR PROC
OUT 50H,AL NOP NOP
WAIT1: IN AL,51H TEST AL,01 JZ WAIT1 IN AL,50H MOV DL,AL RET CYSUBR ENDP
11.4 某8086系统中,由ADC0809构成A / D转换器,通过8255与CPU接口,如题11.4图所示。试编写程序,
以查询的方式巡回采样8个模拟量输入通道,每个通道16次。采样数据存放在内存中。
题11.4图 程序段为:
MOV AL,10000001B(81H) MOV DX,0FFDBH OUT DX,AL
LOP0: MOV DI,OFFSET BUF MOV BL,0 LOP1: MOV CX,16 MOV AL,BL MOV DX,0FFD8 OUT DX,AL CONT: MOV DX,0FFCAH MOV AL,0C0H OUT DX,AL NOP NOP
LPO2: IN AL,DX TEST AL,01 JZ LOP2 DEC DX
IN AL,DX MOV [DI] ,AL INC DI LOOP CONT INC BL CMP BL,8 JNZ LOP1 ┇
JMP LOP0