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

📄 s19-1.lst

📁 简单的仪表控制程序,有源代码,有详细的注示,很合初学者学习
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  S19_1                                                                02/29/2004 11:03:45 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN .\S19-1.OBJ
ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\A51.EXE .\S19-1.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;********89C51引脚定义********
  00B3                 2             RS BIT P3.3
  00B4                 3             R_W BIT P3.4
  00B5                 4             E BIT P3.5
  0090                 5             DB0_DB7 EQU P1
                       6     ;------计数器A缓存单元定义--------
  0040                 7             A4 EQU 40H
  0041                 8             A3 EQU 41H
  0042                 9             A2 EQU 42H
  0043                10             A1 EQU 43H
  0044                11             A0 EQU 44H
                      12     ;-----计数器B缓存单元定义------
  0045                13             B4 EQU 45H
  0046                14             B3 EQU 46H
  0047                15             B2 EQU 47H
  0048                16             B1 EQU 48H
  0049                17             B0 EQU 49H
                      18     ;-----计数器C缓存单元定义------
  004A                19             C4 EQU 4AH
  004B                20             C3 EQU 4BH
  004C                21             C2 EQU 4CH
  004D                22             C1 EQU 4DH
  004E                23             C0 EQU 4EH
                      24     ;-----计数器D缓存单元定义-----
  004F                25             D4 EQU 4FH
  0050                26             D3 EQU 50H
  0051                27             D2 EQU 51H
  0052                28             D1 EQU 52H
  0053                29             D0 EQU 53H
                      30     ;------LCD显示缓存指针------
  0054                31             LCD_POINT EQU 54H
                      32     ;*******程序开始********
0000                  33             ORG 0000H
0000 020030           34             LJMP MAIN
000B                  35             ORG 000BH
000B 0200D6           36             LJMP TIMER0
                      37     ;*******主程序*******
0030                  38             ORG 0030H
0030 758901           39     MAIN:   MOV TMOD,#01H
0033 758A00           40             MOV TL0,#00H
0036 758C00           41             MOV TH0,#00H
0039 D2AF             42             SETB EA
003B D2A9             43             SETB ET0
003D D28C             44             SETB TR0
003F 758160           45             MOV SP,#60H
0042 120221           46             LCALL INITIAL
0045 1200CC           47             LCALL CLN
                      48     ;*****显示A:*************
0048 7480             49     AGAIN:  MOV A,#10000000B
004A 120248           50             LCALL WRITE_COM
004D 7441             51             MOV A,#41H
004F 120258           52             LCALL WRITE_DATA
0052 7481             53             MOV A,#10000001B
0054 120248           54             LCALL WRITE_COM
0057 743A             55             MOV A,#3AH
0059 120258           56             LCALL WRITE_DATA
                      57     ;--------- 显示B:--------------------
005C 7489             58             MOV A,#10001001B
A51 MACRO ASSEMBLER  S19_1                                                                02/29/2004 11:03:45 PAGE     2

005E 120248           59             LCALL WRITE_COM
0061 7442             60             MOV A,#42H
0063 120258           61             LCALL WRITE_DATA
0066 748A             62             MOV A,#10001010B
0068 120248           63             LCALL WRITE_COM
006B 743A             64             MOV A,#3AH
006D 120258           65             LCALL WRITE_DATA
                      66     ;---------- 显示C:-------------------
0070 74C0             67             MOV A,#11000000B
0072 120248           68             LCALL WRITE_COM
0075 7443             69             MOV A,#43H
0077 120258           70             LCALL WRITE_DATA
007A 74C1             71             MOV A,#11000001B
007C 120248           72             LCALL WRITE_COM
007F 743A             73             MOV A,#3AH
0081 120258           74             LCALL WRITE_DATA
                      75     ;---------- 显示D:---------------------
0084 74C9             76             MOV A,#11001001B
0086 120248           77             LCALL WRITE_COM
0089 7444             78             MOV A,#44H
008B 120258           79             LCALL WRITE_DATA
008E 74CA             80             MOV A,#11001010B
0090 120248           81             LCALL WRITE_COM
0093 743A             82             MOV A,#3AH
0095 120258           83             LCALL WRITE_DATA
                      84     ;*******计数程序启动********
0098 755482           85     START:  MOV LCD_POINT,#10000010B
009B 7840             86             MOV R0,#A4
009D 1200BB           87             LCALL DISP
00A0 75548B           88             MOV LCD_POINT,#10001011B
00A3 7845             89             MOV R0,#B4
00A5 1200BB           90             LCALL DISP
00A8 7554C2           91             MOV LCD_POINT,#11000010B
00AB 784A             92             MOV R0,#C4
00AD 1200BB           93             LCALL DISP
00B0 7554CB           94             MOV LCD_POINT,#11001011B
00B3 784F             95             MOV R0,#D4
00B5 1200BB           96             LCALL DISP
00B8 020098           97             LJMP START
                      98     ;*******显示计数值********
