微机原理习题1.docx

精品word学习资料可编辑 名师归纳总结——欢迎下载 1, 设 8255A 得 A 口,B 口,C 口与掌握字寄存器得端口地址分别为 80H , 82H ,84H 与 86H ; 要求 A 口工作在方式 0 输出,B 口工作在方式 0 输入,C 口高位输出,试编写 8255A 得初始化程序; 4 位输入 ,低 4 MOV AL ; 方式掌握字 OUT 86H ,AL 2,8255A 得 A 口,B 口,C 口与掌握字寄存器得端口地址分别为 80H ,82H , 84H 与 86H, 要求 PC4 输出高电平 ,PC5 输出低电平 ,PC6 输出一个正脉冲 ,试写出完成这些功能得指令序列; MOV AL ;PC4 输出高电平 OUT 86H ,AL MOV AL ;PC5 输出低电平 OUT 86H ,AL MOV AL ,000001100B ;PC6 先输出低电平 OUT 86H ,AL MOV AL ;PC6 再输出高电平 OUT 86H ,AL MOV AL ;PC6 再输出低电平 ,形成一个正脉冲OUT 86H ,AL 3, 8255A 得口地址为 80H ~83H ,8253 得口地址为 84H ~87H , (1 )如 A 口接 8 个开关 K7 ~K0,B 口接 8 个指示灯 LED 7 ~LED0, 当开关合上时相应得 指示灯亮 ,断开时灯灭 ,要求每隔 0,5s 检测一次开关状态 ,并在 LED 上显示出来 , 试画出 硬件连线图 ,编写实现这种功能得程序; (2 )如把接在端口 A 上得开关去掉 ,要求接在端口 B 上得指示灯轮番熄灭 ,每只灯熄灭 1 秒钟,请编程实现这种功能; 答:(1 )8255A :A 口输入 ,B 口输出 精品word学习资料可编辑 名师归纳总结——欢迎下载 8253:2MHz/2Hz =1000000 通道 0 工作于方式 2 ,取 N0=1000 通道 1 工作于方式 0 ,取 N1=999,即得 OUT1 每 0,5 秒中断一次; 此题用 8253 定时中断 ,中断处理时检测开关状态 ,并点亮相应得 LED ; 假设 8259A 已初始化 ,主程序如下 : MOV AX, SEG INTR ; 形成中断矢量表 MOV DS, AX MOV DX, OFFSET INTR MOV AL, N MOV AH, 25H INT 21H MOV AL, ;8255 初始化OUT 83H, AL MOV AL, ; 通道 0 方式 2 ,BCD 计数 OUT 87H, AL MOV AL, 00H ; 置初值 1000 OUT 84H, AL MOV AL, 10H OUT 84H, AL MOV AL, ; 通道 1 方式 0 ,BCD 计数 OUT 87H, AL MOV AL, 99H ; 置初值 999 OUT 85H, AL MOV AL, 09H OUT 85H, AL STI AGAIN:HLT JMP AGAIN 中断服务程序 : INTR: PUSH AX 精品word学习资料可编辑 名师归纳总结——欢迎下载 STI IN AL, 80H ; 检测开关 ,合上为 0 NOT AL ; 取反 OUT 81H, AL ;点亮相应 LED ( 合上) MOV AL, ; 通道 1 方式 0 ,BCD 计数 OUT 87H, AL MOV AL, 99H ; 置初值 999 OUT 85H, AL MOV AL, 09H OUT 85H, AL CLI MOV AL, 20H ;一般 EOI 命令 OUT 20H, AL POP AX IRET 2 )8255A :B 口输出 8253:通道 0 工作于方式 2 ,取 N0= 2000 通道 1 工作于方式 3 ,取 N1= 1000,即得 OUT1 频率为 1Hz ( 周期为 1 秒) 得方波, 接到 8259A 得 IRi, 边沿触发中断恳求;主程序如下 : MOV AX, SEG INTR ; 形成中断矢量表 MOV DS, AX MOV DX, OFFSET INTR MOV AL, N MOV AH, 25H INT 21H MOV AL, ;8255 初始化 OUT 83H, AL 精品word学习资料可编辑 名师归纳总结——欢迎下载 MOV AL, ;通道 0 方式 2 ,BCD 计数 OUT 87H, AL MOV AL, 00H ; 置初值 2000 OUT 84H, AL MO

文档评论(0)

1亿VIP精品文档

相关文档