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