资源描述
微机原理与接口技术课程设计
实验报告——电子时钟
(附8251串口通讯部分实验报告)
通过设置8251的数据位和方式字,通过示波器测量输出波形。
在实验中,8251选择异步通讯方式,修改自发自收程序,通过测量TXD引脚观察波形。
观察波形&分析:
1.数据位:6AH,方式字:7EH(1个停止位,偶校验)
可知:输出为00101011001,数据为可以推断出是加粗部分,则前一位为起始位,后两位01分别为偶校验位和停止位。实验结果与结果相符。
2.数据位:0C4H,方式字:7EH(1个停止位,偶校验)
可知:输出为00010001111,数据为可以推断出是加粗部分,则前一位为起始位,后两位11分别为偶校验位和停止位。实验结果与结果相符。
一、课程设计目的和意义
通过本次课程设计掌握多种芯片使用的方法,灵活地综合运用课本知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解。了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程。
二、开发环境及设备
PC机一台、实验箱、导线若干
8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号
8255并口:用做接口芯片,和数码管相连
8259中断控制器:用于产生中断
LED:六个LED用于显示时:分:秒值
三、设计思想与原理
1、设计思想
本系统设计的电子时钟用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,先读写低字节后读写高字节,方式2,二进制计数,以18.432kHz为输入时钟,4800H分频后为1Hz,即1s产生上升沿,此信号接8259的中断请求信号输入端, CPU即处理中断,使液晶显示器上的时间发生变化。
2.设计原理
利用实验台上提供的定时器8254和扩展板上提供的8259和数码显示电路,设计一个电子时钟,由8254中断定时,电子时钟的显示格式由左到右分别为时、分、秒。
基本工作原理:设置时,分,秒寄存器,获取系统时间存入其中,六个数码管动态显示时、分、秒的当前值。在中断服务子程序中,每来一次中断,秒加1,与60比较,若等于60则向分进1,秒清零;分的处理与秒相同;而时若等于24,则时清零。
四、实验接线图
数码管
8255
CPU
8254
8259A
脉冲
五、实验结果
六、实验心得
在设计时要将各部分器件执行的功能考虑清楚,之后才能正确设计和编写程序。否则,功能分配不清,程序编写困难。
在读取数码管数据值前,要将数码管全部熄灭,之后读取相应位数码管数据,最后重新点亮相应位的数码管。
综合实验设计中,通过设计一个简单的电子表,我们掌握了多个器件的级联和综合设计,加深了对微机系统的理解。
附录一:部分源代码
五、部分程序
1.8255初始化
MOV DX,MY8255_MODE ;初始化8255 工作方式
MOV AL,10000000B ;方式0,A 口、B 口输出,
OUT DX,AL
MOV DX,MY8255_A
MOV AL,00H
OUT DX,AL ;初始化数码管,全0
MOV DX,MY8255_B
MOV AL,00H
OUT DX,AL
2.8254初始化
MOV DX,MY8254_MODE ;初始化8254工作方式
MOV AL,00110100B;计数器0,先读写低字节,后读写高字节方式2,二进制计数
OUT DX,AL
MOV DX,MY8254_COUNT0 ;装入计数初值
MOV AL,00H ;计数初值4800H,以18.432kHz为输入时钟,4800H分频后为1Hz,即1s产生上升沿
OUT DX,AL
MOV AL,48H
OUT DX,AL
3.中断处理程序
PUSH AX
PUSH DX
PUSH SI
MOV SI,0000H
INC TIME[SI]
CMP TIME[SI],10 ;秒的个位<=9,每次加1,大于9时,个位变零,十位变1,结束本次中断
JB SHIWEI
MOV TIME[SI],0
INC TIME[SI+1]
CMP TIME[SI+1],6 ;秒的十位<6时,每次个位变零十位加1,结束本次中断
JB SHIWEI
MOV TIME[SI+1],0 ;原理同秒
INC TIME[SI+2]
CMP TIME[SI+2],10
JB SHIWEI
MOV TIME[SI+2],0
INC TIME[SI+3]
CMP TIME[SI+3],6
JB SHIWEI
MOV TIME[SI+3],0
INC TIME[SI+4]
MOV AL,TIME[SI+4]
MOV AH,TIME[SI+5]
CMP AX,24
JZ ZERO ;24时后清零所有位
CMP TIME[SI+4],10
JB SHIWEI
MOV TIME[SI+4],0
INC TIME[SI+5]
JMP SHIWEI
ZERO: MOV [SI+4],0
MOV [SI+5],0
SHIWEI: MOV DL,IRQ2_OCW2
MOV AL,20H
OUT DX,AL
MOV AL,20H
OUT 20H,AL
POP SI
POP DX
POP AX
IRET
INTER ENDP
4.数码管显示初始系统时间
INIT: MOV DI,0000H
MOV BH,0DFH ;第六个数码管
XIANSHI:MOV AL,TIME[DI] ;读出秒的个位
MOV AH,0
MOV SI,AX
MOV AL,BH
MOV DX,MY8255_A ;列,第六个数码管
OUT DX,AL
MOV AL,DTABLE[SI] ;显示秒的个位
MOV DX,MY8255_B
OUT DX,AL;
CALL DELAY
INC DI
ROR BH,1 ;第五个数码管
CMP DI,06H ;如果是6则数码管已经轮流一圈
JNE XIANSHI
JMP INIT
展开阅读全文