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

📄 ds1302dis.lst

📁 自己学习单片机期间 自己遍的一个 LCD 显示模块 可以调整时间并且哟闹铃功能
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  DS1302DIS                                                            12/15/2006 20:39:54 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN DS1302DIS.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE DS1302DIS.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;                    SMC1602接口程序(MCS51模拟口线方式)
                       2     ;***************************************************************************
                       3     ;*  Title : Accessing to LCD-CONTROLLER                                    *
                       4     ;*  Date :  2000.4.27                                                      *
                       5     ;*  Support telephone:  0731-4167806,4167808(CHANGSHA SUNMAN)              *
                       6     ;*  Support fax :0731-4167807  Support E-mail:www@sunman.cn                *
                       7     ;*  Create by :褚建军(chujianjun),朱长春(zhuchangchun)                     *
                       8     ;*  DESCRIPTION:This subroutine shows how to write data to LCD-CONTROLLER  *
                       9     ;***************************************************************************
                      10     ;连线图: *LCM---8031* *LCM---8031* *LCM------------8031*
                      11     ;        *DB0---P1.0* *DB4---P1.4* *RS-------------P3.5*
                      12     ;        *DB1---P1.1* *DB5---P1.5* *RW-------------P3.4*
                      13     ;        *DB2---P1.2* *DB6---P1.6* *E--------------P3.6*  (参见说明书)
                      14     ;        *DB3---P1.3* *DB7---P1.7* *VLCD接10K可调电阻到GND*
                      15     ;注:8031的晶振频率为12MHz
                      16     ;**************************************************************************
  00B5                17           RS   EQU P3.5
  00B4                18               RW   EQU P3.4
  00B6                19               E    EQU P3.6
  0020                20               XPOS EQU 20H          ;行方向
  0021                21               YPOS EQU 21H          ;列方向
  00A1                22               LED3CLK BIT P2.1
  00A2                23           LED4IO  BIT P2.2
  00A3                24           RST     BIT P2.3
  0060                25           SECOND  EQU 60H
0000                  26               ORG  00H
0000 020030           27               LJMP START
0030                  28               ORG  30H
0030                  29     START: 
0030 758130           30           MOV  SP,#30H
0033 C2B6             31           CLR  E
0035 900248           32           MOV  DPTR,#TAB       
0038 7D00             33     MN_LP2:MOV  R5,#0
003A 752100           34           MOV   YPOS,#0
003D 752000           35           MOV   XPOS,#0
0040 12011B           36           LCALL LCDRESET
                      37               ;LCALL SET1302
0043 ED               38     MN_LP:MOV   A,R5
0044 93               39           MOVC  A,@A+DPTR
0045 1200E4           40           LCALL LCDFILL
0048 0D               41           INC   R5
0049 BD20F7           42           CJNE  R5,#32,MN_LP
004C 120185           43     MAIN: LCALL R_1302
004F 120054           44           LCALL EXCHANG
0052 014C             45               AJMP  MAIN
                      46               
0054                  47     EXCHANG:
0054 E560             48          MOV  A,60H
0056 75F010           49          MOV  B,#10H
0059 84               50          DIV  AB
005A F571             51          MOV  71H,A
005C 85F070           52          MOV  70H,B
005F E561             53          MOV  A,61H
0061 75F010           54          MOV  B,#10H
0064 84               55          DIV  AB
0065 F573             56          MOV  73H,A
0067 85F072           57          MOV  72H,B
006A E562             58          MOV  A,62H
A51 MACRO ASSEMBLER  DS1302DIS                                                            12/15/2006 20:39:54 PAGE     2

006C 75F010           59          MOV  B,#10H
006F 84               60          DIV  AB
0070 F575             61          MOV  75H,A
0072 85F074           62          MOV  74H,B 
0075 12007C           63          LCALL ADD_ASCII
0078 1200A1           64              LCALL  DISBUF
007B 22               65          RET
007C                  66     ADD_ASCII:
007C E570             67          MOV  A,70H
007E 2430             68          ADD  A,#48
0080 F570             69          MOV  70H,A
0082 E571             70          MOV  A,71H
0084 2430             71          ADD  A,#48
0086 F571             72          MOV  71H,A
0088 E572             73          MOV  A,72H
008A 2430             74          ADD  A,#48
008C F572             75          MOV  72H,A
008E E573             76          MOV  A,73H
0090 2430             77          ADD  A,#48
0092 F573             78          MOV  73H,A
0094 E574             79          MOV  A,74H
0096 2430             80          ADD  A,#48
0098 F574             81          MOV  74H,A
009A E575             82          MOV  A,75H
009C 2430             83          ADD  A,#48
009E F575             84          MOV  75H,A
00A0 22               85          RET
00A1                  86     DISBUF:
00A1 75200B           87          MOV   XPOS,#11
00A4 752101           88          MOV   YPOS,#1
00A7 E570             89          MOV   A,70H
00A9 1200F6           90          LCALL LCDWRITE
00AC 75200A           91          MOV   XPOS,#10
00AF 752101           92          MOV   YPOS,#1
00B2 E571             93          MOV   A,71H
00B4 1200F6           94          LCALL LCDWRITE
00B7 752008           95          MOV   XPOS,#8
00BA 752101           96          MOV   YPOS,#1
00BD E572             97          MOV   A,72H
00BF 1200F6           98          LCALL LCDWRITE
00C2 752007           99          MOV   XPOS,#7
00C5 752101          100          MOV   YPOS,#1
00C8 E573            101          MOV   A,73H
00CA 1200F6          102          LCALL LCDWRITE
00CD 752005          103          MOV   XPOS,#5
00D0 752101          104          MOV   YPOS,#1
00D3 E574            105          MOV   A,74H
00D5 1200F6          106          LCALL LCDWRITE
00D8 752004          107          MOV   XPOS,#4
00DB 752101          108          MOV   YPOS,#1
00DE E575            109          MOV   A,75H
00E0 1200F6          110          LCALL LCDWRITE
00E3 22              111          RET
                     112     ;-------------------------------LCD 写满屏幕地址和字符数据指令-----------------------------
                             ---
00E4                 113     LCDFILL:
00E4 1200F6          114           LCALL LCDWRITE
00E7 0520            115           INC   XPOS
00E9 E520            116           MOV   A,XPOS
00EB B41007          117           CJNE  A,#16,RETURN
00EE 0521            118           INC   YPOS
00F0 E521            119           MOV   A,YPOS
00F2 B40200          120           CJNE  A,#2,RETURN
00F5 22              121     RETURN: RET
                     122     ;-----------------------------------LCD 写一个地址和字符数据指令---------------------------
                             --------
A51 MACRO ASSEMBLER  DS1302DIS                                                            12/15/2006 20:39:54 PAGE     3

00F6                 123     LCDWRITE:
00F6 1200FD          124           LCALL LCDPOS      ;lcd 写地址指令
00F9 120176          125           LCALL LCDWD       ;LCD 写字符指令
00FC 22              126               RET
                     127     ;------------------------------LCD 写地址指令----------------------------------------------
                             ----------
00FD C0E0            128     LCDPOS:PUSH ACC
00FF 53200F          129           ANL   XPOS,#0FH
0102 532101          130               ANL   YPOS,#01H
0105 E521            131               MOV   A,YPOS
0107 B40005          132               CJNE  A,#00,LPS_LAY
010A E520            133               MOV   A,XPOS
010C 020113          134               LJMP  LPS_LAX
010F E520            135     LPS_LAY:MOV A,XPOS
0111 2440            136           ADD   A,#40H
0113 4480            137     LPS_LAX:ORL A,#80H
0115 120153          138           LCALL LCDWC
0118 D0E0            139               POP   ACC
011A 22              140               RET
                     141                                                
                     142     ;------------------------------------LCD RESET---------------------------------------------
                             -----------------------           
011B                 143     LCDRESET:
011B 120230          144           LCALL DELAY5MS
011E 120230          145               LCALL DELAY5MS
0121 120230          146               LCALL DELAY5MS 
0124 7438            147           MOV   A,#38H
0126 120156          148               LCALL LCDWCN
0129 120230          149               LCALL DELAY5MS
012C 7438            150               MOV   A,#38H
012E 120156          151               LCALL LCDWCN
0131 120230          152               LCALL DELAY5MS
0134 7438            153               MOV   A,#38H
0136 120156          154               LCALL LCDWCN
0139 7438            155               MOV   A,#38H
013B 120153          156               LCALL LCDWC
013E 7408            157               MOV   A,#08H
0140 120153          158               LCALL LCDWC
0143 7401            159               MOV   A,#01H
0145 120153          160               LCALL LCDWC
0148 7406            161               MOV   A,#06H
014A 120153          162               LCALL LCDWC
014D 740C            163               MOV   A,#0CH
014F 120153          164               LCALL LCDWC
0152 22              165               RET
0153 120162          166     LCDWC:LCALL WAITIDLE
                     167     ;----------------------------------LCD write not check,写指令------------------------
0156 C2B5            168     LCDWCN:CLR  RS
0158 C2B4            169           CLR   RW
015A F590            170               MOV   P1,A
015C D2B6            171               SETB  E
015E 00              172               NOP
015F C2B6            173               CLR   E
0161 22              174           RET
                     175     ;--------------------------LCD busy check,wait till not busy(读状态,判断是否忙)-----------
                             ------------------------
0162                 176     WAITIDLE:
0162 C0E0            177           PUSH  ACC
0164 7590FF          178               MOV   P1,#0FFH
0167 C2B5            179               CLR   RS
0169 D2B4            180               SETB  RW
016B D2B6            181               SETB  E
016D 00              182     WTD_PA:NOP
016E 2097FC          183               JB    P1.7,WTD_PA
0171 C2B6            184               CLR   E
0173 D0E0            185               POP   ACC
A51 MACRO ASSEMBLER  DS1302DIS                                                            12/15/2006 20:39:54 PAGE     4

0175 22              186               RET
                     187     ;--------------------------LCD WRITE TATA(写数据)----------------------------------------
0176 120162          188     LCDWD:LCALL WAITIDLE
0179 F590            189           MOV   P1,A
017B C2B4            190           CLR   RW
017D D2B5            191               SETB  RS
017F D2B6            192               SETB  E

⌨️ 快捷键说明

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