单片机课程设计电子钟(电子时钟)(4)

2019-09-01 17:27

PP: MOV 37H, #12 MOV R0, #30H

MOV R7, #07H PPP: MOV @R0, #10 INC R0

DJNZ R7, PPP RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; 键扫子程序 ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KEY: LCALL KEYS

JZ EXIT

LCALL DISP LCALL DISP

LCALL KEYS JZ EXIT

MOV B, 20H

KEYSF: LCALL KEYS

JZ KEYY

LCALL DISP

AJMP KEYSF

KEYY: MOV A, B

EXIT: RET

KEYS: MOV P1, #0FFH

MOV A, P1

CPL A

ANL A, #0FH MOV 20H, A

RET

;P点编码送寄存器 ;P点编码送寄存器

;调键值处理子程序 ;没有键按下转到返回

;调显示去抖动

;保存键值 ;调键值处理子程序 ;键释放,转到恢复键值;调显示子程序延时 ;等到键释放 ;键值送20H单元保存 ;返回

;先向P1口写1 ;P1口值送累加器A ;A值取反

;保存P1口的低4位 ;A值送20H保存

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; 键功能子程序 ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ANKEY: CLR EA CHECK: JB

;关中断 ;判断是否运行

TR0, YXZ

K0: CJNE A, #01H, K1

AJMP K1: CJNE AJMP K2: CJNE AJMP K3: CJNE AJMP

YXZ: JB AJMP

KEY1: MOV LCALL CLR

CJNE ACALL AJMP KEY2: MOV LCALL CLR

CJNE ACALL AJMP

RUN A,

#02H, KEY1 A,

#04H, KEY2 A,

#08H, KEY3 ACC.0, STOP

OUT R0, #45H

ADD1 C

A, #24H, CLR0 OUTT

R0, #43H

ADD1 C

A, #60H, CLR0 OUTT

;转运行

K2

;转时调整

K3

;转分调整

OUT

;转秒调整

;时调整

OUTT

;分调整

OUTT

KEY3: MOV R0, ADD1 C A,

#41H ;秒调整

ACALL CLR

CJNE #60H, OUTT

ACALL CLR0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; 传送显示数据 ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; OUTT: MOV 30H, 40H

MOV 31H, 41H MOV 32H, #11 MOV 33H, 42H

MOV 34H, 43H MOV 35H,

#11 MOV 36H, 44H

MOV

37H,

45H

RET STOP: CLR

TR0

RET

RUN: LCALL TIME

OUT: SETB EA RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; 运行电子钟 ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; TIME: SETB EA

MOV TL0, #0B0H

MOV TH0, #3CH MOV R4, #20

;秒显示单元41H-42H

; \

;分显示单元43H-44H

; \

;时显示单元44-45H

;关电子钟并跳出

;运行电子钟

;无键按下或完成功能跳出;3CB0H

;50ms,20次循环

SETB TR0 RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; 定时中断 ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; INTT0: PUSH ACC

PUSH PSW CLR

ET0

CLR TR0

MOV TL0, #0B0H MOV TH0, #3CH

SETB TR0

DJNZ R4, OUTT0 ADDSS: MOV R4, #14H MOV

R0,

#41H ACALL ADD1

CLR

C CJNE A,

#60H, ADDMM ;1ADDMM: JC

OUTT0 ACALL CLR0 MOV

R0,

#43H ACALL ADD1

CLR

C CJNE A,

#60H, ADDHH ;1ADDHH: JC

OUTT0 ACALL CLR0 MOV

R0,

#45H ACALL

ADD1

;启动定时器0

;重新设定定时初值;启动定时器0

;1秒到

;20次计数 ;秒十位 ;加1程序

分到

;加1程序

小时到

;加1程序

CLR C A,

#24H,

HOUR ;1天到

CJNE HOUR: JC

OUTT0 ACALL CLR0 OUTT0: MOV 30H, 40H

MOV 31H, 41H MOV 32H, #11 MOV 33H, 42H

MOV 34H, 43H MOV 35H,

#11 MOV 36H, 44H

MOV 37H, 45H

POP PSW POP

ACC SETB ET0

RETI

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; 时间清零子程序 ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CLR0: CLR A MOV @R0,

A

DEC R0 MOV

@R0,

A RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; 加一子程序 ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;秒显示单元41H-42H

; \

;分显示单元43H-44H

; \

;时显示单元44-45H


单片机课程设计电子钟(电子时钟)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:机械系毕业设计论文2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: