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

📄 ex36a_lcm.lst

📁 dp51的实验程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  EX36A_LCM                                                            12/06/2003 09:36:28 PAGE     1


MACRO ASSEMBLER A51 V7.01
OBJECT MODULE PLACED IN EX36A_LCM.OBJ
ASSEMBLER INVOKED BY: C:\PROGRAM FILES\KEIL701\C51\BIN\A51.EXE EX36A_LCM.asm SET(LARGE) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;********************************Copyright (c)********************************
                       2     ;**                      广州周立功单片机发展有限公司
                       3     ;**                            研    究    所
                       4     ;**                        http://www.zlgmcu.com
                       5     ;*********************************文件信息************************************
                       6     ;文件名:
                       7     ;       EX36A_LCD.asm
                       8     ;目的  :
                       9     ;       1.学习使用DP-51+实验的仿真调试程序的方法;
                      10     ;       2.学习LCM图形液晶显示器的驱动方法和程序设计方法;
                      11     ;       3.在DP-51h实验仪完成LCM点阵图形液晶显示,在液晶屏上显示"周立功单片机"。
                      12     ;硬件设置:
                      13     ;       左半屏的写命令操作地址为F804H,写数据操作地址为F805H,读状态字操作地址为F806H;
                      14     ;       而右半屏的写命令操作地址为F800H,写数据操作地址为F801H,读状态字操作地址为F802H.
                      15     ;最后修改时间:
                      16     ;       2003年9月10日
                      17     ;******************************************************************************
  F800                18     LCMCS2_COM      EQU     0F800H
  F801                19     LCMCS2_DAT      EQU     0F801H
                      20     
  F804                21     LCMCS1_COM      EQU     0F804H
  F805                22     LCMCS1_DAT      EQU     0F805H
                      23     
4000                  24             ORG     4000H
4000 2100             25             AJMP    MAIN
                      26     
4100                  27             ORG     4100H
4100                  28     MAIN:
4100 758160           29             MOV     SP,#60H
4103 743F             30             MOV     A,#3FH                  ;命令字送A,开显示.
4105 3157             31             ACALL   WR_COM_CS1              ;写命令字
4107 317D             32             ACALL   WR_COM_CS2
                      33             
                      34             ;以下程序实现在左半屏显示"周立功"
                      35                     
4109 7450             36             MOV     A,#50H                  ;命令字送A,从10H列开始显示.
410B 3157             37             ACALL   WR_COM_CS1              ;写命令字
                      38             
410D 74B8             39             MOV     A,#0B8H                 ;命令字送A,从00页开始显示.
410F 3157             40             ACALL   WR_COM_CS1
                      41             
4111 7800             42             MOV     R0,#00H                 ;开始取汉字"周立功"的字模
4113 9041A8           43             MOV     DPTR,#ZLG               ;字模首地址送数据指针寄存器
                      44             
4116 E8               45     LOOP1:  MOV     A,R0                    
4117 93               46             MOVC    A,@A+DPTR               ;从字模表中查取该段字模
4118 316A             47             ACALL   WR_DAT_CS1              ;写数据到DDRAM
411A 08               48             INC     R0                      ;指向下一位数据
411B B830F8           49             CJNE    R0,#30H,LOOP1           ;上半部分显示完了吗?
                      50             
411E 7450             51             MOV     A,#50H                  ;命令字送A,从10H列开始显示.
4120 3157             52             ACALL   WR_COM_CS1              ;写命令字
                      53                             
4122 74B9             54             MOV     A,#0B9H                 ;命令字送A,从01页开始显示.
4124 3157             55             ACALL   WR_COM_CS1              ;写命令字
                      56     
4126 E8               57     LOOP2:  MOV     A,R0                    
4127 93               58             MOVC    A,@A+DPTR
A51 MACRO ASSEMBLER  EX36A_LCM                                                            12/06/2003 09:36:28 PAGE     2

4128 316A             59             ACALL   WR_DAT_CS1              ;从字模表中查取该段字模
412A 08               60             INC     R0                      ;指向下一位数据
412B B860F8           61             CJNE    R0,#60H,LOOP2           ;下半部分显示完了吗?
                      62     
                      63             ;以下程序实现在右半屏显示"单片机"
                      64                     
412E 7440             65             MOV     A,#40H                  ;命令字送A,从00H列开始显示.
4130 317D             66             ACALL   WR_COM_CS2              ;写命令字
                      67             
