新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 試驗(yàn)9------單片機(jī)小鍵盤控制的花樣彩燈

試驗(yàn)9------單片機(jī)小鍵盤控制的花樣彩燈

作者: 時間:2011-02-25 來源:網(wǎng)絡(luò) 收藏

試驗(yàn)9------小鍵盤控制的花樣彩燈

該程序示例了鍵盤控制p1口流水燈花樣的方法;具體表現(xiàn)為:p3.2 3.2 3.4 3.5四個小按鍵

分別實(shí)現(xiàn)了四個控制:

1啟動,停止;在任何狀態(tài)下按此鍵程序停止運(yùn)行.

2 跑燈,p1.0---1.7亮點(diǎn)流動:

3 流水燈; p1.0-1.7 依次點(diǎn)亮

4 交錯等; p0.O,P0.2,P0.4,P0.6和p0.1,P0.3,P0.5,P0.7輪流點(diǎn)亮

該程序調(diào)試通過:

;************;

;亮燈控制程序;

;************;

;

;************;

;中斷入口程序;

;************;

;

ORG 0000H

LJMP START

ORG 0003H

RETI

ORG 000BH

RETI

ORG 0013H

RETI

ORG 001BH

RETI

ORG 0023H

RETI

;

;************;

; 初始化程序 ;

;************;

;

CLEAR: RET

;

;************;

; 主 程 序 ;

;************;

;

START:ACALL CLEAR

STAR1:MOV P3,#0FFH

JNB P3.4,FUN0

JNB P3.5,FUN1

JNB P3.2,FUN2

JNB P3.3,FUN3 ;關(guān)閉按紐

JNB F0,STAR1 ;曾經(jīng)有鍵按下F0置1

RET

;

FUN0:LCALL DL10MS ;消岸抖動

JB P3.4,STAR1

WAITL0:JNB P3.4,WAITL0 ;等待鍵釋放

SETB F0

FUN01:LCALL FUN00

LCALL STAR1

LJMP FUN01

;

FUN1:LCALL DL10MS ;消岸抖動

JB P3.5,STAR1

WAITL1:JNB P3.5,WAITL1 ;等待鍵釋放

SETB F0

FUN10:LCALL FUN11

LCALL STAR1

LJMP FUN10

;

FUN2:LCALL DL10MS ;消岸抖動

JB P3.2,STAR1

WAITL2:JNB P3.2,WAITL2 ;等待鍵釋放

SETB F0

FUN20:LCALL FUN22

LCALL STAR1

LJMP FUN20

;

FUN3:LCALL DL10MS ;消岸抖動

JB P3.3,STAR1

WAITL3:JNB P3.3,WAITL3 ;等待鍵釋放

CLR F0

MOV P1,#0FFH ;關(guān)顯示

LJMP STAR1

;

FUN00:MOV A,#0FEH

FUN000:MOV P1,A

LCALL DL05S

JNB ACC.7,OUT

RL A

AJMP FUN000

OUT: RET

;

FUN11:MOV A,#0FEH

FUN111:MOV P1,A

LCALL DL05S

JZ OUT

RL A

ANL A,P1

AJMP FUN111

;

FUN22:MOV A,#0AAH

MOV P1,A

LCALL DL30S

CPL A

MOV P1,A

LCALL DL30S

RET

;

;************;

; 延時程序 ;

;************;

;

DL512:MOV R2,#0FFH

LOOP1: DJNZ R2,LOOP1

RET

DL10MS:MOV R3,#14H

LOOP2: LCALL DL512

DJNZ R3,LOOP2

RET

DL05S:MOV R4,#0AH

LOOP3: LCALL DL10MS

DJNZ R4,LOOP3

RET

DL30S:MOV R5,#03H

LOOP4:LCALL DL05S

DJNZ R5,LOOP4

RET

end



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