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

📄 main.lst

📁 基于stc12c5410ad的液晶屏显示汉字程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  MAIN                                                                 05/27/2009 03:08:13 PAGE     1


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

LOC  OBJ            LINE     SOURCE

0000                   1     ORG 00H
0000 8023              2     SJMP START
                       3     
0003                   4     ORG 003H;
0003 21BC              5     JMP INT0_INT;
                       6     
                       7     
000B                   8     ORG 000BH
000B 21C5              9     JMP T0_INT;
0023                  10     ORG 0023H
0023 21C4             11     JMP UART51_INT;
0025                  12     START:
0025 758150           13        MOV SP,#50H;
  0040                14        RECBUF  EQU 40H;
  0042                15        SENDBUF  EQU 42H;
                      16     
  0046                17        STATUS EQU 46H;
  0047                18        CYCLE  EQU 047H;
  0048                19        TOKEN      EQU 048H;
  0049                20        NUM       EQU 49H;
  004A                21        KEY       EQU 4AH;
                      22     
  0092                23        POUT3    BIT P1.2;
                      24     
                      25       ;KEY1    BIT P0.0;
                      26        ;KEY2    BIT P0.1;   
                      27       ;KEY3    BIT P0.3;
                      28       ;KEY4    BIT P0.2;
                      29     
  00E0                30        KEY1    BIT ACC.0;
  00E1                31        KEY2    BIT ACC.1;   
  00E3                32        KEY3    BIT ACC.3;
  00E2                33        KEY4    BIT ACC.2;
                      34     
                      35     
                      36     
  0097                37       RS BIT P1.7
  0096                38       RW BIT P1.6
  0095                39       EP BIT P1.5;
                      40     
                      41     
                      42     
                      43     ;;;;;;  AUX REGISTER DEFINE ;;;;;;
  0091                44        P1M0   EQU 91H;
  0092                45        P1M1   EQU 92H;
  0093                46        P0M0   EQU 93H;
  0094                47        P0M1   EQU 94H;
  0095                48        P2M0   EQU 95H;
  0096                49        P2M1   EQU 96H;
  00B1                50        P3M0   EQU 0B1H;
  00B2                51        P3M1   EQU 0B2H;
                      52     
  00C7                53        CLK_DIV     EQU 0C7H;
  008E                54        AUXR        EQU 8EH; 
                      55     
0028 12017D           56       LCALL DELAY3S;
002B 12017D           57       LCALL DELAY3S;
002E 12017D           58       LCALL DELAY3S;
A51 MACRO ASSEMBLER  MAIN                                                                 05/27/2009 03:08:13 PAGE     2

0031 1200BB           59       LCALL IO_INITIAL
0034 7D30             60       MOV R5,#30H;
0036 120146           61       LCALL lcd_wcmd;
0039 120125           62       LCALL DELAY;
003C 7D0C             63       MOV R5,#0CH;#0CH;
003E 120146           64       LCALL lcd_wcmd;  显于方式开
0041 120125           65       LCALL DELAY;
0044 7D06             66       MOV R5,#06H;
0046 120146           67       LCALL lcd_wcmd;
0049 120125           68       LCALL DELAY;
004C 7D01             69       MOV R5,#01H;;
004E 120146           70       LCALL lcd_wcmd;
0051 120125           71       LCALL DELAY;
                      72      ;LCALL lcd_pos;
0054 7D8A             73         MOV R5,#8AH;
0056 120146           74         LCALL lcd_wcmd;
0059 120125           75         LCALL DELAY;
                      76     
005C 1201AA           77        LCALL INT_INITIAL;
005F 12018B           78        LCALL UART51_INITIAL;
                      79     
0062 C289             80        CLR IE0;
0064 C28B             81        CLR IE1;
0066 C2A8             82        CLR EX0;
0068 C2AC             83        CLR ES; 充许51串口中断
                      84      
                      85     
006A 1200FB           86           LCALL CLEAR_DISP;
                      87            ;MOV DPTR,#TABLE1;
                      88           ;LCALL DISP
006D                  89     MAIN:
006D 11DA             90       CALL KEY_CHECK;
006F E54A             91       MOV A,KEY;
0071 60FA             92       JZ MAIN
0073 30E00E           93        JNB KEY1,UART51_INT_NEXT1; KEY1
0076 1200FB           94           LCALL CLEAR_DISP;
0079 9001C6           95            MOV DPTR,#TABLE1;
007C 120104           96           LCALL DISP
007F 754A00           97           MOV KEY,#00H;
0082 80E9             98         JMP MAIN;
                      99     
0084                 100        UART51_INT_NEXT1:
0084 30E10E          101             JNB KEY2,UART51_INT_NEXT2;
0087 1200FB          102           LCALL CLEAR_DISP;
008A 9001D4          103              MOV DPTR,#TABLE2;
008D 120104          104           LCALL DISP
0090 754A00          105           MOV KEY,#00H;
0093 80D8            106           JMP MAIN;
                     107     
0095                 108        UART51_INT_NEXT2:
0095 30E30E          109           JNB KEY3,UART51_INT_NEXT3;
0098 1200FB          110           LCALL CLEAR_DISP;
009B 9001E3          111              MOV DPTR,#TABLE3;
009E 120104          112           LCALL DISP
00A1 754A00          113           MOV KEY,#00H;
00A4 80C7            114           JMP MAIN;
                     115     
