本科实验报告
实验名称: 利用中断方式设计数字时钟
实验二 利用中断方式设计数字时钟
一、 实验目的
1、掌握PC 机中断处理系统的基本原理。
2、熟悉定时/计数器8254 工作原理及其编程方法。
3、利用实验板上的8254 定时器为中断源发中断申请,中断请求用IRQ3(系统总线区的
IRQ)。
4、熟悉数码管显示原理,掌握数码管显示接口技术。
5、学习数字时钟原理,实现数字时钟。
6、掌握中断控制器8259 管理。
二、 实验内容与步骤
接线:
三、 实验原理
1、PC 机用户可使用的硬件中断只有可屏蔽中断,由8259 中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU 发出可屏蔽中断请求。IBMPC、PC/XT 机内有一片8259 中断控制器对外可以提供8 个中断源:
中断源 中断类型号 中断功能
IRQ0 08H 时钟
IRQ1 09H 键盘
IRQ2 0AH 保留
IRQ3 0BH 串行口2
IRQ4 0CH 串行口1
IRQ5 0DH 硬盘
IRQ6 0EH 软盘
IRQ7 0FH 并行打印机
8 个中断源的中断请求信号线IRQ0~IRQ7 在主机的62 线ISA 总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。对于PC/AT 及286 以上微机内又扩展了一片8259 中断控制,IRQ2 用于两片8259 之间级连,对外可以提供16 个中断源:
中断源 中断类型号 中断功能
IRQ8 070H 实时时钟
IRQ9 071H 用户中断
IRQ10 072H 保留
IRQ11 073H 保留
IRQ12 074H 保留
IRQ13 075H 协处理器
IRQ14 076H 硬盘
IRQ15 077H 保留
实验系统总线区的 IRQ 接到了3 号中断IRQ3 上,即进行中断实验时,所用中断类型号为0BH。
2、中断控制器8259 可利用系统初始化设定,如不进行新的初始化,只需对8259 中断控制器的屏蔽寄存器设定IRQ3 为中断允许,其他原有中断允许保持不变。
3、将实验板上的8253 的通道,设定为10ms 周期信号发生器,该芯片的通道1 设定为计数器,其输入来自定时器通道0 的输出,利用通道1 的计数器输出作为IRQ3 中断请求信号。
4、8254 定时器的CLK0 由实验板上的1MHZ 振荡器来提供。见图1。
5、编写中断服务程序,进行数字钟显示: XX:XX
( 分 秒)
其中 X 为一数码管。
6、数码管显示接口电路如图2 所示。实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
实验时用 PB7~PB0/8255 接dp~a /LED 数码管,PC3~PC0 /8255 接S3~S0/LED 数码管。
七段数码管的字型代码表如下表:
6、程序流程图如图3:
主程序流程图
四、实验代码及注释
p8259 equ 20h ;端口首地址
p8255 equ 288h ;端口首地址
p8253 equ 280h ;IO Y1
data segment
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;数码管
sec1 db 0
sec2 db 0
min1 db 0
min2 db 0
mes db 42h
Old_0A DW 0,0 ;原中断向量
Old_8259 DB 0
data ends
stacks segment
db 64 dup (0)
stacks ends
code segment
assume cs:code,ds:data,es:data
start:
mov ax,data
mov ds,ax
cli;关闭中断
mov al,00110110b
mov dx,p8253+3 ;计数器0,工作在模式3
out dx,al
mov ax,10000
mov dx,p8253
out dx,al
mov al,ah ;先赋高八位 再赋低八位
out dx,al
mov al,01110110b
mov dx,p8253+3 ;计数器1,工作在模式3
out dx,al
mov ax,100
mov dx,p8253+1
out dx,al
mov al,ah ;先赋高八位 再赋低八位
out dx,al ;设置中断向量表
PUSH ES
PUSH BX
MOV Al,0BH ;保护原中断向量,0B中断类型号
mov ah,35h
INT 21H ;读中断向量表
MOV Old_0A+2,ES ;ES为段地址,BX为段偏移地址
MOV Old_0A,BX
POP BX
POP ES
push ds
mov al,0bh ;写新中断向量
mov ah,25h
mov dx,seg INT_0A
mov ds,dx
mov dx,offset INT_0A
int 21h
pop ds
mov al,10000000b ;对8255进行设置,PB/PC输出
mov dx,p8255+3
out dx,al
in al,p8259+1 ;8259奇地址中断向量屏蔽
mov old_8259,al ;字设置保护原屏蔽字
and al,11110111b ;开IRQ3
out p8259,al
sti ;开中断
play:
lea bx,led ;led段码
mov dl,sec1 ;秒个位
mov dh,0
mov si,dx
mov al,[bx][si]
mov dx,p8255+1 ;点亮led
out dx,al
mov ah,00001110b
mov al,ah
mov dx,p8255+2 ;pc输出选通信号
out dx,al
PUSH CX
MOV CX,00f00h ;延时
delay1:
LOOP delay1
POP CX
mov ah,00001111b
mov al,ah
mov dx,p8255+2 ;pc输出选通信号
out dx,al
mov dl,sec2 ;秒十位
mov dh,0
mov si,dx
mov al,[bx][si]
mov dx,p8255+1 ;点亮led
out dx,al
mov ah,00001101b
mov al,ah
mov dx,p8255+2 ;pc输出选通信号
out dx,al
PUSH CX
MOV CX,00f00h; 延时
delay2:
LOOP delay2
POP CX
mov ah,00001111b
mov al,ah
mov dx,p8255+2 ;pc输出选通信号
out dx,al
mov dl,min1 ;分个位
mov dh,0
mov si,dx
mov al,[bx][si]
mov dx,p8255+1 ;点亮led
out dx,al
mov ah,00001011b
mov al,ah
mov dx,p8255+2 ;pc输出选通信号
out dx,al
PUSH CX
MOV CX,00f00h ;延时
delay3:
LOOP delay3
POP CX
mov ah,00001111b
mov al,ah
mov dx,p8255+2 ;pc输出选通信号
out dx,al
mov dl,min2 ;分十位
mov dh,0
mov si,dx
mov al,[bx][si]
mov dx,p8255+1 ;点亮led
out dx,al
mov ah,00000111b
mov al,ah
mov dx,p8255+2 ;pc输出选通信号
out dx,al
PUSH CX
MOV CX,00f00h ;延时
delay4:
LOOP delay4
POP CX
mov ah,00001111b
mov al,ah
mov dx,p8255+2 ;pc输出选通信号
out dx,al
jmp play
mov ah,4ch
int 21h
INT_0A proc near ;中断服务子程序
cmp sec1,9
jz int1
inc sec1
jmp exit
int1:
mov sec1,0
inc sec2
cmp sec2,6
jnz exit
mov sec2,0
inc min1
cmp min1,10
jnz exit
mov min1,0
inc min2
cmp min2,6
jnz exit
mov min2,0
exit:
mov al,20h
out 20h,al
iret
INT_0A endp
code ends
end start
五、实验心得
通过这次实验,掌握了PC 机中断处理系统的基本原理,熟悉了定时/计数器8254 工作原理及其编程方法。还复习了数码管显示原理,掌握数码管显示接口技术。学习到数字时钟原理, 练习了中断控制器8259 管理。对中断有了全面的理解和掌握。
北京理工大学物理化学课程实验报告
化工与环境 学院 化工与制药类 专业 20## 年 5月 20日
实验二实验报告表实验名称学号姓名班级实验时间实验报告表21数值型数据在计算机中的二进制实验记录表说明本实验对计算机内存数据的存放拟…
实验七实验报告表实验名称学号姓名班级实验报告表71网络中实现通信互联的主要设备和其功能实验报告表72域名解析的IP路由通讯的过程实…
实验三实验报告表实验名称字符编码与信息交换学号姓名班级实验时间实验报告表31西文字符显示过程编码记录表实验报告表32汉字显示过程编…
实验八实验报告表实验名称云计算与虚拟服务学号姓名班级实验时间实验报告表81并行算法和串行算法实验数据表实验报告表82分布式实验数据…
实验七实验报告表实验名称学号姓名班级实验时间20xx年月12月2日实验报告表71网络中实现通信互联的主要设备和其功能实验报告表72…
课程名称VHDL硬件描述语言实验时间20xx年10月实验报告姓名学号专业信息工程班级05111003目录实验一时钟分频电路3一实验…
本科实验报告实验名称基于并行接口的键盘控制实验一基于并行接口的键盘控制一实验目的1掌握简单并行接口8255的工作原理及使用方法2了…
凯程考研集训营为学生引路为学员服务20xx年北京理工大学电路信号与系统考研真题完整版凯程首发刚考完20xx考研初试凯程教育的电话瞬…
理硕教育专注于北理工考研辅导本资料由理硕教育整理理硕教育是全国唯一专注于北理工考研辅导的学校相对于其它机构理硕教育有得天独厚的优势…
凯程考研集训营为学生引路为学员服务20xx年北京理工大学882电路信号与系统考研真题完整版凯程首发刚考完20xx考研初试凯程教育的…
五实验报告学号姓名班级实验时间年月日实验报告图像生成与图像处理一填写下载图像的相关数据二查看左侧的图像请填写相应的图像编码三计算机…