4132 74B8             68             MOV     A,#0B8H                 ;命令字送A,从00页开始显示.
4134 317D             69             ACALL   WR_COM_CS2              ;写命令字       
                      70                     
4136 7800             71             MOV     R0,#00H                 ;开始取汉字"单片机"的字模
4138 904208           72             MOV     DPTR,#MCU               ;字模首地址送数据指针寄存器
                      73             
413B E8               74     LOOP3:  MOV     A,R0
413C 93               75             MOVC    A,@A+DPTR               ;从字模表中查取该段字模
413D 3190             76             ACALL   WR_DAT_CS2              ;写数据到DDRAM
413F 08               77             INC     R0
4140 B830F8           78             CJNE    R0,#30H,LOOP3           ;上半部分显示完了吗?
                      79             
4143 7440             80             MOV     A,#40H                  ;命令字送A,从00H列开始显示.
4145 317D             81             ACALL   WR_COM_CS2              ;写命令字
                      82             
4147 74B9             83             MOV     A,#0B9H                 ;命令字送A,从00页开始显示.
4149 317D             84             ACALL   WR_COM_CS2              ;写命令字
                      85     
414B E8               86     LOOP4:  MOV     A,R0
414C 93               87             MOVC    A,@A+DPTR               ;从字模表中查取该段字模
414D 3190             88             ACALL   WR_DAT_CS2              ;写数据到DDRAM
414F 08               89             INC     R0
4150 B860F8           90             CJNE    R0,#60H,LOOP4           ;下半部分显示完了吗?
4153 7800             91             MOV     R0,#00H
4155 2155             92             AJMP    $
                      93             
                      94     
                      95     ;************************************** 
                      96     ;子程序名:WR_COM_CS1
                      97     ;写左半屏命令字子程序,命令字存放在A中.
                      98     ;**************************************
4157                  99     WR_COM_CS1:
4157 C0E0            100             PUSH    ACC
4159 C083            101             PUSH    DPH
415B C082            102             PUSH    DPL
415D 90F804          103             MOV     DPTR,#LCMCS1_COM
4160 F0              104             MOVX    @DPTR,A
4161 31A3            105             ACALL   DELAY5US
4163 D082            106             POP     DPL
4165 D083            107             POP     DPH
4167 D0E0            108             POP     ACC
4169 22              109             RET
                     110     
                     111     ;************************************** 
                     112     ;子程序名:WR_DAT_CS1
                     113     ;写左半屏数据子程序,数据存放在A中.
                     114     ;**************************************
416A                 115     WR_DAT_CS1:
416A C0E0            116             PUSH    ACC
416C C083            117             PUSH    DPH
416E C082            118             PUSH    DPL
4170 90F805          119             MOV     DPTR,#LCMCS1_DAT
4173 F0              120             MOVX    @DPTR,A
4174 31A3            121             ACALL   DELAY5US
4176 D082            122             POP     DPL
4178 D083            123             POP     DPH
417A D0E0            124             POP     ACC
A51 MACRO ASSEMBLER  EX36A_LCM                                                            12/06/2003 09:36:28 PAGE     3

417C 22              125             RET
                     126     
                     127     ;************************************** 
                     128     ;子程序名:WR_COM_CS2
                     129     ;写右半屏命令字子程序,命令字存放在A中.
                     130     ;**************************************
417D                 131     WR_COM_CS2:
417D C0E0            132             PUSH    ACC
417F C083            133             PUSH    DPH
4181 C082            134             PUSH    DPL
4183 90F800          135             MOV     DPTR,#LCMCS2_COM
4186 F0              136             MOVX    @DPTR,A
4187 31A3            137             ACALL   DELAY5US
4189 D082            138             POP     DPL
418B D083            139             POP     DPH
418D D0E0            140             POP     ACC
418F 22              141             RET
                     142     
                     143     ;************************************** 
                     144     ;子程序名:WR_DAT_CS2
                     145     ;写左半屏数据子程序,数据存放在A中.
                     146     ;**************************************
4190                 147     WR_DAT_CS2:
4190 C0E0            148             PUSH    ACC
4192 C083            149             PUSH    DPH
4194 C082            150             PUSH    DPL
4196 90F801          151             MOV     DPTR,#LCMCS2_DAT
4199 F0              152             MOVX    @DPTR,A
419A 31A3            153             ACALL   DELAY5US
419C D082            154             POP     DPL
419E D083            155             POP     DPH
41A0 D0E0            156             POP     ACC

⌨️ 快捷键说明

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