org 0000h
ljmp start
ORG 001BH ;INT T1 入口地址
lJMP INT_T1
ORG 0080H
start:
MOV SP,#60H
mov 30h,#0
mov 31h,#0
mov 32h,#0
mov 33h,#0
mov 34h,#0
mov 35h,#0
mov 36h,#0
mov 37h,#0
MOV R3,#0H ;时
MOV R2,#0H ;分
mov r1,#0h ;秒
MOV R6,#0H ;标志
mov r7,#0h ;标志
MOV 38h,#0H ;标志
mov 39h,#0h ;标志
MOV TMOD,#10H
MOV TL1,#00H ;50 mS 的时间常数
MOV TH1,#04CH
MOV R0,#10
mov r4,#2
setb p2.7
SETB TR1
SETB ET1
SETB EA ;允许中断
loop:
lcall scankey
cjne r7,#0ffh,wait1
lcall display2
sjmp loop
wait1:
CJNE R6,#0FFH,wait
LCALL DISPLAY1
MOV 34H,30H
MOV 35H,31H
MOV 36H,32H
MOV 37H,33H
sjmp loop
wait:
lcall display
SJMP loop
INT_T1: ;INT_T1中断服务子程序
PUSH DPH ;保护现场
PUSH DPL
PUSH ACC
PUSH PSW
CLR TR1
MOV TL1,#00H ;50mS 定时常数
MOV TH1,#4CH
SETB TR1
DJNZ R4,EXIT1
MOV R4,#2
mov a,30h
CJNE a,#09h,s0
MOV 30h,#0
mov a,31h
CJNE a,#9H,s1
MOV 31h,#0H
mov a,32h
CJNE a,#9H,s2
MOV 32h,#0H
mov a,33h
CJNE a,#9H,s3
MOV 33h,#0H
s3:
mov a,33h
add a,#1
mov 33h,a
s2:
mov a,32h
add a,#1
mov 32h,a
s1:
mov a,31H
add a,#1
mov 31H,a
s0:
mov a,30H
add a,#1
mov 30H,a
DJNZ R0,EXIT1 ;判断毫秒=0
MOV R0,#10 ;DELAY 1 SECOND
cpl p2.7
mov a,38h
cjne a,#0ffh,next1
ljmp hour1
next1:
mov a,39h
cjne a,#0ffh,next2
ljmp minute1
next2: CJNE R1,#59H,SECOND ;判断秒=59
MOV R1,#99H
minute1:CJNE R2,#59H,MINUTE ;判断分=59
MOV R2,#99H
hour1:CJNE R3,#23H,HOUR ;判断时=23
MOV R3,#99H
HOUR:
MOV A,R3
ADD A,#1 ;时加1
DA A
MOV R3,A
mov a,38h
cjne a,#00,exit1
MINUTE:
MOV A,R2
ADD A,#1 ;分加1
DA A
MOV R2,A
mov a,39h
cjne a,#00,exit1
SECOND:
MOV A,R1
ADD A,#1 ;秒加1
DA A
MOV R1,A
EXIT1:
mov 38h,#0h
mov 39h,#0h
POP PSW ;恢复现场
POP ACC
POP DPL
POP DPH
RETI ;中断返回
DISPLAY:
MOV A,R3
ANL A,#0FH
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
;MOV P2,#0fbh
setb p2.0
clr p2.2
setb p2.1
setb p2.3
lcall delay
MOV A,R3
SWAP A
ANL A,#0FH
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
setb p2.0
clr p2.3
setb p2.2
setb p2.1
;MOV P2,#0f7h
lcall delay
MOV A,R2
ANL A,#0fH
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
setb p2.1
clr p2.0
setb p2.2
setb p2.3
;MOV P2,#0feh
lcall delay
MOV A,R2
SWAP A
ANL A,#0FH
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
setb p2.0
clr p2.1
setb p2.2
setb p2.3
;MOV P2,#0fdh
lcall delay
RET
display1:
MOV A,30h
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
MOV P2,#0feh
lcall delay
MOV A,31h
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
MOV P2,#0fdh
lcall delay
MOV A,32H
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
MOV P2,#0fbh
lcall delay
MOV A,33H
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
MOV P2,#0f7h
lcall delay
RET
display2:
MOV A,34h
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
MOV P2,#0feh
lcall delay
MOV A,35h
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
MOV P2,#0fdh
lcall delay
MOV A,36H
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
MOV P2,#0fbh
lcall delay
MOV A,37H
mov dptr,#ledseg
movc a,@a+dptr
MOV P0,A
MOV P2,#0f7h
lcall delay
RET
delay: ;延时子程序
PUSH 0 ;保存现场
PUSH 1
MOV 0,#1H
DELAY1: MOV 1,#0FH
DJNZ 1,$
DJNZ 0,DELAY1
POP 1 ;恢复现场
POP 0
RET
scankey:
setb p1.0
jb
dingshiqi.rar_timer_定时功能_定时器 源代码
版权申诉
171 浏览量
2022-09-21
05:50:41
上传
评论
收藏 2KB RAR 举报
alvarocfc
- 粉丝: 105
- 资源: 1万+
最新资源
- XILINXFPGA源码Xilinxspratan3xcs100E(VGAPS2)
- XILINXFPGA源码XilinxSPARTAN-3E入门开发板实例
- XILINXFPGA源码XilinxSdramVerilog和VHDL版本文档
- 物联网智能家居方案-基于Nucleo-STM32L073&机智云(大赛作品,文档齐全,可直接运行)(文档加Matlab源码)
- XILINXFPGA源码XilinxISE9.xFPGACPLD设计源码
- 成都市地图含高新区(高新南区,高新西区),天府新区,东部新区虚拟行政区划
- XILINXFPGA源码XilinxEDK设计试验
- XILINXFPGA源码XilinxEDKMicroBlaze内置USB固件程序
- 基于 django 的视频点播后台管理系统源代码+数据库
- 基于Java的网上医院预约挂号系统的设计与实现(部署视频)-kaic.mp4
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