Hallo,
ich hab gerade ein großes Problem:
Ich verwende den PIC16 F876
ich möchte eine Tabelle mit 256 werten auslesen.
leider funktioniert das nicht. Ich hab schon vieles ausprobiert, den
PCLATH manipuliert und und und.
Aber mein Microcontroller hängt sich immer irgendwo auf.
1 org 02FF
2 TAB_SX addwf PCL,F
3 dt 00AF,00AB,0089,00FB,002D,0018,007B,001B,0051,009A,006C,00F4,00C0,0076,0086,00F5
4 dt 0095,0072,00AA,00D1,000D,006F,00AE,0073,0076,0010,003F,004C,0098,0066,0014,00D7
5 dt 00CB,00A6,002D,00DD,00C4,001D,001C,0031,00B3,00AF,00F5,0025,00DF,0001,00C8,0056
6 dt 009D,0077,00B6,00B2,00C6,0017,0023,006F,008C,0040,00DB,00E0,0039,00F2,00CC,00B8
7 dt 00FD,008C,0022,00A0,0030,0000,00B5,0029,0078,0036,00D7,00D8,0001,0029,009D,0004
8 dt 0033,00E5,00D5,00C4,0066,0077,00D6,0037,0057,003E,00BF,00FF,0007,006E,00DA,0018
9 dt 0091,005A,00A4,0074,0044,0055,00A3,001B,0075,00DC,0002,0021,00D4,0071,009A,0006
10 dt 0058,0018,00BA,00C0,00B6,000C,00D0,0011,00B5,0079,00E5,0048,005B,0080,0093,00F8
11 dt 009B,004C,006B,00D0,0092,0061,0022,0033,002C,00C0,0086,00BF,00A8,0095,00CD,0009
12 dt 00D1,00CB,0043,004B,0037,0040,00DF,005C,00C0,0012,001E,00B9,0007,001D,00A3,0012
13 dt 00F6,0065,0084,0053,002A,00C4,00E1,00A2,0038,00F2,001D,00A2,0070,0093,0020,0078
14 dt 00E9,004E,00BC,00AE,00B6,000F,003E,004A,00C7,001A,0062,00AF,0061,008A,00D4,00F7
15 dt 00BD,007D,00E8,0082,00B2,00FE,00B4,0031,009D,0038,0038,00C0,00E9,00EF,00A1,0003
16 dt 0030,0086,006D,0023,00C5,00B7,0098,008B,0044,0033,0035,0050,00D7,001F,000C,00F2
17 dt 00A7,001B,00F6,00FB,0022,009D,0087,002B,002B,00F3,004F,00A2,0099,00E4,0060,00CD
18 dt 00E0,0042,0096,00BD,00CF,00E5,009E,00F8,0004,00A3,006B,00A5,0001,002F,0095,0032
diese möchte ich mit diesem Code auslesen:
1 SP_POS decf SERVO_POX,F
2
3 movlw high TAB_SX
4 movwf PCLATH
5 movf SERVO_POX,W
6 call TAB_SX
7 movwf SERVO_1
wieso funktioniert das nicht? Sitze irgendwie auf der Leitung.
Kann mir von euch jemand helfen?
Gruß
Thomas
Thomas Obermeier wrote:
>
high(TAB_SX) zeigt damit auf die vorhergehende Page (0x02).
Peter
von
juppi (Gast)
18.04.2009 16:57
02FF +1
Landest du das nicht auf 0000
von
holger (Gast)
18.04.2009 17:41
Wenn du die Tabelle per CALL ausliest sollten deine
Daten auch einem RETLW entsprechen:
RETLW k Return with literal in W 11 01xx kkkk kkkk
00AF z.B. müsste 34AF sein.
von
holger (Gast)
18.04.2009 17:52
>Wenn du die Tabelle per CALL ausliest sollten deine
>Daten auch einem RETLW entsprechen:
Vergiss es, ich kannte das dt noch nicht. Sorry.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.