?? subprogram.lst
字號:
A51 MACRO ASSEMBLER SUBPROGRAM 02/21/2005 09:48:29 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN Subprogram.OBJ
ASSEMBLER INVOKED BY: D:\PROGRAM FILES\KEIL\C51\BIN\A51.EXE Subprogram.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;SUBPROGRAM FOR LCD DISPLAY
2 ;ASM FILE FOR LCD DISPLAY
3
4 ;;;;.asm
5 ; 直接訪問方式地址定義,根據用戶平臺接口修改
6
D000 7 CWADD1 EQU 0D000H ; 寫指令代碼地址
D001 8 DWADD1 EQU 0D001H ; 寫參數及顯示數據地址
D001 9 DRADD1 EQU 0D001H ; 讀參數及顯示數據地址
10 ; 間接控制方式信號定義,根據用戶平臺接口修改
11 ;//RS EQU P3.0 ; RS
12 ;//RD EQU P3.1 ; /RD
13 ;//WR EQU P3.2 ; /WR
14 ;//DATBUS EQU P1 ; 數據總線
15 ; 程序參數定義,根據用戶選擇的LCM型號修改
00A0 16 PARA1 EQU 0A0H ; 顯示區域寬度
17 ; 程序變量定義,根據用戶平臺提供的內部資源修改
0050 18 COM EQU 50H ; 指令寄存器
0051 19 DAT1 EQU 51H ; 參數及顯示數據寄存器
0052 20 COUNT1 EQU 52H ; 計數器1
0053 21 COUNT2 EQU 53H ; 計數器2
0054 22 O_XL EQU 54H ; X坐標低8位寄存器(字節)
23 ; X坐標低8位寄存器(點列)
0055 24 O_XH EQU 55H ; X坐標高8位寄存器(點列)
25 ; D7位為繪點(D7=1)和消點(D7=0)標志位
0056 26 O_YL EQU 56H ; Y坐標寄存器低8位(點行)
0057 27 O_YH EQU 57H ; Y坐標寄存器高8位(點行)
0058 28 CODEE EQU 58H ; 字符代碼
29
0059 30 GRAYB EQU 59H
31 ; 00H-暗;01H-淡;
32 ; 10H-深;11H-亮
005A 33 GRAYH EQU 5AH ; 灰度數據寄存器高字節
005B 34 GRAYL EQU 5BH ; 灰度數據寄存器低?
35 EXTRN XDATA (CCTAB16,CCTAB24,CHTAB816,CHTAB1616)
36 EXTRN XDATA (CCTAB48)
37 PUBLIC GRAYB
38
39 PUBLIC CLEAR,_ONEBYTE_PR,_CLCW_PR,_CL_DOT
40 PUBLIC _W_DOT,_CH1616_PR,_CH4840_PR,_CC24PR,_C816_PR,_C1632_PR,_CLCW_PRR,_C1616_PR
41 mypro segment code
---- 42 rseg mypro ; 允許編譯器重新定位
43
44
45
46
47
48
49
50
51
52
53
54
55
56 ; 漢字(24x24點陣)演示程序 callby
57 ;DISCH24:MOV GRAYB,#4CH ;灰度值設置: 正向顯示
58 ; MOV O_XL,#0CH
A51 MACRO ASSEMBLER SUBPROGRAM 02/21/2005 09:48:29 PAGE 2
59 ; MOV O_YL,#20H
60 ; MOV O_YH,#00H
61 ; MOV CODEE,#00H
62 ; LCALL _CC24PR
63 ;;; MOV GRAYB,#0C4H ;灰度值設置: 負向顯示
64 ; MOV O_XL,#15H
65 ; MOV O_YL,#38H
66 ; MOV O_YH,#01H
67 ; MOV CODEE,#01H
68 ; LCALL _CC24PR
69 ; SJMP $
70 ; 繪圖演示程序段 callby
71 ;DRAW: MOV GRAYB,#0C0H ;有灰度的顯示將把所有顯示都分成相應的灰度等級
72 ; MOV R2,#00H
73 ; MOV R3,#00H
74 ; MOV R4,#00H
75 ; MOV R5,#00H
76 ; LOOP1: MOV O_XL,R2
77 ; MOV O_XH,R3
78 ; MOV O_YL,R4
79 ; MOV O_YH,R5
80 ; LCALL _W_DOT
81 ; MOV A,R2
82 ; MOV R2,A
83 ; MOV A,R3
84 ; ADDC A,#00H
85 ; MOV R3,A
86 ; MOV A,R4
87 ; ADD A,#01H
88 ; MOV R4,A
89 ; MOV A,R5
90 ; ADDC A,#00H
91 ; MOV R5,A
92 ; CJNE A,#01H,LOOP1
93 ; SJMP $
94 ;----------------------------------callby----------------
95 ;WIPE: MOV GRAYB,#00H
96 ; MOV R2,#00H
97 ; MOV R3,#80H
98 ; MOV R4,#00H
99 ; MOV R5,#00H
100 ; LOOP2: MOV O_XL,R2
101 ; MOV O_XH,R3
102 ; MOV O_YL,R4
103 ; MOV O_YH,R5
104 ; LCALL _W_DOT
105 ; MOV A,R2
106 ; ADD A,#01H
107 ; MOV R2,A
108 ; MOV A,R3
109 ; ADDC A,#00H
110 ; MOV R3,A
111 ; MOV A,R4
112 ; ADD A,#01H
113 ; MOV R4,A
114 ; MOV A,R5
115 ; ADDC A,#00H
116 ; MOV R5,A
117 ; CJNE A,#01H,LOOP2
118 ; SJMP $
119 ;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
120 ; 直接訪問方式的驅動子程序
121 ; 程序口地址設置CWADD1,DWADD1,DRADD1
122 ; 占用內部資源DAT1,A,COM
123 ; 程序輸入變量: DAT1,,COM
124 ;===============直接訪問方式驅動子程序==================
A51 MACRO ASSEMBLER SUBPROGRAM 02/21/2005 09:48:29 PAGE 3
125 ; 寫指令子程序 ////childprogram(7)
0000 C082 126 PR1: PUSH DPL
0002 C083 127 PUSH DPH
0004 90D000 128 MOV DPTR,#CWADD1
0007 E550 129 MOV A,COM
0009 F0 130 MOVX @DPTR,A
000A D083 131 POP DPH
000C D082 132 POP DPL
000E 22 133 RET
134 ; 寫數據子程序 childprogram(8)
000F C082 135 PR2: PUSH DPL
0011 C083 136 PUSH DPH
0013 90D001 137 MOV DPTR,#DWADD1
0016 E551 138 MOV A,DAT1
0018 F0 139 MOVX @DPTR,A
0019 D083 140 POP DPH
001B D082 141 POP DPL
001D 22 142 RET
143 ; 讀數據子程序 childprogram(9)
001E C082 144 PR3: PUSH DPL
0020 C083 145 PUSH DPH
0022 90D001 146 MOV DPTR,#DRADD1
0025 E0 147 MOVX A,@DPTR
0026 F551 148 MOV DAT1,A
0028 D083 149 POP DPH
002A D082 150 POP DPL
002C 22 151 RET
152 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
153
154
155
156
157 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
158 ; 灰度生成子程序(字節)GRAYt m childprogram//(6)//
159 ; 占用內部資源:GRAYB,GRAYH,GRAYL,COUNT2,A
160 ; 內部調用子程序:PR2
161 ; 程序調用入口: GRAY
162 ; 程序輸入變量:GRAYB
163 ; 灰度生成子程序(字節)如下:
164
002D 165 _GRAY: ; MOV GRAYB,R7 ;用兩個字節來描述一個字節的內容這一個字節的數據,1代表前景數
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -