微机原理实验4资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

U37 74LS138 208-20F 210-217 218-21F
U10
U44 220-227 228-22F 230-237 A Q7 238-23F B 74 LS 393 Q3 Q2 Q1
U27 U26 U29 PB2 PB1 U30 U31 Q6 Q5
Q4
TxRDY U45 TxE Q15
2 .可屏蔽硬中断程序设计
(1) 改写键盘硬中断子程 每按下一个键,在屏幕上将该键对应的扫描码
以二进制形式显示出来。
(2) 利用键盘控制定时显示功能 每隔1秒钟显示字符串’Can I help you ? ’,
当按下一个键时,则停止定时显示功能,
再按下一键时,恢复定时显示功能。
2
3.(选作)
用TPC-1 型微机实验箱上单脉冲电路产生的正脉冲信 号做中断源,
13
(5) 有关8259A的编程: 设置中断屏蔽字
中断屏蔽寄存器的端口地址为21H。
通过改变中断屏蔽寄存器各位的值实现:
某位为0,允许该级中断申请进入; 某位为1,禁止该级中断申请进入。 例:新增允许IR2的中断申请 IN AND OUT AL,21H AL,11111011B 21H,AL ;读入原IMR的内容 ;新增允许IR2的中断申请 ;写入中断屏蔽寄存器IMR
release: …… MOV OUT POP IRET AL, 20H 20H,AL AX
;释放键处理 ;发中断结束
;恢复寄存器值(恢复现场) ;中断返回
8
(4) 在键盘中断处理程序的最后应发中断结束命令, 否则将屏蔽键盘中断。
9
3. 关于任务2 (2) 要用到定时和键盘两个中断源。
可在任务2(1)的基础上完成, 在键盘中断子程中,设置一个标志变量 flag, 用以区分是奇数次按键还是偶数次按键。 对奇数次按键,可重置 8259A 的屏蔽字,屏蔽定时 器中断,使 CPU 不再响应定时中断,从而停止了定时 显示功能;
可据扫描码的最高位确定是按下键操作还是释放键操作,
最高位为 1 (扫描码为断码),则说明是释放键引起的中断;
最高位为 0 (扫描码为通码),则说明是按下键引起的中断。
5
(3) 若在IBM PC和XT上
在读取扫描码后,应置键盘应答信号,键盘接口才能 为接收下一个键做好准备。置键盘应答位的方法是:
先将 61H 端口的最高位置 1, 再将 61H 的最高位置 0。 原理可参看键盘接口有关资料。
发中断结束命令EOI
三、实验箱上相关电路 参看附3,了解TPC-1 型微机实验系统,掌握实验箱上 IBM PC/XT 总线、单脉冲电路和8MHz脉冲电路。 1、TPC-1型实验箱实物
图3-1 TPC-1型实验箱实物
18
60 芯 扁 平 电 缆 插 槽 J6
电源开关 U16 U42 GND +5v +12v -5v -12v IN6 IN7 EOC 500kHz CS
B10
A10
B20
A20
B30
A30
I/O CH CK D7 D6 D5 D4 D3 D2 D1 D0 I/O CH RDY AEN A19 A18 A17 A1 6 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
图3-3
PC 总线信号引脚
20
4.8MHz脉冲电路
该电路提供 8MHZ 脉冲,标有 8MHZ 的插孔为该脉冲 的输出端。
360
11
Ω 10 0.01μ
360 Ω
13 12 9 8
8MHz
8MHz 晶振
U34 74LS04

