51单片机数码管倒计时实验汇编代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORG 0000H

LJMP START

ORG 000BH

LJMP TIME0

ORG 001BH

LJMP TIME1

ORG 0030H

START:MOV TMOD,#11H MOV TH0,HIGH(65536-9216) MOV TL0,#LOW(65536-9216) MOV TH1,HIGH(65536-9216) MOV TL1,#LOW(65536-9216) MOV IE,#8AH

MOV R0,#30

MOV R1,#00

MOV R2,#02

MOV R4,#06

MOV 30H,#0

MOV 31H,#2

MOV 32H,#0

MOV 33H,#0

CLR 20H.1

CLR 21H.1

CLR PSW.5

SETB TR0

MAIN:LCALL DISPLAY

JB 20H.1,SOUND

AJMP MAIN

SOUND:MOV SP,#60

SETB TR1

LOOP:CALL MUSIC

JB 21H.1,STOP

AJMP LOOP

STOP:AJMP $

DISPLAY:MOV DPTR,#TAB MOV A,33H

MOVC A,@A+DPTR

MOV P0,A

CLR P1.0

LCALL DL2MS

SETB P1.0

MOV A,32H

MOVC A,@A+DPTR

MOV P0,A

CLR P1.1

LCALL DL2MS

SETB P1.1

MOV A,31H

MOVC A,@A+DPTR

MOV P0,A

CLR P1.2

LCALL DL2MS

SETB P1.2

MOV A,30H

MOVC A,@A+DPTR

MOV P0,A

CLR P1.3

LCALL DL2MS

SETB P1.3

RET

TIME0:MOV TH0,HIGH(65536-9216) MOV TL0,#LOW(65536-9216) DJNZ R0,TIMEOUT

MOV R0,#30

CJNE R1,#00,TIMECOUNT

MOV A,R2

DEC A

MOV R2,A

MOV R1,#59

CJNE R2,#00,TIMECOUNT TIMECOUNT:MOV A,R2

MOV B,#10

DIV AB

MOV 30H,A

MOV 31H,B

MOV A,R1

MOV B,#10

DIV AB

MOV 32H,A

MOV 33H,B

DEC R1

CJNE R1,#00,TIMEOUT

JNB PSW.5,MIAO

SETB 20H.1

CLR TR0

CLR ET0

MOV A,R2

MOV B,#10

DIV AB

MOV 30H,A

MOV 31H,B

MOV A,R1

MOV B,#10

DIV AB

MOV 32H,A

MOV 33H,B

AJMP TIMEOUT

MIAO:MOV R1,#59

DEC R2

SETB PSW.5

TIMEOUT:RETI

DL2MS:MOV 34H,#20H

DL1:MOV 35H,#30

DL2:DJNZ 35H,DL2

DJNZ 34H,DL1

RET

MUSIC:MOV R5,#20H

MIC:CPL P3.2

ACALL DELAY5MS

DJNZ R5,MIC

RET

DELAY5MS:MOV R7,#3H

DELAY0:MOV R6,#20H

DELAY1:DJNZ R6,DELAY1

DJNZ R7,DELAY0

RET

TIME1:MOV TH1,HIGH(65536-9216) MOV TL1,#LOW(65536-9216) DJNZ R0,TIMEOUT

MOV R0,#30

DJNZ R4,TIME1OUT

CLR TR1

CLR ET1

SETB 21H.1

TIME1OUT:RETI

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END

相关文档
最新文档