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

📄 051203059.lst

📁 基于51单片机的12864液晶显示源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  051203059                                                            12/16/2008 22:42:45 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN .\051203059.obj
ASSEMBLER INVOKED BY: F:\Hardware Develop\Develop Tools\Keil uVision v2.0\KEIL\C51\BIN\A51.EXE C:\Documents and Settings
                      \Administrator\桌面\051203059.ASM SET(SMALL) DEBUG PRINT(.\051203059.lst) OBJECT(.\051203059.obj) EP

LOC  OBJ            LINE     SOURCE

                       1     ;*********************************************************************
                       2     ; 以下程序用以演示一个计时程序,说明中文液晶显示器12864的串口驱动用法
                       3     ; 使用12864\12MHZ晶振\AT89c51
                       4     ;**********************************************************************
                       5     ;************定义***************
                       6     
  00A7                 7     CS           EQU        P2.7         ;液晶使能,=1操作,=0禁止.
  00A6                 8     SID          EQU        P2.6          ;液晶串行数据输入口
  00A5                 9     SCLK         EQU        P2.5         ;液晶串行操作时钟口
  00A4                10     PSB          EQU        P2.4         ;液晶串行操作
  00A2                11     RST          EQU    P2.2
                      12     
                      13     ;************程序入口***********
0000                  14                   ORG 0000H        ;程序执行开始地址
0000 020030           15                   LJMP      START  ;跳到标号START执行
0030                  16                   ORG 0030H        ;主程序入口
                      17     ;**********主程序****************
0030 C2A7             18     START:  CLR  CS                ;液晶操作禁止
0032 3156             19             ACALL DELAY
0034 C2A4             20                     CLR PSB
0036 D2A2             21                     SETB RST
0038 D2A7             22             SETB CS                ;液晶操作开启
003A 1200AB           23             LCALL SETUP            ;LCD初始化
003D 12004B           24     MAIN:   LCALL LOGON            ;开机显示画面
0040 7401             25             MOV A,#01H
0042 11DB             26                     ACALL WRITE_COM
0044 12007B           27                     LCALL LOGON1 
0047 315F             28                     ACALL DELAY5S
0049 013D             29             AJMP  MAIN            
                      30     
                      31     ;***************开机显示画面***********************
004B 7480             32     LOGON:  MOV  A,#80H            ;第一行左第一个字开始
004D 1200DB           33             LCALL WRITE_COM
0050 9001B6           34             MOV  DPTR,#CHINESE     ;WORD 16*16点阵TEST
0053 12017C           35             LCALL WRITE_HZ
0056 7490             36             MOV  A,#90H            ;第二行左第一个字开始
0058 1200DB           37             LCALL WRITE_COM
005B 9001C6           38             MOV  DPTR,#CHINESE1    ;WORD 16*16点阵TEST
005E 12017C           39             LCALL WRITE_HZ
0061 7488             40             MOV  A,#88H            ;第三行左第一个字开始
0063 1200DB           41             LCALL WRITE_COM
0066 9001D6           42             MOV  DPTR,#CHINESE2     ;WORD 16*16点阵TEST
0069 12017C           43             LCALL WRITE_HZ
006C 7498             44             MOV  A,#98H            ;第四行左第一个字开始
006E 1200DB           45             LCALL WRITE_COM
0071 9001E6           46             MOV  DPTR,#CHINESE3    ;WORD 16*16点阵TEST
0074 12017C           47             LCALL WRITE_HZ
0077 12015F           48             LCALL DELAY5S          ;显示5秒
007A 22               49             RET
                      50     ;***************开机显示画面***********************
007B 7480             51     LOGON1: MOV  A,#80H            ;第一行左第一个字开始
007D 1200DB           52             LCALL WRITE_COM
0080 9001F6           53             MOV  DPTR,#CHINESE4     ;WORD 16*16点阵TEST
0083 12017C           54             LCALL WRITE_HZ
0086 7490             55             MOV  A,#90H            ;第二行左第一个字开始
0088 1200DB           56             LCALL WRITE_COM
008B 900206           57             MOV  DPTR,#CHINESE5   ;WORD 16*16点阵TEST
A51 MACRO ASSEMBLER  051203059                                                            12/16/2008 22:42:45 PAGE     2

008E 12017C           58             LCALL WRITE_HZ
0091 7488             59             MOV  A,#88H            ;第三行左第一个字开始
0093 1200DB           60             LCALL WRITE_COM
0096 900216           61             MOV  DPTR,#CHINESE6     ;WORD 16*16点阵TEST
0099 12017C           62             LCALL WRITE_HZ
009C 7498             63             MOV  A,#98H            ;第四行左第一个字开始
009E 1200DB           64             LCALL WRITE_COM
00A1 900226           65             MOV  DPTR,#CHINESE7    ;WORD 16*16点阵TEST
00A4 12017C           66             LCALL WRITE_HZ
00A7 12015F           67             LCALL DELAY5S          ;显示5秒
00AA 22               68             RET
                      69     ;**********初始化程序*************
