微机原理与接口技术课程设计报告电子钟.doc
文本预览下载声明
微机原理与接口技术课程设计报告
——电子钟实验
学院: 计算机学院
指导教师:马学文
一 实验任务及要求
任务:
1、掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;
2、掌握实时处理程序的编制和调试方法。
要求
设计一个定时显示装置,用实验仪左侧的六个LED数码管显示时间,时间显示格式为24小时制。分秒值为59分55秒时开始报时,每秒钟蜂鸣器鸣叫一声,到整点报时停止。
0 1 2 3 4 5 6 7 8 9 G S
用小键盘控制时钟的启停和时钟的设置,键的定义参见上图
键值具体定义如下:
G键(启停键)—— 程序启动后,按下该键时钟启动; 再次按下该键,暂停计时,显示当前时间。
S键(设置键)—— 按下S键后,为时钟设置时、分、秒初始值。
二 硬件连线
键盘的控制、LED显示模块:采用74系列模块控制
键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0、P_1、P_2和开放的输出信号P0、P1、P2相连。74芯片的片选信号CS1接地址译码信号340H, CS2接地址译码信号360H。
时间的精确定时:用8254定时器0产生25ms的中断信号;
8254的片选CS连地址输出端320H,A0,A1分别连地址总线A2,A3,GATE0连+5V,CLK0连74LS393分频输出的47K输出端,OUT0连接到8259的IRQ0
整点报时控制:由8255模块控制;
PC0直接与蜂鸣器相连,CS_4连接到实验仪中部的地址输出端CS_4
中断处理模块:由8259控制
8259的片选CS-1连地址输出300H, INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V, 8259的IRQ0连接到8254的 OUT0。
三、程序流程图
主程序
初始化各阶段寄存器及相关变量
初始化8254、8259、8255芯片
设置中断向量、开放8259中断屏蔽
开放处理器中断
扫描键盘
G键 S键 其他键
中断服务程序
保护现场
判断时间是否不小于59分55秒
报时
扫描键盘
G键?
调用启停子程序
S键?
调用设置时间子程序
COUNT加1
COUNT=40?
修改时间,调用ADDONE子程序
COUNT清0
显示时间,调用显示时间子程序
结束中断(发EOI命令)
恢复现场
中断返回
四、实验源代码
.486p
DATA SEGMENT AT 0 USE16
ORG 1000H
HOUR DW ?
MIN DW ?
SEC DW ?
SLL DB ?
COUNT DB ?
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
ORG 1500H
BEG:JMP START
TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,00H ;0~F的共阴极七段译码表 00H表示不显示任何东西
KEYCOD DB 0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H ;行列编码值
KEYVAL DB 0,1,2,3,4,5,6,7,8,9,0AH,0BH ;所有键的键面值
PORT1 EQU 340H ;数码管段选端口
PORT2 EQU 360H ;数码管位选端口,键盘矩阵的行列端口
START: MOV EAX,6
显示全部