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

📄 time.lst

📁 01单片机网站51单片机开发板全部配套程序
💻 LST
字号:
A51 MACRO ASSEMBLER  TIME                                                                   10/05/03 14:41:20 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;程序名:  MCS51实验板配套程序-时钟,使用T0中断方式
                       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/19编写
                       5     ;********************************************************************
  0094                 6     XSDAT BIT P1.4    ;定义部分,意思是:程序中管脚名用前面字符替代
  0095                 7     XSCLK BIT P1.5
  0090                 8     GW    BIT P1.0
  0091                 9     SW    BIT P1.1
  0092                10     BW    BIT P1.2
  0093                11     QW    BIT P1.3
                      12     
  0000                13     bz    bit 00h        ;秒闪动标志
                      14     
  0030                15     SJGW  EQU 30H        ;秒存储器
  0031                16     SJSW  EQU 31H
  0032                17     SJBW  EQU 32H        ;分存储器
  0033                18     SJQW  EQU 33H
  0021                19     TIME  EQU 21H         ;定时器
  0022                20     SEC   EQU 22H         ;秒计数器
  0023                21     MIN   EQU 23H         ;分钟计数器
                      22     ;--中断入口-----------------------
0000                  23               ORG 0000H
0000 010D             24               AJMP INIT              ;到初始
000B                  25               ORG 000BH
000B 0147             26               AJMP TIME0             ;50MS中断  
                      27     ;***初始化********************************************************
000D 758140           28     INIT:     MOV SP,#40H
0010 75900F           29               MOV P1,#0FH            ;关闭显示
0013 7580FF           30               MOV P0,#0ffH           ;发光管灭
0016 752200           31               MOV SEC,#0
0019 752300           32               MOV MIN,#0             ;清时间为0
001C 758901           33               MOV TMOD,#1H           ;初始化T0为定时器方式,模式1
001F 758AB0           34               MOV TL0,#0B0H
0022 758C3C           35               MOV TH0,#3CH           ;50MS定时初值(12M时)
0025 D2A9             36               SETB ET0               ;允许T0中断
0027 D28C             37               SETB TR0               ;启动定时器T0
0029 D2AF             38               SETB EA
002B                  39     MAIN :    
002B E522             40               MOV A,SEC              ;提取秒数据
002D 75F00A           41               MOV B,#10
0030 84               42               DIV AB                 ;10进制转换
0031 F531             43               MOV SJSW,A             ;得到十秒值
0033 85F030           44               MOV SJGW,B             ;得到秒值
0036 E523             45               MOV A,MIN              
0038 75F00A           46               MOV B,#10
003B 84               47               DIV AB                 ;转换分
003C F533             48               MOV SJQW,A             ;得到十分值
003E 85F032           49               MOV SJBW,B             ;得到分值
                      50          
0041 120074           51               LCALL DISPLAY          ;显示
0044 02002B           52               LJMP MAIN
                      53     ;T0 50MS中断==对应12MHZ=====================================
0047 C0E0             54     TIME0:   PUSH ACC
0049 0521             55              INC TIME
004B E521             56              MOV A,TIME
004D B4141B           57              CJNE A,#20,T0EXIT   ;20个50MS=1S
0050 B200             58                cpl bz            ;反转闪动标志
A51 MACRO ASSEMBLER  TIME                                                                   10/05/03 14:41:20 PAGE     2

0052 752100           59              MOV TIME,#0
0055 0522             60              INC SEC             ;+10秒
0057 E522             61              MOV A,SEC
0059 B43C0F           62              CJNE A,#60,T0EXIT   ;60S=1MIN
005C 752200           63              MOV SEC,#0
005F 0523             64              INC MIN             ;分+1
0061 E523             65              MOV A,MIN
0063 B43C05           66              CJNE A,#60,T0EXIT
0066 752300           67              MOV MIN,#0
0069 1580             68                dec p0            ;hex小时记录
                      69     
006B 758AB0           70     T0EXIT:  MOV TL0,#0B0H
006E 758C3C           71              MOV TH0,#3CH        ;重装50MS定时
0071 D0E0             72              POP ACC
0073 32               73              RETI
                      74     ;************************************************************************
                      75     ;74164显示程序,使用RS1=1,RS0=0的1区 2003/4/19
                      76     ;---------------------------------------------------------
0074 C0E0             77     DISPLAY:  PUSH ACC             ;保存ACC
0076 C0D0             78               PUSH PSW
0078 C2D4             79               CLR RS1
007A D2D3             80               SETB RS0             ;使用第一区工作寄存器 
007C 9000D2           81               MOV DPTR,#XSTAB    
007F E530             82               MOV A,SJGW           ;取得数据
0081 93               83               MOVC A,@A+DPTR       ;提取字模
0082 11BD             84               ACALL DSOUT          ;调用送出子程序
0084 C290             85              CLR GW
0086 11C9             86               ACALL DS1MS          ;调用显示1MS延时程序
0088 D290             87              SETB GW
008A E531             88               MOV A,SJSW
008C 93               89               MOVC A,@A+DPTR        ;提取字模
008D 11BD             90               ACALL DSOUT          ;送出
008F C291             91              CLR SW
0091 11C9             92               ACALL DS1MS          ;显示1MS  
0093 D291             93              SETB SW        
0095 E532             94               MOV A,SJBW
0097 93               95               MOVC A,@A+DPTR        ;提取字模
0098 11BD             96               ACALL DSOUT          ;送出
009A C292             97              CLR BW
009C 11C9             98               ACALL DS1MS          ;显示1MS 
009E D292             99              SETB BW 
                     100              ;---------
00A0 20000A          101                      jb bz,bzover        ;若标志=1,不显示小数点
00A3 7480            102                      mov a,#80h          ;显示小数点
00A5 11BD            103                      acall dsout
00A7 C292            104                      clr bw
00A9 11C9            105                      acall ds1ms
00AB D292            106                      setb bw            
00AD                 107               bzover:
                     108              ;---------
00AD E533            109               MOV A,SJQW
00AF 93              110               MOVC A,@A+DPTR        ;提取字模
00B0 11BD            111               ACALL DSOUT          ;送出
00B2 C293            112              CLR QW
00B4 11C9            113               ACALL DS1MS          ;显示1MS
00B6 D293            114              SETB QW
00B8 D0D0            115               POP PSW
00BA D0E0            116               POP ACC              ;出栈
00BC 22              117               RET                  ;返回调用
                     118       ;---送出循环----------
00BD                 119     DSOUT:    
00BD 7808            120               MOV R0,#8            ;传送一个字节8位
00BF 33              121     DSLOOP:   RLC A                ;右移
00C0 9294            122               MOV XSDAT,C          ;送数据到数据口
00C2 D295            123               SETB XSCLK           ;送一时钟
00C4 C295            124               CLR XSCLK
A51 MACRO ASSEMBLER  TIME                                                                   10/05/03 14:41:20 PAGE     3

00C6 D8F7            125               DJNZ R0,DSLOOP
00C8 22              126               RET         
                     127        ;---显示延时---------- 
00C9 790A            128     DS1MS:    MOV R1,#10
00CB 7A64            129     DS1LO:    MOV R2,#100
00CD DAFE            130               DJNZ R2,$
00CF D9FA            131               DJNZ R1,DS1LO
00D1 22              132               RET                  ;延时返回
                     133     ;---------------------------------------------------------
                     134     ;显示字表(共阴)
00D2                 135     XSTAB:    DB  3FH,06H,5BH,4FH    ;"0","1","2","3"
00D6                 136               DB  66H,6DH,7DH,07H    ;"4","5","6","7"
00DA                 137               DB  7FH,6FH,77H,7CH    ;"8","9","A","B" 
00DE                 138               DB  39H,5EH,79H,71H    ;"C","D","E","F"
                     139     ;************************************************************************
                     140     END 
A51 MACRO ASSEMBLER  TIME                                                                   10/05/03 14:41:20 PAGE     4

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


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

ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
BW . . . . . . . .  B ADDR   0090H.2 A   
BZ . . . . . . . .  B ADDR   0020H.0 A   
BZOVER . . . . . .  C ADDR   00ADH   A   
DISPLAY. . . . . .  C ADDR   0074H   A   
DS1LO. . . . . . .  C ADDR   00CBH   A   
DS1MS. . . . . . .  C ADDR   00C9H   A   
DSLOOP . . . . . .  C ADDR   00BFH   A   
DSOUT. . . . . . .  C ADDR   00BDH   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
GW . . . . . . . .  B ADDR   0090H.0 A   
INIT . . . . . . .  C ADDR   000DH   A   
MAIN . . . . . . .  C ADDR   002BH   A   
MIN. . . . . . . .  N NUMB   0023H   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   
SEC. . . . . . . .  N NUMB   0022H   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   
T0EXIT . . . . . .  C ADDR   006BH   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TIME . . . . . . .  N NUMB   0021H   A   
TIME0. . . . . . .  C ADDR   0047H   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
XSCLK. . . . . . .  B ADDR   0090H.5 A   
XSDAT. . . . . . .  B ADDR   0090H.4 A   
XSTAB. . . . . . .  C ADDR   00D2H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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