📄 1.lst
字号:
A51 MACRO ASSEMBLER 1 04/22/2005 23:44:50 PAGE 1
MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN .\1.OBJ
ASSEMBLER INVOKED BY: D:\Keil\C51\BIN\A51.EXE .\1.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;************;
2 ;小灯控制程序;
3 ;************;
4 ;
5 ;************;
6 ;中断入口程序;
7 ;************;
8 ;
0000 9 ORG 0000H ;程序执行开始地址
0000 02002A 10 LJMP START ;跳至START执行
0003 11 ORG 0003H ;外中断0中断入口地址
0003 32 12 RETI ;中断返回(不开中断)
000B 13 ORG 000BH ;定时器T0中断入口地址
000B 32 14 RETI ;中断返回(不开中断)
0013 15 ORG 0013H ;外中断1中断入口地址
0013 32 16 RETI ;中断返回(不开中断)
001B 17 ORG 001BH ;定时器T1中断入口地址
001B 32 18 RETI ;中断返回(不开中断)
0023 19 ORG 0023H ;串行口中断入口地址
0023 32 20 RETI ;中断返回(不开中断)
21 ;
22 ;************;
23 ; 初始化程序 ;
24 ;************;
25 ;
0024 752000 26 CLEAR: MOV 20H,#00H ;20H单元内存清0(闪烁标志清0)
0027 D200 27 SETB 00H ;20H.0位置1(上电时自动执行闪烁功能1)
0029 22 28 RET ;子程序返回
29 ;
30 ;************;
31 ; 主 程 序 ;
32 ;************;
33 ;
002A 1124 34 START:ACALL CLEAR ;调用初始化子程序
002C 120067 35 MAIN: LCALL KEYWORK ;调用键扫描子程序
002F 20000B 36 JB 00H,FUN0 ;20H.0位为1时执行FUN0
0032 200115 37 JB 01H,FUN1 ;20H.1位为1时执行FUN1
0035 200220 38 JB 02H,FUN2 ;20H.2位为1时执行FUN2
0038 2003F1 39 JB 03H,MAIN ;备用
003B 012C 40 AJMP MAIN ;返回主程序MAIN
41 ;
42 ;************;
43 ; 功能程序 ;
44 ;************;
45 ;第1种闪烁功能程序
003D 74FE 46 FUN0: MOV A,#0FEH ;累加器赋初值
003F F590 47 FUN00:MOV P1,A ;累加器值送至P1口
0041 1200C0 48 LCALL DL05S ;延时
0044 30E7E5 49 JNB ACC.7,MAIN ;累加器最高位为0时转MAIN
0047 23 50 RL A ;累加器A中示菅
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -