o: ActiveSupport::Cache::Entry :@compressedF:@value""
| Modules/Sensors/MAG01A/SW/PIC16F887/main.h | ||
|---|---|---|
| 1 | 1 |
#include <16F887.h> |
| 2 | 2 |
#device adc=8 |
| 3 | 3 |
|
| 4 |
#FUSES NOWDT //No Watch Dog Timer
|
|
| 5 |
#FUSES INTRC //Internal RC Osc
|
|
| 6 |
#FUSES NOPUT //No Power Up Timer
|
|
| 7 |
#FUSES MCLR //Master Clear pin enabled
|
|
| 8 |
#FUSES NOPROTECT //Code not protected from reading
|
|
| 9 |
#FUSES NOCPD //No EE protection
|
|
| 10 |
#FUSES NOBROWNOUT //No brownout reset
|
|
| 11 |
#FUSES IESO //Internal External Switch Over mode enabled
|
|
| 12 |
#FUSES FCMEN //Fail-safe clock monitor enabled
|
|
| 13 |
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
|
|
| 14 |
#FUSES NODEBUG //No Debug mode for ICD
|
|
| 15 |
#FUSES NOWRT //Program memory not write protected
|
|
| 16 |
#FUSES BORV40 //Brownout reset at 4.0V
|
|
| 4 |
#FUSES NOWDT //No Watch Dog Timer
|
|
| 5 |
#FUSES INTRC //Internal RC Osc
|
|
| 6 |
#FUSES NOPUT //No Power Up Timer
|
|
| 7 |
#FUSES MCLR //Master Clear pin enabled
|
|
| 8 |
#FUSES NOPROTECT //Code not protected from reading
|
|
| 9 |
#FUSES NOCPD //No EE protection
|
|
| 10 |
#FUSES NOBROWNOUT //No brownout reset
|
|
| 11 |
#FUSES IESO //Internal External Switch Over mode enabled
|
|
| 12 |
#FUSES FCMEN //Fail-safe clock monitor enabled
|
|
| 13 |
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
|
|
| 14 |
#FUSES NODEBUG //No Debug mode for ICD
|
|
| 15 |
#FUSES NOWRT //Program memory not write protected
|
|
| 16 |
#FUSES BORV40 //Brownout reset at 4.0V
|
|
| 17 | 17 |
|
| 18 | 18 |
#use delay(clock=8000000) |
| 19 |
#use i2c(master, sda=PIN_C4, scl=PIN_C3) |
|
| 20 |
#use rs232(baud=9600,parity=N,xmit=PIN_C7,rcv=PIN_C6,bits=8) //rcv TXD xmit RXD |
|
| 19 | 21 |
|
| Modules/Sensors/MAG01A/SW/PIC16F887/main.sta | ||
|---|---|---|
| 1 | 1 |
|
| 2 |
ROM used: 788 (10%)
|
|
| 3 |
788 (10%) including unused fragments
|
|
| 2 |
ROM used: 972 (12%)
|
|
| 3 |
972 (12%) including unused fragments
|
|
| 4 | 4 |
|
| 5 |
1 Average locations per line
|
|
| 6 |
12 Average locations per statement
|
|
| 5 |
2 Average locations per line
|
|
| 6 |
15 Average locations per statement
|
|
| 7 | 7 |
|
| 8 |
RAM used: 7 (2%) at main() level
|
|
| 8 |
RAM used: 12 (3%) at main() level
|
|
| 9 | 9 |
22 (6%) worst case |
| 10 | 10 |
|
| 11 | 11 |
Stack used: 3 worst case (out of 8 total available) |
| 12 | 12 |
|
| 13 | 13 |
Lines Stmts % Files |
| 14 | 14 |
----- ----- --- ----- |
| 15 |
43 22 32 main.c
|
|
| 16 |
20 0 0 main.h
|
|
| 17 |
423 0 0 ..\..\..\..\..\Program Files (x86)\PICC\devices\16F887.h
|
|
| 15 |
32 19 29 main.c
|
|
| 16 |
22 0 0 main.h
|
|
| 17 |
423 0 0 C:\Program Files (x86)\PICC\devices\16F887.h
|
|
| 18 | 18 |
19 0 0 HMC5883L.h |
| 19 |
102 46 68 HMC5883L.c
|
|
| 19 |
102 46 71 HMC5883L.c
|
|
| 20 | 20 |
----- ----- |
| 21 |
607 68 Total
|
|
| 21 |
598 65 Total
|
|
| 22 | 22 |
|
| 23 | 23 |
Page ROM % RAM Vol Diff Functions: |
| 24 | 24 |
---- --- --- --- --- ---- ---------- |
| 25 |
0 22 3 1 @delay_ms1
|
|
| 25 |
0 20 2 1 @delay_ms1
|
|
| 26 | 26 |
Inline 3 357 1.4 @I2C_READ_1 |
| 27 |
0 52 7 1 113 1.3 @I2C_WRITE_1 |
|
| 28 |
0 34 4 1 152 2.2 @PUTCHAR_1_ |
|
| 29 |
0 107 14 1 152 2.2 mag_read |
|
| 30 |
0 21 3 6 129 4.6 mag_vypocet |
|
| 27 |
0 74 8 1 113 1.3 @I2C_WRITE_1 |
|
| 28 |
0 36 4 1 152 2.2 @PUTCHAR_1_ |
|
| 29 |
0 178 18 0 357 1.4 set_mag |
|
| 30 |
0 155 16 1 152 2.2 mag_read |
|
| 31 |
0 21 2 6 129 4.6 mag_vypocet |
|
| 31 | 32 |
0 26 3 4 171 2.7 mag_readX |
| 32 | 33 |
0 26 3 4 171 2.7 mag_readY |
| 33 | 34 |
0 26 3 4 171 2.7 mag_readZ |
| 34 |
0 221 28 1 658 3.3 MAIN |
|
| 35 |
0 9 1 0 44 1.9 @const99 |
|
| 36 |
0 70 9 3 257 7.2 @PSTRINGC7_68 |
|
| 37 |
0 12 2 0 @const101 |
|
| 38 |
0 15 2 0 1071 8.0 @const102 |
|
| 39 |
0 15 2 0 @const106 |
|
| 40 |
0 128 16 9 @PRINTF_LD_68 |
|
| 35 |
0 181 19 6 587 3.3 MAIN |
|
| 36 |
0 9 1 0 @const102 |
|
| 37 |
0 70 7 3 @PSTRINGC7_69 |
|
| 38 |
0 12 1 0 @const104 |
|
| 39 |
0 6 1 0 @const105 |
|
| 40 |
0 128 13 9 @PRINTF_LD_69 |
|
| 41 | 41 |
|
| 42 | 42 |
Program metrics: |
| 43 |
Functions 12
|
|
| 44 |
Statements 68
|
|
| 45 |
Comments 109
|
|
| 46 |
Volume (V) 5531
|
|
| 47 |
Difficilty (D) 39.8
|
|
| 48 |
Effort to implement (E) 220066
|
|
| 49 |
Time to implement (T) 3 hours, 24 minutes
|
|
| 43 |
Functions 10
|
|
| 44 |
Statements 65
|
|
| 45 |
Comments 99
|
|
| 46 |
Volume (V) 3874
|
|
| 47 |
Difficilty (D) 23.6
|
|
| 48 |
Effort to implement (E) 91333
|
|
| 49 |
Time to implement (T) 1 hours, 25 minutes
|
|
| 50 | 50 |
Est Delivered Bugs (B) 1 |
| 51 |
Cyclomatic Complexity 3
|
|
| 52 |
Maintainability (MI) 61
|
|
| 51 |
Cyclomatic Complexity 1
|
|
| 52 |
Maintainability (MI) 60
|
|
| 53 | 53 |
|
| 54 | 54 |
Segment Used Free |
| 55 | 55 |
----------- ---- ---- |
| 56 | 56 |
00000-00003 4 0 |
| 57 |
00004-007FF 784 1260
|
|
| 57 |
00004-007FF 968 1076
|
|
| 58 | 58 |
00800-00FFF 0 2048 |
| 59 | 59 |
01000-017FF 0 2048 |
| 60 | 60 |
01800-01FFF 0 2048 |
| Modules/Sensors/MAG01A/SW/PIC16F887/main.err | ||
|---|---|---|
| 1 |
Memory usage: ROM=10% RAM=2% - 6%
|
|
| 1 |
Memory usage: ROM=12% RAM=3% - 6%
|
|
| 2 | 2 |
0 Errors, 0 Warnings. |
| Modules/Sensors/MAG01A/SW/PIC16F887/main.sym | ||
|---|---|---|
| 1 |
004-005 @READ_PROGRAM_MEMORY8.P1
|
|
| 2 |
004 @WRITE_PROGRAM_MEMORY8.P2
|
|
| 1 |
004 @WRITE_PROGRAM_MEMORY8.P1
|
|
| 2 |
004-005 @READ_PROGRAM_MEMORY8.P2
|
|
| 3 | 3 |
015 CCP_1_LOW |
| 4 | 4 |
015 CCP_1 |
| 5 | 5 |
016 CCP_1_HIGH |
| 6 |
01B CCP_2_LOW |
|
| 6 | 7 |
01B CCP_2 |
| 7 |
01B CCP_2_LOW |
|
| 8 | 8 |
01C CCP_2_HIGH |
| 9 | 9 |
020 @TRIS_C |
| 10 | 10 |
021-022 MAIN.x |
| 11 | 11 |
023-024 MAIN.Y |
| 12 | 12 |
025-026 MAIN.Z |
| 13 |
027-028 @PRINTF_LD_68.P1 |
|
| 14 |
027 mag_readZ.h |
|
| 13 |
027 @delay_ms1.P1 |
|
| 15 | 14 |
027 mag_readX.h |
| 15 |
027-028 @PRINTF_LD_69.P1 |
|
| 16 | 16 |
027 mag_readY.h |
| 17 |
027 MAIN.@SCRATCH1
|
|
| 18 |
027 @PSTRINGC7_68.@SCRATCH1
|
|
| 17 |
027 mag_readZ.h
|
|
| 18 |
027 @PSTRINGC7_69.@SCRATCH1
|
|
| 19 | 19 |
028 mag_readX.l |
| 20 |
028 @delay_ms1.P1 |
|
| 21 | 20 |
028 mag_readY.l |
| 22 | 21 |
028 mag_readZ.l |
| 23 |
028 @PSTRINGC7_68.@SCRATCH2 |
|
| 22 |
028 @PSTRINGC7_69.@SCRATCH2 |
|
| 23 |
029-02A mag_readX.x |
|
| 24 | 24 |
029-02A mag_readY.x |
| 25 |
029-02A mag_readX.x |
|
| 26 | 25 |
029-02A mag_readZ.x |
| 27 |
029 @PSTRINGC7_68.@SCRATCH3 |
|
| 28 |
029 @PRINTF_LD_68.@SCRATCH1 |
|
| 29 |
02A @PRINTF_LD_68.@SCRATCH2 |
|
| 26 |
029 @PSTRINGC7_69.@SCRATCH3 |
|
| 27 |
029 @PRINTF_LD_69.@SCRATCH1 |
|
| 28 |
02A @PRINTF_LD_69.@SCRATCH2 |
|
| 29 |
02B mag_vypocet.h |
|
| 30 | 30 |
02B mag_read.reg |
| 31 |
02B mag_vypocet.h |
|
| 32 |
02B @PRINTF_LD_68.@SCRATCH3 |
|
| 31 |
02B @PRINTF_LD_69.@SCRATCH3 |
|
| 33 | 32 |
02C mag_vypocet.l |
| 34 | 33 |
02C @I2C_WRITE_1.P1 |
| 35 | 34 |
02C @I2C_READ_1.P2 |
| 36 |
02C @PRINTF_LD_68.@SCRATCH4
|
|
| 35 |
02C @PRINTF_LD_69.@SCRATCH4
|
|
| 37 | 36 |
02D-02E mag_vypocet.x |
| 38 | 37 |
02D @I2C_READ_1.@SCRATCH1 |
| 39 |
02D @PRINTF_LD_68.@SCRATCH5
|
|
| 38 |
02D @PRINTF_LD_69.@SCRATCH5
|
|
| 40 | 39 |
02E @I2C_READ_1.@SCRATCH2 |
| 41 |
02E @PRINTF_LD_68.@SCRATCH6
|
|
| 40 |
02E @PRINTF_LD_69.@SCRATCH6
|
|
| 42 | 41 |
02F mag_vypocet.@SCRATCH1 |
| 43 |
02F @PRINTF_LD_68.@SCRATCH7
|
|
| 42 |
02F @PRINTF_LD_69.@SCRATCH7
|
|
| 44 | 43 |
030 @PUTCHAR_1_.P1 |
| 45 | 44 |
030 mag_vypocet.@SCRATCH2 |
| 46 | 45 |
077 @SCRATCH |
| ... | ... | |
| 54 | 53 |
10D-10E @WRITE_PROGRAM_MEMORY8.P2 |
| 55 | 54 |
|
| 56 | 55 |
ROM Allocation: |
| 57 |
0221 @delay_ms1
|
|
| 58 |
0107 @I2C_READ_1
|
|
| 59 |
009F @I2C_WRITE_1
|
|
| 60 |
0037 @PUTCHAR_1_
|
|
| 61 |
00D3 mag_read
|
|
| 62 |
013E mag_vypocet
|
|
| 63 |
0153 mag_readX
|
|
| 64 |
016D mag_readY
|
|
| 65 |
0187 mag_readZ
|
|
| 66 |
0237 MAIN
|
|
| 67 |
0004 @const99
|
|
| 68 |
0059 @PSTRINGC7_68
|
|
| 69 |
000D @const101
|
|
| 70 |
0019 @const102
|
|
| 71 |
0028 @const106
|
|
| 72 |
01A1 @PRINTF_LD_68
|
|
| 73 |
0237 @cinit
|
|
| 56 |
0069 @delay_ms1
|
|
| 57 |
01EB @I2C_READ_1
|
|
| 58 |
001F @I2C_WRITE_1
|
|
| 59 |
012F @PUTCHAR_1_
|
|
| 60 |
007D set_mag
|
|
| 61 |
0199 mag_read
|
|
| 62 |
0234 mag_vypocet
|
|
| 63 |
0249 mag_readX
|
|
| 64 |
0263 mag_readY
|
|
| 65 |
027D mag_readZ
|
|
| 66 |
0317 MAIN
|
|
| 67 |
0004 @const102
|
|
| 68 |
0153 @PSTRINGC7_69
|
|
| 69 |
000D @const104
|
|
| 70 |
0019 @const105
|
|
| 71 |
0297 @PRINTF_LD_69
|
|
| 72 |
0317 @cinit
|
|
| 74 | 73 |
|
| 75 | 74 |
|
| 76 | 75 |
User Memory space: |
| ... | ... | |
| 78 | 77 |
User Memory space: |
| 79 | 78 |
|
| 80 | 79 |
Project Directory: |
| 81 |
c:\users\honza\documents\pic\i2c_magnetometr\
|
|
| 80 |
Z:\home\kaklik\svnMLAB\Modules\Sensors\MAG01A\SW\PIC16F887\
|
|
| 82 | 81 |
|
| 83 | 82 |
Project Files: |
| 84 | 83 |
main.c |
| 85 | 84 |
main.h |
| 86 |
..\..\..\..\..\Program Files (x86)\PICC\devices\16F887.h
|
|
| 85 |
C:\Program Files (x86)\PICC\devices\16F887.h
|
|
| 87 | 86 |
HMC5883L.h |
| 88 | 87 |
HMC5883L.c |
| 89 | 88 |
|
| 90 | 89 |
Units: |
| 91 |
c:\users\honza\documents\pic\i2c_magnetometr\main (main)
|
|
| 90 |
Z:\home\kaklik\svnMLAB\Modules\Sensors\MAG01A\SW\PIC16F887\main (main)
|
|
| 92 | 91 |
|
| 93 | 92 |
Compiler Settings: |
| 94 | 93 |
Processor: PIC16F887 |
| Modules/Sensors/MAG01A/SW/PIC16F887/main.tre | ||
|---|---|---|
| 1 | 1 |
??main |
| 2 |
??MAIN 0/221 Ram=1
|
|
| 2 |
??MAIN 0/181 Ram=6
|
|
| 3 | 3 |
????0?? |
| 4 |
??@PSTRINGC7_68 0/70 Ram=3 |
|
| 5 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 6 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 7 |
??@PSTRINGC7_68 0/70 Ram=3 |
|
| 8 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 9 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 10 |
??@PSTRINGC7_68 0/70 Ram=3 |
|
| 11 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 12 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 13 |
??@PSTRINGC7_68 0/70 Ram=3 |
|
| 14 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 15 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 4 |
??set_mag 0/178 Ram=0 |
|
| 5 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 6 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 7 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 8 |
? ??@delay_ms1 0/20 Ram=1 |
|
| 9 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 10 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 11 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 12 |
? ??@delay_ms1 0/20 Ram=1 |
|
| 13 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 14 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 15 |
? ??@I2C_WRITE_1 0/74 Ram=1 |
|
| 16 |
? ??@delay_ms1 0/20 Ram=1 |
|
| 17 |
??@PSTRINGC7_69 0/70 Ram=3 |
|
| 18 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 19 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 20 |
??@PSTRINGC7_69 0/70 Ram=3 |
|
| 21 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 22 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 23 |
??@PSTRINGC7_69 0/70 Ram=3 |
|
| 24 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 25 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 16 | 26 |
??mag_readX 0/26 Ram=4 |
| 17 |
? ??mag_read 0/107 Ram=1
|
|
| 18 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 19 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 20 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 27 |
? ??mag_read 0/155 Ram=1
|
|
| 28 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 29 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 30 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 21 | 31 |
? ? ??@I2C_READ_1 (Inline) Ram=3 |
| 22 |
? ??mag_read 0/107 Ram=1
|
|
| 23 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 24 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 25 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 32 |
? ??mag_read 0/155 Ram=1
|
|
| 33 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 34 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 35 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 26 | 36 |
? ? ??@I2C_READ_1 (Inline) Ram=3 |
| 27 | 37 |
? ??mag_vypocet 0/21 Ram=6 |
| 28 | 38 |
??mag_readY 0/26 Ram=4 |
| 29 |
? ??mag_read 0/107 Ram=1
|
|
| 30 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 31 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 32 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 39 |
? ??mag_read 0/155 Ram=1
|
|
| 40 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 41 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 42 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 33 | 43 |
? ? ??@I2C_READ_1 (Inline) Ram=3 |
| 34 |
? ??mag_read 0/107 Ram=1
|
|
| 35 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 36 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 37 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 44 |
? ??mag_read 0/155 Ram=1
|
|
| 45 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 46 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 47 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 38 | 48 |
? ? ??@I2C_READ_1 (Inline) Ram=3 |
| 39 | 49 |
? ??mag_vypocet 0/21 Ram=6 |
| 40 | 50 |
??mag_readZ 0/26 Ram=4 |
| 41 |
? ??mag_read 0/107 Ram=1
|
|
| 42 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 43 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 44 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 51 |
? ??mag_read 0/155 Ram=1
|
|
| 52 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 53 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 54 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 45 | 55 |
? ? ??@I2C_READ_1 (Inline) Ram=3 |
| 46 |
? ??mag_read 0/107 Ram=1
|
|
| 47 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 48 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 49 |
? ? ??@I2C_WRITE_1 0/52 Ram=1
|
|
| 56 |
? ??mag_read 0/155 Ram=1
|
|
| 57 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 58 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 59 |
? ? ??@I2C_WRITE_1 0/74 Ram=1
|
|
| 50 | 60 |
? ? ??@I2C_READ_1 (Inline) Ram=3 |
| 51 | 61 |
? ??mag_vypocet 0/21 Ram=6 |
| 52 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 53 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 54 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 55 |
??@PRINTF_LD_68 0/128 Ram=9 |
|
| 56 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 57 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 58 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 59 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 60 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 61 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 62 |
??@PRINTF_LD_68 0/128 Ram=9 |
|
| 63 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 64 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 65 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 66 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 67 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 68 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 69 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 70 |
??@PRINTF_LD_68 0/128 Ram=9 |
|
| 71 |
? ??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 72 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 73 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 74 |
??@PUTCHAR_1_ 0/34 Ram=1 |
|
| 75 |
??@delay_ms1 0/22 Ram=1 |
|
| 62 |
??@PRINTF_LD_69 0/128 Ram=9 |
|
| 63 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 64 |
??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 65 |
??@PRINTF_LD_69 0/128 Ram=9 |
|
| 66 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 67 |
??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 68 |
??@PRINTF_LD_69 0/128 Ram=9 |
|
| 69 |
? ??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 70 |
??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 71 |
??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 72 |
??@PUTCHAR_1_ 0/36 Ram=1 |
|
| 73 |
??@delay_ms1 0/20 Ram=1 |
|
| Modules/Sensors/MAG01A/SW/PIC16F887/main.bak | ||
|---|---|---|
| 1 |
//Magnetometr Jan Chroust 2013 |
|
| 2 |
//vypise hodnoty jednotlivych os |
|
| 3 |
|
|
| 4 | 1 |
#include "main.h" |
| 5 | 2 |
#include "HMC5883L.h" |
| 6 |
#define EEPROM_SDA PIN_B0 |
|
| 7 |
#define EEPROM_SCL PIN_B1 |
|
| 8 |
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL) |
|
| 9 |
#use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD |
|
| 10 | 3 |
|
| 11 |
|
|
| 12 | 4 |
void main() |
| 13 | 5 |
{
|
| 6 |
setup_adc_ports(NO_ANALOGS|VSS_VDD); |
|
| 7 |
setup_adc(ADC_CLOCK_DIV_2); |
|
| 8 |
setup_spi(SPI_SS_DISABLED); |
|
| 9 |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); |
|
| 10 |
setup_timer_1(T1_DISABLED); |
|
| 11 |
setup_timer_2(T2_DISABLED,0,1); |
|
| 12 |
setup_ccp1(CCP_OFF); |
|
| 13 |
setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard |
|
| 14 | 14 |
|
| 15 |
setup_adc_ports(NO_ANALOGS|VSS_VDD); |
|
| 16 |
setup_adc(ADC_CLOCK_DIV_2); |
|
| 17 |
setup_spi(SPI_SS_DISABLED); |
|
| 18 |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); |
|
| 19 |
setup_timer_1(T1_DISABLED); |
|
| 20 |
setup_timer_2(T2_DISABLED,0,1); |
|
| 21 |
setup_ccp1(CCP_OFF); |
|
| 22 |
setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard |
|
| 15 |
printf("Magnetometr: \r\n",);
|
|
| 16 |
printf("(c)mlab JACHO 2013: \r\n",);
|
|
| 17 |
printf("Vysledky z jednotlivych os:\r\n",);
|
|
| 18 |
signed int16 X,Y,Z; |
|
| 23 | 19 |
|
| 24 |
printf("Magnetometr: \r\n",);
|
|
| 25 |
printf("(c)mlab JACHO 2013: \r\n",);
|
|
| 26 |
printf("Vysledky z jednotlivych os:\r\n",);
|
|
| 27 |
signed int16 X,Y,Z; |
|
| 28 |
|
|
| 29 |
|
|
| 30 |
while(true) |
|
| 31 |
{
|
|
| 32 |
printf("Vysledky z jednotlivych os:\r\n",);
|
|
| 33 |
X=mag_readX(); |
|
| 34 |
Y=mag_readY(); |
|
| 35 |
Z=mag_readZ(); |
|
| 36 |
printf("X: %Ld \r\n", X);
|
|
| 37 |
printf("Y %Ld \r\n", Y);
|
|
| 38 |
printf("Z: %Ld \r\n", Z);
|
|
| 39 |
Delay_ms(2000); |
|
| 20 |
while(true) |
|
| 21 |
{
|
|
| 22 |
printf("Vysledky z jednotlivych os:\r\n",);
|
|
| 23 |
X = mag_readX(); |
|
| 24 |
Y = mag_readY(); |
|
| 25 |
Z = mag_readZ(); |
|
| 26 |
printf("X: %Ld \r\n", X);
|
|
| 27 |
printf("Y %Ld \r\n", Y);
|
|
| 28 |
printf("Z: %Ld \r\n", Z);
|
|
| 29 |
Delay_ms(500); |
|
| 40 | 30 |
|
| 31 |
} |
|
| 41 | 32 |
} |
| 42 |
} |
|
| Modules/Sensors/MAG01A/SW/PIC16F887/main.esym | ||
|---|---|---|
| 1 |
D G "__PCM__" 0 44 ""4.106""
|
|
| 2 |
D G "__DEVICE__" 0 44 "887"
|
|
| 3 |
D G "__DATE__" 0 44 ""16-4-13""
|
|
| 4 |
D G "__TIME__" 0 44 ""18:24:02"" "Magnetometr Jan Chroust 2013"
|
|
| 1 |
D G "__PCM__" 0 33 ""4.106""
|
|
| 2 |
D G "__DEVICE__" 0 33 "887"
|
|
| 3 |
D G "__DATE__" 0 33 ""15-V-13""
|
|
| 4 |
D G "__TIME__" 0 33 ""16:26:21"" "Standard Header file for the PIC16F887 device ////////////////"
|
|
| 5 | 5 |
d G "PIN_A0" 2 20 "40" |
| 6 | 6 |
d G "PIN_A1" 2 21 "41" |
| 7 | 7 |
d G "PIN_A2" 2 22 "42" |
| ... | ... | |
| 273 | 273 |
d G "INT_RB5" 2 418 "0x0200B08" |
| 274 | 274 |
d G "INT_RB6" 2 419 "0x0400B08" |
| 275 | 275 |
d G "INT_RB7" 2 420 "0x0800B08" |
| 276 |
D G "EEPROM_SDA" 0 6 "PIN_B0" |
|
| 277 |
D G "EEPROM_SCL" 0 7 "PIN_B1" |
|
| 278 | 276 |
D G "MAG_ADDR_R" 3 1 "0x3D" "addresa pro cteni" |
| 279 | 277 |
D G "MAG_ADDR_W" 3 2 "0x3C" |
| 280 | 278 |
D G "MAG_ROZ088" 3 7 "0x00" |
| ... | ... | |
| 289 | 287 |
C L "set_mag" 4 3 1 "FUNCTION" |
| 290 | 288 |
C L "set_mag" 4 3 1 "FUNCTION" |
| 291 | 289 |
C L "set_mag" 4 3 1 "FUNCTION" |
| 292 |
F G "set_mag_roz" 4 26 "void()" |
|
| 290 |
F G "set_mag_roz" 4 26 "void(int8 h)"
|
|
| 293 | 291 |
V L "h" 4 26 "int8" "nastavy rozsah" |
| 294 |
F G "mag_read" 4 44 "int8()" |
|
| 292 |
F G "mag_read" 4 44 "int8(int8 reg)"
|
|
| 295 | 293 |
V L "reg" 4 44 "int8" "pro cteni reg" |
| 296 |
F G "mag_vypocet" 4 58 "sint16()" |
|
| 294 |
F G "mag_vypocet" 4 58 "sint16(int8 h,int8 l)"
|
|
| 297 | 295 |
V L "h" 4 58 "int8" |
| 298 | 296 |
V L "l" 4 58 "int8" "prepocet na 16bit cislo" |
| 299 | 297 |
V L "x" 4 60 "sint16" |
| ... | ... | |
| 301 | 299 |
V L "h" 4 68 "int8" |
| 302 | 300 |
V L "l" 4 68 "int8" |
| 303 | 301 |
V L "x" 4 69 "sint16" |
| 304 |
F G "mag_readY" 4 78 "sint16(int8 )" "nacteni osy x"
|
|
| 302 |
F G "mag_readY" 4 78 "sint16()" "nacteni osy x" |
|
| 305 | 303 |
V L "h" 4 80 "int8" |
| 306 | 304 |
V L "l" 4 80 "int8" |
| 307 | 305 |
V L "x" 4 81 "sint16" |
| ... | ... | |
| 309 | 307 |
V L "h" 4 92 "int8" |
| 310 | 308 |
V L "l" 4 92 "int8" |
| 311 | 309 |
V L "x" 4 93 "sint16" |
| 312 |
F G "MAIN" 0 12 "void()"
|
|
| 313 |
C L "MAIN" 0 22 1 "FUNCTION"
|
|
| 314 |
V L "x" 0 27 "sint16"
|
|
| 315 |
V L "Y" 0 27 "sint16"
|
|
| 316 |
V L "Z" 0 27 "sint16"
|
|
| 310 |
F G "MAIN" 0 4 "void()"
|
|
| 311 |
V L "x" 0 6 "sint16"
|
|
| 312 |
V L "Y" 0 6 "sint16"
|
|
| 313 |
V L "Z" 0 6 "sint16"
|
|
| 314 |
C L "MAIN" 0 14 1 "FUNCTION"
|
|
| 317 | 315 |
F B "reset_cpu" 0 0 |
| 318 | 316 |
F B "abs" 1 0 |
| 319 | 317 |
F B "sleep_ulpwu" 1 0 |
| Modules/Sensors/MAG01A/SW/PIC16F887/main.pjt | ||
|---|---|---|
| 1 | 1 |
[PROJECT] |
| 2 |
Target=C:\Users\Honza\Documents\pic\I2C_magnetometr\main.hex
|
|
| 2 |
Target=main.hex |
|
| 3 | 3 |
Development_Mode= |
| 4 | 4 |
Processor_Text=PIC16F887 |
| 5 | 5 |
ToolSuite=CCS |
| 6 | 6 |
Processor=0x887F |
| 7 |
[C:\Users\Honza\Documents\pic\I2C_magnetometr\main]
|
|
| 7 |
[main] |
|
| 8 | 8 |
Type=4 |
| 9 | 9 |
Path= |
| 10 | 10 |
FileList= |
| ... | ... | |
| 12 | 12 |
OptionString= |
| 13 | 13 |
AdditionalOptionString= |
| 14 | 14 |
[mru-list] |
| 15 |
1=C:\Users\Honza\Documents\pic\I2C_magnetometr\main.c
|
|
| 15 |
1=main.c |
|
| 16 | 16 |
[Windows] |
| 17 | 17 |
0=0000 %S 0 0 796 451 3 0 |
| 18 |
[Opened Files] |
|
| 19 |
1=main.c |
|
| 20 |
2=HMC5883L.c |
|
| 21 |
3=main.h |
|
| 22 |
4=C:\Program Files (x86)\PICC\devices\16F887.h |
|
| 23 |
5=HMC5883L.h |
|
| 24 |
6= |
|
| 25 |
[Target Data] |
|
| 26 |
OptionString=-p +FM |
|
| 27 |
FileList=Z:\home\kaklik\svnMLAB\Modules\Sensors\MAG01A\SW\PIC16F887\main.c |
|
| 18 | 28 |
[Units] |
| 19 |
Link=0 |
|
| 20 | 29 |
Count=1 |
| 21 |
1=C:\Users\Honza\Documents\pic\I2C_magnetometr\main |
|
| 22 |
[Opened Files] |
|
| 23 |
1=..\I2C_magnetometr\main.c |
|
| 24 |
2=..\kompas\main.c |
|
| 25 |
3=HMC5883L.c |
|
| 26 |
4= |
|
| 30 |
1=main (main) |
|
| Modules/Sensors/MAG01A/SW/PIC16F887/main.c | ||
|---|---|---|
| 1 |
//Magnetometr Jan Chroust 2013 |
|
| 2 |
//vypise hodnoty jednotlivych os |
|
| 3 |
|
|
| 4 | 1 |
#include "main.h" |
| 2 |
#include "HMC5883L.h" |
|
| 5 | 3 |
|
| 6 |
#define EEPROM_SDA PIN_B0 |
|
| 7 |
#define EEPROM_SCL PIN_B1 |
|
| 8 |
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL) |
|
| 9 |
#use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD |
|
| 10 |
|
|
| 11 |
#include "HMC5883L.h" |
|
| 12 | 4 |
void main() |
| 13 | 5 |
{
|
| 6 |
signed int16 X,Y,Z; |
|
| 7 |
setup_adc_ports(NO_ANALOGS|VSS_VDD); |
|
| 8 |
setup_adc(ADC_CLOCK_DIV_2); |
|
| 9 |
setup_spi(SPI_SS_DISABLED); |
|
| 10 |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); |
|
| 11 |
setup_timer_1(T1_DISABLED); |
|
| 12 |
setup_timer_2(T2_DISABLED,0,1); |
|
| 13 |
setup_ccp1(CCP_OFF); |
|
| 14 |
setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard |
|
| 14 | 15 |
|
| 15 |
setup_adc_ports(NO_ANALOGS|VSS_VDD); |
|
| 16 |
setup_adc(ADC_CLOCK_DIV_2); |
|
| 17 |
setup_spi(SPI_SS_DISABLED); |
|
| 18 |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); |
|
| 19 |
setup_timer_1(T1_DISABLED); |
|
| 20 |
setup_timer_2(T2_DISABLED,0,1); |
|
| 21 |
setup_ccp1(CCP_OFF); |
|
| 22 |
setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard |
|
| 16 |
set_mag(); |
|
| 23 | 17 |
|
| 24 |
printf("Magnetometr: \r\n",);
|
|
| 25 |
printf("(c)mlab JACHO 2013: \r\n",);
|
|
| 26 |
printf("Vysledky z jednotlivych os:\r\n",);
|
|
| 27 |
signed int16 X,Y,Z; |
|
| 18 |
printf("Magnetometr: \r\n",);
|
|
| 19 |
printf("(c)mlab JACHO 2013: \r\n",);
|
|
| 20 |
printf("X, Y, Z \r\n",);
|
|
| 28 | 21 |
|
| 29 |
|
|
| 30 |
while(true) |
|
| 31 |
{
|
|
| 32 |
printf("Vysledky z jednotlivych os:\r\n",);
|
|
| 33 |
X=mag_readX(); |
|
| 34 |
Y=mag_readY(); |
|
| 35 |
Z=mag_readZ(); |
|
| 36 |
printf("X: %Ld \r\n", X);
|
|
| 37 |
printf("Y %Ld \r\n", Y);
|
|
| 38 |
printf("Z: %Ld \r\n", Z);
|
|
| 39 |
Delay_ms(2000); |
|
| 22 |
while(true) |
|
| 23 |
{
|
|
| 24 |
X = mag_readX(); |
|
| 25 |
Y = mag_readY(); |
|
| 26 |
Z = mag_readZ(); |
|
| 27 |
printf("%4Ld %4Ld %4Ld \r\n", X, Y, Z);
|
|
| 28 |
Delay_ms(50); |
|
| 40 | 29 |
|
| 30 |
} |
|
| 41 | 31 |
} |
| 42 |
} |
|
| Modules/Sensors/MAG01A/SW/PIC16F887/main.lst | ||
|---|---|---|
| 1 |
CCS PCM C Compiler, Version 4.106, 47914 16-4-13 18:24
|
|
| 1 |
CCS PCM C Compiler, Version 4.106, 47914 15-V-13 16:26
|
|
| 2 | 2 |
|
| 3 |
Filename: c:\users\honza\documents\pic\i2c_magnetometr\main.lst
|
|
| 3 |
Filename: Z:\home\kaklik\svnMLAB\Modules\Sensors\MAG01A\SW\PIC16F887\main.lst
|
|
| 4 | 4 |
|
| 5 |
ROM used: 788 words (10%)
|
|
| 5 |
ROM used: 972 words (12%)
|
|
| 6 | 6 |
Largest free fragment is 2048 |
| 7 |
RAM used: 7 (2%) at main() level
|
|
| 7 |
RAM used: 12 (3%) at main() level
|
|
| 8 | 8 |
22 (6%) worst case |
| 9 | 9 |
Stack: 3 locations |
| 10 | 10 |
|
| 11 | 11 |
* |
| 12 |
0000: MOVLW 02
|
|
| 12 |
0000: MOVLW 03
|
|
| 13 | 13 |
0001: MOVWF 0A |
| 14 |
0002: GOTO 237
|
|
| 14 |
0002: GOTO 317
|
|
| 15 | 15 |
0003: NOP |
| 16 |
.................... //Magnetometr Jan Chroust 2013 |
|
| 17 |
.................... //vypise hodnoty jednotlivych os |
|
| 18 |
.................... |
|
| 19 | 16 |
.................... #include "main.h" |
| 20 | 17 |
.................... #include <16F887.h> |
| 21 | 18 |
.................... //////// Standard Header file for the PIC16F887 device //////////////// |
| ... | ... | |
| 24 | 21 |
.................... |
| 25 | 22 |
.................... #device adc=8 |
| 26 | 23 |
.................... |
| 27 |
.................... #FUSES NOWDT //No Watch Dog Timer
|
|
| 28 |
.................... #FUSES INTRC //Internal RC Osc
|
|
| 29 |
.................... #FUSES NOPUT //No Power Up Timer
|
|
| 30 |
.................... #FUSES MCLR //Master Clear pin enabled
|
|
| 31 |
.................... #FUSES NOPROTECT //Code not protected from reading
|
|
| 32 |
.................... #FUSES NOCPD //No EE protection
|
|
| 33 |
.................... #FUSES NOBROWNOUT //No brownout reset
|
|
| 34 |
.................... #FUSES IESO //Internal External Switch Over mode enabled
|
|
| 35 |
.................... #FUSES FCMEN //Fail-safe clock monitor enabled
|
|
| 36 |
.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
|
|
| 37 |
.................... #FUSES NODEBUG //No Debug mode for ICD
|
|
| 38 |
.................... #FUSES NOWRT //Program memory not write protected
|
|
| 39 |
.................... #FUSES BORV40 //Brownout reset at 4.0V
|
|
| 24 |
.................... #FUSES NOWDT //No Watch Dog Timer
|
|
| 25 |
.................... #FUSES INTRC //Internal RC Osc
|
|
| 26 |
.................... #FUSES NOPUT //No Power Up Timer
|
|
| 27 |
.................... #FUSES MCLR //Master Clear pin enabled
|
|
| 28 |
.................... #FUSES NOPROTECT //Code not protected from reading
|
|
| 29 |
.................... #FUSES NOCPD //No EE protection
|
|
| 30 |
.................... #FUSES NOBROWNOUT //No brownout reset
|
|
| 31 |
.................... #FUSES IESO //Internal External Switch Over mode enabled
|
|
| 32 |
.................... #FUSES FCMEN //Fail-safe clock monitor enabled
|
|
| 33 |
.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
|
|
| 34 |
.................... #FUSES NODEBUG //No Debug mode for ICD
|
|
| 35 |
.................... #FUSES NOWRT //Program memory not write protected
|
|
| 36 |
.................... #FUSES BORV40 //Brownout reset at 4.0V
|
|
| 40 | 37 |
.................... |
| 41 | 38 |
.................... #use delay(clock=8000000) |
| 42 | 39 |
* |
| 43 |
0221: MOVLW 28 |
|
| 44 |
0222: MOVWF 04 |
|
| 45 |
0223: BCF 03.7 |
|
| 46 |
0224: MOVF 00,W |
|
| 47 |
0225: BTFSC 03.2 |
|
| 48 |
0226: GOTO 234 |
|
| 49 |
0227: MOVLW 02 |
|
| 50 |
0228: MOVWF 78 |
|
| 51 |
0229: CLRF 77 |
|
| 52 |
022A: DECFSZ 77,F |
|
| 53 |
022B: GOTO 22A |
|
| 54 |
022C: DECFSZ 78,F |
|
| 55 |
022D: GOTO 229 |
|
| 56 |
022E: MOVLW 97 |
|
| 57 |
022F: MOVWF 77 |
|
| 58 |
0230: DECFSZ 77,F |
|
| 59 |
0231: GOTO 230 |
|
| 60 |
0232: DECFSZ 00,F |
|
| 61 |
0233: GOTO 227 |
|
| 62 |
0234: BCF 0A.3 |
|
| 63 |
0235: BCF 0A.4 |
|
| 64 |
0236: GOTO 310 (RETURN) |
|
| 65 |
.................... |
|
| 66 |
.................... |
|
| 67 |
.................... |
|
| 68 |
.................... #define EEPROM_SDA PIN_B0 |
|
| 69 |
.................... #define EEPROM_SCL PIN_B1 |
|
| 70 |
.................... #use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL) |
|
| 40 |
0069: MOVLW 27 |
|
| 41 |
006A: MOVWF 04 |
|
| 42 |
006B: BCF 03.7 |
|
| 43 |
006C: MOVF 00,W |
|
| 44 |
006D: BTFSC 03.2 |
|
| 45 |
006E: GOTO 07C |
|
| 46 |
006F: MOVLW 02 |
|
| 47 |
0070: MOVWF 78 |
|
| 48 |
0071: CLRF 77 |
|
| 49 |
0072: DECFSZ 77,F |
|
| 50 |
0073: GOTO 072 |
|
| 51 |
0074: DECFSZ 78,F |
|
| 52 |
0075: GOTO 071 |
|
| 53 |
0076: MOVLW 97 |
|
| 54 |
0077: MOVWF 77 |
|
| 55 |
0078: DECFSZ 77,F |
|
| 56 |
0079: GOTO 078 |
|
| 57 |
007A: DECFSZ 00,F |
|
| 58 |
007B: GOTO 06F |
|
| 59 |
007C: RETURN |
|
| 60 |
.................... #use i2c(master, sda=PIN_C4, scl=PIN_C3) |
|
| 71 | 61 |
* |
| 72 |
009F: MOVLW 08 |
|
| 73 |
00A0: MOVWF 78 |
|
| 74 |
00A1: NOP |
|
| 75 |
00A2: BCF 06.1 |
|
| 76 |
00A3: BSF 03.5 |
|
| 77 |
00A4: BCF 06.1 |
|
| 78 |
00A5: NOP |
|
| 79 |
00A6: BCF 03.5 |
|
| 80 |
00A7: RLF 2C,F |
|
| 81 |
00A8: BCF 06.0 |
|
| 82 |
00A9: BTFSS 03.0 |
|
| 83 |
00AA: GOTO 0AE |
|
| 84 |
00AB: BSF 03.5 |
|
| 85 |
00AC: BSF 06.0 |
|
| 86 |
00AD: BCF 03.5 |
|
| 87 |
00AE: BTFSC 03.0 |
|
| 88 |
00AF: GOTO 0B3 |
|
| 89 |
00B0: BSF 03.5 |
|
| 90 |
00B1: BCF 06.0 |
|
| 91 |
00B2: BCF 03.5 |
|
| 92 |
00B3: BSF 03.5 |
|
| 93 |
00B4: BSF 06.1 |
|
| 94 |
00B5: BCF 03.5 |
|
| 95 |
00B6: BTFSS 06.1 |
|
| 96 |
00B7: GOTO 0B6 |
|
| 97 |
00B8: DECFSZ 78,F |
|
| 98 |
00B9: GOTO 0A1 |
|
| 99 |
00BA: NOP |
|
| 100 |
00BB: BCF 06.1 |
|
| 101 |
00BC: BSF 03.5 |
|
| 102 |
00BD: BCF 06.1 |
|
| 103 |
00BE: NOP |
|
| 104 |
00BF: BSF 06.0 |
|
| 105 |
00C0: NOP |
|
| 106 |
00C1: NOP |
|
| 107 |
00C2: BSF 06.1 |
|
| 108 |
00C3: BCF 03.5 |
|
| 109 |
00C4: BTFSS 06.1 |
|
| 110 |
00C5: GOTO 0C4 |
|
| 111 |
00C6: CLRF 78 |
|
| 112 |
00C7: NOP |
|
| 113 |
00C8: BTFSC 06.0 |
|
| 114 |
00C9: BSF 78.0 |
|
| 115 |
00CA: BCF 06.1 |
|
| 116 |
00CB: BSF 03.5 |
|
| 117 |
00CC: BCF 06.1 |
|
| 118 |
00CD: BCF 03.5 |
|
| 119 |
00CE: BCF 06.0 |
|
| 120 |
00CF: BSF 03.5 |
|
| 121 |
00D0: BCF 06.0 |
|
| 122 |
00D1: BCF 03.5 |
|
| 123 |
00D2: RETURN |
|
| 62 |
001F: MOVLW 08 |
|
| 63 |
0020: MOVWF 78 |
|
| 64 |
0021: NOP |
|
| 65 |
0022: BCF 07.3 |
|
| 66 |
0023: BCF 20.3 |
|
| 67 |
0024: MOVF 20,W |
|
| 68 |
0025: BSF 03.5 |
|
| 69 |
0026: MOVWF 07 |
|
| 70 |
0027: NOP |
|
| 71 |
0028: BCF 03.5 |
|
| 72 |
0029: RLF 2C,F |
|
| 73 |
002A: BCF 07.4 |
|
| 74 |
002B: BTFSS 03.0 |
|
| 75 |
002C: GOTO 033 |
|
| 76 |
002D: BSF 20.4 |
|
| 77 |
002E: MOVF 20,W |
|
| 78 |
002F: BSF 03.5 |
|
| 79 |
0030: MOVWF 07 |
|
| 80 |
0031: GOTO 037 |
|
| 81 |
0032: BCF 03.5 |
|
| 82 |
0033: BCF 20.4 |
|
| 83 |
0034: MOVF 20,W |
|
| 84 |
0035: BSF 03.5 |
|
| 85 |
0036: MOVWF 07 |
|
| 86 |
0037: NOP |
|
| 87 |
0038: BCF 03.5 |
|
| 88 |
0039: BSF 20.3 |
|
| 89 |
003A: MOVF 20,W |
|
| 90 |
003B: BSF 03.5 |
|
| 91 |
003C: MOVWF 07 |
|
| 92 |
003D: BCF 03.5 |
|
| 93 |
003E: BTFSS 07.3 |
|
| 94 |
003F: GOTO 03E |
|
| 95 |
0040: DECFSZ 78,F |
|
| 96 |
0041: GOTO 021 |
|
| 97 |
0042: NOP |
|
| 98 |
0043: BCF 07.3 |
|
| 99 |
0044: BCF 20.3 |
|
| 100 |
0045: MOVF 20,W |
|
| 101 |
0046: BSF 03.5 |
|
| 102 |
0047: MOVWF 07 |
|
| 103 |
0048: NOP |
|
| 104 |
0049: BCF 03.5 |
|
| 105 |
004A: BSF 20.4 |
|
| 106 |
004B: MOVF 20,W |
|
| 107 |
004C: BSF 03.5 |
|
| 108 |
004D: MOVWF 07 |
|
| 109 |
004E: NOP |
|
| 110 |
004F: NOP |
|
| 111 |
0050: BCF 03.5 |
|
| 112 |
0051: BSF 20.3 |
|
| 113 |
0052: MOVF 20,W |
|
| 114 |
0053: BSF 03.5 |
|
| 115 |
0054: MOVWF 07 |
|
| 116 |
0055: BCF 03.5 |
|
| 117 |
0056: BTFSS 07.3 |
|
| 118 |
0057: GOTO 056 |
|
| 119 |
0058: CLRF 78 |
|
| 120 |
0059: NOP |
|
| 121 |
005A: BTFSC 07.4 |
|
| 122 |
005B: BSF 78.0 |
|
| 123 |
005C: BCF 07.3 |
|
| 124 |
005D: BCF 20.3 |
|
| 125 |
005E: MOVF 20,W |
|
| 126 |
005F: BSF 03.5 |
|
| 127 |
0060: MOVWF 07 |
|
| 128 |
0061: BCF 03.5 |
|
| 129 |
0062: BCF 07.4 |
|
| 130 |
0063: BCF 20.4 |
|
| 131 |
0064: MOVF 20,W |
|
| 132 |
0065: BSF 03.5 |
|
| 133 |
0066: MOVWF 07 |
|
| 134 |
0067: BCF 03.5 |
|
| 135 |
0068: RETURN |
|
| 124 | 136 |
* |
| 125 |
0107: MOVLW 08 |
|
| 126 |
0108: MOVWF 2D |
|
| 127 |
0109: MOVF 77,W |
|
| 128 |
010A: MOVWF 2E |
|
| 129 |
010B: BSF 03.5 |
|
| 130 |
010C: BSF 06.0 |
|
| 131 |
010D: NOP |
|
| 132 |
010E: BSF 06.1 |
|
| 133 |
010F: BCF 03.5 |
|
| 134 |
0110: BTFSS 06.1 |
|
| 135 |
0111: GOTO 110 |
|
| 136 |
0112: BTFSC 06.0 |
|
| 137 |
0113: BSF 03.0 |
|
| 138 |
0114: BTFSS 06.0 |
|
| 139 |
0115: BCF 03.0 |
|
| 140 |
0116: RLF 78,F |
|
| 141 |
0117: NOP |
|
| 142 |
0118: BSF 03.5 |
|
| 143 |
0119: BCF 06.1 |
|
| 144 |
011A: BCF 03.5 |
|
| 145 |
011B: BCF 06.1 |
|
| 146 |
011C: DECFSZ 2D,F |
|
| 147 |
011D: GOTO 10B |
|
| 148 |
011E: BSF 03.5 |
|
| 149 |
011F: BSF 06.0 |
|
| 150 |
0120: NOP |
|
| 151 |
0121: BCF 03.5 |
|
| 152 |
0122: BCF 06.0 |
|
| 153 |
0123: MOVF 2E,W |
|
| 154 |
0124: BTFSC 03.2 |
|
| 155 |
0125: GOTO 129 |
|
| 156 |
0126: BSF 03.5 |
|
| 157 |
0127: BCF 06.0 |
|
| 158 |
0128: BCF 03.5 |
|
| 159 |
0129: NOP |
|
| 160 |
012A: BSF 03.5 |
|
| 161 |
012B: BSF 06.1 |
|
| 162 |
012C: BCF 03.5 |
|
| 163 |
012D: BTFSS 06.1 |
|
| 164 |
012E: GOTO 12D |
|
| 165 |
012F: NOP |
|
| 166 |
0130: BCF 06.1 |
|
| 137 |
01EB: MOVLW 08 |
|
| 138 |
01EC: MOVWF 2D |
|
| 139 |
01ED: MOVF 77,W |
|
| 140 |
01EE: MOVWF 2E |
|
| 141 |
01EF: BSF 20.4 |
|
| 142 |
01F0: MOVF 20,W |
|
| 143 |
01F1: BSF 03.5 |
|
| 144 |
01F2: MOVWF 07 |
|
| 145 |
01F3: NOP |
|
| 146 |
01F4: BCF 03.5 |
|
| 147 |
01F5: BSF 20.3 |
|
| 148 |
01F6: MOVF 20,W |
|
| 149 |
01F7: BSF 03.5 |
|
| 150 |
01F8: MOVWF 07 |
|
| 151 |
01F9: BCF 03.5 |
|
| 152 |
01FA: BTFSS 07.3 |
|
| 153 |
01FB: GOTO 1FA |
|
| 154 |
01FC: BTFSC 07.4 |
|
| 155 |
01FD: BSF 03.0 |
|
| 156 |
01FE: BTFSS 07.4 |
|
| 157 |
01FF: BCF 03.0 |
|
| 158 |
0200: RLF 78,F |
|
| 159 |
0201: NOP |
|
| 160 |
0202: BCF 20.3 |
|
| 161 |
0203: MOVF 20,W |
|
| 162 |
0204: BSF 03.5 |
|
| 163 |
0205: MOVWF 07 |
|
| 164 |
0206: BCF 03.5 |
|
| 165 |
0207: BCF 07.3 |
|
| 166 |
0208: DECFSZ 2D,F |
|
| 167 |
0209: GOTO 1EF |
|
| 168 |
020A: BSF 20.4 |
|
| 169 |
020B: MOVF 20,W |
|
| 170 |
020C: BSF 03.5 |
|
| 171 |
020D: MOVWF 07 |
|
| 172 |
020E: NOP |
|
| 173 |
020F: BCF 03.5 |
|
| 174 |
0210: BCF 07.4 |
|
| 175 |
0211: MOVF 2E,W |
|
| 176 |
0212: BTFSC 03.2 |
|
| 177 |
0213: GOTO 219 |
|
| 178 |
0214: BCF 20.4 |
|
| 179 |
0215: MOVF 20,W |
|
| 180 |
0216: BSF 03.5 |
|
| 181 |
0217: MOVWF 07 |
|
| 182 |
0218: BCF 03.5 |
|
| 183 |
0219: NOP |
|
| 184 |
021A: BSF 20.3 |
|
| 185 |
021B: MOVF 20,W |
|
| 186 |
021C: BSF 03.5 |
|
| 187 |
021D: MOVWF 07 |
|
| 188 |
021E: BCF 03.5 |
|
| 189 |
021F: BTFSS 07.3 |
|
| 190 |
0220: GOTO 21F |
|
| 191 |
0221: NOP |
|
| 192 |
0222: BCF 07.3 |
|
| 193 |
0223: BCF 20.3 |
|
| 194 |
0224: MOVF 20,W |
|
| 195 |
0225: BSF 03.5 |
|
| 196 |
0226: MOVWF 07 |
|
| 197 |
0227: NOP |
|
| 198 |
0228: BCF 03.5 |
|
| 199 |
0229: BCF 07.4 |
|
| 200 |
022A: BCF 20.4 |
|
| 201 |
022B: MOVF 20,W |
|
| 202 |
022C: BSF 03.5 |
|
| 203 |
022D: MOVWF 07 |
|
| 204 |
.................... #use rs232(baud=9600,parity=N,xmit=PIN_C7,rcv=PIN_C6,bits=8) //rcv TXD xmit RXD |
|
| 205 |
* |
|
| 206 |
012F: BCF 20.7 |
|
| 207 |
0130: MOVF 20,W |
|
| 167 | 208 |
0131: BSF 03.5 |
| 168 |
0132: BCF 06.1 |
|
| 169 |
0133: NOP |
|
| 170 |
0134: BCF 03.5 |
|
| 171 |
0135: BCF 06.0 |
|
| 172 |
0136: BSF 03.5 |
|
| 173 |
0137: BCF 06.0 |
|
| 174 |
.................... #use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD |
|
| 175 |
* |
|
| 176 |
0037: BSF 03.5 |
|
| 177 |
0038: BCF 06.3 |
|
| 178 |
0039: BCF 03.5 |
|
| 179 |
003A: BCF 06.3 |
|
| 180 |
003B: MOVLW 08 |
|
| 181 |
003C: MOVWF 78 |
|
| 182 |
003D: GOTO 03E |
|
| 183 |
003E: NOP |
|
| 184 |
003F: BSF 78.7 |
|
| 185 |
0040: GOTO 04F |
|
| 186 |
0041: BCF 78.7 |
|
| 187 |
0042: RRF 30,F |
|
| 188 |
0043: BTFSC 03.0 |
|
| 189 |
0044: BSF 06.3 |
|
| 190 |
0045: BTFSS 03.0 |
|
| 191 |
0046: BCF 06.3 |
|
| 192 |
0047: BSF 78.6 |
|
| 193 |
0048: GOTO 04F |
|
| 194 |
0049: BCF 78.6 |
|
| 195 |
004A: DECFSZ 78,F |
|
| 196 |
004B: GOTO 042 |
|
| 197 |
004C: GOTO 04D |
|
| 198 |
004D: NOP |
|
| 199 |
004E: BSF 06.3 |
|
| 200 |
004F: MOVLW 3F |
|
| 201 |
0050: MOVWF 04 |
|
| 202 |
0051: DECFSZ 04,F |
|
| 203 |
0052: GOTO 051 |
|
| 204 |
0053: NOP |
|
| 205 |
0054: BTFSC 78.7 |
|
| 206 |
0055: GOTO 041 |
|
| 207 |
0056: BTFSC 78.6 |
|
| 208 |
0057: GOTO 049 |
|
| 209 |
0058: RETURN |
|
| 209 |
0132: MOVWF 07 |
|
| 210 |
0133: BCF 03.5 |
|
| 211 |
0134: BCF 07.7 |
|
| 212 |
0135: MOVLW 08 |
|
| 213 |
0136: MOVWF 78 |
|
| 214 |
0137: GOTO 138 |
|
| 215 |
0138: NOP |
|
| 216 |
0139: BSF 78.7 |
|
| 217 |
013A: GOTO 149 |
|
| 218 |
013B: BCF 78.7 |
|
| 219 |
013C: RRF 30,F |
|
| 220 |
013D: BTFSC 03.0 |
|
| 221 |
013E: BSF 07.7 |
|
| 222 |
013F: BTFSS 03.0 |
|
| 223 |
0140: BCF 07.7 |
|
| 224 |
0141: BSF 78.6 |
|
| 225 |
0142: GOTO 149 |
|
| 226 |
0143: BCF 78.6 |
|
| 227 |
0144: DECFSZ 78,F |
|
| 228 |
0145: GOTO 13C |
|
| 229 |
0146: GOTO 147 |
|
| 230 |
0147: NOP |
|
| 231 |
0148: BSF 07.7 |
|
| 232 |
0149: MOVLW 3F |
|
| 233 |
014A: MOVWF 04 |
|
| 234 |
014B: DECFSZ 04,F |
|
| 235 |
014C: GOTO 14B |
|
| 236 |
014D: NOP |
|
| 237 |
014E: BTFSC 78.7 |
|
| 238 |
014F: GOTO 13B |
|
| 239 |
0150: BTFSC 78.6 |
|
| 240 |
0151: GOTO 143 |
|
| 241 |
0152: RETURN |
|
| 210 | 242 |
.................... |
| 243 |
.................... |
|
| 211 | 244 |
.................... #include "HMC5883L.h" |
| 212 | 245 |
.................... #define MAG_ADDR_R 0x3D //addresa pro cteni |
| 213 | 246 |
.................... #define MAG_ADDR_W 0x3C |
| ... | ... | |
| 229 | 262 |
.................... void set_mag (void) //uvodni nastaveni na kontinualni mereni, rozsah ? 8.1 Ga, frekvence mereni 15HZ |
| 230 | 263 |
.................... {
|
| 231 | 264 |
.................... i2c_start(); //nastaven? Configuration Register A |
| 265 |
* |
|
| 266 |
007D: BSF 20.4 |
|
| 267 |
007E: MOVF 20,W |
|
| 268 |
007F: BSF 03.5 |
|
| 269 |
0080: MOVWF 07 |
|
| 270 |
0081: NOP |
|
| 271 |
0082: BCF 03.5 |
|
| 272 |
0083: BSF 20.3 |
|
| 273 |
0084: MOVF 20,W |
|
| 274 |
0085: BSF 03.5 |
|
| 275 |
0086: MOVWF 07 |
|
| 276 |
0087: NOP |
|
| 277 |
0088: BCF 03.5 |
|
| 278 |
0089: BCF 07.4 |
|
| 279 |
008A: BCF 20.4 |
|
| 280 |
008B: MOVF 20,W |
|
| 281 |
008C: BSF 03.5 |
|
| 282 |
008D: MOVWF 07 |
|
| 283 |
008E: NOP |
|
| 284 |
008F: BCF 03.5 |
|
| 285 |
0090: BCF 07.3 |
|
| 286 |
0091: BCF 20.3 |
|
| 287 |
0092: MOVF 20,W |
|
| 288 |
0093: BSF 03.5 |
|
| 289 |
0094: MOVWF 07 |
|
| 232 | 290 |
.................... I2C_Write(MAG_ADDR_W); |
| 291 |
0095: MOVLW 3C |
|
| 292 |
0096: BCF 03.5 |
|
| 293 |
0097: MOVWF 2C |
|
| 294 |
0098: CALL 01F |
|
| 233 | 295 |
.................... I2C_Write(0x00); |
| 296 |
0099: CLRF 2C |
|
| 297 |
009A: CALL 01F |
|
| 234 | 298 |
.................... I2C_Write(0x70); |
| 299 |
009B: MOVLW 70 |
|
| 300 |
009C: MOVWF 2C |
|
| 301 |
009D: CALL 01F |
|
| 235 | 302 |
.................... i2c_stop(); |
| 303 |
009E: BCF 20.4 |
|
| 304 |
009F: MOVF 20,W |
|
| 305 |
00A0: BSF 03.5 |
|
| 306 |
00A1: MOVWF 07 |
|
| 307 |
00A2: NOP |
|
| 308 |
00A3: BCF 03.5 |
|
| 309 |
00A4: BSF 20.3 |
|
| 310 |
00A5: MOVF 20,W |
|
| 311 |
00A6: BSF 03.5 |
|
| 312 |
00A7: MOVWF 07 |
|
| 313 |
00A8: BCF 03.5 |
|
| 314 |
00A9: BTFSS 07.3 |
|
| 315 |
00AA: GOTO 0A9 |
|
| 316 |
00AB: NOP |
|
| 317 |
00AC: GOTO 0AD |
|
| 318 |
00AD: NOP |
|
| 319 |
00AE: BSF 20.4 |
|
| 320 |
00AF: MOVF 20,W |
|
| 321 |
00B0: BSF 03.5 |
|
| 322 |
00B1: MOVWF 07 |
|
| 323 |
00B2: NOP |
|
| 236 | 324 |
.................... Delay_ms(6); |
| 325 |
00B3: MOVLW 06 |
|
| 326 |
00B4: BCF 03.5 |
|
| 327 |
00B5: MOVWF 27 |
|
| 328 |
00B6: CALL 069 |
|
| 237 | 329 |
.................... |
| 238 | 330 |
.................... i2c_start(); //nastaven? Configuration Register B |
| 331 |
00B7: BSF 20.4 |
|
| 332 |
00B8: MOVF 20,W |
|
| 333 |
00B9: BSF 03.5 |
|
| 334 |
00BA: MOVWF 07 |
|
| 335 |
00BB: NOP |
|
| 336 |
00BC: BCF 03.5 |
|
| 337 |
00BD: BSF 20.3 |
|
| 338 |
00BE: MOVF 20,W |
|
| 339 |
00BF: BSF 03.5 |
|
| 340 |
00C0: MOVWF 07 |
|
| 341 |
00C1: NOP |
|
| 342 |
00C2: BCF 03.5 |
|
| 343 |
00C3: BCF 07.4 |
|
| 344 |
00C4: BCF 20.4 |
|
| 345 |
00C5: MOVF 20,W |
|
| 346 |
00C6: BSF 03.5 |
|
| 347 |
00C7: MOVWF 07 |
|
| 348 |
00C8: NOP |
|
| 349 |
00C9: BCF 03.5 |
|
| 350 |
00CA: BCF 07.3 |
|
| 351 |
00CB: BCF 20.3 |
|
| 352 |
00CC: MOVF 20,W |
|
| 353 |
00CD: BSF 03.5 |
|
| 354 |
00CE: MOVWF 07 |
|
| 239 | 355 |
.................... I2C_Write(MAG_ADDR_W); |
| 356 |
00CF: MOVLW 3C |
|
| 357 |
00D0: BCF 03.5 |
|
| 358 |
00D1: MOVWF 2C |
|
| 359 |
00D2: CALL 01F |
|
| 240 | 360 |
.................... I2C_Write(0x01); |
| 361 |
00D3: MOVLW 01 |
|
| 362 |
00D4: MOVWF 2C |
|
| 363 |
00D5: CALL 01F |
|
| 241 | 364 |
.................... I2C_Write(MAG_ROZ810); |
| 365 |
00D6: MOVLW E0 |
|
| 366 |
00D7: MOVWF 2C |
|
| 367 |
00D8: CALL 01F |
|
| 242 | 368 |
.................... i2c_stop(); |
| 369 |
00D9: BCF 20.4 |
|
| 370 |
00DA: MOVF 20,W |
|
| 371 |
00DB: BSF 03.5 |
|
| 372 |
00DC: MOVWF 07 |
|
| 373 |
00DD: NOP |
|
| 374 |
00DE: BCF 03.5 |
|
| 375 |
00DF: BSF 20.3 |
|
| 376 |
00E0: MOVF 20,W |
|
| 377 |
00E1: BSF 03.5 |
|
| 378 |
00E2: MOVWF 07 |
|
| 379 |
00E3: BCF 03.5 |
|
| 380 |
00E4: BTFSS 07.3 |
|
| 381 |
00E5: GOTO 0E4 |
|
| 382 |
00E6: NOP |
|
| 383 |
00E7: GOTO 0E8 |
|
| 384 |
00E8: NOP |
|
| 385 |
00E9: BSF 20.4 |
|
| 386 |
00EA: MOVF 20,W |
|
| 387 |
00EB: BSF 03.5 |
|
| 388 |
00EC: MOVWF 07 |
|
| 389 |
00ED: NOP |
|
| 243 | 390 |
.................... |
| 244 | 391 |
.................... Delay_ms(6); |
| 392 |
00EE: MOVLW 06 |
|
| 393 |
00EF: BCF 03.5 |
|
| 394 |
00F0: MOVWF 27 |
|
| 395 |
00F1: CALL 069 |
|
| 245 | 396 |
.................... |
| 246 | 397 |
.................... i2c_start(); //nastveni Mode Register |
| 398 |
00F2: BSF 20.4 |
|
| 399 |
00F3: MOVF 20,W |
|
| 400 |
00F4: BSF 03.5 |
|
| 401 |
00F5: MOVWF 07 |
|
| 402 |
00F6: NOP |
|
| 403 |
00F7: BCF 03.5 |
|
| 404 |
00F8: BSF 20.3 |
|
| 405 |
00F9: MOVF 20,W |
|
| 406 |
00FA: BSF 03.5 |
|
| 407 |
00FB: MOVWF 07 |
|
| 408 |
00FC: NOP |
|
| 409 |
00FD: BCF 03.5 |
|
| 410 |
00FE: BCF 07.4 |
|
| 411 |
00FF: BCF 20.4 |
|
| 412 |
0100: MOVF 20,W |
|
| 413 |
0101: BSF 03.5 |
|
| 414 |
0102: MOVWF 07 |
|
| 415 |
0103: NOP |
|
| 416 |
0104: BCF 03.5 |
|
| 417 |
0105: BCF 07.3 |
|
| 418 |
0106: BCF 20.3 |
|
| 419 |
0107: MOVF 20,W |
|
| 420 |
0108: BSF 03.5 |
|
| 421 |
0109: MOVWF 07 |
|
| 247 | 422 |
.................... I2C_Write(MAG_ADDR_W); |
| 423 |
010A: MOVLW 3C |
|
| 424 |
010B: BCF 03.5 |
|
| 425 |
010C: MOVWF 2C |
|
| 426 |
010D: CALL 01F |
|
| 248 | 427 |
.................... I2C_Write(0x02); |
| 428 |
010E: MOVLW 02 |
|
| 429 |
010F: MOVWF 2C |
|
| 430 |
0110: CALL 01F |
|
| 249 | 431 |
.................... I2C_Write(0x00); |
| 432 |
0111: CLRF 2C |
|
| 433 |
0112: CALL 01F |
|
| 250 | 434 |
.................... i2c_stop(); |
| 435 |
0113: BCF 20.4 |
|
| 436 |
0114: MOVF 20,W |
|
| 437 |
0115: BSF 03.5 |
|
| 438 |
0116: MOVWF 07 |
|
| 439 |
0117: NOP |
|
| 440 |
0118: BCF 03.5 |
|
| 441 |
0119: BSF 20.3 |
|
| 442 |
011A: MOVF 20,W |
|
| 443 |
011B: BSF 03.5 |
|
| 444 |
011C: MOVWF 07 |
|
| 445 |
011D: BCF 03.5 |
|
| 446 |
011E: BTFSS 07.3 |
|
| 447 |
011F: GOTO 11E |
|
| 448 |
0120: NOP |
|
| 449 |
0121: GOTO 122 |
|
| 450 |
0122: NOP |
|
| 451 |
0123: BSF 20.4 |
|
| 452 |
0124: MOVF 20,W |
|
| 453 |
0125: BSF 03.5 |
|
| 454 |
0126: MOVWF 07 |
|
| 455 |
0127: NOP |
|
| 251 | 456 |
.................... Delay_ms(6); |
| 457 |
0128: MOVLW 06 |
|
| 458 |
0129: BCF 03.5 |
|
| 459 |
012A: MOVWF 27 |
|
| 460 |
012B: CALL 069 |
|
| 252 | 461 |
.................... } |
| 462 |
012C: BCF 0A.3 |
|
| 463 |
012D: BCF 0A.4 |
|
| 464 |
012E: GOTO 37F (RETURN) |
|
| 253 | 465 |
.................... |
| 254 | 466 |
.................... void set_mag_roz (unsigned int8 h) //nastavy rozsah |
| 255 | 467 |
.................... {
|
| ... | ... | |
| 274 | 486 |
.................... |
| 275 | 487 |
.................... i2c_start(); |
| 276 | 488 |
* |
| 277 |
00D3: BSF 03.5 |
|
| 278 |
00D4: BSF 06.0 |
|
| 279 |
00D5: NOP |
|
| 280 |
00D6: BSF 06.1 |
|
| 281 |
00D7: NOP |
|
| 282 |
00D8: BCF 03.5 |
|
| 283 |
00D9: BCF 06.0 |
|
| 284 |
00DA: BSF 03.5 |
|
| 285 |
00DB: BCF 06.0 |
|
| 286 |
00DC: NOP |
|
| 287 |
00DD: BCF 03.5 |
|
| 288 |
00DE: BCF 06.1 |
|
| 289 |
00DF: BSF 03.5 |
|
| 290 |
00E0: BCF 06.1 |
|
| 489 |
0199: BSF 20.4 |
|
| 490 |
019A: MOVF 20,W |
|
| 491 |
019B: BSF 03.5 |
|
| 492 |
019C: MOVWF 07 |
|
| 493 |
019D: NOP |
|
| 494 |
019E: BCF 03.5 |
|
| 495 |
019F: BSF 20.3 |
|
| 496 |
01A0: MOVF 20,W |
|
| 497 |
01A1: BSF 03.5 |
|
| 498 |
01A2: MOVWF 07 |
|
| 499 |
01A3: NOP |
|
| 500 |
01A4: BCF 03.5 |
|
| 501 |
01A5: BCF 07.4 |
|
| 502 |
01A6: BCF 20.4 |
|
| 503 |
01A7: MOVF 20,W |
|
| 504 |
01A8: BSF 03.5 |
|
| 505 |
01A9: MOVWF 07 |
|
| 506 |
01AA: NOP |
|
| 507 |
01AB: BCF 03.5 |
|
| 508 |
01AC: BCF 07.3 |
|
| 509 |
01AD: BCF 20.3 |
|
| 510 |
01AE: MOVF 20,W |
|
| 511 |
01AF: BSF 03.5 |
|
| 512 |
01B0: MOVWF 07 |
|
| 291 | 513 |
.................... I2C_Write(MAG_ADDR_W); |
| 292 |
00E1: MOVLW 3C
|
|
| 293 |
00E2: BCF 03.5
|
|
| 294 |
00E3: MOVWF 2C
|
|
| 295 |
00E4: CALL 09F
|
|
| 514 |
01B1: MOVLW 3C
|
|
| 515 |
01B2: BCF 03.5
|
|
| 516 |
01B3: MOVWF 2C
|
|
| 517 |
01B4: CALL 01F
|
|
| 296 | 518 |
.................... I2C_write(reg); |
| 297 |
00E5: MOVF 2B,W
|
|
| 298 |
00E6: MOVWF 2C
|
|
| 299 |
00E7: CALL 09F
|
|
| 519 |
01B5: MOVF 2B,W
|
|
| 520 |
01B6: MOVWF 2C
|
|
| 521 |
01B7: CALL 01F
|
|
| 300 | 522 |
.................... i2c_stop(); |
| 301 |
00E8: BSF 03.5 |
|
| 302 |
00E9: BCF 06.0 |
|
| 303 |
00EA: NOP |
|
| 304 |
00EB: BSF 06.1 |
|
| 305 |
00EC: BCF 03.5 |
|
| 306 |
00ED: BTFSS 06.1 |
|
| 307 |
00EE: GOTO 0ED |
|
| 308 |
00EF: NOP |
|
| 309 |
00F0: GOTO 0F1 |
|
| 310 |
00F1: NOP |
|
| 311 |
00F2: BSF 03.5 |
|
| 312 |
00F3: BSF 06.0 |
|
| 313 |
00F4: NOP |
|
| 523 |
01B8: BCF 20.4 |
|
| 524 |
01B9: MOVF 20,W |
|
| 525 |
01BA: BSF 03.5 |
|
| 526 |
01BB: MOVWF 07 |
|
| 527 |
01BC: NOP |
|
| 528 |
01BD: BCF 03.5 |
|
| 529 |
01BE: BSF 20.3 |
|
| 530 |
01BF: MOVF 20,W |
|
| 531 |
01C0: BSF 03.5 |
|
| 532 |
01C1: MOVWF 07 |
|
| 533 |
01C2: BCF 03.5 |
|
| 534 |
01C3: BTFSS 07.3 |
|
| 535 |
01C4: GOTO 1C3 |
|
| 536 |
01C5: NOP |
|
| 537 |
01C6: GOTO 1C7 |
|
| 538 |
01C7: NOP |
|
| 539 |
01C8: BSF 20.4 |
|
| 540 |
01C9: MOVF 20,W |
|
| 541 |
01CA: BSF 03.5 |
|
| 542 |
01CB: MOVWF 07 |
|
| 543 |
01CC: NOP |
|
| 314 | 544 |
.................... i2c_start(); |
| 315 |
00F5: BSF 06.0 |
|
| 316 |
00F6: NOP |
|
| 317 |
00F7: BSF 06.1 |
|
| 318 |
00F8: NOP |
|
| 319 |
00F9: BCF 03.5 |
|
| 320 |
00FA: BCF 06.0 |
|
| 321 |
00FB: BSF 03.5 |
|
| 322 |
00FC: BCF 06.0 |
|
| 323 |
00FD: NOP |
|
| 324 |
00FE: BCF 03.5 |
|
| 325 |
00FF: BCF 06.1 |
|
| 326 |
0100: BSF 03.5 |
|
| 327 |
0101: BCF 06.1 |
|
| 545 |
01CD: BCF 03.5 |
|
| 546 |
01CE: BSF 20.4 |
|
| 547 |
01CF: MOVF 20,W |
|
| 548 |
01D0: BSF 03.5 |
|
| 549 |
01D1: MOVWF 07 |
|
| 550 |
01D2: NOP |
|
| 551 |
01D3: BCF 03.5 |
|
| 552 |
01D4: BSF 20.3 |
|
| 553 |
01D5: MOVF 20,W |
|
| 554 |
01D6: BSF 03.5 |
|
| 555 |
01D7: MOVWF 07 |
|
| 556 |
01D8: NOP |
|
| 557 |
01D9: BCF 03.5 |
|
| 558 |
01DA: BCF 07.4 |
|
| 559 |
01DB: BCF 20.4 |
|
| 560 |
01DC: MOVF 20,W |
|
| 561 |
01DD: BSF 03.5 |
|
| 562 |
01DE: MOVWF 07 |
|
| 563 |
01DF: NOP |
|
| 564 |
01E0: BCF 03.5 |
|
| 565 |
01E1: BCF 07.3 |
|
| 566 |
01E2: BCF 20.3 |
|
| 567 |
01E3: MOVF 20,W |
|
| 568 |
01E4: BSF 03.5 |
|
| 569 |
01E5: MOVWF 07 |
|
| 328 | 570 |
.................... I2C_Write(MAG_ADDR_R); |
| 329 |
0102: MOVLW 3D
|
|
| 330 |
0103: BCF 03.5
|
|
| 331 |
0104: MOVWF 2C
|
|
| 332 |
0105: CALL 09F
|
|
| 571 |
01E6: MOVLW 3D
|
|
| 572 |
01E7: BCF 03.5
|
|
| 573 |
01E8: MOVWF 2C
|
|
| 574 |
01E9: CALL 01F
|
|
| 333 | 575 |
.................... reg=i2c_read(0); |
| 334 |
0106: CLRF 77
|
|
| 576 |
01EA: CLRF 77
|
|
| 335 | 577 |
* |
| 336 |
0138: MOVF 78,W
|
|
| 337 |
0139: BCF 03.5
|
|
| 338 |
013A: MOVWF 2B
|
|
| 578 |
022E: MOVF 78,W
|
|
| 579 |
022F: BCF 03.5
|
|
| 580 |
0230: MOVWF 2B
|
|
| 339 | 581 |
.................... return reg; |
| 340 |
013B: MOVF 2B,W
|
|
| 341 |
013C: MOVWF 78
|
|
| 582 |
0231: MOVF 2B,W
|
|
| 583 |
0232: MOVWF 78
|
|
| 342 | 584 |
.................... } |
| 343 |
013D: RETURN
|
|
| 585 |
0233: RETURN
|
|
| 344 | 586 |
.................... |
| 345 | 587 |
.................... |
| 346 | 588 |
.................... signed int16 mag_vypocet(unsigned int8 h, unsigned int8 l) //prepocet na 16bit cislo |
| 347 | 589 |
.................... {
|
| 348 | 590 |
.................... signed int16 x; |
| 349 | 591 |
.................... x = (((unsigned int16) h << 8) + l ); |
| 350 |
013E: CLRF 30 |
|
| 351 |
013F: MOVF 2B,W |
|
| 352 |
0140: MOVWF 2F |
|
| 353 |
0141: MOVWF 30 |
|
| 354 |
0142: CLRF 2F |
|
| 355 |
0143: MOVF 2C,W |
|
| 356 |
0144: ADDWF 2F,W |
|
| 357 |
0145: MOVWF 78 |
|
| 358 |
0146: MOVF 30,W |
|
| 359 |
0147: MOVWF 7A |
|
| 360 |
0148: BTFSC 03.0 |
|
| 361 |
0149: INCF 7A,F |
|
| 362 |
014A: MOVF 78,W |
|
| 363 |
014B: MOVWF 2D |
|
| 364 |
014C: MOVF 7A,W |
|
| 365 |
014D: MOVWF 2E |
|
| 592 |
0234: CLRF 30 |
|
| 593 |
0235: MOVF 2B,W |
|
| 594 |
0236: MOVWF 2F |
|
| 595 |
0237: MOVWF 30 |
|
| 596 |
0238: CLRF 2F |
|
| 597 |
0239: MOVF 2C,W |
|
| 598 |
023A: ADDWF 2F,W |
|
| 599 |
023B: MOVWF 78 |
|
| 600 |
023C: MOVF 30,W |
|