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

📄 display.lst

📁 01单片机网站51单片机开发板全部配套程序
💻 LST
字号:
A51 MACRO ASSEMBLER  DISPLAY                                                                30/07/03 15:40:24 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;程序名:  MCS51实验板配套程序-显示部分
                       2     ;电路介绍:显示由一片74164驱动4位共阴数码管
                       3     ;          DsDat-p1.4;DsClk-p1.5;Gw-p1.0;Sw-p1.1;Bw-p1.2;Qw-p1.3
                       4     ;www.01mcu.net www.01mcu.com 2003/4/18编写
                       5     ;********************************************************************
  0094                 6     xsdat bit p1.4    ;定义驱动74164的数据脚为p1.4
  0095                 7     xsclk bit p1.5    ;74164的时钟
  0090                 8     gw    bit p1.0    ;个位显示控制脚
  0091                 9     sw    bit p1.1    ;十位
  0092                10     bw    bit p1.2    ;百位
  0093                11     qw    bit p1.3    ;千位
  0030                12     sjgw  equ 30h     ;显示数据存储器
  0031                13     sjsw  equ 31h
  0032                14     sjbw  equ 32h
  0033                15     sjqw  equ 33h
                      16     ;--------------------------------
0000 758140           17               mov sp,#40h
0003 75900F           18               mov p1,#0fh
0006 758055           19               mov p0,#55h
0009                  20     main :    ;显示1234这个数
0009 753004           21               mov sjgw,#4   ;个位显示4
000C 753103           22               mov sjsw,#3   ;十位显示3
000F 753202           23               mov sjbw,#2   ;百位显示2
0012 753301           24               mov sjqw,#1   ;千位显示1
                      25               
0015 12001B           26     abc:      lcall display  ;调用显示子程序
0018 020015           27               ljmp abc       ;循环显示
                      28     
                      29     ;************************************************************************
                      30     ;74164显示程序,使用RS1=1,RS0=0的1区
                      31     ;---------------------------------------------------------
001B C0E0             32     display:  PUSH ACC             ;保存ACC
001D C0D0             33               push psw
001F C2D4             34               clr rs1
0021 D2D3             35               setb rs0             ;使用第一区工作寄存器 
0023 90006C           36               mov dptr,#xstab    
0026 E530             37               mov a,sjgw           ;取得数据
0028 93               38               movc a,@a+dptr       ;提取字模
0029 1157             39               acall dsout          ;调用送出子程序
002B C290             40              clr gw
002D 1163             41               acall ds1ms          ;调用显示1ms延时程序
002F D290             42              setb gw
0031 E531             43               mov a,sjsw
0033 93               44               movc a,@a+dptr        ;提取字模
0034 1157             45               acall dsout          ;送出
0036 C291             46              clr sw
0038 1163             47               acall ds1ms          ;显示1ms  
003A D291             48              setb sw        
003C E532             49               mov a,sjbw
003E 93               50               movc a,@a+dptr        ;提取字模
003F 1157             51               acall dsout          ;送出
0041 C292             52              clr bw
0043 1163             53               acall ds1ms          ;显示1ms 
0045 D292             54              setb bw 
0047 E533             55               mov a,sjqw
0049 93               56               movc a,@a+dptr        ;提取字模
004A 1157             57               acall dsout          ;送出
004C C293             58              clr qw
A51 MACRO ASSEMBLER  DISPLAY                                                                30/07/03 15:40:24 PAGE     2

004E 1163             59               acall ds1ms          ;显示1ms
0050 D293             60              setb qw
0052 D0D0             61               pop psw
0054 D0E0             62               POP ACC              ;出栈
0056 22               63               ret                  ;返回调用
                      64       ;---送出循环----------
0057                  65     dsout:    
0057 7808             66               MOV R0,#8            ;传送一个字节8位
0059 33               67     dSLOOP:   RLC A                ;右移
005A 9294             68               MOV xsdat,C          ;送数据到数据口
005C D295             69               SETB xsclk           ;送一时钟
005E C295             70               CLR xsclk
0060 D8F7             71               DJNZ R0,dSLOOP
0062 22               72               RET         
                      73        ;---显示延时---------- 
0063 790A             74     ds1ms:    mov r1,#10
0065 7A64             75     ds1lo:    mov r2,#100
0067 DAFE             76               djnz r2,$
0069 D9FA             77               djnz r1,ds1lo
006B 22               78               ret                  ;延时返回
                      79     ;************************************************************************
                      80     ;显示字表(共阴)
006C                  81     xstab:    DB  3FH,06H,5BH,4FH    ;"0","1","2","3"
0070                  82               DB  66H,6DH,7DH,07H    ;"4","5","6","7"
0074                  83               DB  7FH,6FH,77H,7cH    ;"8","9","A","B" 
0078                  84               DB  39H,5eh,79h,71h    ;"C","D","E","F"
                      85     
                      86     end 
A51 MACRO ASSEMBLER  DISPLAY                                                                30/07/03 15:40:24 PAGE     3

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


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

ABC. . . . . . . .  C ADDR   0015H   A   
ACC. . . . . . . .  D ADDR   00E0H   A   
BW . . . . . . . .  B ADDR   0090H.2 A   
DISPLAY. . . . . .  C ADDR   001BH   A   
DS1LO. . . . . . .  C ADDR   0065H   A   
DS1MS. . . . . . .  C ADDR   0063H   A   
DSLOOP . . . . . .  C ADDR   0059H   A   
DSOUT. . . . . . .  C ADDR   0057H   A   
GW . . . . . . . .  B ADDR   0090H.0 A   
MAIN . . . . . . .  C ADDR   0009H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
QW . . . . . . . .  B ADDR   0090H.3 A   
RS0. . . . . . . .  B ADDR   00D0H.3 A   
RS1. . . . . . . .  B ADDR   00D0H.4 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   
XSCLK. . . . . . .  B ADDR   0090H.5 A   
XSDAT. . . . . . .  B ADDR   0090H.4 A   
XSTAB. . . . . . .  C ADDR   006CH   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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