4
8MHz脉冲电路
21
5.单脉冲电路
该电路提供正负单脉冲。 附近按扭为单脉冲产生按扭,每按一次产生一个单脉冲, 标有“ ”的插孔输出正单脉冲,标有 “ ”的插孔 输出负单脉冲。
例:屏蔽IR7的中断申请 IN OR AL,21H AL,10000000B ;读入原IMR的内容 ;屏蔽IR7的中断申请
OUT
21H,AL
;写入中断屏蔽寄存器IMR
14
(6) 发中断结束命令EOI
通过往8259A的偶地址写入20H实现,
8259A的偶地址为20H,指令如下: MOV AL,20H OUT 20H,AL
(4) 每片8259A有8个中断申请输入端IR0~IR7
主8259A的连接情况如下: IR0 与主板上的8253计数器0相连,该计数器输出频率 为18.2hz的方波。 IR1 与键盘接口发出的中断申请相连。
IR2 ~ IR7 分配给其它外设,或未使用。
在PC总线上可由插孔IRQ2~IRQ7引入中断申请信号。
对偶数次按键,则清除对定时中断的屏蔽,以恢复定 时显示的功能。
10
4. 关于任务3(选做)
计算机上实际配置的外设不同,8259A的IR2~IR7的 占用情况也就会不同。 利用PC 总线上的中断申请插孔IRQ2~IRQ7,自编程序 进行检测。 (1) IRQ2~IRQ7对应的中断类型号为0A~0FH。 (2) 在中断子程中,显示字符串’Interrupt is OK!’。 对可用的中断申请插孔,运行的结果是能够正常显 示该字符串; 对于发生冲突的不可用中断申请插孔,运行的结果是 不能够正常显示该字符串,甚至出现死机等异常情况。
若在AT及以上微机做实验,
在读取扫描码后,可不用键盘应答信号。
6
在PC和XT机上,键盘中断处理程序中置键盘应答和判断通码、断码的过程:
PUSH IN MOV AX AL,60H AH,AL ;保存寄存器值(保存现场) ;读扫描码 ;保存在AH中
IN
OR OUT AND
AL,61H
AL,80H 61h,AL AL,7FH
11
5. 有关8259A
(1)IBM PC 系列微机的可屏蔽中断系统由主板上的8259A 控制。 (2)8259A是一个可编程中断控制器
IBM PC和XT机使用1片8259A,可管理8个中断申请, IBM PC/AT及以上微机使用2片8259A级连,可管理15个中断申请。主 8259A的端口地址为20H和21H。
Q0
Q11 Q10
RTS DTR GND RxD
1488
TxD
1489
8 2 5 1 A
RxRDY
TxC RxC CS
8 2 5 5 A
PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 CS
WGO48C XM159D YP2 6AE SR37BF
Q14
Q13
Q12
74 LS 393
15
(7)可屏蔽硬中断程序的编写方法 •
• • 保存原中断向量可用DOS的35H功能调用。
• 设置新中断向量和恢复原中断向量可用DOS的25H功能调用。 中断向量的类型号由中断源与8259A的连接关系确定。 主程完成与中断有关的设置工作后,
即可进行其它工作的处理,通常此处可用一双重循环延时程序段,或 用计数中断子程被执行次数,或用判断是否有按键动作等代替。 • 在结束主程,返回DOS之前,应据中断源的不同情况做处理:
4
2. 关于任务2(1)
键盘中断类型号为09H,编写键盘硬中断程序要点是:
(1) 键盘接口按下键和释放键都向 8259A 发出中断申请
若满足响应条件:
对键盘上的一个按键操作(包括按下键和释放键), CPU 将执行两次键盘中断(按下键一次,释放键一次)。
(2) CPU 响应键盘中断时
可从 60H 端口读取按下键的扫描码,
;置键盘应答
;使61H口最高位为1
OUT
TEST JNZ …… release: …… MOV OUT POP IRET
61H,AL
AH,80H release
;使61H口最高位为0
;检查是按下键还是释放键,即是通码吗? ;不是通码则转去作释放键处理 ;按下键处理 ;释放键处理
AL,20H 20H,AL AX
;发中断结束
;恢复寄存器值(恢复现场) ;中断返回 7
在AT及以上微机,去掉键盘应答部分,键盘中断处理程序可简化为:
PUSH AX IN TEST JNZ …… AL,60H AL,80H release
;保存寄存器值(保存现场) ;读扫描码 ;检查是按下键还是释放键,即是通码吗? ;不是通码则转去作释放键处理 ;按下键处理
Q9
Q8 U40 L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 U41 L11 L12
12 个 发 光 二 极 管
K1 PC4 PC5 PC6 PC7
K2 K3 K4
K5 K6 K7 K8
K9
K10 K11 K12
PB3
PB4
PB5
PB7 3 PB6
图3-2
PC0
PC1
PC2
PC3
12 个 逻 辑 电 平 开 关
实验四、软中断、硬中断程序设计
一Βιβλιοθήκη Baidu实验目的
通过对软中断、可屏蔽硬中断程序的编写和调试, 掌握 IBM-PC机的软中断、可屏蔽硬中断程序的编 写和调试, 掌握 IBM PC 系列微机的中断系统及中断程序设计 方法。
1
二、实验任务
1.编写一个类型为60H的中断程序,其功能发出一阵铃响, 在主程序中用中断INT60H调用该中断程序。
或恢复原中断向量,或通过设置8259A的中断屏蔽字屏蔽对此级中断源 的反应。
• 中断子程中,处理中断源请求的任务,在中断返回前,应发中断结束 命令EOI。
图1和图2分别是可屏蔽硬中断的主程序和中断子程序流程图。
16
开始 CLI关中断 开始 保存现场
保存原中断向量
设置新中断向量 设置8259A的中断屏蔽字 中断子程有关量的初始化 恢复现场 STI开中断 IRET中断返回 主程其它工作处理 (可用双重循环延时代替) 恢复原中断向量 图2 中断子程流程图 返回DOS 图1 主程序流程图 17 完成中断源 申请的任务
TPC-1型实验箱面板布置图
19
3、PC总线信号
实验箱上有两个PC总线扩展插槽和一个PC总线信号引出插孔排。
GND RESET DRV +5V IRQ2 - 5V DRQ2 - 12V
+12V GND MEMW MEMR IOW IOR DACK3 DRQ3 DACK1 DRQ1 DACK0 CLOCK IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 DACK2 T/C ALE +5V OSC GND B1 A1
GATE2 GATE1 OUT3 OUT2 OUT1
CLK1 CLK2 CLK3
GATE3
CS A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 U14 U13 1 J4 U28 RES U33 U32 CS 1 J3 1 J2 JS DRQ U20 U15 U43 U38 200-207
(3)BIOS对主8259A的设置如下:
边沿触发方式,当输入端IR0~IR7出现上升沿信号时,发出中断申 请信号。 中断向量初值为08H,IR0~IR7对应的中断类型号为08H~0FH。 固定优先级,IR0优先级最高,IR7优先级最低。 一般屏蔽方式,用中断屏蔽寄存器IMR控制各级中断的允许或屏 蔽。 一般全嵌套方式,中断服务结束时,需发中断结束命令EOI,清 12 除ISR中的记录,否则屏蔽同级或低级的中断。
依次检测 PC 总线上的中断申请插孔IRQ2~IRQ7, 确定哪些未被微机系统占用。
3
三、实验说明
1. 关于任务1
(1) 进行软中断程序设计最好使用DOS系统保留给用户应用 的中断类型,否则处理不当,会引起意想不到的后果。 (2) 用INT 60H即可调用60H中断子程 60H属于系统保留给用户的软中断类型号, 只要在中断向量表0 :460H单元中存放用户编写的60H中断 程序入口地址,用INT 60H即可调用60H中断子程 。
可调电阻
U34
2、实验箱面板布置图
U7 U18 U1 U2 U3 U6 U4 U9
IN0 IN1
CS
IN2 IN3 IN4 IN5
8MHz 面包板
DAC0832
AOUT
ADC 0809
PC 总 线 插 槽 1
PC 总 线 插 槽 2
PC 总 线 插 孔 排
U11
RAM 6116
U39 DMA
8253
5 4
6 U42 74LS00
1
2 U34 74LS04
3
4
3.6k
+5V
图 5 单脉冲电路
22
相关文档
最新文档