高分求:用汇编语言设计时钟。万分着急,十分感谢!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/15 01:21:36
要求:有时针,分针,秒针,整点时响三下报时,在DOS环境下运行。
还要有时钟面板,可以修改,谢谢

用Atmel89C51和Maxim7219实现一个8位LED显示时钟。编译通过了,DIGIT是显示缓存器,用来接收BUF,SBF,MBF,HBF表示的秒,分,时数据,计时器采用中断实现。
程序如下:

ORG 0000H
AJMP MAIN
ORG 000BH
AJMP CLOCK
ORG 001BH

MAIN: MOV TMOD,#01H ;定时器方式1
MOV TL0,#0B0H ;定时器低位初值
MOV TH0,#3CH ;定时器高位初值
MOV IE,#82H ;允许中断
MOV BUF,#00H ;BUF是0.1秒计时单元,清0
MOV SBF,#00H
MOV MBF,#00H
MOV HBF,#00H ;初始化
MOV LED3,#01H ;显示横线
MOV LED8,#00H ;最后一个LED灭
SETB TR0 ;启动计时器T0
LOOP: MOV R0,#DIGIT6 ;向显示缓冲区放数
MOV A,SBF ;从秒计数缓冲区取数
ACALL PTDS ;向显示缓冲区放秒数
ACALL PTDS
MOV A,MBF ;从分计数缓冲区取数
ACALL PTDS ;向显示缓冲区放分数
ACALL PTDS
MOV R0,#DIGIT1 ;空一格显示横线
MOV A,HBF ;从时计数缓冲区取数
ACALL PTDS ;向显示缓冲区放时数
ACALL PTDS
ACALL DISPLAY ;显示子程序
AJMP LOOP

;向显示缓冲区放数字子程序PTDS,入口参数A:
PTDS: MOV R1,A ;暂存
ACALL PTDS1 ;低4位放入缓冲区
MOV A,R1 ;取出原来的数