《微机原理实验》PPT课件

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

中断服务子程序
CPU关中断 CX-1
CPU开中断 中断返回
(2)8254定时工作方式
• CLK1
接 时钟
• GATE1 接 +5V
• OUT1 接 8259A
• 8254地址输入端A0接至系统地址线 A2
• 8254地址输入端A1接至系统地址线 A3
• 定时20毫秒,自启动方式,达到20毫秒则OUT1输出脉冲信号给8259A IRQ0

0
000
0
x x x x x CS1=0
0 1 1 00 0

0
000
0 0 1 1 00 0
x 0 0 x x 300H

0
000
0 0 1 1 00 0
x 0 1 x x 304H

0
000
0 0 1 1 00 0
x 1 0 x x 308H

0
000
0 0 1 1 00 0
x 1 1 x x 30CH
实验七 8254 定时/计数器
基本功能
• 定时时间到—— OUT端输出信号 • 计数个数(次数)到—— OUT端输出信号
计数工作方式
CS1 CS
+5V GATE0
?
外部脉冲
CLK0
OUT0
定时工作方式
CS1 CS
+5V GATE1
系统时钟
百度文库CLK1
OUT1
8259A
INT1 IRQ0
中断服务程序
CPU
INTR
8254
OUT CLK
8259A
INT1 IRQ0
中断服务程序
CPU
INTR
A2
A3
• 8254地址输入端A0接至系统地址线 A2;
• 8254地址输入端A1接至系统地址线 A3;
• 地址输出端 CS1接至8254 的片选 CS;
• 当A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
• 8254地址输入端A1接至系统地址线 A3
• 8254设置为计数方式,记录外部触发脉冲个数;
• 计数达到5次,OUT0输出信号给8259A IRQ0
• 利用8259A实验程序,使得CX-1
主程序 CPU关中断 8259初始化 设置中断向量 8254初始化 (计数5次) CPU开中断 循环等待 (注意标号)
• 工作方式选择: • D3D2D1=000,计数器工作在方式0;D3D2D1=001,计数器工作在方式1; • D3D2D1=X10,计数器工作在方式2;D3D2D1=X11,计数器工作在方式3; • D3D2D1=100,计数器工作在方式4;D3D2D1=101,计数器工作在方式5;
• 数制选择: • D0=0,计数初值二进制数 • D0=1,计数初值十进制数
• x:表示可以取任意值,这里取“0”
口地址分配
• 8253控制端口 • 计数器0口的地址 • 计数器1口的地址 • 计数器2口的地址
30CH 300H 304H 308H
计数器选择
读/写方式选择
工作方式选择
数制选择

D7 D6
D5 D4
D3 D2 D1
D0
• 计数器选择
• D7 D6=00 选择0号计数器; • D7D6=10 选择2号计数器;
D7D6=01 选择1号计数器; D7D6=11 控制字的标志之一;
• 读/写方式选择: • D5D4=00, 锁存计数器的当前值,以便读出检查; • D5D4=01, 写入时,只写低8位计数初值,高8位置0;读出时,只读出低8位的当前计数值; • D5D4=10, 写入时,只写高8位计数初值,低8位置0;读出时,只读出高8位的当前计数值; • D5D4=11, 先读/写低8位计数值,后读/写高8位的当前计数值;
• 利用8259A实验程序,每1秒改变一次CX-1
程序调试方法
• 8259A工作正常
• 关闭电源
• 改变连线 OUT0——IRQ0

CLK0——外部脉冲

8254地址A0——系统地址线 A2

8254地址A1——系统地址线 A3
• 在主程序中,增加8254初始化
感谢下 载
关键指令
MOV DX , 30CH
;设置控制字
MOV AL , 00010001B
OUT DX , AL
MOV DX , 300H 口计数值 MOV AL , 03 OUT DX , AL
;设置0
实验内容
• (1)8254计数工作方式

CLK0
外部脉冲

GATE0
+5V

OUT0
IRQ0
• 8254地址输入端A0接至系统地址线 A2;
相关文档
最新文档