新聞中心

按鍵計(jì)數(shù)器

作者: 時(shí)間:2011-02-25 來(lái)源:網(wǎng)絡(luò) 收藏
知識(shí)要點(diǎn):理解熟悉散轉(zhuǎn)結(jié)構(gòu)的程序

;運(yùn)行結(jié)果:按P3.2或3.3(低4位的任意一個(gè)鍵盤(pán))第一位數(shù)碼管加1直到9循環(huán)

; 開(kāi)始顯示0把P3送OFH,判斷有沒(méi)有按鍵,沒(méi)有則反復(fù)循環(huán),有按R0加1,如到10

;那么則清除, 最后根據(jù)R0的值散轉(zhuǎn).

ORG 0000H;

LJMP MAIN;程序開(kāi)始

ORG 030H;

MAIN: MOV P0,#028H;數(shù)碼管顯示0

clr p2.1 ;打開(kāi)第一個(gè)數(shù)碼管

MOV R0,#00H;r0送0fh

ST: MOV P3,#0FH;p3 送0fh

MOV A,P3;

CJNE A,#0FH,F1;如果p3口的值等于0f,那么按鍵沒(méi)有按,

ACALL DEL;

AJMP ST;繼續(xù)檢測(cè)

F1: ACALL DEL;

CJNE A,#0FH,F2;再次判斷有沒(méi)有按

AJMP ST;繼續(xù)檢測(cè)

F2: INC R0;r0加1

CJNE R0,#0AH,F3;如果r0等于10轉(zhuǎn)道f3;OAH就是10, 到這里轉(zhuǎn)移重新

MOV R0,#00H;

F3: MOV DPTR,#JPTAB;取地址

MOV A,R0;

CLR C;清除進(jìn)位

RLC A;a的內(nèi)容右移

JNC NADD;判斷有沒(méi)有進(jìn)位, 有向下無(wú)到NDDA

INC DPH;有進(jìn)位DPH加1

NADD: JMP @A+DPTR;根據(jù)A的內(nèi)跳轉(zhuǎn)到PR1,PR2....

JPTAB: NOP;

NOP;

AJMP PR1;

AJMP PR2;

AJMP PR3;

AJMP PR4;

AJMP PR5;

AJMP PR6;

AJMP PR7;

AJMP PR8;

AJMP PR9;

DEL: MOV R7,#04H;延時(shí)子程序

DEL1: MOV R6,#0FFH;

DEL2: MOV R5,#01FH;

DEL3: DJNZ R5,DEL3;

DJNZ R6,DEL2;

DJNZ R7,DEL1;

RET;

PR1: MOV P0,#7eH;顯示1

ACALL DEL;

AJMP ST;

PR2: MOV P0,#0a2H;顯示2

ACALL DEL;

AJMP ST;

PR3: MOV P0,#62H;顯示3

ACALL DEL;

AJMP ST;

PR4: MOV P0,#74H;顯示4

ACALL DEL;

AJMP ST;

PR5: MOV P0,#61H;顯示5

ACALL DEL;

AJMP ST;

PR6: MOV P0,#21H;

ACALL DEL;

AJMP ST;

PR7: MOV P0,#7aH;

ACALL DEL;

AJMP ST;

PR8: MOV P0,#20H;

ACALL DEL;

AJMP ST;

PR9: MOV P0,#60H;

ACALL DEL;

AJMP ST;

END

程序在倚天版運(yùn)行的狀態(tài)按鍵顯示數(shù)字2

程序在倚天版運(yùn)行的狀態(tài)按鍵顯示數(shù)字4



評(píng)論


相關(guān)推薦

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

關(guān)閉