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

📄 232.lst

📁 01单片机网站51单片机开发板全部配套程序
💻 LST
字号:
A51 MACRO ASSEMBLER  232                                                                    20/04/03 23:19:59 PAGE     1


DOS MACRO ASSEMBLER A51 X4.86
OBJECT MODULE PLACED IN 232.OBJ
ASSEMBLER INVOKED BY: C:\C51EVAL\BIN\A51.EXE 232.A51 DB EP

LOC  OBJ            LINE     SOURCE

                       1     ;程序名:  m51实验板配套程序-232通讯及显示
                       2     ;电路介绍:显示由一片74164驱动4位共阴数码管
                       3     ;          DsDat-p1.4;DsClk-p1.5;Gw-p1.0;Sw-p1.1;Bw-p1.2;Qw-p1.3
                       4     ;          通讯用中断方式
                       5     ;照顾到初学者,程序中的标号大多使用汉语拼音或简写,常用的标号使用英文!
                       6     ;www.01mcu.net www.01mcu.com 2003/4/20编写
                       7     ;*******************************************************************
                       8     ;定义
  0094                 9     xsdat bit p1.4    ;定义部分,意思是:程序中管脚名用前面字符替代
  0095                10     xsclk bit p1.5
  0090                11     gw    bit p1.0
  0091                12     sw    bit p1.1
  0092                13     bw    bit p1.2
  0093                14     qw    bit p1.3
  0030                15     sjgw  equ 30h     ;数据存储器
  0031                16     sjsw  equ 31h
  0032                17     sjbw  equ 32h
  0033                18     sjqw  equ 33h
  0020                19     temp  equ 20h
                      20     ;**********************************************************
                      21     
0000                  22     ORG 0000H
0000 020026           23         LJMP INIT
0023                  24     ORG 0023H
0023 020061           25         LJMP COMM      ;串口中断
                      26     ;初始化//串口收发均用查询方式
0026 7580FF           27     INIT:       mov p0,#0ffh
0029 759000           28                 MOV P1,#0
002C 758140           29                 MOV SP,#40H
002F 7400             30                 MOV A,#0             ;清内存
0031 7850             31                 MOV R0,#50h
0033 F6               32     INILO:      MOV @R0,A
0034 D8FD             33                 DJNZ R0,INILO   
0036 758920           34                 MOV TMOD,#20H      ;
0039 758DFD           35                 MOV TH1,#0FDH      ;FAH=9600BPS串口速度
003C 758BFD           36                 MOV TL1,#0FDH
003F 758700           37                 MOV PCON,#00H      ;不加速
0042 759850           38                 MOV SCON,#50H
0045 D28E             39                 SETB TR1
0047 D2AC             40                 setb es
0049 D2AF             41                 setb ea
004B 120077           42                 lcall display
                      43     ;****主程序***************************************************
004E E520             44     MAIN:       mov a,temp
0050 540F             45                 anl a,#0fh
0052 F530             46                 mov sjgw,a
0054 E520             47                 mov a,temp
0056 54F0             48                 anl a,#0f0h
0058 C4               49                 swap a
0059 F531             50                 mov sjsw,a
005B 120077           51                 lcall display
005E 02004E           52                 ljmp main
                      53     
                      54     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                      55     ;*****接收/发送 串口数据**用中断,返回************************
0061                  56     COMM: 
                      57     ;            JNB RI,$
0061 C2AF             58                 clr ea
A51 MACRO ASSEMBLER  232                                                                    20/04/03 23:19:59 PAGE     2

0063 C0E0             59                 push acc
0065 C298             60                 CLR RI
0067 E599             61                 MOV A,SBUF
0069 F520             62                 mov 20h,a      ;先保存
006B F599             63                 MOV SBUF,A     ;再转发
006D 3099FD           64                 JNB TI,$
0070 C299             65                 CLR TI
0072 D2AF             66                 setb ea
0074 D0E0             67                 pop acc
0076 32               68                 RETi
                      69     
                      70     ;************************************************************************
                      71     ;74164显示程序,使用RS1=1,RS0=0的1区
                      72     ;---------------------------------------------------------
0077 C0E0             73     display:  PUSH ACC             ;保存ACC
0079 C0D0             74               push psw
007B C2D4             75               clr rs1
007D D2D3             76               setb rs0             ;使用第一区工作寄存器 
007F 9000C8           77               mov dptr,#xstab    
0082 E530             78               mov a,sjgw           ;取得数据
0084 93               79               movc a,@a+dptr       ;提取字模
0085 11B3             80               acall dsout          ;调用送出子程序
0087 C290             81              clr gw
0089 11BF             82               acall ds1ms          ;调用显示1ms延时程序
008B D290             83              setb gw
008D E531             84               mov a,sjsw
008F 93               85               movc a,@a+dptr        ;提取字模
0090 11B3             86               acall dsout          ;送出
0092 C291             87              clr sw
0094 11BF             88               acall ds1ms          ;显示1ms  
0096 D291             89              setb sw        
0098 E532             90               mov a,sjbw
009A 93               91               movc a,@a+dptr        ;提取字模
009B 11B3             92               acall dsout          ;送出
009D C292             93              clr bw
009F 11BF             94               acall ds1ms          ;显示1ms 
00A1 D292             95              setb bw 
00A3 E533             96               mov a,sjqw
00A5 93               97               movc a,@a+dptr        ;提取字模
00A6 11B3             98               acall dsout          ;送出
00A8 C293             99              clr qw
00AA 11BF            100               acall ds1ms          ;显示1ms
00AC D293            101              setb qw
00AE D0D0            102               pop psw
00B0 D0E0            103               POP ACC              ;出栈
00B2 22              104               ret                  ;返回调用
                     105       ;---送出循环----------
00B3                 106     dsout:    
00B3 7808            107               MOV R0,#8            ;传送一个字节8位
00B5 33              108     dSLOOP:   RLC A                ;右移
00B6 9294            109               MOV xsdat,C          ;送数据到数据口
00B8 D295            110               SETB xsclk           ;送一时钟
00BA C295            111               CLR xsclk
00BC D8F7            112               DJNZ R0,dSLOOP
00BE 22              113               RET         
                     114        ;---显示延时---------- 
00BF 7905            115     ds1ms:    mov r1,#5
00C1 7A64            116     ds1lo:    mov r2,#100
00C3 DAFE            117               djnz r2,$
00C5 D9FA            118               djnz r1,ds1lo
00C7 22              119               ret                  ;延时返回
                     120     ;************************************************************************
                     121     ;显示字表(共阴)
00C8                 122     xstab:    DB  3FH,06H,5BH,4FH    ;"0","1","2","3"
00CC                 123               DB  66H,6DH,7DH,07H    ;"4","5","6","7"
00D0                 124               DB  7FH,6FH,77H,7cH    ;"8","9","A","B" 
A51 MACRO ASSEMBLER  232                                                                    20/04/03 23:19:59 PAGE     3

00D4                 125               DB  39H,5eh,79h,71h    ;"C","D","E","F"
                     126     
                     127     
                     128     END           
                             
A51 MACRO ASSEMBLER  232                                                                    20/04/03 23:19:59 PAGE     4

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


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

ACC. . . . . . . .  D ADDR   00E0H   A   
BW . . . . . . . .  B ADDR   0090H.2 A   
COMM . . . . . . .  C ADDR   0061H   A   
DISPLAY. . . . . .  C ADDR   0077H   A   
DS1LO. . . . . . .  C ADDR   00C1H   A   
DS1MS. . . . . . .  C ADDR   00BFH   A   
DSLOOP . . . . . .  C ADDR   00B5H   A   
DSOUT. . . . . . .  C ADDR   00B3H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ES . . . . . . . .  B ADDR   00A8H.4 A   
GW . . . . . . . .  B ADDR   0090H.0 A   
INILO. . . . . . .  C ADDR   0033H   A   
INIT . . . . . . .  C ADDR   0026H   A   
MAIN . . . . . . .  C ADDR   004EH   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
PCON . . . . . . .  D ADDR   0087H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
QW . . . . . . . .  B ADDR   0090H.3 A   
RI . . . . . . . .  B ADDR   0098H.0 A   
RS0. . . . . . . .  B ADDR   00D0H.3 A   
RS1. . . . . . . .  B ADDR   00D0H.4 A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
SJBW . . . . . . .  N NUMB   0032H   A   
SJGW . . . . . . .  N NUMB   0030H   A   
SJQW . . . . . . .  N NUMB   0033H   A   
SJSW . . . . . . .  N NUMB   0031H   A   
SP . . . . . . . .  D ADDR   0081H   A   
SW . . . . . . . .  B ADDR   0090H.1 A   
TEMP . . . . . . .  N NUMB   0020H   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
XSCLK. . . . . . .  B ADDR   0090H.5 A   
XSDAT. . . . . . .  B ADDR   0090H.4 A   
XSTAB. . . . . . .  C ADDR   00C8H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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