?? key.lst
字號:
A51 MACRO ASSEMBLER KEY 06/23/2007 09:43:50 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN key.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE key.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;-----------------------------------
2 ; 受控輸出實例2
3 ;功能:中斷方式檢測按鍵狀態,8只LED顯示按鍵被按下次數的二進制值
4 ;-----------------------------------
00B2 5 KEY_PIN EQU P3.2
0030 6 COUNT DATA 30H
7
0000 8 ORG 0000H ;偽指令,指定程序從0000H開始存放
0000 020100 9 LJMP MAIN ;跳轉指令,程序跳轉到MAIN處
0003 10 ORG 0003H ;偽指令,外部中斷0中斷程序入口地址
0003 020123 11 LJMP KEY_INT ;跳轉指令,程序跳轉到KEY_INT處
12
0100 13 ORG 0100H ;偽指令,指定以下程序從0100H開始存放
0100 14 MAIN:
0100 758160 15 MOV SP,#60H ;給堆棧指針賦初值
0103 D2B2 16 SETB KEY_PIN ;置一P3.2,初始化輸入口
0105 7530FF 17 MOV COUNT,#0FFH ;給計數變量COUNT賦初值
0108 853090 18 MOV P1,COUNT ;給P1賦初值,LED全滅
19
010B 120119 20 LCALL X0_INIT ;調用外部中斷0初始化子程序
21
010E 80FE 22 SJMP $ ;程序原地跳轉,等待中斷
23
24 ;延時10MS子程序
0110 25 DELAY10MS:
0110 7F14 26 MOV R7,#20
0112 27 DELAY0:
0112 7EFA 28 MOV R6,#250
0114 DEFE 29 DJNZ R6,$
0116 DFFA 30 DJNZ R7,DELAY0
0118 22 31 RET
32
0119 33 X0_INIT:
34 ;---------------------------------
35 ; 外部中斷0初始化子程序
36 ;---------------------------------
0119 758801 37 MOV TCON,#01H ;外部中斷0為下降沿觸發
011C 75B801 38 MOV IP,#01H ;外部中斷0為高優先級
011F 75A881 39 MOV IE,#81H ;允許外部中斷0
0122 22 40 RET
41
0123 42 KEY_INT:
43 ;---------------------------------
44 ; 外部中斷0服務程序
45 ;---------------------------------
0123 C0D0 46 PUSH PSW
0125 D2D4 47 SETB RS1
0127 120110 48 LCALL DELAY10MS ;延時10MS,按鍵抖動消除
012A A2B2 49 MOV C,KEY_PIN
012C 4005 50 JC KEY_INT_EXIT
012E 1530 51 DEC COUNT ;按鍵被按下,計數加一
0130 853090 52 MOV P1,COUNT ;LED輸出顯示
0133 53 KEY_INT_EXIT:
0133 D0D0 54 POP PSW
0135 32 55 RETI
56
57 END
A51 MACRO ASSEMBLER KEY 06/23/2007 09:43:50 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
COUNT. . . . . . . D ADDR 0030H A
DELAY0 . . . . . . C ADDR 0112H A
DELAY10MS. . . . . C ADDR 0110H A
IE . . . . . . . . D ADDR 00A8H A
IP . . . . . . . . D ADDR 00B8H A
KEY_INT. . . . . . C ADDR 0123H A
KEY_INT_EXIT . . . C ADDR 0133H A
KEY_PIN. . . . . . B ADDR 00B0H.2 A
MAIN . . . . . . . C ADDR 0100H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
PSW. . . . . . . . D ADDR 00D0H A
RS1. . . . . . . . B ADDR 00D0H.4 A
SP . . . . . . . . D ADDR 0081H A
TCON . . . . . . . D ADDR 0088H A
X0_INIT. . . . . . C ADDR 0119H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -