⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sz01.lst

📁 51单片机开发入门与典型实例
💻 LST
📖 第 1 页 / 共 2 页
字号:
00C4 85E0A0          154         MOV  P2, ACC     ;由P2送出扫描输出信号  
00C7 7D02            155         MOV  R5, #2      ;延迟一会儿
00C9 3135            156         ACALL  DELAY
                     157      ;改变扫描码 EX:XXXX1011 
00CB 03              158         RR   A           ;累加器向右移动一位
00CC 08              159         INC  R0          ;显示器显示缓冲区地址加1
00CD DAEE            160         DJNZ R2, S1      ;循环判断是否继续执行
00CF 22              161         RET
                     162      
                     163      ;---―― 实现调整时间子程序 ――――――
                     164     
                     165      ;设置目前时间
00D0                 166      SET_TIME:
00D0 C28C            167         CLR   TR0          ;定时器动作暂停
00D2 753600          168         MOV   SEC, #0      ;秒钟变量清除为0
00D5                 169       L0:
00D5 11B6            170         ACALL  DISP        ;扫描显示
                     171      
00D7 20A513          172         JB   K2,  L1       ;未按下K2键则继续扫描
00DA 30A5FD          173         JNB  K2,  $        ;有按下则等待放开来
                     174        ;K2小时调整   
00DD 0534            175         INC  HOUR          ;小时计数加1
00DF E534            176         MOV  A, HOUR
00E1 B41803          177         CJNE  A,#24, L11   ;是否24H到了
00E4 753400          178         MOV  HOUR, #0      ;小时变量清除为0
00E7                 179       L11:
00E7 1183            180         ACALL  CONV        ;转换显示数据
00E9 11B6            181         ACALL  DISP        ;扫描显示
00EB 80E8            182         JMP    L0          ;继续程序执行
                     183      
00ED 20A613          184       L1:JB  K3, L2        ;未按下K3键则继续扫描
00F0 30A6FD          185          JNB  K3,$      ;有按下则等待放开来
                     186        ;K3分钟调整.
00F3 0535            187         INC  MIN           ;分钟计数加1
00F5 E535            188         MOV  A,  MIN
00F7 B43C03          189         CJNE  A,#60, L21   ;是否60 min到了
00FA 753500          190         MOV  MIN, #0       ;分钟变量清除为0
A51 MACRO ASSEMBLER  SZ01                                                                 01/04/2007 21:35:15 PAGE     4

00FD                 191       L21:
00FD 1183            192         ACALL  CONV        ;转换显示数据
00FF 11B6            193         ACALL  DISP        ;扫描显示
0101 80D2            194         JMP    L0          ;继续程序执行
                     195      
0103 20A7CF          196       L2: JB   K4,L0       ;未按下K4键则继续扫描
0106 30A7FD          197         JNB    K4, $       ;有按下则等待放开来
0109 311D            198         ACALL  BZ          ;压电喇叭鸣响一声
                     199        ;K4设置完成
010B 312A            200         ACALL  LED_BL      ;LED闪动
010D D28C            201         SETB   TR0         ;启动定时器
010F 22              202         RET 
                     203     
                     204      ;----―喇叭和指示灯等其它子程序 ----――
                     205     
                     206      ;计时单元清零
0110                 207      INIT:              
0110 753700          208         MOV  DEDA,   #0   ;5ms计数值清除为0
0113 753600          209         MOV  SEC,    #0   ;秒钟变量清除为0
0116 753500          210         MOV  MIN,    #0   ;分钟变量清除为0
0119 753400          211         MOV  HOUR,   #0   ;小时变量清除为0
011C 22              212         RET
                     213      ;―――――――――――――
                     214      ;压电喇叭
011D                 215       BZ:                  ;压电喇叭鸣响一声
011D 7EFA            216           MOV   R6, #250
011F 3140            217       B1: ACALL DEX
0121 B2B4            218           CPL   SPK
0123 DEFA            219           DJNZ  R6,B1
0125 7D32            220           MOV   R5, #50 ;#10
0127 3135            221           ACALL  DELAY
0129 22              222           RET
                     223      
                     224      ;----------―――
                     225      ;工作指示
012A                 226       LED_BL:             ;工作指示灯闪烁
012A 7C06            227           MOV   R4,#6
012C B290            228       LE1:CPL   WLED      ;位反向
012E 7D19            229           MOV   R5,#25 ;#5
0130 3135            230           ACALL  DELAY
0132 DCF8            231           DJNZ  R4, LE1   ;延迟50ms
0134 22              232           RET
                     233      ;----------―――
                     234      ;延时子程序
0135                 235       DELAY:               ;;总延迟时间 R5* 2ms
0135 7E0A            236          MOV   R6,#10 ;#50
0137 7F64            237       D1:MOV   R7,#100
0139 DFFE            238          DJNZ  R7,$
013B DEFA            239          DJNZ  R6,D1
013D DDF6            240          DJNZ  R5,DELAY
013F 22              241          RET 
                     242      ;----------―――
                     243      ; 压电喇叭短暂延时子程序
0140 7FB4            244      DEX:  MOV   R7,#180   ;短暂延时
0142 00              245       DE1: NOP
0143 DFFD            246            DJNZ  R7, DE1
0145 22              247            RET
                     248      ;----------―――
                     249     
                     250          END 
                             
                             
A51 MACRO ASSEMBLER  SZ01                                                                 01/04/2007 21:35:15 PAGE     5

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
B1 . . . . . . . .  C ADDR   011FH   A   
BUF. . . . . . . .  N NUMB   0030H   A   
BZ . . . . . . . .  C ADDR   011DH   A   
CONV . . . . . . .  C ADDR   0083H   A   
D1 . . . . . . . .  C ADDR   0137H   A   
DE1. . . . . . . .  C ADDR   0142H   A   
DEDA . . . . . . .  N NUMB   0037H   A   
DELAY. . . . . . .  C ADDR   0135H   A   
DEX. . . . . . . .  C ADDR   0140H   A   
DISP . . . . . . .  C ADDR   00B6H   A   
HOUR . . . . . . .  N NUMB   0034H   A   
IE . . . . . . . .  D ADDR   00A8H   A   
INIT . . . . . . .  C ADDR   0110H   A   
INIT_TIMER . . . .  C ADDR   0039H   A   
K1 . . . . . . . .  B ADDR   00A0H.4 A   
K2 . . . . . . . .  B ADDR   00A0H.5 A   
K3 . . . . . . . .  B ADDR   00A0H.6 A   
K4 . . . . . . . .  B ADDR   00A0H.7 A   
L0 . . . . . . . .  C ADDR   00D5H   A   
L1 . . . . . . . .  C ADDR   00EDH   A   
L11. . . . . . . .  C ADDR   00E7H   A   
L2 . . . . . . . .  C ADDR   0103H   A   
L21. . . . . . . .  C ADDR   00FDH   A   
LE1. . . . . . . .  C ADDR   012CH   A   
LED_BL . . . . . .  C ADDR   012AH   A   
LOOP . . . . . . .  C ADDR   001BH   A   
M1 . . . . . . . .  C ADDR   0028H   A   
M2 . . . . . . . .  C ADDR   002DH   A   
M3 . . . . . . . .  C ADDR   0032H   A   
M4 . . . . . . . .  C ADDR   0037H   A   
MAIN . . . . . . .  C ADDR   000DH   A   
MIN. . . . . . . .  N NUMB   0035H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
S1 . . . . . . . .  C ADDR   00BDH   A   
SEC. . . . . . . .  N NUMB   0036H   A   
SET_TIME . . . . .  C ADDR   00D0H   A   
SPK. . . . . . . .  B ADDR   00B0H.4 A   
TABLE. . . . . . .  C ADDR   00A6H   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TO_SRV . . . . . .  C ADDR   0048H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
TT1. . . . . . . .  C ADDR   0080H   A   
WLED . . . . . . .  B ADDR   0090H.0 A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -