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

📄 shijian.lst

📁 该程序是时间显示程序,一般可以使用LCD显示.
💻 LST
字号:
A51 MACRO ASSEMBLER  SHIJIAN                                                              10/05/2006 18:36:30 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN shijian.OBJ
ASSEMBLER INVOKED BY: d:\Keil\C51\BIN\A51.EXE shijian.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1         
  0050                 2          SEC     EQU      50H
  0051                 3          MIN     EQU      51H
  0052                 4          HOUR    EQU      52H
  0020                 5          COM     EQU      20H
  0021                 6          DAT     EQU      21H
  0090                 7        LCD_PORT  EQU      P1
  00B0                 8          RS      EQU      P3.0
  00B1                 9          RW      EQU      P3.1
  00B2                10          E       EQU      P3.2
0000                  11            ORG  0000H
0000 020100           12            LJMP MAIN
000B                  13            ORG 000BH
000B 020279           14            LJMP CLOCK
0100                  15            ORG 0100H
                      16          
0100                  17     MAIN:  
0100 758160           18            MOV SP,#60H
0103 7590FF           19            MOV P1,#0FFH
0106 75A0FF           20            MOV P2,#0FFH
0109 755000           21            MOV SEC,#00H
010C 755158           22            MOV MIN,#58H
010F 755221           23            MOV HOUR,#21H
0112 755300           24            MOV 53H,#00H
0115 758901           25            MOV TMOD,#01H
0118 758C3C           26            MOV TH0,#3CH
011B 758AB0           27            MOV TL0,#0B0H
011E 120130           28            LCALL INT  ;初始化液晶
0121 D2A9             29            SETB ET0
0123 D2AF             30            SETB EA
0125 D28C             31     START: SETB TR0
0127 1201C0           32            LCALL KEY
012A 12020B           33            LCALL DISPLAY
012D 020125           34            LJMP START
0130 75203C           35     INT:   MOV COM,#3CH
0133 12014F           36            LCALL LCD_W_CMD
0136 75200C           37            MOV COM,#0CH
0139 12014F           38            LCALL LCD_W_CMD
013C 752001           39            MOV COM,#01H
013F 12014F           40            LCALL LCD_W_CMD
0142 752006           41            MOV COM,#06H
0145 12014F           42            LCALL LCD_W_CMD
0148 752080           43            MOV COM,#80H
014B 12014F           44            LCALL LCD_W_CMD
014E 22               45              RET
014F C0E0             46     LCD_W_CMD:PUSH ACC
0151 1201A9           47     LCD_W_CMD_A:LCALL LCD_R_STAT
0154 30E705           48                JNB  ACC.7,LCD_W_CMD_B
0157 1201FD           49                LCALL PUB_DELAY_100US
015A 80F5             50                SJMP   LCD_W_CMD_A
015C C2B1             51     LCD_W_CMD_B:CLR  RW
015E 120207           52                 LCALL  PP
0161 C2B0             53                 CLR   RS
0163 120207           54                 LCALL PP
0166 D2B2             55                 SETB  E
0168 120207           56                 LCALL PP
016B E520             57                 MOV   A,COM
016D F590             58                 MOV   LCD_PORT,A
A51 MACRO ASSEMBLER  SHIJIAN                                                              10/05/2006 18:36:30 PAGE     2

