📄 lcd_595.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-48944 Sun Oct 7 13:19:32 2007
Licensed to: ONE
1 processor 16F946
2 opt pw 79
3 psect __Z48944RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text1,local,class=CODE,delta=2
6 psect text4,local,class=CODE,delta=2
7 psect text5,local,class=CODE,delta=2
8 psect text6,local,class=CODE,delta=2
9 psect text7,local,class=CODE,delta=2
10 psect text8,local,class=CODE,delta=2
11 psect text9,local,class=CODE,delta=2
12 psect text10,local,class=CODE,delta=2
13 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24
25 psect __Z48944RS_
26 01A0
27 01A0
28 0000 _SEND_TO_HC595$console set ?_SEND_TO_HC595
29
30 psect text0
31 0523 _SEND_TO_HC595
32 ; _data assigned to ?a_SEND_TO_HC595+0
33 0000 _SEND_TO_HC595$data set ?a_SEND_TO_HC595
34 ; _i assigned to ?a_SEND_TO_HC595+1
35 0000 _SEND_TO_HC595$i set ?a_SEND_TO_HC595+1
36 ; _tmp assigned to ?a_SEND_TO_HC595+2
37 0000 _SEND_TO_HC595$tmp set ?a_SEND_TO_HC595+2
38 ;_data stored from w
39 0523 0183 clrf 3 ;select bank 0
40 0524 00D1 movwf ?a_SEND_TO_HC595
41 ;lcd_595.c: 38: unsigned char tmp;
42 0525 1683 bsf 3,5
43 0526 1186 bcf 6,3
44 ;lcd_595.c: 42: TRISB2 = 0;
45 0527 1106 bcf 6,2
46 ;lcd_595.c: 43: TRISB1 = 0;
47 0528 1086 bcf 6,1
48 ;lcd_595.c: 44: RB3 = 1;
49 0529 1283 bcf 3,5
50 052A 1586 bsf 6,3
51 ;lcd_595.c: 45: RB2 = 1;
52 052B 1506 bsf 6,2
53 ;lcd_595.c: 46: RB1 = 1;
54 052C 1486 bsf 6,1
55 ;lcd_595.c: 48: tmp = console;
56 052D 0850 movf ?_SEND_TO_HC595,w
57 052E 00D3 movwf ?a_SEND_TO_HC595+2
58 ;lcd_595.c: 49: for(i=0;i<8;++i)
59 052F 01D2 clrf ?a_SEND_TO_HC595+1
60 0530 l2
61 ;lcd_595.c: 50: {
62 ;lcd_595.c: 51: if((tmp&0x80)==0x80)
63 0530 1FD3 btfss ?a_SEND_TO_HC595+2,7
64 0531 2D34 goto l5
65 ;lcd_595.c: 52: {
66 0532 1486 bsf 6,1
67 ;lcd_595.c: 54: }
68 0533 2D35 goto l6
69 0534 l5
70 ;lcd_595.c: 56: {
71 0534 1086 bcf 6,1
72 0535 l6
73 ;lcd_595.c: 58: }
74 ;lcd_595.c: 59: RB3 = 0;
75 0535 1186 bcf 6,3
76 ;lcd_595.c: 60: RB3 = 1;
77 0536 1586 bsf 6,3
78 ;lcd_595.c: 61: tmp = tmp << 1;
79 0537 1003 bcf 3,0
80 0538 0DD3 rlf ?a_SEND_TO_HC595+2
81 ;lcd_595.c: 62: }
82 0539 0AD2 incf ?a_SEND_TO_HC595+1
83 053A 3008 movlw 8
84 053B 0252 subwf ?a_SEND_TO_HC595+1,w
85 053C 1C03 btfss 3,0
86 053D 2D30 goto l2
87 ;lcd_595.c: 64: tmp = data;
88 053E 0851 movf ?a_SEND_TO_HC595,w
89 053F 00D3 movwf ?a_SEND_TO_HC595+2
90 ;lcd_595.c: 65: for(i=0;i<8;++i)
91 0540 01D2 clrf ?a_SEND_TO_HC595+1
92 0541 l7
93 ;lcd_595.c: 66: {
94 ;lcd_595.c: 67: if((tmp&0x80)==0x80)
95 0541 1FD3 btfss ?a_SEND_TO_HC595+2,7
96 0542 2D45 goto l10
97 ;lcd_595.c: 68: {
98 0543 1486 bsf 6,1
99 ;lcd_595.c: 70: }
100 0544 2D46 goto l11
101 0545 l10
102 ;lcd_595.c: 72: {
103 0545 1086 bcf 6,1
104 0546 l11
105 ;lcd_595.c: 74: }
106 ;lcd_595.c: 75: RB3 = 0;
107 0546 1186 bcf 6,3
108 ;lcd_595.c: 76: RB3 = 1;
109 0547 1586 bsf 6,3
110 ;lcd_595.c: 77: tmp = tmp << 1;
111 0548 1003 bcf 3,0
112 0549 0DD3 rlf ?a_SEND_TO_HC595+2
113 ;lcd_595.c: 78: }
114 054A 0AD2 incf ?a_SEND_TO_HC595+1
115 054B 3008 movlw 8
116 054C 0252 subwf ?a_SEND_TO_HC595+1,w
117 054D 1C03 btfss 3,0
118 054E 2D41 goto l7
119 ;lcd_595.c: 80: RB2 = 0;
120 054F 1106 bcf 6,2
121 ;lcd_595.c: 81: RB2 = 1;
122 0550 1506 bsf 6,2
123 ;lcd_595.c: 82: RB3 = 1;
124 0551 1586 bsf 6,3
125 ;lcd_595.c: 83: RB1 = 1;
126 0552 1486 bsf 6,1
127 ;lcd_595.c: 84: }
128 0553 0008 return
129 ;lcd_595.c: 95: void lcd_writecom(unsigned char
+ combyte)
130 ;lcd_595.c: 96: {
131 0554 _lcd_writecom
132 ; _combyte assigned to ?a_lcd_writecom+0
133 0000 _lcd_writecom$combyte set ?a_lcd_writecom
134 ; _lcd_console assigned to ?a_lcd_writecom+1
135 0000 _lcd_writecom$lcd_console set ?a_lcd_writecom+1
136 ; _lcd_com assigned to ?a_lcd_writecom+2
137 0000 _lcd_writecom$lcd_com set ?a_lcd_writecom+2
138 ;_combyte stored from w
139 0554 0183 clrf 3 ;select bank 0
140 0555 00CB movwf ?a_lcd_writecom
141 ;lcd_595.c: 97: unsigned char lcd_com;
142 ;lcd_595.c: 90: DelayMs(5);
143 0556 3005 movlw 5
144 0557 120A 118A 24A9 fcall _DelayMs
+ 120A 118A
145 ;lcd_595.c: 100: lcd_com = combyte;
146 055C 084B movf ?a_lcd_writecom,w
147 055D 00CD movwf ?a_lcd_writecom+2
148 ;lcd_595.c: 101: lcd_console = 0x00;
149 055E 01CC clrf ?a_lcd_writecom+1
150 ;lcd_595.c: 104: SEND_TO_HC595(lcd_com,lcd_cons
+ ole);
151 055F 01D0 clrf ?_SEND_TO_HC595
152 0560 2523 fcall _SEND_TO_HC595
153 ;lcd_595.c: 105: lcd_console = 0x02;
154 0561 3002 movlw 2
155 0562 00CC movwf ?a_lcd_writecom+1
156 ;lcd_595.c: 108: SEND_TO_HC595(lcd_com,lcd_cons
+ ole);
157 0563 00D0 movwf ?_SEND_TO_HC595
158 0564 084D movf ?a_lcd_writecom+2,w
159 0565 2523 fcall _SEND_TO_HC595
160 ;lcd_595.c: 109: lcd_console = 0x00;
161 0566 01CC clrf ?a_lcd_writecom+1
162 ;lcd_595.c: 112: SEND_TO_HC595(lcd_com,lcd_cons
+ ole);
163 0567 01D0 clrf ?_SEND_TO_HC595
164 0568 084D movf ?a_lcd_writecom+2,w
165 0569 2D23 ljmp _SEND_TO_HC595
166 ;lcd_595.c: 117: void lcd_writedata(unsigned ch
+ ar data)
167 ;lcd_595.c: 118: {
168 056A _lcd_writedata
169 ; _data assigned to ?a_lcd_writedata+0
170 0000 _lcd_writedata$data set ?a_lcd_writedata
171 ; _lcd_console assigned to ?a_lcd_writedata+1
172 0000 _lcd_writedata$lcd_console set ?a_lcd_writedata
+ +1
173 ; _lcd_data assigned to ?a_lcd_writedata+2
174 0000 _lcd_writedata$lcd_data set ?a_lcd_writedata+2
175 ;_data stored from w
176 056A 0183 clrf 3 ;select bank 0
177 056B 00CD movwf ?a_lcd_writedata
178 ;lcd_595.c: 119: unsigned char lcd_data;
179 ;lcd_595.c: 90: DelayMs(5);
180 056C 3005 movlw 5
181 056D 120A 118A 24A9 fcall _DelayMs
+ 120A 118A
182 ;lcd_595.c: 122: lcd_data = data;
183 0572 084D movf ?a_lcd_writedata,w
184 0573 00CF movwf ?a_lcd_writedata+2
185 ;lcd_595.c: 123: lcd_console = 0x08;
186 0574 3008 movlw 8
187 0575 00CE movwf ?a_lcd_writedata+1
188 ;lcd_595.c: 126: SEND_TO_HC595(lcd_data,lcd_con
+ sole);
189 0576 00D0 movwf ?_SEND_TO_HC595
190 0577 084F movf ?a_lcd_writedata+2,w
191 0578 2523 fcall _SEND_TO_HC595
192 ;lcd_595.c: 127: lcd_console = 0x0A;
193 0579 300A movlw 10
194 057A 00CE movwf ?a_lcd_writedata+1
195 ;lcd_595.c: 130: SEND_TO_HC595(lcd_data,lcd_con
+ sole);
196 057B 00D0 movwf ?_SEND_TO_HC595
197 057C 084F movf ?a_lcd_writedata+2,w
198 057D 2523 fcall _SEND_TO_HC595
199 ;lcd_595.c: 131: lcd_console = 0x08;
200 057E 3008 movlw 8
201 057F 00CE movwf ?a_lcd_writedata+1
202 ;lcd_595.c: 134: SEND_TO_HC595(lcd_data,lcd_con
+ sole);
203 0580 00D0 movwf ?_SEND_TO_HC595
204 0581 084F movf ?a_lcd_writedata+2,w
205 0582 2D23 ljmp _SEND_TO_HC595
206
207 psect text1
208 ;lcd_595.c: 88: void lcd_checkbusy(void)
209 ;lcd_595.c: 89: {
210 0484 _lcd_checkbusy
211 ;lcd_595.c: 90: DelayMs(5);
212 0484 3005 movlw 5
213 0485 120A 118A 2CA9 ljmp _DelayMs
214
215 psect text4
216 ;lcd_595.c: 139: void lcd_initial(void)
217 ;lcd_595.c: 140: {
218 04C4 _lcd_initial
219 ;lcd_595.c: 141: DelayMs(15);
220 04C4 300F movlw 15
221 04C5 120A 118A 24A9 fcall _DelayMs
222 ;lcd_595.c: 142: lcd_writecom(0x38);
223 04C8 3038 movlw 56
224 04C9 120A 118A 2554 fcall _lcd_writecom
225 ;lcd_595.c: 143: lcd_writecom(0x0c);
226 04CC 300C movlw 12
227 04CD 120A 118A 2554 fcall _lcd_writecom
+ 120A 118A
228 ;lcd_595.c: 144: lcd_writecom(0x06);
229 04D2 3006 movlw 6
230 04D3 120A 118A 2D54 ljmp _lcd_writecom
231
232 psect text5
233 ;lcd_595.c: 149: void lcd_clear(void)
234 ;lcd_595.c: 150: {
235 049F _lcd_clear
236 ;lcd_595.c: 151: lcd_writecom(0x01);
237 049F 3001 movlw 1
238 04A0 120A 118A 2554 fcall _lcd_writecom
+ 120A 118A
239 ;lcd_595.c: 153: lcd_writecom(0x02);
240 04A5 3002 movlw 2
241 04A6 120A 118A 2D54 ljmp _lcd_writecom
242
243 psect text6
244 04D6 _lcd_gotoxy
245 ; _x assigned to ?a_lcd_gotoxy+0
246 0000 _lcd_gotoxy$x set ?a_lcd_gotoxy
247 ; _base_y assigned to ?a_lcd_gotoxy+1
248 0000 _lcd_gotoxy$base_y set ?a_lcd_gotoxy+1
249 ;_x stored from w
250 04D6 0183 clrf 3 ;select bank 0
251 04D7 00C8 movwf ?a_lcd_gotoxy
252 ;lcd_595.c: 160: unsigned char base_y[2]={0x80,
+ 0xc0};
253 04D8 3080 movlw -128
254 04D9 00C9 movwf ?a_lcd_gotoxy+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -