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

📄 up-move.lst

📁 基于51的DS18B20_1Wire温度控制等C,ASM源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  UP_MOVE                                                              12/20/2006 20:58:41 PAGE     1


MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN UP-MOVE.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE UP-MOVE.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;********************************************************************
                       2     ;*                                                                  *
                       3     ;* ME500单片机开发系统演示程序 - 向上滚动显示伟纳电子               *
                       4     ;*                                                                  *
                       5     ;* 16×16LED点阵显示                                                 * 
                       6     ;*                                                                  *
                       7     ;* 版本: V1.0 (2006/11/20)                                         *
                       8     ;* 作者: gguoqing (Email: gguoqing@willar.com)                     *
                       9     ;* 网站: www.willar.com(伟纳电子)   www.mcusj.com(伟纳单片机世界)  *
                      10     ;* 时间: 2006/11/20                                                *
                      11     ;*                                                                  *
                      12     ;*【版权】Copyright(C)伟纳电子 www.willar.com  All Rights Reserved  *
                      13     ;*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!        *
                      14     ;*                                                                  *
                      15     ;********************************************************************
                      16     
  0080                17              SDATA_595   EQU  P0.0   ;串行数据输入
  00A7                18              SCLK_595    EQU  P2.7   ;移位时钟脉冲
  0082                19              RCK_595     EQU  P0.2   ;输出锁存器控制脉冲
                      20     
  00A4                21              G_74138    EQU  P2.4   ;显示允许控制信号端口
                      22              
0000                  23              ORG  0000H
0000 020030           24              LJMP  MAIN
000B                  25              ORG  000BH
000B 02008D           26              LJMP  INTT0
0030                  27              ORG  0030H
                      28     
                      29     ;****************************************************************
                      30     
0030                  31     MAIN:
0030 752000           32              MOV  20H,#00H
0033 74FF             33              MOV  A,#0FFH
0035 F590             34              MOV  P1,A
0037 F5A0             35              MOV  P2,A
0039 F5B0             36              MOV  P3,A
003B F580             37              MOV  P0,A
                      38     
003D C282             39              CLR  RCK_595
003F 758901           40              MOV  TMOD,#01H
0042 758CFC           41              MOV  TH0,#0FCH
0045 758A18           42              MOV  TL0,#18H
0048 75A882           43              MOV  IE,#82H
004B 758170           44              MOV  SP,#70H
004E                  45     MAIN1:
004E 12005E           46              LCALL  DIS1
0051 9000F5           47              MOV  DPTR,#TAB1
0054 120071           48              LCALL  MOVDISP
0057 0583             49              INC  DPH
0059 120071           50              LCALL  MOVDISP
005C 014E             51              AJMP  MAIN1
                      52     ;----------------------------------------------------------
                      53     ;单字显示子程序
                      54     ;----------------------------------------------------------
005E                  55     DIS1:
005E 7B5A             56              MOV  R3,#5AH       ;静止显示时间控制
0060                  57     DIS11:
0060 7A00             58              MOV  R2,#00H       ;一帧扫描初始值(行地址从00-0FH)
A51 MACRO ASSEMBLER  UP_MOVE                                                              12/20/2006 20:58:41 PAGE     2

0062 9000D5           59              MOV  DPTR,#TAB     ;取表首址
0065 7900             60              MOV  R1,#00H       ;查表偏址(显示第一个字)
0067 D28C             61              SETB  TR0          ;开扫描(每次一帧)
0069                  62     WAIT11:
0069 100102           63              JBC  01H,DIS111    ;为1,扫描一帧结束
006C 0169             64              AJMP  WAIT11
006E                  65     DIS111:
006E DBF0             66              DJNZ  R3,DIS11
0070 22               67              RET
                      68     ;---------------------------------------------------------
                      69     ;多字滚动显示子程序
                      70     ;每次8个字,入口时定义好DPTR值
                      71     ;---------------------------------------------------------
0071                  72     MOVDISP:
0071 75F000           73              MOV  B,#00H        ;向上移动显示,查表偏址暂存(从00开始)
0074                  74     DISLOOP:
0074 7B0A             75              MOV  R3,#0AH       ;移动速度
0076                  76     DISMOV:
0076 7A00             77              MOV  R2,#00H       ;第0行开始
0078 A9F0             78              MOV  R1,B
007A D28C             79              SETB  TR0          ;开扫描(每次一帧)
007C                  80     WAITMOV:
007C 100102           81              JBC  01H,DISMOV1   ;标志为1扫描一帧结束
007F 017C             82              AJMP  WAITMOV
0081                  83     DISMOV1:
0081 DBF3             84              DJNZ  R3,DISMOV    ;一帧重复显示(控制移动速度)
0083 05F0             85              INC  B             ;显示字的下一行(每行2字节)
0085 05F0             86              INC  B
0087 E9               87              MOV  A,R1          ;R1为0,8个字显示完。
0088 6002             88              JZ  MOVOUT
008A 0174             89              AJMP  DISLOOP
008C                  90     MOVOUT:
008C 22               91              RET                ;移动显示结束
                      92     ;---------------------------------------------------------
                      93     ;T0中断扫描子程序
                      94     ;---------------------------------------------------------
008D                  95     INTT0:
008D C0E0             96              PUSH  ACC
008F 758CFC           97              MOV  TH0,#0FCH
0092 758A18           98              MOV  TL0,#18H
0095 100028           99              JBC  00H,GOEND
0098 09              100              INC  R1               ;取行右边字节偏址
0099 E9              101              MOV  A,R1
009A 93              102              MOVC  A,@A+DPTR
009B 1200C7          103              LCALL  WR_595
                     104     
009E 19              105              DEC  R1               ;取行左边字节偏址
009F E9              106              MOV  A,R1
00A0 93              107              MOVC  A,@A+DPTR
00A1 1200C7          108              LCALL  WR_595
                     109     
00A4 D2A4            110              SETB  G_74138          ;关行显示,准备刷新
00A6 00              111              NOP
00A7 00              112              NOP
00A8 D282            113              SETB  RCK_595          ;产生上升沿,数据打入输出端
00AA 00              114              NOP
00AB 00              115              NOP
00AC C282            116              CLR  RCK_595           ;恢复低电平
                     117     
00AE EA              118              MOV  A,R2              ;修改显示行地址
00AF F5A0            119              MOV  P2,A              ;修改完毕
00B1 C2A4            120              CLR  G_74138           ;开行显示
00B3 0A              121              INC  R2                ;下一行扫描地址值
00B4 09              122              INC  R1
00B5 09              123              INC  R1                ;下一行数据地址
00B6 EA              124              MOV  A,R2
A51 MACRO ASSEMBLER  UP_MOVE                                                              12/20/2006 20:58:41 PAGE     3

00B7 540F            125              ANL  A,#0FH
00B9 7002            126              JNZ  GO2
00BB D200            127              SETB  00H              ;R2为10H,现为末行扫描,置标记
00BD                 128     GO2:
00BD D0E0            129              POP  ACC
00BF 32              130              RETI
00C0                 131     GOEND:
00C0 C28C            132              CLR  TR0              ;一帧扫描完,关扫描
00C2 D201            133              SETB  01H             ;一帧扫描完,置结束标记
00C4 D0E0            134              POP  ACC
00C6 32              135              RETI
                     136     
                     137     ;--------------------------------------------------------------
                     138     ;移位寄存器接收数据子程序
                     139     ;--------------------------------------------------------------
00C7                 140     WR_595:
00C7 7C08            141               MOV R4,#08H
00C9                 142     WR_LOOP:
00C9 33              143               RLC A
00CA 9280            144               MOV SDATA_595,C
00CC D2A7            145               SETB SCLK_595       ;上升沿发生移位
00CE 00              146               NOP
00CF 00              147               NOP
00D0 C2A7            148               CLR SCLK_595
00D2 DCF5            149               DJNZ R4,WR_LOOP
00D4 22              150               RET
                     151     ;-----------------------------------------------------------------
00D5                 152     TAB:
00D5 FFFFFFFF        153     DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
00D9 FFFFFFFF                
00DD FFFFFFFF                
00E1 FFFFFFFF                
00E5 FFFFFFFF        154     DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
00E9 FFFFFFFF                
00ED FFFFFFFF                
00F1 FFFFFFFF                
                     155     
00F5                 156     TAB1:
                     157     ;欢
00F5 FF7FFF7F        158     DB 0ffh,07fh,0ffh,07fh,03h,07fh,0fbh,03h,0bah,0fbh,0b9h,0b7h,0d7h,0bfh,0d7h,0bfh
00F9 037FFB03                
00FD BAFBB9B7                
0101 D7BFD7BF                
0105 EFBFD7BF        159     DB 0efh,0bfh,0d7h,0bfh,0dbh,05fh,0bbh,05fh,07eh,0efh,0feh,0f7h,0fdh,0f1h,0f3h,0fbh
0109 DB5FBB5F                
010D 7EEFFEF7                
0111 FDF1F3FB                
                     160     ;迎
0115 FFFFBE7B        161     DB 0ffh,0ffh,0beh,07bh,0d9h,081h,0ebh,0bbh,0fbh,0bbh,0fbh,0bbh,0bh,0bbh,0ebh,03bh
0119 D981EBBB                
011D FBBBFBBB                
0121 0BBBEB3B                
0125 EABBE9AB        162     DB 0eah,0bbh,0e9h,0abh,0ebh,0b7h,0efh,0bfh,0efh,0bfh,0d7h,0b9h,0b8h,03h,0ffh,0ffh
0129 EBB7EFBF                

⌨️ 快捷键说明

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