00A6                 116        UART51_INT_NEXT3:
00A6 30E20E          117           JNB KEY4,UART51_INT_NEXT4;
00A9 1200FB          118           LCALL CLEAR_DISP;
00AC 9001F3          119              MOV DPTR,#TABLE4;
00AF 120104          120           LCALL DISP
00B2 754A00          121           MOV KEY,#00H;
00B5 80B6            122           JMP MAIN;
                     123     
00B7                 124        UART51_INT_NEXT4:
A51 MACRO ASSEMBLER  MAIN                                                                 05/27/2009 03:08:13 PAGE     3

                     125     
00B7 80B4            126     JMP MAIN;
00B9                 127      UART51_INT_NEXT50:
00B9 80B2            128     JMP MAIN;
                     129     
00BB                 130     IO_INITIAL:
                     131       ;;;;;;;;; P0  HIGH RESISER  INPUT PORT  ;;;;
00BB 7593FF          132       MOV P0M0,#0FFH;
                     133      ; MOV P0M0,#00H;
00BE 759400          134       MOV P0M1,#00H;
                     135       ;;;;;;;;  P1.0 P1.1 HIGH RESISER INPUT,OTHERS PIN ARE STANDER IO PORT
00C1 759103          136       MOV P1M0,#00000011B;
                     137       ;MOV P1M0,#00000000B;
00C4 759200          138       MOV P1M1,#00000000B;
                     139     
                     140       ;;;;;;;;; P2  STANDAR  IO PORT  ;;;;
00C7 759500          141       MOV P2M0,#00H;
00CA 759600          142       MOV P2M1,#00H;
                     143     
                     144       ;;;;;;;;; P3  STANDAR  IO PORT  ;;;;
00CD 75B100          145       MOV P3M0,#00H;
00D0 75B200          146       MOV P3M1,#00H;
                     147      ; MOV P3M1,#11111000b;
                     148     
00D3 75C700          149       MOV CLK_DIV,#00H
00D6 758E00          150       MOV AUXR,#00H; T0,T1 1/12 clock mode; uart is standar  12T mode; disable a/d and spi inte
                             rrupt
                     151     
00D9 22              152     RET;
                     153     
                     154     
00DA                 155     KEY_CHECK:
00DA 754A00          156       MOV KEY,#00H;
00DD                 157      KEY_DOWN:
00DD E580            158       MOV A,P0;
00DF 60FC            159       JZ KEY_DOWN;
00E1 C292            160       CLR POUT3;
                     161     
00E3 F5F0            162       MOV B,A;
00E5 3125            163       CALL DELAY;
00E7 E580            164       MOV A,P0;
00E9 B5F00B          165       CJNE A,B,KEY_ERROR;
00EC 85804A          166       MOV KEY,P0;
00EF                 167      KEY_UP:
00EF E580            168       MOV A,P0;
00F1 70FC            169       JNZ KEY_UP;
00F3 D292            170       SETB POUT3; 
00F5 8003            171       JMP KEY_END;
00F7                 172      KEY_ERROR:
00F7 754A00          173       MOV KEY,#00H;
00FA                 174      KEY_END:
00FA 22              175     RET
                     176     
00FB                 177     CLEAR_DISP:
00FB 7D01            178         MOV R5,#01H;;
00FD 120146          179         LCALL lcd_wcmd;
0100 120125          180         LCALL DELAY;
0103 22              181      RET;
0104                 182     DISP:
0104 7D91            183        MOV R5,#91H
0106 120146          184        LCALL lcd_wcmd
0109 120125          185        LCALL DELAY
010C 3112            186        CALL WRITE
010E 120125          187        LCALL DELAY; 
0111 22              188     RET
                     189     
A51 MACRO ASSEMBLER  MAIN                                                                 05/27/2009 03:08:13 PAGE     4

0112                 190     WRITE:
0112 7400            191       MOV A,#00H;
0114 93              192       MOVC A,@A+DPTR;
0115 B40002          193       CJNE A,#00H,WRITE_NEXT1;
0118 800A            194       JMP WRITE_END;
011A                 195     WRITE_NEXT1:
011A FC              196       MOV R4,A;
011B 12012E          197       LCALL lcd_wdat;
011E 120125          198       LCALL DELAY;
0121 A3              199       INC DPTR;
0122 80EE            200       JMP WRITE;
0124                 201     WRITE_END:
0124 22              202     RET
                     203     
0125                 204     DELAY:
0125 7F06            205        MOV R7,#06H
0127                 206      DELAY1:
0127 7EFF            207          MOV R6,#0FFH
0129 DEFE            208           DJNZ R6,$
012B DFFA            209        DJNZ R7,DELAY1
012D 22              210     RET
                     211     ;;;;;;;;;;;;;R4   ; data
012E                 212     lcd_wdat:
012E 12015F          213     LCALL lcd_bz;
0131 D297            214     SETB RS;
0133 C296            215     CLR RW;
0135 C295            216     CLR EP;
0137 00              217     NOP;
0138 00              218     NOP;
0139 8CA0            219     MOV P2,R4;
013B 00              220     NOP;
013C 00              221     NOP;
013D 00              222     NOP;
013E D295            223     SETB EP;
0140 00              224     NOP;
0141 00              225     NOP;
0142 00              226     NOP;
0143 C295            227     CLR EP;

⌨️ 快捷键说明

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