00AB                  70     SETUP:
00AB 7401             71             MOV  A,#01H             ;CLEAR DISPLAY
00AD 1200DB           72             LCALL WRITE_COM
00B0 7430             73             MOV  A,#00110000B       ;FUNCTION SETTING
00B2 1200DB           74             LCALL WRITE_COM
00B5 7402             75             MOV  A,#00000010B       ;DDRAM SET TO '00H'
00B7 1200DB           76             LCALL WRITE_COM
00BA 7404             77             MOV  A,#00000100B       ;
00BC 1200DB           78             LCALL WRITE_COM
00BF 740C             79             MOV  A,#00001100B       ;DISPLAY ON
00C1 1200DB           80             LCALL WRITE_COM
00C4 7401             81             MOV  A,#00000001B       ;CLEARING SCREEN
00C6 1200DB           82             LCALL WRITE_COM
00C9 7480             83             MOV  A,#10000000B       ;SET DDRAM ADDRESS
00CB 1200DB           84             LCALL WRITE_COM
00CE 120156           85             LCALL DELAY
00D1 120156           86             LCALL DELAY
00D4 120156           87             LCALL DELAY
00D7 120156           88             LCALL DELAY
00DA 22               89             RET
                      90     ;************串行命令写入子程序****************
                      91     ;写入命令字在A中
00DB                  92     WRITE_COM:
00DB 12014D           93                     LCALL DELAY1            ;
00DE D2A7             94                     SETB  CS
00E0 C0E0             95                     PUSH  ACC
00E2 7808             96                     MOV  R0,#8
00E4 74F8             97                     MOV  A,#11111000B
00E6                  98     COMM1:
00E6 C3               99                     CLR  C
00E7 33              100                     RLC  A
00E8 92A6            101                     MOV  SID,C
00EA C2A5            102                     CLR  SCLK
00EC D2A5            103                     SETB SCLK
00EE D8F6            104                     DJNZ R0,COMM1
00F0 D0E0            105                     POP  ACC
00F2 FD              106                     MOV  R5,A
00F3 54F0            107                     ANL  A,#0F0H
00F5 7808            108                     MOV  R0,#8
00F7 C3              109     COMM2:          CLR  C
00F8 33              110                     RLC  A
00F9 92A6            111                     MOV  SID,C
00FB C2A5            112                     CLR  SCLK
00FD D2A5            113                     SETB SCLK
00FF D8F6            114                     DJNZ R0,COMM2
0101 ED              115                     MOV  A,R5
0102 C4              116                     SWAP A
0103 54F0            117                     ANL  A,#0F0H
0105 7808            118                     MOV  R0,#8
0107 C3              119     COMM3:          CLR  C
0108 33              120                     RLC  A
0109 92A6            121                     MOV  SID,C
010B C2A5            122                     CLR  SCLK
010D D2A5            123                     SETB SCLK
A51 MACRO ASSEMBLER  051203059                                                            12/16/2008 22:42:45 PAGE     3

010F D8F6            124                     DJNZ R0,COMM3
0111 C2A7            125                     CLR  CS
0113 22              126                     RET
                     127     ;
                     128     ;***********串行数据写入子程序****************
                     129     ;写入数据字在A中
0114                 130     WRITE_DAT:
0114 12014D          131                     LCALL DELAY1
0117 D2A7            132                     SETB CS
0119 C0E0            133                     PUSH  ACC
011B 7808            134                     MOV  R0,#8
011D 74FA            135                     MOV  A,#11111010B
011F C3              136     DATA1:          CLR  C
0120 33              137                     RLC  A
0121 92A6            138                     MOV  SID,C
0123 C2A5            139                     CLR  SCLK
0125 D2A5            140                     SETB SCLK
0127 D8F6            141                     DJNZ R0,DATA1
0129 D0E0            142                     POP  ACC
012B FD              143                     MOV  R5,A
012C 54F0            144                     ANL  A,#0F0H
012E 7808            145                     MOV  R0,#8
0130 C3              146     DATA2:          CLR  C
0131 33              147                     RLC  A
0132 92A6            148                     MOV  SID,C
0134 C2A5            149                     CLR  SCLK
0136 D2A5            150                     SETB SCLK
0138 D8F6            151                     DJNZ R0,DATA2
013A ED              152                     MOV  A,R5
013B C4              153                     SWAP A
013C 54F0            154                     ANL  A,#0F0H
013E 7808            155                     MOV  R0,#8
0140 C3              156     DATA3:          CLR  C
0141 33              157                     RLC  A
0142 92A6            158                     MOV  SID,C
0144 C2A5            159                     CLR  SCLK
0146 D2A5            160                     SETB SCLK
0148 D8F6            161                     DJNZ R0,DATA3
014A C2A7            162                     CLR  CS
014C 22              163                     RET
                     164     ;

⌨️ 快捷键说明

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