Subversion Repositories svnkaklik

Rev

Go to most recent revision | Details | Last modification | View Log

Rev Author Line No. Line
6 kaklik 1
MPASM 01.02 Released     SERVO.ASM   8-21-1999  18:28:26                 PAGE  1
2
 
3
 
4
LOC  OBJECT CODE     LINE SOURCE TEXT
5
  VALUE
6
 
7
                     0001 #include 16C84.INC 
8
                     0001 ; 
9
                     0002 ; Definice registru a zakladnich maker pro 16C84 
10
                     0003 ; 
11
                     0004                 processor       16C84 
12
                     0005                 radix   D 
13
                     0006  
14
0000                 0007 __16C84__:	; Priznak modulu 16C84 
15
                     0008  
16
                     0009 ; Definice registru 
17
                     0010  
18
  0000               0011 IND0            equ     00H     ; 0&1 Pristup na neprimou adresu 
19
  0001               0012 TMR0            equ     01H     ; 0   Real Time clock counter 
20
  0002               0013 PCL             equ     02H     ; 0&1 Spodni cast PC 
21
  0003               0014 STATUS          equ     03H     ; 0&1 Stavove bity 
22
  0000               0015 _CARRY                          equ     0 
23
  0001               0016 _DC                             equ     1 
24
  0002               0017 _ZERO                           equ     2 
25
  0003               0018 _PD                             equ     3 
26
  0004               0019 _TO                             equ     4 
27
  0005               0020 _RP0                            equ     5 
28
  0006               0021 _RP1                            equ     6 
29
  0007               0022 _IRP                            equ     7 
30
  0004               0023 FSR             equ     04H     ; 0&1 Ukazatel pro neprime adresovani 
31
  0005               0024 PORTA           equ     05H     ; 0&1 Data a rizeni portu A 
32
  0006               0025 PORTB           equ     06H     ; 0&1 Data a rizeni portu B 
33
  0008               0026 EEDATA_0        equ     08H     ; 0   Data EEPROM 
34
  0008               0027 EECON1_1        equ     08H     ;   1 Rizeni EEPROM 
35
  0000               0028 _EERD                           equ     0 
36
  0001               0029 _EEWR                           equ     1 
37
  0002               0030 _EEWREN                         equ     2 
38
  0003               0031 _EEWRERR                        equ     3 
39
  0004               0032 _EEIF                           equ     4 
40
  0009               0033 EEADR_0         equ     09H     ; 0   Adresa EEPROM 
41
  0009               0034 EECON2_1        equ     09H     ;   1 Aktivacni pseudoregistr 
42
  000A               0035 PCLATH          equ     0AH     ; 0&1 Horni cast PC pro move 
43
  000B               0036 INTCON          equ     0BH     ; 0&1 Rizeni preruseni 
44
  0000               0037 _RBIF                           equ     0       ; 
45
  0001               0038 _INTF                           equ     1 
46
  0002               0039 _T0IF                           equ     2 
47
  0003               0040 _RBIE                           equ     3 
48
  0004               0041 _INTE                           equ     4 
49
  0005               0042 _T0IE                           equ     5 
50
  0006               0043 _EEIE                           equ     6 
51
  0007               0044 _GIE                            equ     7 
52
                     0045  
53
                     0046 page0   macro 
54
                     0047 	bcf	STATUS,_RP0 
55
                     0048 	endm 
56
                     0049  
57
                     0050 page1   macro 
58
                     0051 	bsf	STATUS,_RP0 
59
                     0052 	endm 
60
MPASM 01.02 Released     SERVO.ASM   8-21-1999  18:28:26                 PAGE  2
61
 
62
 
63
LOC  OBJECT CODE     LINE SOURCE TEXT
64
  VALUE
65
 
66
                     0053 ; 
67
                     0054 ; Sada maker pro porovnani a skoky 
68
                     0055 ; 
69
                     0056  
70
                     0057 ;--- Compare --- 
71
                     0058 CMP     macro   ZNAK, PROCEDURA         ; if W=ZNAK then goto PROCEDURA 
72
                     0059 	xorlw	ZNAK			; if W#ZNAK then zachovej W a neskakej 
73
                     0060 	btfsc	STATUS,_ZERO 
74
                     0061 	goto	PROCEDURA 
75
                     0062 	xorlw	ZNAK 
76
                     0063 	endm 
77
                     0064  
78
                     0065 ;--- Skip if Carry --- 
79
                     0066 SC      macro 
80
                     0067 	btfss	STATUS,_CARRY 
81
                     0068 	endm 
82
                     0069  
83
                     0070 ;--- Skip if not Carry --- 
84
                     0071 SNC     macro 
85
                     0072 	btfsc	STATUS,_CARRY 
86
                     0073 	endm 
87
                     0074  
88
                     0075 ;--- Skip if Zero --- 
89
                     0076 SZ      macro 
90
                     0077 	btfss	STATUS,_ZERO 
91
                     0078 	endm 
92
                     0079  
93
                     0080 ;--- Skip if not Zero --- 
94
                     0081 SNZ     macro 
95
                     0082 	btfsc	STATUS,_ZERO 
96
                     0083 	endm 
97
                     0084  
98
                     0085 ;--- Skip if Borrow ( Negative ) --- ( po odecitani ) 
99
                     0086 SB      macro 
100
                     0087 	btsfsc	STATUS,_CARRY 
101
                     0088 	endm 
102
                     0089 SN      macro 
103
                     0090 	btfsc	STATUS,_CARRY 
104
                     0091 	endm 
105
                     0092  
106
                     0093 ;--- Skip if not Borrow ( Positive ) --- ( po odecitani ) 
107
                     0094 SNB     macro 
108
                     0095 	btfss	STATUS,_CARRY 
109
                     0096 	endm 
110
                     0097 SP      macro 
111
                     0098 	btfss	STATUS,_CARRY 
112
                     0099 	endm 
113
                     0100  
114
                     0101         cblock  0CH             ; Prvni volny registr 
115
                     0102 	endc 
116
                     0001  
117
                     0002  
118
                     0003         org     0 
119
MPASM 01.02 Released     SERVO.ASM   8-21-1999  18:28:26                 PAGE  3
120
 
121
 
122
LOC  OBJECT CODE     LINE SOURCE TEXT
123
  VALUE
124
 
125
                     0004  
126
0000 2804            0005         goto    Start 
127
                     0006 	;-------------------- 
128
                     0007         org     4 
129
                     0008 	;-------------------- 
130
                     0009  
131
0004                 0010 Start: 
132
                     0011 	page1 
133
0004 1683               M         bsf     STATUS,_RP0 
134
0005 3000            0012         movlw   00000000B       ; inicializace citace a prescaleru 
135
0006 0081            0013         movwf   TMR0 
136
0007 3000            0014         movlw   00000000B       ; konfigurace preruseni 
137
0008 008B            0015         movwf   INTCON 
138
                     0016  
139
                     0017 	page1 
140
0009 1683               M         bsf     STATUS,_RP0 
141
000A 30F7            0018         movlw   11110111B       ; nastaveni portu na vstup nebo vystup 
142
000B 0085            0019         movwf   PORTA           ; 1=vstup 0=vystup 
143
000C 30F1            0020         movlw   11110001B 
144
000D 0086            0021         movwf   PORTB 
145
                     0022  
146
000E 1781            0023         bsf     TMR0, 7         ; vypni pull-up na PORTB (OPTION registr) 
147
                     0024  
148
                     0025 	page0 
149
000F 1283               M         bcf     STATUS,_RP0 
150
                     0026  
151
0010 0100            0027         clrw                    ; vynulovani portu 
152
0011 0085            0028         movwf   PORTA 
153
0012 0086            0029         movwf   PORTB 
154
                     0030  
155
0013 1585            0031         bsf     PORTA, 3        ; Pull-Up na tlacitka 
156
                     0032  
157
0014 1086            0033         bcf     PORTB, 1        ; zhasnuti LED 
158
0015 1106            0034         bcf     PORTB, 2 
159
0016 1186            0035         bcf     PORTB, 3 
160
                     0036  
161
0017                 0037 MainLoop: 
162
                     0038 				;prodleva 10ms 
163
                     0039  
164
0017 30FA            0040         movlw   250             ; 2,5 ms 
165
0018 008C            0041         movwf   CT10 
166
0019 2033            0042         call    Delay10us 
167
001A 30FA            0043         movlw   250             ; 2,5 ms 
168
001B 008C            0044         movwf   CT10 
169
001C 2033            0045         call    Delay10us 
170
001D 30FA            0046         movlw   250             ; 2,5 ms 
171
001E 008C            0047         movwf   CT10 
172
001F 2033            0048         call    Delay10us 
173
0020 30FA            0049         movlw   250             ; 2,5 ms 
174
0021 008C            0050         movwf   CT10 
175
MPASM 01.02 Released     SERVO.ASM   8-21-1999  18:28:26                 PAGE  4
176
 
