?? 1.lst
字號:
頁 1
01-29-03
01:04:08
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機器碼 源程序
;************;
;小燈控制程序;
;************;
;
;************;
;中斷入口程序;
;************;
;
ORG 0000H ;程序執行開始地址
0000 02002A LJMP START ;跳至START執行
ORG 0003H ;外中斷0中斷入口地址
0003 32 RETI ;中斷返回(不開中斷)
ORG 000BH ;定時器T0中斷入口地址
000B 32 RETI ;中斷返回(不開中斷)
ORG 0013H ;外中斷1中斷入口地址
0013 32 RETI ;中斷返回(不開中斷)
ORG 001BH ;定時器T1中斷入口地址
001B 32 RETI ;中斷返回(不開中斷)
ORG 0023H ;串行口中斷入口地址
0023 32 RETI ;中斷返回(不開中斷)
;
;************;
; 初始化程序 ;
;************;
;
0024 752000 CLEAR: MOV 20H,#00H ;20H單元內存清0(閃爍標志清0)
0027 D200 SETB 00H ;20H.0位置1(上電時自動執行閃爍功能1)
0029 22 RET ;子程序返回
;
;************;
; 主 程 序 ;
;************;
;
002A 1124 START:ACALL CLEAR ;調用初始化子程序
002C 120067 MAIN: LCALL KEYWORK ;調用鍵掃描子程序
002F 20000B JB 00H,FUN0 ;20H.0位為1時執行FUN0
0032 200115 JB 01H,FUN1 ;20H.1位為1時執行FUN1
0035 200220 JB 02H,FUN2 ;20H.2位為1時執行FUN2
0038 2003F1 JB 03H,MAIN ;備用
003B 012C AJMP MAIN ;返回主程序MAIN
;
;************;
; 功能程序 ;
;************;
;第1種閃爍功能程序
003D 74FE FUN0: MOV A,#0FEH ;累加器賦初值
003F F590 FUN00:MOV P1,A ;累加器值送至P1口
0041 1200C0 LCALL DL05S ;延時
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實例1\1.ASM
頁 2
01-29-03
01:04:08
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機器碼 源程序
0044 30E7E5 JNB ACC.7,MAIN ;累加器最高位為0時轉MAIN
0047 23 RL A ;累加器A中數據循環左移1位
0048 013F AJMP FUN00 ;轉FUN00循環
;
;第2種閃爍功能程序
004A 74FE FUN1:MOV A,#0FEH ;累加器賦初值
004C F590 FUN11:MOV P1,A ;累加器值送至P1口
004E 1200C0 LCALL DL05S ;延時
0051 60D9 JZ MAIN ;A為0轉MAIN
0053 23 RL A ;累加器A中數據循環左移1位
0054 5590 ANL A,P1 ;A同P1口值相與
0056 014C AJMP FUN11 ;轉FUN11循環
;
; 第3種閃爍功能程序
0058 74AA FUN2:MOV A,#0AAH ;累加器賦初值
005A F590 MOV P1,A ;累加器值送至P1口
005C 1200C0 LCALL DL05S ;延時
005F F4 CPL A ;A中各位取反
0060 F590 MOV P1,A ;累加器值送至P1口
0062 1200C0 LCALL DL05S ;延時
0065 012C AJMP MAIN ;轉MAIN
;************;
; 掃鍵程序 ;
;************;
;
0067 75B0FF KEYWORK:MOV P3,#0FFH ;置P3口為輸入狀態
006A 30B00A JNB P3.0,KEY0 ;讀P3.0口,若為0轉KEY0
006D 30B116 JNB P3.1,KEY1 ;讀P3.1口,若為0轉KEY1
0070 30B222 JNB P3.2,KEY2 ;讀P3.2口,若為0轉KEY2
0073 30B32E JNB P3.3,KEY3 ;讀P3.3口,若為0轉KEY3
0076 22 RET ;子程序返回
;
;閃爍功能0鍵處理程序
0077 1200B8 KEY0:LCALL DL10MS ;延時10毫秒消抖
007A 20B008 JB P3.0,OUT0 ;P3.0為1,子程序返回(干擾)
007D D200 SETB 00H ;20H.0位置1(執行閃爍功能1標志)
007F C201 CLR 01H ;20H.1位清0
0081 C202 CLR 02H ;20H.2位清0
0083 C203 CLR 03H ;20H.3位清0
0085 22 OUT0:RET ;子程序返回
;
; 閃爍功能1鍵處理程序
0086 1200B8 KEY1:LCALL DL10MS
0089 20B108 JB P3.1,OUT1
008C D201 SETB 01H ;20H.1位置1(執行閃爍功能2標志)
008E C200 CLR 00H
0090 C202 CLR 02H
0092 C203 CLR 03H
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實例1\1.ASM
頁 3
01-29-03
01:04:08
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機器碼 源程序
0094 22 OUT1:RET
;
;閃爍功能2鍵處理程序
0095 1200B8 KEY2:LCALL DL10MS
0098 20B208 JB P3.2,OUT2
009B D202 SETB 02H ;20H.2位置1(執行閃爍功能3標志)
009D C201 CLR 01H
009F C200 CLR 00H
00A1 C203 CLR 03H
00A3 22 OUT2:RET
;
;閃爍功能(備用)鍵處理程序
00A4 1200B8 KEY3:LCALL DL10MS
00A7 20B308 JB P3.3,OUT3
00AA D203 SETB 03H ;20H.3位置1(執行備用閃爍功能標志)
00AC C201 CLR 01H
00AE C202 CLR 02H
00B0 C200 CLR 00H
00B2 22 OUT3:RET
;
;************;
; 延時程序 ;
;************;
;0.5毫秒延時子程序,執行一次時間為513微秒
00B3 7AFF DL512:MOV R2,#0FFH
00B5 DAFE LOOP1: DJNZ R2,LOOP1
00B7 22 RET
;
;10毫秒延時子程序(調用20次0.5毫秒延時子程序)
00B8 7B14 DL10MS:MOV R3,#14H
00BA 1200B3 LOOP2: LCALL DL512
00BD DBFB DJNZ R3,LOOP2
00BF 22 RET
;
;延時子程序,改變R4寄存器初值可改變閃爍的快慢(時間為15×25毫秒)
00C0 7C0F DL05S:MOV R4,#0FH
00C2 1200C8 LOOP3: LCALL DL25MS
00C5 DCFB DJNZ R4,LOOP3
00C7 22 RET
;
;25毫秒延時子程序,用調用掃鍵子程序延時,可快速讀出功能按鍵值
00C8 7DFF DL25MS:MOV R5,#0FFH
00CA 120067 LOOP4:LCALL KEYWORK
00CD DDFB DJNZ R5,LOOP4
00CF 22 RET
END ;程序結束
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實例1\1.ASM
頁 4
01-29-03
01:04:08
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機器碼 源程序
符號 值 類型
AC = 00D6H CONST 常量
ACC = 00E0H CONST 常量
B = 00F0H CONST 常量
CLEAR = 0024H CODE 標號
CY = 00D7H CONST 常量
DL05S = 00C0H CODE 標號
DL10MS = 00B8H CODE 標號
DL25MS = 00C8H CODE 標號
DL512 = 00B3H CODE 標號
DPH = 0083H CONST 常量
DPL = 0082H CONST 常量
EA = 00AFH CONST 常量
ES = 00ACH CONST 常量
ET0 = 00A9H CONST 常量
ET1 = 00ABH CONST 常量
EX0 = 00A8H CONST 常量
EX1 = 00AAH CONST 常量
F0 = 00D5H CONST 常量
FUN0 = 003DH CODE 標號
FUN00 = 003FH CODE 標號
FUN1 = 004AH CODE 標號
FUN11 = 004CH CODE 標號
FUN2 = 0058H CODE 標號
IE = 00A8H CONST 常量
IE0 = 0089H CONST 常量
IE1 = 008BH CONST 常量
INT0 = 00B2H CONST 常量
INT1 = 00B3H CONST 常量
IP = 00B8H CONST 常量
IT0 = 0088H CONST 常量
IT1 = 008AH CONST 常量
KEY0 = 0077H CODE 標號
KEY1 = 0086H CODE 標號
KEY2 = 0095H CODE 標號
KEY3 = 00A4H CODE 標號
KEYWORK = 0067H CODE 標號
LOOP1 = 00B5H CODE 標號
LOOP2 = 00BAH CODE 標號
LOOP3 = 00C2H CODE 標號
LOOP4 = 00CAH CODE 標號
MAIN = 002CH CODE 標號
OUT0 = 0085H CODE 標號
OUT1 = 0094H CODE 標號
OUT2 = 00A3H CODE 標號
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實例1\1.ASM
頁 5
01-29-03
01:04:08
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機器碼 源程序
OUT3 = 00B2H CODE 標號
OV = 00D2H CONST 常量
P = 00D0H CONST 常量
P0 = 0080H CONST 常量
P1 = 0090H CONST 常量
P2 = 00A0H CONST 常量
P3 = 00B0H CONST 常量
PCON = 0087H CONST 常量
PS = 00BCH CONST 常量
PSW = 00D0H CONST 常量
PT0 = 00B9H CONST 常量
PT1 = 00BBH CONST 常量
PX0 = 00B8H CONST 常量
PX1 = 00BAH CONST 常量
RB8 = 009AH CONST 常量
RD = 00B7H CONST 常量
REN = 009CH CONST 常量
RI = 0098H CONST 常量
RS0 = 00D3H CONST 常量
RS1 = 00D4H CONST 常量
RXD = 00B0H CONST 常量
SBUF = 0099H CONST 常量
SCON = 0098H CONST 常量
SM0 = 009FH CONST 常量
SM1 = 009EH CONST 常量
SM2 = 009DH CONST 常量
SP = 0081H CONST 常量
START = 002AH CODE 標號
T0 = 00B4H CONST 常量
T1 = 00B5H CONST 常量
TB8 = 009BH CONST 常量
TCON = 0088H CONST 常量
TF0 = 008DH CONST 常量
TF1 = 008FH CONST 常量
TH0 = 008CH CONST 常量
TH1 = 008DH CONST 常量
TI = 0099H CONST 常量
TL0 = 008AH CONST 常量
TL1 = 008BH CONST 常量
TMOD = 0089H CONST 常量
TR0 = 008CH CONST 常量
TR1 = 008EH CONST 常量
TXD = 00B1H CONST 常量
WR = 00B6H CONST 常量
公有符號: 88
私有符號: 0
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實例1\1.ASM
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -