- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言电子钟程序
汇编电子钟:
ORG 0000H ;程序开始地址
LJMP MAIN ;跳到MAIN
ORG 000BH ;T0中断程序入口
LJMP INTT0 ;跳到T0开始执行程序
ORG 0100H
MAIN:
MOV @R0,#70H ;准备70H-79H 10个字节空间
MOV R7,#09H
CLRDISP:
MOV @R0,#00H ;将70H-79H初始化为00H
INC R0
DJNZ R7,CLRDISP
MOV TMOD,#01H ;设T0为16位定时器
MOV TL0,#0B0H ;赋初始值
MOV TH0,#3CH
SETB EA ;CPU开中断
SETB ET0 ;允许T0中断
SETB TR0 ;启动T0
MOV R4,#14H ;1S设定初始值
LOOP:
LCALL DISP ;调用显示程序
JB P1.0,LOOP1 ;判断P1.0有无按下
LCALL HOUR_SET ;调用小时设定程序
AJMP LOOP
LOOP1:
JB P1.1,LOOP2 ;判断P1.1有无按下
LCALL MIN_SET ;调用分设定程序
AJMP LOOP
LOOP2:
JB P1.2,LOOP3 ;判断P1.2有无按下
LCALL CLR0 ;调用清零程序,这里只清零秒
AJMP LOOP
LOOP3:
AJMP LOOP
HOUR_SET:
CALL DISP ;调用显示程序
JNB P1.0,HOUR_SET ;P1.0按下跳到调小时程序
INC 78H ;小时的个位加1
MOV R6,78H
CJNE R6,#10,HOUR1 ;个位不为10跳到HOUR1
MOV 78H,#0 ;个位清零
INC 79H ;十位加1
JMP HOUR2 ;跳到HOUR2
HOUR1:
MOV R6,78H
CJNE R6,#4,HOUR2 ;个位不为4跳到HOUR2
MOV R6,79H
CJNE R6,#2,HOUR2 ;十位不为2跳到HOUR2
MOV 78H,#0 ;小时清零
MOV 79H,#0
HOUR2:
RET ;调时返回
MIN_SET:
CALL DISP ;调用显示程序
JNB P1.1,MIN_SET ;P1.1按下跳到调分程序
INC 76H ;分的个位加1
MOV R5,76H
CJNE R5,#10,MIS1 ;个位不为10跳到MIS1
MOV 76H,#0 ;个位清零
INC 77H ;十位加1
MOV R5,77H
CJNE R5,#6,MIS1 ;十位不为6跳到MIS1
MOV 77H,#0 ;分清零
MOV 76H,#0
RET
MIS1:
RET ;调分返回
INTT0:
PUSH ACC ;入栈,保护现场
PUSH PSW
CLR ET0 ;关闭中观允许
CLR TR0 ;关闭中断
MOV A,#0B7H ;中断响应时间同步修正
ADD A,TL0 ;低8位初值修正
MOV TL0,A
MOV A,#3CH ;高8位初值修正
ADDC A,TH0
MOV TH0,A
SETB TR0 ;开启定时器T0
DJNZ R4,OUT ;20次中断未到中断退出
ADDS:
MOV R4,#14H ;20次中断到重赋初值
MOV R0,#71H ;指向秒计时单元
ACALL ADD1 ;调用ADD1
MOV A,R3 ;秒数据放入A
CLR C ;清零进位标志
CJNE A,#60H,ADDMM ;秒是否到了60,是则跳转
ADDMM:
JC OUT ;小雨60秒中断退出
ACALL CLR0 ;等于60秒调用CLR0清零秒
MOV R0,#77H ;指向分计时单元
ACALL ADD1 ;调用ADD1
MOV A,R3 ;分数据放入A
CLR C ;清零进位标志
CJNE A,#60H,ADDH ;分是否到了60,是则跳转
ADDH:
JC
文档评论(0)