016F 120207           59                 LCALL PP
0172 C2B2             60                 CLR   E
0174 120207           61                 LCALL PP
0177 D2B1             62                 SETB  RW
0179 D0E0             63                 POP   ACC
017B 22               64                 RET
017C C0E0             65     LCD_W_DAT:  PUSH  ACC
017E 1201A9           66     LCD_W_DAT_A:LCALL LCD_R_STAT
0181 30E705           67                 JNB   ACC.7,LCD_W_DAT_B
0184 1201FD           68                 LCALL PUB_DELAY_100US
0187 80F5             69                 SJMP  LCD_W_DAT_A
0189 C2B1             70     LCD_W_DAT_B:CLR   RW
018B 120207           71                 LCALL PP
018E D2B0             72                 SETB  RS
0190 120207           73                 LCALL PP
0193 D2B2             74                 SETB  E
0195 120207           75                 LCALL PP
0198 E521             76                 MOV   A,DAT
019A F590             77                 MOV   LCD_PORT,A
019C 120207           78                 LCALL  PP
019F C2B2             79                 CLR   E
01A1 120207           80                 LCALL PP
01A4 D2B1             81                 SETB  RW
01A6 D0E0             82                 POP   ACC
01A8 22               83                 RET
01A9 D2B1             84     LCD_R_STAT:SETB RW
01AB 120207           85                LCALL PP
01AE C2B0             86                CLR   RS
01B0 120207           87                LCALL PP
01B3 D2B2             88                SETB  E
01B5 120207           89                LCALL PP
01B8 E590             90                MOV   A,LCD_PORT
01BA 120207           91                LCALL PP
01BD C2B1             92                CLR   RW
01BF 22               93                RET
01C0 C0E0             94           KEY: PUSH ACC
01C2 20A009           95                JB P2.0,KEY1
01C5 1202BB           96                LCALL DELAY
01C8 755000           97                MOV SEC,#00H
01CB 0201FA           98                LJMP OUT
01CE 20A113           99           KEY1:JB P2.1,KEY2
01D1 1202BB          100                LCALL DELAY
01D4 E551            101                MOV A,MIN
01D6 2401            102                ADD A,#01H
01D8 D4              103                DA A
01D9 F551            104                MOV MIN,A
01DB B4601C          105                CJNE A,#60H,OUT
01DE 755100          106                MOV MIN,#00H
01E1 0201FA          107                LJMP OUT
01E4 20A213          108           KEY2:JB P2.2,OUT
01E7 1202BB          109                LCALL DELAY
01EA E552            110                MOV A,HOUR
01EC 2401            111                ADD A,#01H
01EE D4              112                DA A
01EF F552            113                MOV HOUR,A
01F1 B42406          114                CJNE A,#24H,OUT
01F4 755200          115                MOV HOUR,#00H
01F7 0201FA          116                LJMP OUT
01FA                 117          OUT: 
01FA D0E0            118                POP ACC
01FC 22              119                RET
01FD C0E0            120     PUB_DELAY_100US:PUSH  ACC
01FF E4              121                     CLR   A
0200 04              122        PD5_0:    INC   A
0201 B417FC          123                  CJNE   A,#23,PD5_0
0204 D0E0            124                  POP    ACC
A51 MACRO ASSEMBLER  SHIJIAN                                                              10/05/2006 18:36:30 PAGE     3

0206 22              125                  RET
0207 00              126         PP:      NOP
0208 00              127                  NOP
0209 00              128                  NOP
020A 22              129                  RET
                     130     
020B                 131     DISPLAY:
020B 790C            132              MOV       R1,#12            ;显示shenzhen
020D 752080          133              MOV       COM,#80H          ;液晶显示第一行
0210 12014F          134              LCALL     LCD_W_CMD
0213 900269          135              MOV       DPTR,#TAB1
0216 7B00            136              MOV       R3,#00H
0218 EB              137         LCD1:MOV       A,R3
0219 93              138              MOVC      A,@A+DPTR
021A F521            139              MOV      DAT,A
021C 12017C          140              LCALL    LCD_W_DAT
                     141             
021F 0B              142              INC      R3 
0220 D9F6            143              DJNZ     R1,LCD1           ;显示shenzhen结束
0222 7520C4          144              MOV       COM,#0C4H        ;显示时钟,液晶显示第二行
0225 12014F          145              LCALL     LCD_W_CMD
0228 7852            146              MOV       R0,#HOUR
022A 7E02            147              MOV       R6,#02H
022C E6              148        DIS1: MOV       A,@R0
022D C4              149              SWAP      A
022E 540F            150              ANL       A,#0FH
0230 120252          151              LCALL     LCD
0233 E6              152              MOV       A,@R0
0234 540F            153              ANL       A,#0FH
0236 120252          154              LCALL     LCD
0239 75213A          155              MOV       DAT,#3AH
023C 12017C          156              LCALL     LCD_W_DAT
023F 18              157              DEC       R0
0240 DEEA            158              DJNZ      R6,DIS1
0242 7850            159              MOV       R0,#SEC
0244 E6              160              MOV       A,@R0
0245 C4              161              SWAP      A
0246 540F            162              ANL       A,#0FH
0248 120252          163              LCALL     LCD
024B E6              164              MOV       A,@R0
024C 540F            165              ANL       A,#0FH
024E 120252          166              LCALL     LCD
0251 22              167              RET
0252                 168        LCD:
0252 90025F          169              MOV       DPTR,#TAB
0255 93              170              MOVC      A,@A+DPTR
0256 F521            171              MOV       DAT,A
0258 12017C          172              LCALL     LCD_W_DAT
025B 1202BB          173              LCALL     DELAY
025E 22              174              RET
025F 30313233        175        TAB:  DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
0263 34353637                
0267 3839                    
0269 20202020        176        TAB1: DB "    SHENZHEN    "
026D 5348454E                
0271 5A48454E                
0275 20202020                
0279 C2AF            177        CLOCK:CLR EA
027B C0D0            178              PUSH PSW
027D C0E0            179              PUSH ACC
027F D2D4            180              SETB RS1
0281 0553            181              INC 53H
0283 E553            182              MOV A,53H
0285 B4142A          183              CJNE A,#20,BACK1
0288 755300          184              MOV 53H,#00H
028B E550            185         BACK0:MOV A,SEC
A51 MACRO ASSEMBLER  SHIJIAN                                                              10/05/2006 18:36:30 PAGE     4

