电子钟课程设计

2020-03-02 07:52:58 来源:范文大全收藏下载本文

paequ 8002h

pbequ 8004h

pccequ 8001h

ORG0000HLJMP STARTORG 001BHLJMP INT

START:MOV R0,#71HMOV R1,#06H

CLEAR:MOV @R0,#00HINC R0

DEC R1

DJNZ R1,CLEARMOV 6DH,#00MOV 6CH,#00MOV 7DH,#00ACALL MIAOMOV 7EH,#00ACALL FENMOV 7FH,#00ACALL XIAOSHIINI8255:MOV DPTR ,#8003HMOV A,#81H

MOVX @DPTR,AINIT1:MOV TMOD ,#20HMOV TL1, #06HMOV TH1,#06HSETB TR1SETB ET1SETB EA

LOOP1: LCALL DISPLAYLCALL YMYJZLOOP1MOV R1,#70H

LCALL DDCJNE A ,#0FH,LOOP1CLRTR1

LOOP2:LCALL DIR

LCALL YMYJZLOOP2;清零 ;8255初始化;T1初始化 ;判断有无键按下 ;判断到底哪个键按下;判断有无键按下

LCALL DD;判断到底哪个键按下,并写进存储单元CJNE R1,#77H,LOOP;最后一位有没有输入完

SETBTR1

LCALL ZH

LJMPLOOP1

LOOP:LJMPLOOP2

INT:PUSH ACC;中断子程序

PUSH PSW

INC 6DH

MOV A,6DH

JNZ BJ

INC 6CH

BJ:MOV A,#0A0H

CJNE A,6DH,RETURN

MOV A,#0FH

CJNE A,6CH,RETURN

MOV 6DH,#00H

MOV 6CH,#00H

MOV A,#01H

ADD A,7DH

MOV 7DH,A

ACALL MIAO

MOV A,7DH

CJNE A,#60,RETURN

MOV 7DH,#0

ACALLMIAO

INC7EH

ACALL FEN

MOV A,7EH

CJNE A,#60,RETURN

MOV7EH,#00H

ACALL FEN

INC 7FH

ACALL XIAOSHI

MOV A,7FH

CJNE A,#24,RETURN

MOV 7FH,#00H

ACALL XIAOSHI

RETURN: POP PSW

POP ACC

RETI

MIAO: MOV A,7DH

DIV AB

MOV 75H, A

MOV 76H,B

RET

FEN:MOV A,7EH

MOV B,#10

DIV AB

MOV 73H,A

MOV 74H,B

RET

XIAOSHI: MOV A,7FH

MOV B,#10

DIV AB

MOV 71H,A

MOV 72H,B

RET

ZH:;输入值转换并送入相应存储单元

MOVA, 75H

MOVB,#10

MULAB

ADD A,76H

MOV7DH,A

MOVA, 73H

MOVB,#10

MULAB

ADD A,74H

MOV 7EH,A

MOVA, 71H

MOVB,#10

MULAB

ADD A,72H

MOV 7FH,A

RET

DISPLAY: MOVA,7DH;显示子程序

MOVB,#10

DIVAB

MOV75H,A

MOV76H,B

MOVA,7EH

DIVAB

MOV73H,A

MOV74H,B

MOVA,7FH

MOVB,#10

DIVAB

MOV71H,A

MOV72H,B

DIR:MOV R0,#76H

MOV R2,#01H

CLR C

DIR1:MOV A,R2

MOV DPTR,#pa

MOVX @DPTR,A

MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR, #pb

MOVX @DPTR,A

ACALL DELAY

DEC R0

MOV A,R2

RL A

MOV R2,A

CJNE R0,#70H,DIR1

RET

TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H

YMY:MOV DPTR,#pa;判断有无键按下子程序

MOV A,#00H

MOVX @DPTR ,A

INC DPTR

mov DPTR,#pcc

MOVX A,@DPTR

CPL A

ANL A,#0FH

RET

DD:MOV R2,#0DFH;判断到底哪个键按下并送入相应单元子程序MOV R5,#4

MOV R4,#00H

LK4:MOV DPTR,#pa

MOV A,R2

MOVX @DPTR,A

INC DPTR

mov DPTR,#pcc

MOVX A,@DPTR

JB ACC.0,LINE1

MOV A,#00H

AJMP LKP

LINE1:JB ACC.1,LINE2

MOV A,#04H

AJMP LKP

LINE2:JB ACC.2,LINE3

MOV A,#08H

AJMP LKP

LINE3:JB ACC.3,NEXT

MOV A,#0CH

LKP:ADD A,R4

ACALL KEYIN

PUSH ACC

LK3:ACALL YMY

JNZ LK3

POP ACC

RET

NEXT:INC R4

MOV A,R2

RR A

MOV R2,A

DJNZ R5,LK4

KEND:RET

KEYIN:

MOVDPTR,#KEYTAB

MOVCA,@A+DPTR

MOV@R1,A

INCR1

RET

DELAY: MOV R7,#02H

DE:MOV R6,#0FFH

DJNZ R6, $

DJNZ R7,DE

RET

KEYTAB: DB 00H,0FH,0EH,0DH

DB 01H,02H,03H,0CH

DB 04H,05H,06H,0BH

DB 07H,08H,09H,0AH

END

;本程序用到的8255是这样接的:PA口接位选信号,也是列信号, ;PB口接七段数码管,PC口只用到其低四位,接行信号。

;通过改变8255的初始化,接法不固定。

;运行时,F键可设置时间值(先停后设置)

电子钟课程设计心得

单片机课程设计电子钟

数字电子钟课程设计

智能仪表课程设计 电子钟

电子钟课程设计心得

数字电子钟课程设计

单片机课程设计电子钟设计

单片机课程设计电子钟源程序

单片机课程设计电子钟完整

课程设计_数字电子钟设计报告

《电子钟课程设计.doc》
电子钟课程设计
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文