1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 微型计算机原理综合实验报告 微机原理综合实验报告[精心整理].doc

微型计算机原理综合实验报告 微机原理综合实验报告[精心整理].doc

时间:2020-12-18 09:01:31

相关推荐

微型计算机原理综合实验报告 微机原理综合实验报告[精心整理].doc

微机原理综合实验报告[精心整理]

微机原理综合实验报告

主题:数字钟的设计与实现

成员:陈天朗(P

洪 力(P

时间:春季学期

实验原理

利用8254产生计时时钟信号,通过设置恰当的时间常数使时间周期为1秒,再将输出脉冲通过8259中断控制器送到总线控制单元申请中断,将8255的各端口与显示屏相连,在中断处理程序中编写程序使8255的输出产生响应变化,最终完成数字钟的计数和显示。

实验设计

1.确定硬件连接方式:

8254:时钟OUT信号与中断请求IRQ1端口相连,GATE接+5V,clock与外部脉冲源相连,选择184.32kHz时钟脉冲源。

8255:受键盘扫描程序启发,利用A口和B口产生片选和位选信号。

整体硬件连接图如下:

2.程序设计:

(1)8254:

计数初值:18432=16384+2048,对应的十六进制数48H

因为需要定时产生中断请求脉冲,所以令其工作在方式2。

(2)8255:

8255应工作在方式0,A口,B口输出,C口低四位输入

(3)中断处理:当中断来时,将秒的个位加1,并判断是否到10,到10后十位加一,个位清零;再判断十位是否到6,到6后十位清零,分的个位加1,同理对

分、时作相应处理,当时到24后再加则清零。

具体程序如下:

CS0 EQU 3000H ;片选CS0对应的端口始地址

CS2 EQU 3040H ;片选CS2对应的端口始地址

MY8255_A EQU CS0+00H ;8255的A口地址

MY8255_B EQU CS0+01H ;8255的B口地址

MY8255_C EQU CS0+02H ;8255的C口地址

MY8255_MODE EQU CS0+03H ;8255的控制寄存器地址

MY8254_COUNT0 EQU CS2+00H ;8254计数器0端口地址

MY8254_MODE EQU CS2+03H ;8254控制寄存器端口地址

IRQ_IVADD EQU 01C8H ;IRQ10对应的中断矢量地址

IRQ_OCW1 EQU 0A1H ;IRQ10对应PC机内部8259的OCW1地址

IRQ_OCW2 EQU 0A0H ;IRQ10对应PC机内部8259的OCW2地址

IRQ_IM EQU 0FBH ;IRQ10对应的中断屏蔽字

STACK1 SEGMENT STACK

DW 256 DUP(?)

STACK1 ENDS

DATA SEGMENT

CS_BAK DW ? ;保存IRQ10原中断处理程序入口段地址的变量

IP_BAK DW ? ;保存IRQ10原中断处理程序入口偏移地址的变量

IM_BAK DB ? ;保存IRQ10原中断屏蔽字的变量

HOUR DB 0

MINUTE DB 0

SECOND DB 0

DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATA ENDS ;键值表,0~F对应的7段数码管的段位值

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

CLI ;清除中断标志位

MOV AX,0000H ;替换IRQ10的中断矢量

MOV ES,AX

MOV DI,IRQ_IVADD

MOV AX,ES:[DI]

MOV IP_BAK,AX ;保存IRQ10原中断处理程序入口偏移地址

MOV AX,OFFSET MYISR

MOV ES:[DI],AX ;设置当前中断处理程序入口偏移地

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。