电子课程设计电子钟程序代码.docx

上传人:b****6 文档编号:3716461 上传时间:2022-11-24 格式:DOCX 页数:12 大小:16.39KB
下载 相关 举报
电子课程设计电子钟程序代码.docx_第1页
第1页 / 共12页
电子课程设计电子钟程序代码.docx_第2页
第2页 / 共12页
电子课程设计电子钟程序代码.docx_第3页
第3页 / 共12页
电子课程设计电子钟程序代码.docx_第4页
第4页 / 共12页
电子课程设计电子钟程序代码.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

电子课程设计电子钟程序代码.docx

《电子课程设计电子钟程序代码.docx》由会员分享,可在线阅读,更多相关《电子课程设计电子钟程序代码.docx(12页珍藏版)》请在冰豆网上搜索。

电子课程设计电子钟程序代码.docx

电子课程设计电子钟程序代码

该程序可以实现手动定时计数,也可以在3X4键盘上定时计数,还可以实现复位、重启定时操作,完全可以满足课程设计的要求。

;初始化***************************************

Hourequ20h

Minuteequ21h

Secondequ22h

K1EQUP1.0

K2EQUP1.1

K3EQUP1.2

ORG0000h

LJMPMAIN

ORG000bh

LJMPIN0

;主程序入口************************************

MAIN:

movp1,#0ffh

movsp,#67h

movdptr,#0ff23h;写控制口

movA,#81h

movx@dptr,A

movHour,#0

movMinute,#0

movSecond,#0

MOVTH0,#2CH

MOVTL0,#12H;定时50ms

MOVP2,#0FFH

MOV7EH,#00H;6个显缓单元,

MOV7DH,#00H

MOV7CH,#00H

MOV7BH,#00H

MOV7AH,#00H

MOV79H,#00H

MOVR0,#59H

MOVA,#7EH;01111110B

MOVX@R0,A

LCALLLCK0

LCALLPTDS0

MOVR7,#100

movIE,#82h;EA=1,ET0=1

setbTR0;定时器0计数

;用拨动开关进行调时*****************************

MLoop:

JNBK3,LP0

LCALLDEL1

JNBK3,MLoop

LP5:

JNBK1,LP1

LCALLDEL1

JNBK1,MLoop

LP2:

JBK1,LP2

LCALLDEL1

JBK1,LP2

INCMinute

MOVA,Minute

CJNEA,#3ch,LP11

LP11:

JCLP1

MOVMinute,#00H

LP1:

ACALLDISplay

JNBK2,MLoop

LCALLDEL1

JNBK2,LP1

LP6:

JBK2,LP6

LCALLDEL1

JBK2,LP6

MOVA,#00H

MOVDPTR,#0FF20H

MOVX@DPTR,A

INCHOUR

MOVA,HOUR

CJNEA,#18h,LP81

LP81:

JCLP0

MOVHOUR,#00H

LP8:

ACALLDISplay

MOVDPTR,#0FF20H

MOVA,#0FFH

MOVX@DPTR,A

LJMPMLoop

LP0:

ACALLDISplay

LJMPMLoop

;中断服务子程序*************************************

IN0:

pushPSW

pushACC

MOVTH0,#2CH

MOVTL0,#12H

CLRTR0

DJNZR7,Exit1

MOVR7,#100

incSecond

mova,Second

cjnea,#60,Exit1

movSecond,#0

incMinute

mova,Minute

cjnea,#60,Exit1

movMinute,#0

incHour

mova,Hour

cjnea,#24,Exit1

movHour,#0

Exit1:

SETBTR0

popACC

popPSW

reti

;字形码*********************************************

LEDBufequ60h;显示缓冲

LEDMAP:

;八段管显示码

db0c0h,0f9h,0a4h,0b0h,99h,92h,82h

db0f8h,80h,90h

;延时200us子程序************************************

del1:

movr5,#10

del:

movr6,#10

del6:

djnzr6,del6

djnzr5,del

ret

;六段数码管显示子程序*******************************

DisplayLED:

movr3,#0feh

movr0,#LEDBuf+1;r0为显示缓冲区

loop:

movdptr,#0ff20h;a口

mova,r3

movx@dptr,a

mova,@r0

movdptr,#0ff21h;b口

movx@dptr,a

acalldel1

incr0

mova,r3

jnbacc.5,ld1

rla

movr3,a

sjmploop

ld1:

ret

;查表子程序*****************************************

ToLED:

movdptr,#LEDMap;显示程序

movca,@a+dptr

ret

;秒、分、时送以61H为首的显缓单元*********************

DISplay:

mova,Second

movb,#10

divab

callToLED

movLEDBuf+2,a

mova,b

callToLED

movLEDBuf+1,a

mova,Minute

movb,#10

divab

callToLED

movLEDBuf+4,a

mova,b

callToLED

movLEDBuf+3,a

mova,Hour

movb,#10

divab

callToLED

movLEDBuf+6,a

mova,b

callToLED

movLEDBuf+5,a