028D 2401            186              ADD A,#01H
028F D4              187              DA A
0290 F550            188              MOV SEC,A
0292 B4601D          189              CJNE A,#60H,BACK1
0295 755000          190              MOV SEC,#00H
0298 E551            191              MOV A,MIN
029A 2401            192              ADD A,#01H
029C D4              193              DA A
029D F551            194              MOV MIN ,A
029F B46010          195              CJNE A,#60H,BACK1
02A2 755100          196              MOV MIN,#00H
02A5 E552            197              MOV A,HOUR
02A7 2401            198              ADD A,#01H
02A9 D4              199              DA A
02AA F552            200              MOV HOUR,A
02AC B42403          201              CJNE A,#24H,BACK1
02AF 755200          202              MOV HOUR,#00H
02B2 D0E0            203          BACK1:POP ACC
02B4 D0D0            204              POP PSW
02B6 C2D4            205              CLR RS1
02B8 D2AF            206              SETB EA
02BA 32              207              RETI
02BB D2D3            208         DELAY: SETB RS0
02BD 7E00            209                MOV   R6,#00H
02BF 7F00            210                MOV   R7,#00H
02C1 00              211       DELAY1:  NOP
02C2 DFFD            212                DJNZ R7,DELAY1
02C4 DEFB            213                DJNZ R6,DELAY1
02C6 C2D3            214                CLR RS0
02C8 22              215                RET
                     216       
                     217              END
                                      
A51 MACRO ASSEMBLER  SHIJIAN                                                              10/05/2006 18:36:30 PAGE     5

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


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

ACC. . . . . . . .  D ADDR   00E0H   A   
BACK0. . . . . . .  C ADDR   028BH   A   
BACK1. . . . . . .  C ADDR   02B2H   A   
CLOCK. . . . . . .  C ADDR   0279H   A   
COM. . . . . . . .  N NUMB   0020H   A   
DAT. . . . . . . .  N NUMB   0021H   A   
DELAY. . . . . . .  C ADDR   02BBH   A   
DELAY1 . . . . . .  C ADDR   02C1H   A   
DIS1 . . . . . . .  C ADDR   022CH   A   
DISPLAY. . . . . .  C ADDR   020BH   A   
E. . . . . . . . .  B ADDR   00B0H.2 A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
HOUR . . . . . . .  N NUMB   0052H   A   
INT. . . . . . . .  C ADDR   0130H   A   
KEY. . . . . . . .  C ADDR   01C0H   A   
KEY1 . . . . . . .  C ADDR   01CEH   A   
KEY2 . . . . . . .  C ADDR   01E4H   A   
LCD. . . . . . . .  C ADDR   0252H   A   
LCD1 . . . . . . .  C ADDR   0218H   A   
LCD_PORT . . . . .  D ADDR   0090H   A   
LCD_R_STAT . . . .  C ADDR   01A9H   A   
LCD_W_CMD. . . . .  C ADDR   014FH   A   
LCD_W_CMD_A. . . .  C ADDR   0151H   A   
LCD_W_CMD_B. . . .  C ADDR   015CH   A   
LCD_W_DAT. . . . .  C ADDR   017CH   A   
LCD_W_DAT_A. . . .  C ADDR   017EH   A   
LCD_W_DAT_B. . . .  C ADDR   0189H   A   
MAIN . . . . . . .  C ADDR   0100H   A   
MIN. . . . . . . .  N NUMB   0051H   A   
OUT. . . . . . . .  C ADDR   01FAH   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PD5_0. . . . . . .  C ADDR   0200H   A   
PP . . . . . . . .  C ADDR   0207H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
PUB_DELAY_100US. .  C ADDR   01FDH   A   
RS . . . . . . . .  B ADDR   00B0H.0 A   
RS0. . . . . . . .  B ADDR   00D0H.3 A   
RS1. . . . . . . .  B ADDR   00D0H.4 A   
RW . . . . . . . .  B ADDR   00B0H.1 A   
SEC. . . . . . . .  N NUMB   0050H   A   
SP . . . . . . . .  D ADDR   0081H   A   
START. . . . . . .  C ADDR   0125H   A   
TAB. . . . . . . .  C ADDR   025FH   A   
TAB1 . . . . . . .  C ADDR   0269H   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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