177
 
178
LOC  OBJECT CODE     LINE SOURCE TEXT
179
  VALUE
180
 
181
0022 2033            0051         call    Delay10us 
182
                     0052  
183
0023 1486            0053         bsf     PORTB, 1        ; ON 
184
                     0054  
185
0024 3096            0055         movlw   150 
186
                     0056  
187
0025 1C85            0057         btfss   PORTA, 1        ; Test TL1 
188
0026 3064            0058         movlw   100 
189
                     0059  
190
0027 1F06            0060         btfss   PORTB, 6        ; Test TL2 
191
0028 30C8            0061         movlw   200 
192
                     0062  
193
0029 008C            0063         movwf   CT10 
194
002A 2033            0064         call    Delay10us        
195
                     0065  
196
002B 1086            0066         bcf     PORTB, 1        ; OFF 
197
                     0067  
198
                     0068  
199
002C 1106            0069         bcf     PORTB, 2        ; zhasnuti LED 
200
002D 1186            0070         bcf     PORTB, 3 
201
                     0071 	 
202
002E 1C85            0072         btfss   PORTA, 1        ; Test TL1 
203
002F 1506            0073         bsf     PORTB, 2        ; rozsviceni LED2 
204
                     0074  
205
0030 1F06            0075         btfss   PORTB, 6        ; Test TL2 
206
0031 1586            0076         bsf     PORTB, 3        ; rozsviceni LED2 
207
                     0077  
208
0032 2817            0078         goto    MainLoop 
209
                     0079 	;--------------- 
210
                     0080  
211
0033                 0081 Delay10us:			; Prodleva (DELAY10 * 10us)+3us 
212
0033 0000            0082         nop      
213
0034 0000            0083         nop 
214
0035 0000            0084         nop 
215
0036 0000            0085         nop 
216
0037 0000            0086         nop 
217
0038 0000            0087         nop 
218
0039 0000            0088         nop 
219
003A 0B8C            0089         decfsz  CT10, 1 
220
003B 2833            0090         goto    Delay10us 
221
003C 0008            0091         return 
222
                     0092  
223
                     0093 #include SERVO.INC 
224
                     0001 ;---------------------------- 
225
                     0002 ; Definice promenych 
226
                     0003 ;---------------------------- 
227
                     0004  
228
                     0005         cblock   
229
  000C               0006  
230
  000C               0007 	CT10 
231
  000D               0008  
232
                     0009 	endc 
233
                     0093  
234
MPASM 01.02 Released     SERVO.ASM   8-21-1999  18:28:26                 PAGE  5
235
 
236
 
237
LOC  OBJECT CODE     LINE SOURCE TEXT
238
  VALUE
239
 
240
                     0094  
241
                     0095         end 
242
                     0096  
243
MPASM 01.02 Released     SERVO.ASM   8-21-1999  18:28:26                 PAGE  6
244
 
245
 
246
SYMBOL TABLE
247
 
248
LABEL                            VALUE
249
 
250
CT10                              000C 
251
Delay10us                         0033 
252
EEADR_0                           0009 
253
EECON1_1                          0008 
254
EECON2_1                          0009 
255
EEDATA_0                          0008 
256
FSR                               0004 
257
IND0                              0000 
258
INTCON                            000B 
259
MainLoop                          0017 
260
PCL                               0002 
261
PCLATH                            000A 
262
PORTA                             0005 
263
PORTB                             0006 
264
STATUS                            0003 
265
Start                             0004 
266
TMR0                              0001 
267
_CARRY                            0000 
268
_DC                               0001 
269
_EEIE                             0006 
270
_EEIF                             0004 
271
_EERD                             0000 
272
_EEWR                             0001 
273
_EEWREN                           0002 
274
_EEWRERR                          0003 
275
_GIE                              0007 
276
_INTE                             0004 
277
_INTF                             0001 
278
_IRP                              0007 
279
_PD                               0003 
280
_RBIE                             0003 
281
_RBIF                             0000 
282
_RP0                              0005 
283
_RP1                              0006 
284
_T0IE                             0005 
285
_T0IF                             0002 
286
_TO                               0004 
287
_ZERO                             0002 
288
__16C84__                         0000 
289
 
290
 
291
MEMORY USAGE MAP ('X' = Used,  '-' = Unused)
292
 
293
0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXX---
294
0040 : ---------------- ---------------- ---------------- ----------------
295
 
296
All other memory blocks unused.
297
 
298
 
299
Errors   :    0
300
Warnings :    0
301
Messages :    0
302
 
303