?? key_led1.lst
字號:
頁 1
09-11-05
10:22:20
偉福匯編器 V5.00 Copyright (c) 1989, 99 by CHY
地址 機器碼 源程序
clk bit p2.5
dout bit p2.6
en bit p2.7
KEYBUF EQU 35H
KEY EQU 39H
DISPBUF EQU 20H
FLAG0 EQU 0
;***************************************************
ORG 000H
0000 2100 AJMP START
;***************************************************
ORG 0100H
START:
0100 787F MOV R0,#7FH
0102 E4 CLR A
0103 F6 CLRRAM: MOV @R0,A
0104 D8FD DJNZ R0,CLRRAM
0106 75817D MOV SP,#7DH
;***************************************************
0109 7580FF MOV P0,#0FFH
010C 7590FF MOV P1,#0FFH
010F 75A0FF MOV P2,#0FFH
0112 75B0FF MOV P3,#0FFH
;***************************************************
;初始化參數(shù)
;***************************************************
;主程序
;***************************************************
WAIT:
0115 120126 lcall keyinput ;是否有鍵盤輸入
0118 E500 MOV A,FLAG0
011A B401F8 CJNE A,#1H,WAIT
011D 12027A LCALL SETDISPBUF
0120 12029C LCALL TSLED
0123 020115 LJMP WAIT
;******************************************************
KEYINPUT:
0126 753502 MOV KEYBUF,#2
;
0129 7580FF MOV P0,#0FFH
012C C284 CLR P0.4
012E E580 MOV A,P0
0130 540F ANL A,#0FH
0132 640F XRL A,#0FH ;有鍵按下嗎?
0134 6047 JZ NOKEY1
0136 1202DA LCALL DELY10US
0139 E580 MOV A,P0
C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\匯編程序\已調(diào)通的程序\LED\KEY_LED1.ASM
頁 2
09-11-05
10:22:20
偉福匯編器 V5.00 Copyright (c) 1989, 99 by CHY
地址 機器碼 源程序
013B 540F ANL A,#0FH
013D 640F XRL A,#0FH ;真的有鍵按下嗎?
013F 603C JZ NOKEY1
0141 E580 MOV A,P0
0143 540F ANL A,#0FH
0145 B40E06 CJNE A,#0EH,NK1 ;鍵碼的值是多少?P0.4xP0.0
0148 753503 MOV KEYBUF,#3
014B 02016A LJMP DK1
014E B40D06 NK1: CJNE A,#0DH,NK2 ;鍵碼是P0.4xP0.1 ?
0151 753502 MOV KEYBUF,#2
0154 02016A LJMP DK1
0157 B40B06 NK2: CJNE A,#0BH,NK3 ;鍵碼是P0.4xP0.2 ?
015A 753501 MOV KEYBUF,#1
015D 02016A LJMP DK1
0160 B40706 NK3: CJNE A,#07H,NK4 ;鍵碼是P0.4xP0.3 ?
0163 753500 MOV KEYBUF,#0
0166 02016A LJMP DK1
0169 00 NK4: NOP
DK1:
016A E535 MOV A,KEYBUF
016C 9002E4 MOV DPTR,#TAB
016F 93 MOVC A,@A+DPTR ;查表,取鍵值
0170 F539 MOV KEY,A
0172 750001 MOV FLAG0,#1 ;FLAG0=1
0175 E580 DK1A: MOV A,P0
0177 540F ANL A,#0FH
0179 640F XRL A,#0FH ;按鍵有沒有松開?
017B 70F8 JNZ DK1A
NOKEY1:
017D 7580FF MOV P0,#0FFH
0180 C285 CLR P0.5
0182 E580 MOV A,P0
0184 540F ANL A,#0FH
0186 640F XRL A,#0FH
0188 6047 JZ NOKEY2
018A 1202DA LCALL DELY10US
018D E580 MOV A,P0
018F 540F ANL A,#0FH
0191 640F XRL A,#0FH
0193 603C JZ NOKEY2
0195 E580 MOV A,P0
0197 540F ANL A,#0FH
0199 B40E06 CJNE A,#0EH,NK5
019C 753507 MOV KEYBUF,#7
019F 0201BE LJMP DK2
01A2 B40D06 NK5: CJNE A,#0DH,NK6
01A5 753506 MOV KEYBUF,#6
C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\匯編程序\已調(diào)通的程序\LED\KEY_LED1.ASM
頁 3
09-11-05
10:22:20
偉福匯編器 V5.00 Copyright (c) 1989, 99 by CHY
地址 機器碼 源程序
01A8 0201BE LJMP DK2
01AB B40B06 NK6: CJNE A,#0BH,NK7
01AE 753505 MOV KEYBUF,#5
01B1 0201BE LJMP DK2
01B4 B40706 NK7: CJNE A,#07H,NK8
01B7 753504 MOV KEYBUF,#4
01BA 0201BE LJMP DK2
01BD 00 NK8: NOP
DK2:
01BE E535 MOV A,KEYBUF
01C0 9002E4 MOV DPTR,#TAB
01C3 93 MOVC A,@A+DPTR
01C4 F539 MOV KEY,A
01C6 750001 MOV FLAG0,#1 ;FLAG0=1
01C9 E580 DK2A: MOV A,P0
01CB 540F ANL A,#0FH
01CD 640F XRL A,#0FH
01CF 70F8 JNZ DK2A
NOKEY2:
01D1 7580FF MOV P0,#0FFH
01D4 C286 CLR P0.6
01D6 E580 MOV A,P0
01D8 540F ANL A,#0FH
01DA 640F XRL A,#0FH
01DC 6047 JZ NOKEY3
01DE 1202DA LCALL DELY10US
01E1 E580 MOV A,P0
01E3 540F ANL A,#0FH
01E5 640F XRL A,#0FH
01E7 603C JZ NOKEY3
01E9 E580 MOV A,P0
01EB 540F ANL A,#0FH
01ED B40E06 CJNE A,#0EH,NK9
01F0 75350B MOV KEYBUF,#0bh
01F3 020212 LJMP DK3
01F6 B40D06 NK9: CJNE A,#0DH,NK10
01F9 75350A MOV KEYBUF,#0ah
01FC 020212 LJMP DK3
01FF B40B06 NK10: CJNE A,#0BH,NK11
0202 753509 MOV KEYBUF,#9
0205 020212 LJMP DK3
0208 B40706 NK11: CJNE A,#07H,NK12
020B 753508 MOV KEYBUF,#8
020E 020212 LJMP DK3
0211 00 NK12: NOP
DK3:
0212 E535 MOV A,KEYBUF
C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\匯編程序\已調(diào)通的程序\LED\KEY_LED1.ASM
頁 4
09-11-05
10:22:20
偉福匯編器 V5.00 Copyright (c) 1989, 99 by CHY
地址 機器碼 源程序
0214 9002E4 MOV DPTR,#TAB
0217 93 MOVC A,@A+DPTR
0218 F539 MOV KEY,A
021A 750001 MOV FLAG0,#1 ;FLAG0=1
021D E580 DK3A: MOV A,P0
021F 540F ANL A,#0FH
0221 640F XRL A,#0FH
0223 70F8 JNZ DK3A
NOKEY3:
0225 7580FF MOV P0,#0FFH
0228 C287 CLR P0.7
022A E580 MOV A,P0
022C 540F ANL A,#0FH
022E 640F XRL A,#0FH
0230 6047 JZ NOKEY4
0232 1202DA LCALL DELY10US
0235 E580 MOV A,P0
0237 540F ANL A,#0FH
0239 640F XRL A,#0FH
023B 603C JZ NOKEY4
023D E580 MOV A,P0
023F 540F ANL A,#0FH
0241 B40E06 CJNE A,#0EH,NK13
0244 75350F MOV KEYBUF,#0fh
0247 020266 LJMP DK4
024A B40D06 NK13: CJNE A,#0DH,NK14
024D 75350E MOV KEYBUF,#0eH
0250 020266 LJMP DK4
0253 B40B06 NK14: CJNE A,#0BH,NK15
0256 75350D MOV KEYBUF,#0dH
0259 020266 LJMP DK4
025C B40706 NK15: CJNE A,#07H,NK16
025F 75350C MOV KEYBUF,#0ch
0262 020266 LJMP DK4
0265 00 NK16: NOP
DK4:
0266 E535 MOV A,KEYBUF
0268 9002E4 MOV DPTR,#TAB
026B 93 MOVC A,@A+DPTR
026C F539 MOV KEY,A
026E 750001 MOV FLAG0,#1 ;FLAG0=1
0271 E580 DK4A: MOV A,P0
0273 540F ANL A,#0FH
0275 640F XRL A,#0FH
0277 70F8 JNZ DK4A
NOKEY4:
C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\匯編程序\已調(diào)通的程序\LED\KEY_LED1.ASM
頁 5
09-11-05
10:22:20
偉福匯編器 V5.00 Copyright (c) 1989, 99 by CHY
地址 機器碼 源程序
0279 22 RET
;**********************************************
;填充顯示緩沖區(qū)
;input: key,dispbuf
;output: dispbuf
;use: A,R0,R1,R2
;**********************************************
SETDISPBUF:
027A 7820 MOV R0,#DISPBUF
027C 7400 MOV A,#0H ;小數(shù)點位/不顯示
027E F6 MOV @R0,A
027F 7408 MOV A,#8
0281 28 ADD A,R0
0282 F8 MOV R0,A ;R0=DISPBUF+8指向蜂鳴器設(shè)定位
0283 F9 MOV R1,A
0284 19 DEC R1
0285 19 DEC R1
0286 7400 MOV A,#0 ;蜂鳴器不鳴叫
0288 F6 MOV @R0,A
0289 18 dec r0
028A 7401 mov a,#01H ;識別碼=01
028C F6 mov @r0,a
028D 18 DEC R0
;
028E 7A00 MOV R2,#0
YIWEI: ;緩沖區(qū)逐次后移一位
0290 18 DEC R0
0291 E6 MOV A,@R0
0292 F7 MOV @R1,A
0293 0A INC R2
0294 19 DEC R1
0295 BA05F8 CJNE R2,#5,YIWEI
0298 E539 MOV A,KEY
029A F6 MOV @R0,A ;設(shè)置第一位數(shù)碼管的值(key)
029B 22 RET
;*********************************************************
;//串行發(fā)送DTLED-6顯示
;//dispbuf0-dispbuf1-dispbuf2-dispbuf3-dispbuf4-dispbuf5-dispbuf6-dispbuf7-dispbuf8
;// 小數(shù)點 - 數(shù)碼管1- 數(shù)碼管2- 數(shù)碼管3- 數(shù)碼管4- 數(shù)碼管5- 數(shù)碼管6-ID識別碼-BZ識別碼
;//00000xxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx
;//小數(shù)點=1~6,其它為不顯示
;//數(shù)碼管1-6=0~15,
;//ID識別碼=0~15(本開發(fā)板ID=01)
;//BZ識別碼=BZ.3為蜂鳴輸出控制位,0=關(guān)閉,1=打開
;// BZ0~2為蜂鳴頻率輸出設(shè)定為,000=不分頻, 最高頻率輸出=4800Hz;
;// 001=一次分頻,頻率輸出=4800/ 2 =2400Hz;
;// 010=二次分頻,頻率輸出=4800/ 4 =1200Hz;
;// 011=三次分頻,頻率輸出=4800/ 8 =600Hz;
C:\DOCUMENTS AND SETTINGS\ZHANGTAO\桌面\匯編程序\已調(diào)通的程序\LED\KEY_LED1.ASM
頁 6
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -