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

📄 t.lst

📁 MAX038 的中文资料及说明
💻 LST
📖 第 1 页 / 共 2 页
字号:
0133                 194     CONV:    ; MOV  A,T_G
0133 753F06          195               MOV  LCD_X,#6          ;设置位置
                     196              ; CALL  SHOW_DIG2
0136 E538            197               MOV  A,T_H
                     198               ;INC  LCD_X             ;加载小时数据
0138 3147            199               CALL  SHOW_DIG2    ;显示数据
013A E537            200               MOV  A,T_M         ;加载分钟数据
013C 053F            201               INC  LCD_X             ;设置位置
013E 3147            202               CALL  SHOW_DIG2    ;显示数据
0140 E536            203               MOV  A,T_S        ;加载秒数数据
0142 053F            204               INC  LCD_X             ;设置位置
0144 3147            205               CALL  SHOW_DIG2    ;显示数据
0146 22              206               RET
                     207     ;----------------------------------------------------
0147                 208     SHOW_DIG2:
0147 75F010          209               MOV  B,#16
014A 84              210               DIV  AB
014B 2430            211               ADD  A,#30H
014D C0F0            212               PUSH  B
014F 853FF0          213               MOV  B,LCD_X
0152 3126            214               CALL  LCDP2
0154 D0F0            215               POP  B
0156 E5F0            216               MOV  A,B
0158 2430            217               ADD  A,#30H
015A 053F            218               INC  LCD_X
015C 853FF0          219               MOV  B,LCD_X
015F 3126            220               CALL  LCDP2
0161 22              221               RET
                     222     ;-----------------------------------------------------
0162                 223     DELAY1:                    ;延时3MS
0162 7E0F            224              MOV  R6,#15
0164 7F64            225       D2:    MOV  R7,#100
0166 DFFE            226              DJNZ  R7,$
0168 DEFA            227              DJNZ  R6,D2
016A 22              228              RET
                     229     ; -----------------  定时器设置   ------------------------
                     230     ;设置定时器0工作在定时方式1,定时器1工作在计数方式1
                     231     ;---------------------------------------------------------
016B 7589D1          232     TIM_T0:   MOV TMOD,#0D1H
016E 85308C          233               MOV TH0,TIMER_H        ;设置定时初值高位
0171 85318A          234               MOV TL0,TIMER_L        ;设置定时初值低位
0174 758D00          235               MOV  TH1,#00H          ;清T1计数器
0177 758B00          236               MOV  TL1,#00H
017A 75A88A          237               MOV  IE,#8AH           ;开中断总允许,允许T0溢出中断
017D D2BB            238               SETB  PT1
017F D28E            239               SETB  TR1
0181 D28C            240               SETB  TR0              ;定时器开始工作
0183 22              241               RET
                     242     ;--------------------------------------------------------
                     243     ;定时器0中断服务程序
                     244     ;--------------------------------------------------------
0184                 245     TIMER_INT:
0184 C28C            246              CLR TR0             ;关闭定时器
0186 85318A          247              MOV TL0,TIMER_L     ;重新赋初值
0189 85308C          248              MOV TH0,TIMER_H                 ;
A51 MACRO ASSEMBLER  T                                                                    04/20/2008 22:58:08 PAGE     5

018C 0532            249              INC TIMCOUNT        ;定时1S,时间单位
018E E532            250              MOV A,TIMCOUNT      ;查看数量值
0190 B294            251              CPL  P1.4           ;产生自测信号
0192 B40119          252              CJNE A,#1,T_END    ;如果没有到1S返回
                     253     
0195 C28E            254              CLR  TR1            ;关闭计数器T1
0197 753200          255              MOV TIMCOUNT,#00H   ;到1S则清零
019A 858B33          256              MOV INT_L,TL1       ;取出计数值低位
019D 858D34          257              MOV INT_H,TH1       ;取出计数值高位
01A0 852A35          258              MOV INT_G,2AH       ;取出溢出计数值位
01A3 758D00          259              MOV  TH1,#00H
01A6 758B00          260              MOV  TL1,#00H
01A9 752A00          261              MOV  2AH,#00H
01AC D28E            262              SETB  TR1
01AE D28C            263     T_END:   SETB TR0            ;重新开始定时操作
01B0 32              264              RETI
                     265     ;---------------------------------------------------------------
                     266     ;三字节二进制整数转换成四字节BCD码子程序
                     267     ;二进制数从低位到高位分别存放在INT_L、INT_H、INT_G单元中
                     268     ;BCD码从低位到高位分别存放在T_S、T_M、T_H、T_G 单元中
                     269     ;---------------------------------------------------------------
01B1                 270      SBIN_SBCD:
01B1 C0D0            271                   PUSH PSW
01B3 D2D3            272                   SETB PSW.3       ;设置当前寄存器
01B5 C2D4            273                   CLR PSW.4
                     274     
01B7 E4              275                   CLR A            ;清累加器
01B8 F539            276                   MOV T_G,A
01BA F538            277                   MOV T_H,A        ;清除出口单元,准备转换
01BC F537            278                   MOV T_M,A
01BE F536            279                   MOV T_S,A
                     280     
01C0 AD35            281                   MOV  R5,INT_G
01C2 AF33            282                   MOV  R7,INT_L    ;设置二进制数起始地址
01C4 AE34            283                   MOV  R6,INT_H
01C6 7A18            284                   MOV  R2,#24
01C8 C3              285                   CLR  C
01C9                 286     HH1:
01C9 EF              287                   MOV  A,R7
01CA 33              288                   RLC  A
01CB FF              289                   MOV  R7,A
                     290     
01CC EE              291                   MOV  A,R6
01CD 33              292                   RLC  A
01CE FE              293                   MOV  R6,A
                     294     
01CF ED              295                   MOV  A,R5
01D0 33              296                   RLC  A
01D1 FD              297                   MOV  R5,A
                     298     
01D2 E536            299                   MOV A,T_S        ;得到低位数据
01D4 3536            300                   ADDC A,T_S       ;累加
01D6 D4              301                   DA A             ;十进制调整
01D7 F536            302                   MOV T_S,A        ;保存数据
                     303     
01D9 E537            304                   MOV A,T_M        ;得到第二位数据
01DB 3537            305                   ADDC A,T_M       ;累加
01DD D4              306                   DA A             ;十进制调整
01DE F537            307                   MOV T_M,A        ;保存结果
                     308     
01E0 E538            309                   MOV A,T_H        ;得到第三位
01E2 3538            310                   ADDC A,T_H       ;累加
01E4 D4              311                   DA  A
01E5 F538            312                   MOV T_H,A        ;保存
                     313     
01E7 E539            314                   MOV A,T_G        ;得到第四位
A51 MACRO ASSEMBLER  T                                                                    04/20/2008 22:58:08 PAGE     6

01E9 3539            315                   ADDC A,T_G       ;累加
                     316                   ;DA  A
01EB F539            317                   MOV T_G,A
                     318     
01ED DADA            319                   DJNZ R2,HH1      ;
01EF D0D0            320                   POP  PSW
01F1 22              321                   RET
                     322     ;----------------------------------------------------------------
                     323       END     ;告诉编译器本程序到此结束。
                             ;-----------------------------------------------------------------
A51 MACRO ASSEMBLER  T                                                                    04/20/2008 22:58:08 PAGE     7

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   
BEEP . . . . . . .  B ADDR   00B0H.7 A   
CL1. . . . . . . .  C ADDR   00FAH   A   
CLR_LINE . . . . .  C ADDR   00F8H   A   
CONV . . . . . . .  C ADDR   0133H   A   
D2 . . . . . . . .  C ADDR   0164H   A   
DELAY0 . . . . . .  C ADDR   0117H   A   
DELAY1 . . . . . .  C ADDR   0162H   A   
ENABLE . . . . . .  C ADDR   0101H   A   
ENABLE1. . . . . .  C ADDR   010CH   A   
FILL . . . . . . .  C ADDR   00ECH   A   
HH1. . . . . . . .  C ADDR   01C9H   A   
IE . . . . . . . .  D ADDR   00A8H   A   
INFO1. . . . . . .  C ADDR   0092H   A   
INFO2. . . . . . .  C ADDR   00A3H   A   
INIT_LCD . . . . .  C ADDR   00B4H   A   
INT_G. . . . . . .  N NUMB   0035H   A   
INT_H. . . . . . .  N NUMB   0034H   A   
INT_L. . . . . . .  N NUMB   0033H   A   
LC1. . . . . . . .  C ADDR   00F2H   A   
LCDP2. . . . . . .  C ADDR   0126H   A   
LCD_EN . . . . . .  B ADDR   00A0H.2 A   
LCD_RS . . . . . .  B ADDR   00A0H.0 A   
LCD_RW . . . . . .  B ADDR   00A0H.1 A   
LCD_SHOW . . . . .  C ADDR   00D3H   A   
LCD_X. . . . . . .  N NUMB   003FH   A   
LINE1. . . . . . .  C ADDR   00D6H   A   
LINE2. . . . . . .  C ADDR   00E2H   A   
MAIN . . . . . . .  C ADDR   0030H   A   
MAIN1. . . . . . .  C ADDR   003BH   A   
MAIN2. . . . . . .  C ADDR   003DH   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PRO_SET. . . . . .  C ADDR   004AH   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
PT1. . . . . . . .  B ADDR   00B8H.3 A   
SBIN_SBCD. . . . .  C ADDR   01B1H   A   
SET_LCD. . . . . .  C ADDR   007DH   A   
SHOW_DIG2. . . . .  C ADDR   0147H   A   
SP . . . . . . . .  D ADDR   0081H   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TIMCOUNT . . . . .  N NUMB   0032H   A   
TIMER1 . . . . . .  C ADDR   0047H   A   
TIMER_H. . . . . .  N NUMB   0030H   A   
TIMER_INT. . . . .  C ADDR   0184H   A   
TIMER_L. . . . . .  N NUMB   0031H   A   
TIM_T0 . . . . . .  C ADDR   016BH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
T_END. . . . . . .  C ADDR   01AEH   A   
T_G. . . . . . . .  N NUMB   0039H   A   
T_H. . . . . . . .  N NUMB   0038H   A   
T_M. . . . . . . .  N NUMB   0037H   A   
A51 MACRO ASSEMBLER  T                                                                    04/20/2008 22:58:08 PAGE     8

T_S. . . . . . . .  N NUMB   0036H   A   
WCOM . . . . . . .  C ADDR   011CH   A   
WDATA. . . . . . .  C ADDR   0121H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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