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

📄 12864串行.lst

📁 基于51单片机的12864液晶显示源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  12864確__                                                            12/17/2008 18:31:39 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN .\12864串行.obj
ASSEMBLER INVOKED BY: F:\Hardware Develop\Develop Tools\Keil uVision v2.0\KEIL\C51\BIN\A51.EXE C:\Documents and Settings
                      \Administrator\桌面\12864串行.ASM SET(SMALL) DEBUG PRINT(.\12864串行.lst) OBJECT(.\12864串行.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 3172             19             ACALL DELAY
0034 C2A4             20                     CLR PSB
0036 D2A2             21                     SETB RST
0038 D2A7             22             SETB CS                ;液晶操作开启
003A 1200B3           23             LCALL SETUP            ;LCD初始化
003D 120053           24     MAIN:   LCALL LOGON            ;开机显示画面
0040 12016A           25             LCALL DELAY1
0043 7401             26             MOV A,#01H
0045 11F8             27             ACALL WRITE_COM
0047 120083           28             LCALL LOGON1 
004A 1200E3           29             LCALL SHANGSHUO
004D 7401             30             MOV A,#01H
004F 11F8             31             ACALL WRITE_COM
0051 013D             32             AJMP  MAIN            
                      33     
                      34     ;***************开机显示画面***********************
0053 7480             35     LOGON:  MOV  A,#80H            ;第一行左第一个字开始
0055 1200F8           36             LCALL WRITE_COM
0058 9001D2           37             MOV  DPTR,#CHINESE     ;WORD 16*16点阵TEST
005B 120198           38             LCALL WRITE_HZ
005E 7490             39             MOV  A,#90H            ;第二行左第一个字开始
0060 1200F8           40             LCALL WRITE_COM
0063 9001E2           41             MOV  DPTR,#CHINESE1    ;WORD 16*16点阵TEST
0066 120198           42             LCALL WRITE_HZ
0069 7488             43             MOV  A,#88H            ;第三行左第一个字开始
006B 1200F8           44             LCALL WRITE_COM
006E 9001F2           45             MOV  DPTR,#CHINESE2     ;WORD 16*16点阵TEST
0071 120198           46             LCALL WRITE_HZ
0074 7498             47             MOV  A,#98H            ;第四行左第一个字开始
0076 1200F8           48             LCALL WRITE_COM
0079 900202           49             MOV  DPTR,#CHINESE3    ;WORD 16*16点阵TEST
007C 120198           50             LCALL WRITE_HZ
007F 12017B           51             LCALL DELAY5S          ;显示5秒
0082 22               52             RET
                      53     ;***************开机显示画面***********************
0083 7480             54     LOGON1: MOV  A,#80H            ;第一行左第一个字开始
0085 1200F8           55             LCALL WRITE_COM
0088 900212           56             MOV  DPTR,#CHINESE4     ;WORD 16*16点阵TEST
008B 120198           57             LCALL WRITE_HZ
A51 MACRO ASSEMBLER  12864確__                                                            12/17/2008 18:31:39 PAGE     2

008E 7490             58             MOV  A,#90H            ;第二行左第一个字开始
0090 1200F8           59             LCALL WRITE_COM
0093 900222           60             MOV  DPTR,#CHINESE5   ;WORD 16*16点阵TEST
0096 120198           61             LCALL WRITE_HZ
0099 7488             62             MOV  A,#88H            ;第三行左第一个字开始
009B 1200F8           63             LCALL WRITE_COM
009E 900232           64             MOV  DPTR,#CHINESE6     ;WORD 16*16点阵TEST
00A1 120198           65             LCALL WRITE_HZ
00A4 7498             66             MOV  A,#98H            ;第四行左第一个字开始
00A6 1200F8           67             LCALL WRITE_COM
00A9 900242           68             MOV  DPTR,#CHINESE7    ;WORD 16*16点阵TEST
00AC 120198           69             LCALL WRITE_HZ
00AF 12017B           70             LCALL DELAY5S          ;显示5秒
00B2 22               71             RET
                      72     ;**********初始化程序*************
00B3                  73     SETUP:
00B3 7401             74             MOV  A,#01H             ;CLEAR DISPLAY
00B5 1200F8           75             LCALL WRITE_COM
00B8 7430             76             MOV  A,#00110000B       ;FUNCTION SETTING
00BA 1200F8           77             LCALL WRITE_COM
00BD 7402             78             MOV  A,#00000010B       ;DDRAM SET TO '00H'
00BF 1200F8           79             LCALL WRITE_COM
00C2 7404             80             MOV  A,#00000100B       ;
00C4 1200F8           81             LCALL WRITE_COM
00C7 740C             82             MOV  A,#00001100B       ;DISPLAY ON
00C9 1200F8           83             LCALL WRITE_COM
00CC 7401             84             MOV  A,#00000001B       ;CLEARING SCREEN
00CE 1200F8           85             LCALL WRITE_COM
00D1 7480             86             MOV  A,#10000000B       ;SET DDRAM ADDRESS
00D3 1200F8           87             LCALL WRITE_COM
00D6 120172           88             LCALL DELAY
00D9 120172           89             LCALL DELAY
00DC 120172           90             LCALL DELAY
00DF 120172           91             LCALL DELAY
00E2 22               92             RET
                      93     ;************闪烁子程序***********************
00E3                  94     SHANGSHUO:
00E3 7B03             95             MOV R3,#3
00E5 7408             96     S1:     MOV A,#08H      ;关显示
00E7 1200F8           97             LCALL WRITE_COM
00EA 12016A           98             LCALL DELAY1
00ED 740C             99             MOV A,#0CH
00EF 1200F8          100             LCALL WRITE_COM   ;开显示
00F2 12016A          101             LCALL DELAY1
00F5 DBEE            102             DJNZ R3,S1      ;循环闪烁
00F7 22              103             RET 
                     104     ;************串行命令写入子程序****************
                     105     ;写入命令字在A中
00F8                 106     WRITE_COM:
00F8 12016A          107                     LCALL DELAY1            ;
00FB D2A7            108                     SETB  CS
00FD C0E0            109                     PUSH  ACC
00FF 7808            110                     MOV  R0,#8
0101 74F8            111                     MOV  A,#11111000B
0103                 112     COMM1:
0103 C3              113                     CLR  C
0104 33              114                     RLC  A
0105 92A6            115                     MOV  SID,C
0107 C2A5            116                     CLR  SCLK
0109 D2A5            117                     SETB SCLK
010B D8F6            118                     DJNZ R0,COMM1
010D D0E0            119                     POP  ACC
010F FD              120                     MOV  R5,A
0110 54F0            121                     ANL  A,#0F0H
0112 7808            122                     MOV  R0,#8
0114 C3              123     COMM2:          CLR  C
A51 MACRO ASSEMBLER  12864確__                                                            12/17/2008 18:31:39 PAGE     3

0115 33              124                     RLC  A
0116 92A6            125                     MOV  SID,C
0118 C2A5            126                     CLR  SCLK
011A D2A5            127                     SETB SCLK
011C D8F6            128                     DJNZ R0,COMM2
011E ED              129                     MOV  A,R5
011F C4              130                     SWAP A
0120 54F0            131                     ANL  A,#0F0H
0122 7808            132                     MOV  R0,#8
0124 C3              133     COMM3:          CLR  C
0125 33              134                     RLC  A
0126 92A6            135                     MOV  SID,C
0128 C2A5            136                     CLR  SCLK
012A D2A5            137                     SETB SCLK
012C D8F6            138                     DJNZ R0,COMM3
012E C2A7            139                     CLR  CS
0130 22              140                     RET
                     141     ;
                     142     ;***********串行数据写入子程序****************
                     143     ;写入数据字在A中
0131                 144     WRITE_DAT:
0131 12016A          145                     LCALL DELAY1
0134 D2A7            146                     SETB CS
0136 C0E0            147                     PUSH  ACC
0138 7808            148                     MOV  R0,#8
013A 74FA            149                     MOV  A,#11111010B
013C C3              150     DATA1:          CLR  C
013D 33              151                     RLC  A
013E 92A6            152                     MOV  SID,C
0140 C2A5            153                     CLR  SCLK
0142 D2A5            154                     SETB SCLK
0144 D8F6            155                     DJNZ R0,DATA1
0146 D0E0            156                     POP  ACC
0148 FD              157                     MOV  R5,A
0149 54F0            158                     ANL  A,#0F0H
014B 7808            159                     MOV  R0,#8
014D C3              160     DATA2:          CLR  C
014E 33              161                     RLC  A
014F 92A6            162                     MOV  SID,C
0151 C2A5            163                     CLR  SCLK
0153 D2A5            164                     SETB SCLK
0155 D8F6            165                     DJNZ R0,DATA2
0157 ED              166                     MOV  A,R5
0158 C4              167                     SWAP A
0159 54F0            168                     ANL  A,#0F0H
015B 7808            169                     MOV  R0,#8
015D C3              170     DATA3:          CLR  C
015E 33              171                     RLC  A

⌨️ 快捷键说明

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