callDisplayLED

RET

X3:

MOVR4,A

MOVR0,#59H

MOVXA,@R0

MOVR1,A

MOVA,R4

MOV@R1,A

CLRA

POPDPH

POPDPL

MOVCA,@A+DPTR

INCDPTR

CJNEA,01H,X30

CLRA

MOVCA,@A+DPTR

X31:

MOVX@R0,A

INCDPTR

PUSHDPL

PUSHDPH

RET

X30:

DECR1

MOVA,R1

SJMPX31

X2:

MOVR6,#50H

X0:

ACALLXLE

JNBACC.5,XX0

DJNZR6,X0

MOVR6,#20H

MOVR0,#59H

MOVXA,@R0

MOVR0,A

MOVA,@R0

MOVR7,A

MOVA,#10H

MOV@R0,A

X1:

ACALLXLE

JNBACC.5,XX1

DJNZR6,X1

MOVA,R7

MOV@R0,A

SJMPX2

XX1:

MOVR6,A

MOVA,R7

MOV@R0,A

MOVA,R6

XX0:

RET

XLE:

ACALLDIS

ACALLKEY

MOVR4,A

MOVR1,#48H

MOVXA,@R1

MOVR2,A

INCR1

MOVXA,@R1

MOVR3,A

MOVA,R4

XRLA,R3

MOVR3,04H

MOVR4,02H

JZX10

MOVR2,#88H

MOVR4,#88H

X10:

DECR4

MOVA,R4

XRLA,#82H

JZX11

MOVA,R4

XRLA,#0EH

JZX11

MOVA,R4

ORLA,R4

JZX12

MOVR4,#20H

DECR2

SJMPX13

X12:

MOVR4,#0FH

x11:

MOVR2,04H

MOVR4,03H

X13:

MOVR1,#48H

MOVA,R2

MOVX@R1,A

INCR1

MOVA,R3

MOVX@R1,A

MOVA,R4

RET

LS3:

DB07H,04H,08H,05H,09H,06H,0AH

DB0BH,01H,00H,02H,0FH,03H,0EH

DB0CH,0DH

DIS:

PUSHDPH

PUSHDPL

SETBRS1

MOVR0,#7EH

MOVR2,#20H

MOVR3,#00H

MOVDPTR,#LS0

LS2:

MOVA,@R0

MOVCA,@A+DPTR

MOVR1,#21H

MOVX@R1,A

MOVA,R2

CPLA

DECR1

MOVX@R1,A

CPLA

DECR0

LS1:

DJNZR3,LS1

CLRC

RRCA

MOVR2,A

JNZLS2

INCR1

MOVA,#0FFH

MOVX@R1,A

CLRRS1

POPDPL

POPDPH

RET

LS0:

DB0C0H,0F9H,0A4H,0B0H,99H,92H

DB82H,0F8H,80H,90H,88H,83H,0C6H

DB0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH

KEY:

SETBRS1

MOVR2,#0FEH

MOVR3,#08H

MOVR0,#00H

L1:

MOVA,R2

MOVR1,#20H

MOVX@R1,A

RLA

MOVR2,A

MOVR1,#22H

MOVXA,@R1

CPLA

ANLA,#0FH

JNZL0

INCR0

DJNZR3,L1

MOVXA,@R1

JBACC.4,XP33

MOVA,#20H

SJMPXP3

XP33:

MOVA,#20H

XP3:

CLRRS1

RET

L0:

CPLA

JBACC.0,XP0

MOVA,#00H

SJMPLPP

XP0:

JBACC.1,XP1

MOVA,#08H

SJMPLPP

XP1:

JBACC.2,XP2

MOVA,#10H

SJMPLPP

XP2:

JBACC.3,XP33

MOVA,#18H

LPP:

ADDA,R0

CLRRS1

CJNEA,#10H,LX0

LX0:

JNCXP35

MOVDPTR,#LS3

MOVCA,@A+DPTR

XP35:

RET

LCK0:

LCALLX2

JNCLCK1

LCALLX3

MOVR1,#7EH

SJMPLCK0

LCK1:

CJNEA,#16H,LCK0

MOVA,7AH

SWAPA

ORLA,79H

MOV22H,A

CJNEA,#60H,LCK2

LCK2:

JNCEXIT

MOVA,7CH

SWAPA

ORLA,7BH

MOV21H,A

CJNEA,#60H,CLK3

CLK3:

JNCEXIT

MOVA,7EH

SWAPA

ORLA,7DH

MOV20H,A

CJNEA,#24H,CLK4

CLK4:

JNCEXIT

RET

EXIT:

AJMPLCK0

PTDS0:

MOVR0,#79H

MOVA,22H

ACALLPTDS

MOVA,21H

ACALLPTDS

MOVA,20H

ACALLPTDS

RET

PTDS:

MOVR1,A

LCALLPTDS1

MOVA,R1

SWAPA

PTDS1:

ANLA,#0FH

MOV@R0,A

INCR0

RET

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1