00BB 7A05             99     DISP:   MOV R2,#05H
00BD E554            100             MOV A,LCD_POINT
00BF 120248          101             LCALL WRITE_COM
00C2 E6              102     LL0:    MOV A,@R0
00C3 2430            103             ADD A,#30H
00C5 120258          104             LCALL WRITE_DATA
00C8 08              105             INC R0
00C9 DAF7            106             DJNZ R2,LL0
00CB 22              107             RET
                     108     ;******清除计数缓存(40H~53H)单元*******
00CC 7914            109      CLN:   MOV R1,#20
00CE 7840            110             MOV R0,#40H
00D0 E4              111             CLR A
00D1 F6              112     THERE:  MOV @R0,A
00D2 08              113             INC R0
00D3 D9FC            114             DJNZ R1,THERE
00D5 22              115             RET
                     116     ;*******定时器T0中断服务子程序********
00D6 758A00          117     TIMER0: MOV TL0,#00H
00D9 758C00          118             MOV TH0,#00H
00DC C2B7            119             CLR P3.7
00DE D2B6            120             SETB P3.6
00E0 20B009          121             JB P3.0,NEXT1
00E3 12026E          122             LCALL DEL
00E6 20B003          123             JB P3.0,NEXT1
00E9 120158          124             LCALL CONV_B
A51 MACRO ASSEMBLER  S19_1                                                                02/29/2004 11:03:45 PAGE     3

00EC 20B109          125     NEXT1:  JB P3.1,NEXT2
00EF 12026E          126             LCALL DEL
00F2 20B103          127             JB P3.1, NEXT2
00F5 1201DE          128             LCALL CONV_D
                     129     ;---------------------------------
00F8 C2B6            130     NEXT2:  CLR P3.6
00FA D2B7            131             SETB P3.7
00FC 20B009          132             JB P3.0,NEXT3
00FF 12026E          133             LCALL DEL
0102 20B003          134             JB P3.0,NEXT3
0105 120115          135             LCALL CONV_A
0108 20B109          136     NEXT3:   JB P3.1,NEXT4
010B 12026E          137             LCALL DEL
010E 20B103          138             JB P3.1, NEXT4
0111 12019B          139             LCALL CONV_C
0114 32              140     NEXT4:  RETI
                     141     ;*******计数器A进行计算********
0115 C0E0            142     CONV_A: PUSH ACC
0117 C0D0            143             PUSH PSW
0119 0544            144             INC A0
011B E544            145             MOV A,A0
011D B40A33          146             CJNE A,#0AH,DONE_A
0120 754400          147             MOV A0,#00H
0123 E543            148             MOV A,A1
0125 2401            149             ADD A,#01H
0127 F543            150             MOV A1,A
0129 B40A27          151             CJNE A,#0AH,DONE_A
012C 754300          152             MOV A1,#00H
012F E542            153             MOV A,A2
0131 2401            154             ADD A,#01H
0133 F542            155             MOV A2,A
0135 B40A1B          156             CJNE A,#0AH,DONE_A
0138 754200          157             MOV A2,#00H
013B E541            158             MOV A,A3
013D 2401            159             ADD A,#01H
013F F541            160             MOV A3,A
0141 B40A0F          161             CJNE A,#0AH,DONE_A
0144 754100          162             MOV A3,#00H
0147 E540            163             MOV A,A4
0149 2401            164             ADD A,#01H
014B F540            165             MOV A4,A
014D B40A03          166             CJNE A,#0AH,DONE_A
0150 754000          167             MOV A4,#00H
0153 D0D0            168     DONE_A: POP PSW
0155 D0E0            169             POP ACC
0157 22              170             RET
                     171     ;*******计数器B进行计算********
0158 C0E0            172     CONV_B: PUSH ACC
015A C0D0            173             PUSH PSW
015C 0549            174             INC B0
015E E549            175             MOV A,B0
0160 B40A33          176             CJNE A,#0AH,DONE_B
0163 754900          177             MOV B0,#00H
0166 E548            178             MOV A,B1
0168 2401            179             ADD A,#01H
016A F548            180             MOV B1,A
016C B40A27          181             CJNE A,#0AH,DONE_B
016F 754800          182             MOV B1,#00H
0172 E547            183             MOV A,B2
0174 2401            184             ADD A,#01H
0176 F547            185             MOV B2,A
0178 B40A1B          186             CJNE A,#0AH,DONE_B
017B 754700          187             MOV B2,#00H
017E E546            188             MOV A,B3
0180 2401            189             ADD A,#01H
0182 F546            190             MOV B3,A
A51 MACRO ASSEMBLER  S19_1                                                                02/29/2004 11:03:45 PAGE     4

⌨️ 快捷键说明

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