按键控制数码管显示程序

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

;----------按键程序-----------------------------

K7EQU20H;按键标志位,按键按下为1,否则为0

K6EQU21H

K5EQU22H

K4EQU23H

K3EQU24H

K2EQU25H

F1EQU26H

F2EQU27H

ORG0000H

AJMP INIT

ORG0030H

;------------初始化-----------------------------

INIT:MOV SP,#60H

MOV P3,#0FFH

MOV DPTR,#TABLE

MOV R0,#00H

CLR K7

CLR K6

CLR K5

CLR K4

CLR K3

CLR K2

CLR F1

CLR F2

;------------主程序--------------------------

MAIN:LCALL KTEST;调用检测按键程序

JB K7,KK7

JB K6,KK6

JB K5,KK5

JB K4,KK4

JB K3,KK3

JB K2,KK2

JB F1,LOOP

AJMP DIS

KK7:LCALL K7ISR

AJMP DIS

KK6:LCALL K6ISR

AJMP DIS

KK5:LCALL K5ISR

AJMP LOOP

KK4:LCALL K4ISR

AJMP LOOP

KK3:LCALL K3ISR

AJMP LOOP

KK2:LCALL K2ISR

AJMP LOOP

DIS:LCALL DISPLAY

LOOP:LJMP MAIN

;------------增1子程序----------

K7ISR:INC R2

CJNE R2,#10,BACK0;R2是个位

MOV R2,#00H

INC R3

CJNE R3,#10,BACK0;R3是十位

MOV R3,#00H

BACK0:RET

;------------减1子程序----------

K6ISR:CJNE R2,#0,NEXT2

CJNE R3,#0,NEXT3

MOV R3,#9

MOV R2,#9

AJMP BACK7

NEXT2:DEC R2

AJMP BACK7

NEXT3:DEC R3

MOV R2,#9

BACK7:RET

;------------按键服务子程序----------

K5ISR:CLR P1.4;开继电器

RET

K4ISR:SETB P1.4;关继电器

RET

K3ISR:CLR P1.5;开蜂鸣器

RET

K2ISR:SETB P1.5;关蜂鸣器

RET

;------------显示子程序----------

DISPLAY:MOV P1,#0FFH

MOV A,R3

MOVC A,@A+DPTR

MOV P0,A

MOV P1,#0FEH

ACALL DELAY

MOV P1,#0FFH

MOV A,R2

MOVC A,@A+DPTR

MOV P0,A

MOV P1,#0FDH

ACALL DELAY

MOV P1,#0FFH

RET

;------------延时子程序----------DELAY:MOV R6,#0FFH

LOAD:MOV R5,#0FH

DJNZ R5,$

DJNZ R6,LOAD

RET

;------------按键检测子程序-----------KTEST:JB P3.7,KEY6

JNB P3.7,$

SETB K7

CLR F1

AJMP BACK2

KEY6:JB P3.6,KEY5

JNB P3.6,$

SETB K6

CLR F1

AJMP BACK2

KEY5:JB P3.5,KEY4

JNB P3.5,$

SETB K5

SETB F1

AJMP BACK2

KEY4:JB P3.4,KEY3

JNB P3.4,$

SETB K4

SETB F1

AJMP BACK2

KEY3:JB P3.3,KEY2

JNB P3.3,$

SETB K3

SETB F1

AJMP BACK2

KEY2:JB P3.2,BACK1

JNB P3.2,$

SETB K2

SETB F1

AJMP BACK2

BACK1:CLR K7

CLR K6

CLR K5

CLR K4

CLR K3

CLR K2

BACK2:RET

TABLE:DB0C0h,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;共阳END

相关文档
最新文档