/roboti/solarni/2006/scamnum_specularis/menic.BAK |
---|
0,0 → 1,170 |
// ************************************* |
// * Scamnum Specularis ** 20. 9. 2006 * |
// ************************************* |
#include ".\menic.h" |
#define TXo PIN_B5 // To the transmitter modulator |
#include ".\AX25.c" // Podprogram pro prenos telemetrie |
char AXstring[40]; // Buffer pro prenos telemetrie |
#define REFSTART 95 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
#define DUTY1 2 // Delka sepnuti PWM v us pro sero |
#define DUTY2 19 // Delka sepnuti PWM v us pro jednu zarovku 500W |
// Tabulka hodnot prevodniku pro ruzna napajeci napeti |
// 80 3,99V |
// 90 3,54V |
// 100 3,20V |
// 105 3,04V |
// 107 2,99V |
// 110 2,91v |
// 200 1,61V |
#define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
#define LED PIN_A7 // LED / druhy pol piezo reproduktoru |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#define SW1 PIN_B6 // DIPswitch 1 |
#define SW2 PIN_B7 // DIPswitch 2 |
#define NAPETI 4 // Cislo kanalu DA prevodniku pro mereni napeti |
#define PWM 0 // Cislo kanalu DA prevodniku pro nastaveni PWM |
#define ROZJEZD 1 // Cislo kanalu DA prevodniku pro nastaveni rozjezdu |
#byte SSPBUF = 0x13 // Adresy registru jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void pip() // pipnuti a bliknuti |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
{ |
output_bit(PIEZO,~input(PIEZO)); |
} |
void main() |
{ |
int8 n; |
int8 perioda; |
int8 razeni; |
int8 uclanku; |
int16 ble; |
setup_timer_0(RTCC_INTERNAL);setup_wdt(WDT_1152MS); |
setup_timer_1(T1_DISABLED); |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN0|sAN1|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
output_high(LED); |
output_high(PIEZO); |
set_adc_channel(NAPETI); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(DUTY1); // PWM pro zatizeni clanku pri malem osvetleni |
n=0; |
do |
{ |
output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
delay_ms(100); |
if (4==n++) {cvak(); n=0;}; // Kazdy 4. pruchod cvakni |
output_high(REFPWR); // Zapni napajeni napetove reference |
delay_ms(1); // Pockej na ustaleni napeti |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
// port_b_pullups(TRUE); // Zapni pullupy, aby slo cist DIPswitch |
// do |
// { |
// Precti trimry |
set_adc_channel(PWM); // Zjisteni nastaveni PWM |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
perioda=(read_adc()>>2)+40; // rozsah: 40 az 103 |
set_adc_channel(ROZJEZD); // Zjisteni nastaveni rozjezdu |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
razeni=read_adc()>>3; // rozsah: 0 az 31 |
// Rozjeti menice |
set_pwm1_duty(0); // Zastav PWM, aby slo nastavit jinou frekvenci |
setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
set_pwm1_duty(DUTY2); // PWM pro zatizeni clanku pri jedne 500W zarovce |
pip(); // potvrzeni odstartovani / servisni mod |
delay_ms(500); |
// } while (input(SW1)); // Je zapnut servisni mod? SW1(OFF)=ANO |
// port_b_pullups(FALSE); // Vypni pullupy, aby se setrilo energii |
// zmereni napeti na clancich |
output_high(REFPWR); // Prepni AD na mereni napeti clanku |
set_adc_channel(NAPETI); // Prepni Zmer napeti clanku |
delay_us(50); // Pockej na prepnuti kanalu A/D prevodniku |
uclanku=read_adc(); |
output_low(REFPWR); // odpoj odpor pro mereni napeti |
// posli telemetrii |
sprintf(AXstring,"p=%u r=%u u=%u", perioda, razeni, uclanku); // Convert DATA to String. |
SendPacket(&AXstring[0]); |
delay_ms(14000); // Pockame do 14.5s |
// rozjezd |
for(ble=1;ble<=1000;ble++) |
{ |
for(n=0;n<=razeni;n++) |
{ |
output_high(MOTOR); |
delay_us(ble); |
output_low(MOTOR); |
delay_us(1000-ble); |
} |
} |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1300); // Nemeli bysme jet dele nez 1,3s :-) |
output_low(MOTOR); // Zastav motor |
// Menic je stale zapnut a zatezuje clanky |
while(TRUE); // Cekej, dokud se neztrati svetlo, |
// nebo prijde WatchDog |
} |
/roboti/solarni/2006/scamnum_specularis/menic.HEX |
---|
0,0 → 1,108 |
:1000000000308A00C3290000FF00030E8301A10015 |
:100010007F08A0000A08A8008A01A00E0408A20018 |
:100020007708A3007808A4007908A5007A08A6003C |
:100030007B08A700831383128C308400801D222844 |
:100040008C193528220884002308F7002408F800BA |
:100050002508F9002608FA002708FB0028088A006E |
:10006000210E8300FF0E7F0E09008A1137286808D1 |
:1000700093008C118A112228713084000008031922 |
:1000800051280130F800BF30F7006400F70B452815 |
:10009000F80B43284230F700F70B4C286400800B24 |
:1000A00041280034831605178312051F59280513AC |
:1000B0005A2805178316051383128A11632AF10142 |
:1000C0007108F93C031C81287018682805136928F9 |
:1000D0000517831605130130F00670187328831274 |
:1000E000851375288316831285178316851364007C |
:1000F0001F30F700F70B7A2800000000F10A831286 |
:10010000602883160513831205178316851383123F |
:1001100085178A11B12A6908840072088000840A50 |
:100120008001E90A00347308F801720203189B2861 |
:100130007208F700A728F7010830F400F20DF70D58 |
:10014000730877020318F700F80DF40B9E280034AB |
:1001500078087008F2006430F30093207708F0000C |
:1001600078083030031DBB28F11CC228F119C228C1 |
:10017000711A2030BE28F11171127114F807780835 |
:10018000F2008B207008F2000A30F3009320770809 |
:10019000F00078083030031DD328F119D728711CDE |
:1001A000D728711A2030F8077808F2008B203030F9 |
:1001B000F0077008F2008B200034BC01391CE228E3 |
:1001C0003910E32839140034391C1029831686129B |
:1001D0008312861264004730F700F70BED28000009 |
:1001E000831686128312861664004730F700F70BD9 |
:1001F000F7280000831686128312861264004730A7 |
:10020000F700F70B01290000831686128312861669 |
:1002100064001830F700F70B0B29000000002329B9 |
:10022000831686128312861264008530F700F70B5E |
:100230001729831686128312861664006F30F70022 |
:10024000F70B202900000034F3017308073C031C5E |
:100250006C2972080139F400BE08031931290030F5 |
:1002600032290130F500BD08031938290030392939 |
:1002700001307505003A03194C297408F500031084 |
:10028000BB0CBA0C030801397506013C031D4C294F |
:100290008430BB060830BA06F408031D5129DD205E |
:1002A0006729BD080319BC0ABD0803195929003084 |
:1002B0005A290130F5003C08053C0319612900303A |
:1002C00062290130750503196729E420DD20E42047 |
:1002D0000310F20CF30A252900343910FF30BB005B |
:1002E000BA00BC010130BD00BE01BF013F08093C9E |
:1002F000031C7F297E30F2002421BF0A7629BD012C |
:10030000BF013F080F3C031C8E2929303F078400A2 |
:100310000008F100F2002421BF0A8129BF01700802 |
:100320008400000803199D29700884000008F1006A |
:10033000F2002421F00ABF0A8F290130BE00FF30ED |
:10034000BA06BB063A08F20024213B08F200242139 |
:10035000BE010130BD007E30F20024218A11FD2A49 |
:100360001230F202031CC22972308400FC30800576 |
:100370000310800C800C00080319C229C0296400F6 |
:10038000800BBF29003484011F30830583161F12A0 |
:100390009F121B0880399B0007309C00823083121B |
:1003A000A9009830AA00AB004030AC00AD00AE0010 |
:1003B0006030AF008630B000B430B1006030B200C1 |
:1003C000A430B300B400B5006130B6000330B7000C |
:1003D000F030B800E90183160108C03981000E3001 |
:1003E000F700073083128101813084000008F03962 |
:1003F0000738800064000008F739F719F0397704EE |
:100400008000900183161F129F121B088039D33879 |
:100410009B001F1383121F179F1783169F138312AE |
:100420001F149412831606118614061200308312CC |
:1004300094008316940007309C0005086400023085 |
:10044000F700F70B212A00001C0883120D138316F6 |
:100450009D018611831286118316061183120611DF |
:1004600083168610831286108316851383128517D0 |
:1004700083160513831205172030F8001F08C739AB |
:1004800078049F00950183168611831286110C3023 |
:1004900097000030F8000438920064308316920010 |
:1004A00062308F00023083129500EA0183168610B5 |
:1004B000831286106430F1003C206A08EA0A043C8A |
:1004C000031D642A5228EA018316861083128614BB |
:1004D0000130F1003C201F151F196C2A1E085F3CDB |
:1004E000031C562A83168610831286100030F800EB |
:1004F0001F08C73978049F0064001F30F700F70B0E |
:100500007F2A000000001F151F19842A1E08F7000B |
:10051000F70CF70C3F30F7057708283EEB00083062 |
:10052000F8001F08C73978049F0064001F30F700E7 |
:10053000F70B982A000000001F151F199D2A1E0C9A |
:10054000EC00EC0CEC0C1F30EC0595010030F800D1 |
:10055000043892006B0883169200133083129500C2 |
:100560005F280230F000FA30F1003C20F00BB32A93 |
:1005700083168610831286142030F8001F08C739AE |
:1005800078049F0064000F30F700F70BC52A0000C5 |
:100590001F151F19C92A1E08ED0083168610831225 |
:1005A00086104030E9007030F2008B203D30F200C0 |
:1005B0008B206B08F0001B30F100A8202030F200E7 |
:1005C0008B207230F2008B203D30F2008B206C08C3 |
:1005D000F0001B30F100A8202030F2008B20753095 |
:1005E000F2008B203D30F2008B206D08F0001B30B4 |
:1005F000F100A8204030F0006D293830F000FA30CA |
:10060000F1003C20F00BFF2AEF010130EE006F08F3 |
:10061000033C031C332B031D112B6E08E83C031C09 |
:10062000332BEA016A086C02031C2F2B8316061178 |
:10063000831206156E08F200B0218316061183128C |
:1006400006116E08E83CF0000330F1006F08031C4F |
:100650006F0FF1027008F200B021EA0A122BEE0AC5 |
:100660000319EF0A072B83160611831206150A30A9 |
:10067000F0008230F1003C20F00B392B831606117C |
:0806800083120611422B6300F6 |
:04400E003827FC3F14 |
:00000001FF |
;PIC16F88 |
/roboti/solarni/2006/scamnum_specularis/menic.LST |
---|
0,0 → 1,1107 |
CCS PCM C Compiler, Version 3.245, 27853 17-IX-06 22:12 |
Filename: D:\KAKL\roboti\solarni\2006\scamnum\menic.lst |
ROM used: 836 words (20%) |
Largest free fragment is 2048 |
RAM used: 87 (50%) at main() level |
94 (54%) worst case |
Stack: 4 worst case (3 in main + 1 for interrupts) |
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 1C3 |
0003: NOP |
0004: MOVWF 7F |
0005: SWAPF 03,W |
0006: CLRF 03 |
0007: MOVWF 21 |
0008: MOVF 7F,W |
0009: MOVWF 20 |
000A: MOVF 0A,W |
000B: MOVWF 28 |
000C: CLRF 0A |
000D: SWAPF 20,F |
000E: MOVF 04,W |
000F: MOVWF 22 |
0010: MOVF 77,W |
0011: MOVWF 23 |
0012: MOVF 78,W |
0013: MOVWF 24 |
0014: MOVF 79,W |
0015: MOVWF 25 |
0016: MOVF 7A,W |
0017: MOVWF 26 |
0018: MOVF 7B,W |
0019: MOVWF 27 |
001A: BCF 03.7 |
001B: BCF 03.5 |
001C: MOVLW 8C |
001D: MOVWF 04 |
001E: BTFSS 00.3 |
001F: GOTO 022 |
0020: BTFSC 0C.3 |
0021: GOTO 035 |
0022: MOVF 22,W |
0023: MOVWF 04 |
0024: MOVF 23,W |
0025: MOVWF 77 |
0026: MOVF 24,W |
0027: MOVWF 78 |
0028: MOVF 25,W |
0029: MOVWF 79 |
002A: MOVF 26,W |
002B: MOVWF 7A |
002C: MOVF 27,W |
002D: MOVWF 7B |
002E: MOVF 28,W |
002F: MOVWF 0A |
0030: SWAPF 21,W |
0031: MOVWF 03 |
0032: SWAPF 7F,F |
0033: SWAPF 7F,W |
0034: RETFIE |
0035: BCF 0A.3 |
0036: GOTO 037 |
.................... // ************************************* |
.................... // * Scamnum Specularis ** 20. 9. 2006 * |
.................... // ************************************* |
.................... |
.................... #include ".\menic.h" |
.................... #include <16F88.h> |
.................... //////// Standard Header file for the PIC16F88 device //////////////// |
.................... #device PIC16F88 |
.................... #list |
.................... |
.................... |
.................... #device adc=8 |
.................... |
.................... #fuses NOWDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, \ |
.................... NOWRT, DEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
.................... |
.................... #use delay(clock=3900000,RESTART_WDT) |
* |
003C: MOVLW 71 |
003D: MOVWF 04 |
003E: MOVF 00,W |
003F: BTFSC 03.2 |
0040: GOTO 051 |
0041: MOVLW 01 |
0042: MOVWF 78 |
0043: MOVLW BF |
0044: MOVWF 77 |
0045: CLRWDT |
0046: DECFSZ 77,F |
0047: GOTO 045 |
0048: DECFSZ 78,F |
0049: GOTO 043 |
004A: MOVLW 42 |
004B: MOVWF 77 |
004C: DECFSZ 77,F |
004D: GOTO 04C |
004E: CLRWDT |
004F: DECFSZ 00,F |
0050: GOTO 041 |
0051: RETLW 00 |
* |
01B0: MOVLW 12 |
01B1: SUBWF 72,F |
01B2: BTFSS 03.0 |
01B3: GOTO 1C2 |
01B4: MOVLW 72 |
01B5: MOVWF 04 |
01B6: MOVLW FC |
01B7: ANDWF 00,F |
01B8: BCF 03.0 |
01B9: RRF 00,F |
01BA: RRF 00,F |
01BB: MOVF 00,W |
01BC: BTFSC 03.2 |
01BD: GOTO 1C2 |
01BE: GOTO 1C0 |
01BF: CLRWDT |
01C0: DECFSZ 00,F |
01C1: GOTO 1BF |
01C2: RETLW 00 |
.................... |
.................... |
.................... |
.................... #define TXo PIN_B5 // To the transmitter modulator |
.................... #include ".\AX25.c" // Podprogram pro prenos telemetrie |
.................... //#define PTT PIN_A2 // PTT control |
.................... //#define TXo PIN_C0 // To the transmitter modulator |
.................... //#define PERIODAH delay_us(218) // Halfperiod H 222;78/1200 500;430/500 |
.................... //#define TAILH delay_us(74) |
.................... //#define PERIODAL delay_us(408) // Halfperiod L 412;345/1200 1000;880/500 |
.................... //#define TAILL delay_us(341) |
.................... #define PERIODAH delay_us(222) // Halfperiod H 222;78/1200 500;430/500 |
.................... #define TAILH delay_us(78) |
.................... #define PERIODAL delay_us(412) // Halfperiod L 412;345/1200 1000;880/500 |
.................... #define TAILL delay_us(345) |
.................... #byte STATUS = 3 // CPUs status register |
.................... |
.................... byte SendData[16] = {'A'<<1, 'L'<<1, 'L'<<1, ' '<<1, ' '<<1, ' '<<1, 0x60, |
.................... 'C'<<1, 'Z'<<1, '0'<<1, 'R'<<1, 'R'<<1, 'R'<<1, 0x61, |
.................... 0x03, 0xF0}; |
* |
01CE: MOVLW 82 |
01CF: BCF 03.5 |
01D0: MOVWF 29 |
01D1: MOVLW 98 |
01D2: MOVWF 2A |
01D3: MOVWF 2B |
01D4: MOVLW 40 |
01D5: MOVWF 2C |
01D6: MOVWF 2D |
01D7: MOVWF 2E |
01D8: MOVLW 60 |
01D9: MOVWF 2F |
01DA: MOVLW 86 |
01DB: MOVWF 30 |
01DC: MOVLW B4 |
01DD: MOVWF 31 |
01DE: MOVLW 60 |
01DF: MOVWF 32 |
01E0: MOVLW A4 |
01E1: MOVWF 33 |
01E2: MOVWF 34 |
01E3: MOVWF 35 |
01E4: MOVLW 61 |
01E5: MOVWF 36 |
01E6: MOVLW 03 |
01E7: MOVWF 37 |
01E8: MOVLW F0 |
01E9: MOVWF 38 |
.................... |
.................... boolean bit; |
.................... int fcslo, fcshi; // variabloes for calculating FCS (CRC) |
.................... int stuff; // stuff counter for extra 0 |
.................... int flag_flag; // if it is sending flag (7E) |
.................... int fcs_flag; // if it is sending Frame Check Sequence |
.................... int i; // for for |
.................... |
.................... void flipout() //flips the state of output pin a_1 |
.................... { |
.................... stuff = 0; //since this is a 0, reset the stuff counter |
* |
00DD: CLRF 3C |
.................... if (bit) |
00DE: BTFSS 39.0 |
00DF: GOTO 0E2 |
.................... { |
.................... bit=FALSE; //if the state of the pin was low, make it high. |
00E0: BCF 39.0 |
.................... } |
.................... else |
00E1: GOTO 0E3 |
.................... { |
.................... bit=TRUE; //if the state of the pin was high make it low |
00E2: BSF 39.0 |
.................... } |
.................... } |
00E3: RETLW 00 |
.................... |
.................... void fcsbit(byte tbyte) |
.................... { |
.................... #asm |
.................... BCF STATUS,0 |
* |
013F: BCF 03.0 |
.................... RRF fcshi,F // rotates the entire 16 bits |
0140: RRF 3B,F |
.................... RRF fcslo,F // to the right |
0141: RRF 3A,F |
.................... #endasm |
.................... if (((STATUS & 0x01)^(tbyte)) ==0x01) |
0142: MOVF 03,W |
0143: ANDLW 01 |
0144: XORWF 75,W |
0145: SUBLW 01 |
0146: BTFSS 03.2 |
0147: GOTO 14C |
.................... { |
.................... fcshi = fcshi^0x84; |
0148: MOVLW 84 |
0149: XORWF 3B,F |
.................... fcslo = fcslo^0x08; |
014A: MOVLW 08 |
014B: XORWF 3A,F |
.................... } |
.................... } |
.................... |
.................... void SendBit () |
.................... { |
.................... if (bit) |
* |
00E4: BTFSS 39.0 |
00E5: GOTO 110 |
.................... { |
.................... output_low(TXo); |
00E6: BSF 03.5 |
00E7: BCF 06.5 |
00E8: BCF 03.5 |
00E9: BCF 06.5 |
.................... PERIODAH; |
00EA: CLRWDT |
00EB: MOVLW 47 |
00EC: MOVWF 77 |
00ED: DECFSZ 77,F |
00EE: GOTO 0ED |
00EF: NOP |
.................... output_high(TXo); |
00F0: BSF 03.5 |
00F1: BCF 06.5 |
00F2: BCF 03.5 |
00F3: BSF 06.5 |
.................... PERIODAH; |
00F4: CLRWDT |
00F5: MOVLW 47 |
00F6: MOVWF 77 |
00F7: DECFSZ 77,F |
00F8: GOTO 0F7 |
00F9: NOP |
.................... output_low(TXo); |
00FA: BSF 03.5 |
00FB: BCF 06.5 |
00FC: BCF 03.5 |
00FD: BCF 06.5 |
.................... PERIODAH; |
00FE: CLRWDT |
00FF: MOVLW 47 |
0100: MOVWF 77 |
0101: DECFSZ 77,F |
0102: GOTO 101 |
0103: NOP |
.................... output_high(TXo); |
0104: BSF 03.5 |
0105: BCF 06.5 |
0106: BCF 03.5 |
0107: BSF 06.5 |
.................... TAILH; |
0108: CLRWDT |
0109: MOVLW 18 |
010A: MOVWF 77 |
010B: DECFSZ 77,F |
010C: GOTO 10B |
010D: NOP |
010E: NOP |
.................... } |
.................... else |
010F: GOTO 123 |
.................... { |
.................... output_low(TXo); |
0110: BSF 03.5 |
0111: BCF 06.5 |
0112: BCF 03.5 |
0113: BCF 06.5 |
.................... PERIODAL; |
0114: CLRWDT |
0115: MOVLW 85 |
0116: MOVWF 77 |
0117: DECFSZ 77,F |
0118: GOTO 117 |
.................... output_high(TXo); |
0119: BSF 03.5 |
011A: BCF 06.5 |
011B: BCF 03.5 |
011C: BSF 06.5 |
.................... TAILL; |
011D: CLRWDT |
011E: MOVLW 6F |
011F: MOVWF 77 |
0120: DECFSZ 77,F |
0121: GOTO 120 |
0122: NOP |
.................... }; |
.................... } |
0123: RETLW 00 |
.................... |
.................... void SendByte (byte inbyte) |
.................... { |
.................... int k, bt; |
.................... |
.................... for (k=0;k<8;k++) //do the following for each of the 8 bits in the byte |
0124: CLRF 73 |
0125: MOVF 73,W |
0126: SUBLW 07 |
0127: BTFSS 03.0 |
0128: GOTO 16C |
.................... { |
.................... bt = inbyte & 0x01; //strip off the rightmost bit of the byte to be sent (inbyte) |
0129: MOVF 72,W |
012A: ANDLW 01 |
012B: MOVWF 74 |
.................... if ((fcs_flag == FALSE) & (flag_flag == FALSE)) fcsbit(bt); //do FCS calc, but only if this |
012C: MOVF 3E,F |
012D: BTFSC 03.2 |
012E: GOTO 131 |
012F: MOVLW 00 |
0130: GOTO 132 |
0131: MOVLW 01 |
0132: MOVWF 75 |
0133: MOVF 3D,F |
0134: BTFSC 03.2 |
0135: GOTO 138 |
0136: MOVLW 00 |
0137: GOTO 139 |
0138: MOVLW 01 |
0139: ANDWF 75,W |
013A: XORLW 00 |
013B: BTFSC 03.2 |
013C: GOTO 14C |
013D: MOVF 74,W |
013E: MOVWF 75 |
.................... //is not a flag or fcs byte |
.................... if (bt == 0) |
* |
014C: MOVF 74,F |
014D: BTFSS 03.2 |
014E: GOTO 151 |
.................... { |
.................... flipout(); |
014F: CALL 0DD |
.................... } // if this bit is a zero, flip the output state |
.................... else |
0150: GOTO 167 |
.................... { //otherwise if it is a 1, do the following: |
.................... if (flag_flag == FALSE) stuff++; //increment the count of consequtive 1's |
0151: MOVF 3D,F |
0152: BTFSC 03.2 |
0153: INCF 3C,F |
.................... if ((flag_flag == FALSE) & (stuff == 5)) |
0154: MOVF 3D,F |
0155: BTFSC 03.2 |
0156: GOTO 159 |
0157: MOVLW 00 |
0158: GOTO 15A |
0159: MOVLW 01 |
015A: MOVWF 75 |
015B: MOVF 3C,W |
015C: SUBLW 05 |
015D: BTFSC 03.2 |
015E: GOTO 161 |
015F: MOVLW 00 |
0160: GOTO 162 |
0161: MOVLW 01 |
0162: ANDWF 75,W |
0163: BTFSC 03.2 |
0164: GOTO 167 |
.................... { //stuff an extra 0, if 5 1's in a row |
.................... SendBit(); |
0165: CALL 0E4 |
.................... flipout(); //flip the output state to stuff a 0 |
0166: CALL 0DD |
.................... }//end of if |
.................... }//end of else |
.................... // delay_us(850); //introduces a delay that creates 1200 baud |
.................... SendBit(); |
0167: CALL 0E4 |
.................... inbyte = inbyte>>1; //go to the next bit in the byte |
0168: BCF 03.0 |
0169: RRF 72,F |
.................... }//end of for |
016A: INCF 73,F |
016B: GOTO 125 |
.................... }//end of SendByte |
016C: RETLW 00 |
.................... |
.................... void SendPacket(char *data) |
.................... { |
.................... bit=FALSE; |
016D: BCF 39.0 |
.................... |
.................... fcslo=fcshi=0xFF; //The 2 FCS Bytes are initialized to FF |
016E: MOVLW FF |
016F: MOVWF 3B |
0170: MOVWF 3A |
.................... stuff = 0; //The variable stuff counts the number of 1's in a row. When it gets to 5 |
0171: CLRF 3C |
.................... // it is time to stuff a 0. |
.................... |
.................... // output_low(PTT); // Blinking LED |
.................... // delay_ms(1000); |
.................... // output_high(PTT); |
.................... |
.................... flag_flag = TRUE; //The variable flag is true if you are transmitted flags (7E's) false otherwise. |
0172: MOVLW 01 |
0173: MOVWF 3D |
.................... fcs_flag = FALSE; //The variable fcsflag is true if you are transmitting FCS bytes, false otherwise. |
0174: CLRF 3E |
.................... |
.................... for(i=0; i<10; i++) SendByte(0x7E); //Sends flag bytes. Adjust length for txdelay |
0175: CLRF 3F |
0176: MOVF 3F,W |
0177: SUBLW 09 |
0178: BTFSS 03.0 |
0179: GOTO 17F |
017A: MOVLW 7E |
017B: MOVWF 72 |
017C: CALL 124 |
017D: INCF 3F,F |
017E: GOTO 176 |
.................... //each flag takes approx 6.7 ms |
.................... flag_flag = FALSE; //done sending flags |
017F: CLRF 3D |
.................... |
.................... for(i=0; i<16; i++) SendByte(SendData[i]); //send the packet bytes |
0180: CLRF 3F |
0181: MOVF 3F,W |
0182: SUBLW 0F |
0183: BTFSS 03.0 |
0184: GOTO 18E |
0185: MOVLW 29 |
0186: ADDWF 3F,W |
0187: MOVWF 04 |
0188: MOVF 00,W |
0189: MOVWF 71 |
018A: MOVWF 72 |
018B: CALL 124 |
018C: INCF 3F,F |
018D: GOTO 181 |
.................... |
.................... for(i=0; 0 != *data; i++) |
018E: CLRF 3F |
018F: MOVF 70,W |
0190: MOVWF 04 |
0191: MOVF 00,W |
0192: BTFSC 03.2 |
0193: GOTO 19D |
.................... { |
.................... SendByte(*data); //send the packet bytes |
0194: MOVF 70,W |
0195: MOVWF 04 |
0196: MOVF 00,W |
0197: MOVWF 71 |
0198: MOVWF 72 |
0199: CALL 124 |
.................... data++; |
019A: INCF 70,F |
.................... }; |
019B: INCF 3F,F |
019C: GOTO 18F |
.................... |
.................... fcs_flag = TRUE; //about to send the FCS bytes |
019D: MOVLW 01 |
019E: MOVWF 3E |
.................... fcslo =fcslo^0xff; //must XOR them with FF before sending |
019F: MOVLW FF |
01A0: XORWF 3A,F |
.................... fcshi = fcshi^0xff; |
01A1: XORWF 3B,F |
.................... SendByte(fcslo); //send the low byte of fcs |
01A2: MOVF 3A,W |
01A3: MOVWF 72 |
01A4: CALL 124 |
.................... SendByte(fcshi); //send the high byte of fcs |
01A5: MOVF 3B,W |
01A6: MOVWF 72 |
01A7: CALL 124 |
.................... fcs_flag = FALSE; //done sending FCS |
01A8: CLRF 3E |
.................... flag_flag = TRUE; //about to send flags |
01A9: MOVLW 01 |
01AA: MOVWF 3D |
.................... SendByte(0x7e); // Send a flag to end packet |
01AB: MOVLW 7E |
01AC: MOVWF 72 |
01AD: CALL 124 |
.................... } |
01AE: BCF 0A.3 |
01AF: GOTO 2FD (RETURN) |
.................... |
.................... |
.................... |
.................... |
.................... char AXstring[40]; // Buffer pro prenos telemetrie |
.................... |
.................... #define REFSTART 95 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
.................... #define DUTY1 2 // Delka sepnuti PWM v us pro sero |
.................... #define DUTY2 19 // Delka sepnuti PWM v us pro jednu zarovku 500W |
.................... |
.................... // Tabulka hodnot prevodniku pro ruzna napajeci napeti |
.................... // 80 3,99V |
.................... // 90 3,54V |
.................... // 100 3,20V |
.................... // 105 3,04V |
.................... // 107 2,99V |
.................... // 110 2,91v |
.................... // 200 1,61V |
.................... |
.................... #define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
.................... #define LED PIN_A7 // LED / druhy pol piezo reproduktoru |
.................... #define MENIC PIN_B3 // Spinani tranzistoru menice |
.................... #define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
.................... #define MOTOR PIN_B2 // Spinani tranzistoru motoru |
.................... #define SW1 PIN_B6 // DIPswitch 1 |
.................... #define SW2 PIN_B7 // DIPswitch 2 |
.................... #define NAPETI 4 // Cislo kanalu DA prevodniku pro mereni napeti |
.................... #define PWM 0 // Cislo kanalu DA prevodniku pro nastaveni PWM |
.................... #define ROZJEZD 1 // Cislo kanalu DA prevodniku pro nastaveni rozjezdu |
.................... |
.................... #byte SSPBUF = 0x13 // Adresy registru jednotky SSP |
.................... #byte SSPCON1 = 0x14 |
.................... #byte SSPSTAT = 0x94 |
.................... |
.................... // Vzorky pro generovani PWM pomoci SSP |
.................... unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
.................... unsigned int8 MotorPattern; |
.................... |
.................... #INT_SSP |
.................... void IntSSP() |
.................... { |
.................... SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
* |
0037: MOVF 68,W |
0038: MOVWF 13 |
.................... } |
.................... |
0039: BCF 0C.3 |
003A: BCF 0A.3 |
003B: GOTO 022 |
.................... void pip() // pipnuti a bliknuti |
.................... { |
.................... int1 beep; |
.................... int i; |
.................... |
.................... for(i=0; i<250; i++) |
* |
005F: CLRF 71 |
0060: MOVF 71,W |
0061: SUBLW F9 |
0062: BTFSS 03.0 |
0063: GOTO 081 |
.................... { |
.................... output_bit(PIEZO, beep); |
0064: BTFSC 70.0 |
0065: GOTO 068 |
0066: BCF 05.6 |
0067: GOTO 069 |
0068: BSF 05.6 |
0069: BSF 03.5 |
006A: BCF 05.6 |
.................... beep=~beep; |
006B: MOVLW 01 |
006C: XORWF 70,F |
.................... output_bit(LED, beep); |
006D: BTFSC 70.0 |
006E: GOTO 073 |
006F: BCF 03.5 |
0070: BCF 05.7 |
0071: GOTO 075 |
0072: BSF 03.5 |
0073: BCF 03.5 |
0074: BSF 05.7 |
0075: BSF 03.5 |
0076: BCF 05.7 |
.................... delay_us(100); |
0077: CLRWDT |
0078: MOVLW 1F |
0079: MOVWF 77 |
007A: DECFSZ 77,F |
007B: GOTO 07A |
007C: NOP |
007D: NOP |
.................... }; |
007E: INCF 71,F |
007F: BCF 03.5 |
0080: GOTO 060 |
.................... output_high(PIEZO); |
0081: BSF 03.5 |
0082: BCF 05.6 |
0083: BCF 03.5 |
0084: BSF 05.6 |
.................... output_high(LED); |
0085: BSF 03.5 |
0086: BCF 05.7 |
0087: BCF 03.5 |
0088: BSF 05.7 |
.................... } |
0089: BCF 0A.3 |
008A: GOTO 2B1 (RETURN) |
.................... |
.................... void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
.................... { |
.................... output_bit(PIEZO,~input(PIEZO)); |
* |
0052: BSF 03.5 |
0053: BSF 05.6 |
0054: BCF 03.5 |
0055: BTFSS 05.6 |
0056: GOTO 059 |
0057: BCF 05.6 |
0058: GOTO 05A |
0059: BSF 05.6 |
005A: BSF 03.5 |
005B: BCF 05.6 |
.................... } |
005C: BCF 03.5 |
005D: BCF 0A.3 |
005E: GOTO 263 (RETURN) |
.................... |
.................... void main() |
.................... { |
* |
01C3: CLRF 04 |
01C4: MOVLW 1F |
01C5: ANDWF 03,F |
01C6: BSF 03.5 |
01C7: BCF 1F.4 |
01C8: BCF 1F.5 |
01C9: MOVF 1B,W |
01CA: ANDLW 80 |
01CB: MOVWF 1B |
01CC: MOVLW 07 |
01CD: MOVWF 1C |
.................... int8 n; |
.................... int8 perioda; |
.................... int8 razeni; |
.................... int8 uclanku; |
.................... int16 ble; |
.................... |
.................... setup_timer_0(RTCC_INTERNAL);setup_wdt(WDT_1152MS); |
* |
01EB: BSF 03.5 |
01EC: MOVF 01,W |
01ED: ANDLW C0 |
01EE: MOVWF 01 |
01EF: MOVLW 0E |
01F0: MOVWF 77 |
01F1: MOVLW 07 |
01F2: BCF 03.5 |
01F3: CLRF 01 |
01F4: MOVLW 81 |
01F5: MOVWF 04 |
01F6: MOVF 00,W |
01F7: ANDLW F0 |
01F8: IORLW 07 |
01F9: MOVWF 00 |
01FA: CLRWDT |
01FB: MOVF 00,W |
01FC: ANDLW F7 |
01FD: BTFSC 77.3 |
01FE: ANDLW F0 |
01FF: IORWF 77,W |
0200: MOVWF 00 |
.................... setup_timer_1(T1_DISABLED); |
0201: CLRF 10 |
.................... setup_adc_ports(ADC_CLOCK_INTERNAL|sAN0|sAN1|sAN4|VSS_VDD); |
0202: BSF 03.5 |
0203: BCF 1F.4 |
0204: BCF 1F.5 |
0205: MOVF 1B,W |
0206: ANDLW 80 |
0207: IORLW D3 |
0208: MOVWF 1B |
.................... setup_adc(ADC_CLOCK_INTERNAL); |
0209: BCF 1F.6 |
020A: BCF 03.5 |
020B: BSF 1F.6 |
020C: BSF 1F.7 |
020D: BSF 03.5 |
020E: BCF 1F.7 |
020F: BCF 03.5 |
0210: BSF 1F.0 |
.................... setup_spi(FALSE); |
0211: BCF 14.5 |
0212: BSF 03.5 |
0213: BCF 06.2 |
0214: BSF 06.1 |
0215: BCF 06.4 |
0216: MOVLW 00 |
0217: BCF 03.5 |
0218: MOVWF 14 |
0219: BSF 03.5 |
021A: MOVWF 14 |
.................... setup_comparator(NC_NC_NC_NC); |
021B: MOVLW 07 |
021C: MOVWF 1C |
021D: MOVF 05,W |
021E: CLRWDT |
021F: MOVLW 02 |
0220: MOVWF 77 |
0221: DECFSZ 77,F |
0222: GOTO 221 |
0223: NOP |
0224: MOVF 1C,W |
0225: BCF 03.5 |
0226: BCF 0D.6 |
.................... setup_vref(FALSE); |
0227: BSF 03.5 |
0228: CLRF 1D |
.................... |
.................... output_low(MENIC); // Vsechno zastav |
0229: BCF 06.3 |
022A: BCF 03.5 |
022B: BCF 06.3 |
.................... output_low(MOTOR); |
022C: BSF 03.5 |
022D: BCF 06.2 |
022E: BCF 03.5 |
022F: BCF 06.2 |
.................... output_low(REFPWR); |
0230: BSF 03.5 |
0231: BCF 06.1 |
0232: BCF 03.5 |
0233: BCF 06.1 |
.................... output_high(LED); |
0234: BSF 03.5 |
0235: BCF 05.7 |
0236: BCF 03.5 |
0237: BSF 05.7 |
.................... output_high(PIEZO); |
0238: BSF 03.5 |
0239: BCF 05.6 |
023A: BCF 03.5 |
023B: BSF 05.6 |
.................... |
.................... set_adc_channel(NAPETI); // Vyber AD kanal pro pomerne mereni napeti |
023C: MOVLW 20 |
023D: MOVWF 78 |
023E: MOVF 1F,W |
023F: ANDLW C7 |
0240: IORWF 78,W |
0241: MOVWF 1F |
.................... set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
0242: CLRF 15 |
.................... setup_ccp1(CCP_PWM); |
0243: BSF 03.5 |
0244: BCF 06.3 |
0245: BCF 03.5 |
0246: BCF 06.3 |
0247: MOVLW 0C |
0248: MOVWF 17 |
.................... setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
0249: MOVLW 00 |
024A: MOVWF 78 |
024B: IORLW 04 |
024C: MOVWF 12 |
024D: MOVLW 64 |
024E: BSF 03.5 |
024F: MOVWF 12 |
.................... |
.................... setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
0250: MOVLW 62 |
0251: MOVWF 0F |
.................... |
.................... // jsme v depu? |
.................... set_pwm1_duty(DUTY1); // PWM pro zatizeni clanku pri malem osvetleni |
0252: MOVLW 02 |
0253: BCF 03.5 |
0254: MOVWF 15 |
.................... n=0; |
0255: CLRF 6A |
.................... do |
.................... { |
.................... output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
0256: BSF 03.5 |
0257: BCF 06.1 |
0258: BCF 03.5 |
0259: BCF 06.1 |
.................... delay_ms(100); |
025A: MOVLW 64 |
025B: MOVWF 71 |
025C: CALL 03C |
.................... if (4==n++) {cvak(); n=0;}; // Kazdy 4. pruchod cvakni |
025D: MOVF 6A,W |
025E: INCF 6A,F |
025F: SUBLW 04 |
0260: BTFSS 03.2 |
0261: GOTO 264 |
0262: GOTO 052 |
0263: CLRF 6A |
.................... output_high(REFPWR); // Zapni napajeni napetove reference |
0264: BSF 03.5 |
0265: BCF 06.1 |
0266: BCF 03.5 |
0267: BSF 06.1 |
.................... delay_ms(1); // Pockej na ustaleni napeti |
0268: MOVLW 01 |
0269: MOVWF 71 |
026A: CALL 03C |
.................... } while (read_adc()>REFSTART); // Odkryl starter clanky? |
026B: BSF 1F.2 |
026C: BTFSC 1F.2 |
026D: GOTO 26C |
026E: MOVF 1E,W |
026F: SUBLW 5F |
0270: BTFSS 03.0 |
0271: GOTO 256 |
.................... output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
0272: BSF 03.5 |
0273: BCF 06.1 |
0274: BCF 03.5 |
0275: BCF 06.1 |
.................... |
.................... // port_b_pullups(TRUE); // Zapni pullupy, aby slo cist DIPswitch |
.................... // do |
.................... // { |
.................... // Precti trimry |
.................... set_adc_channel(PWM); // Zjisteni nastaveni PWM |
0276: MOVLW 00 |
0277: MOVWF 78 |
0278: MOVF 1F,W |
0279: ANDLW C7 |
027A: IORWF 78,W |
027B: MOVWF 1F |
.................... delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
027C: CLRWDT |
027D: MOVLW 1F |
027E: MOVWF 77 |
027F: DECFSZ 77,F |
0280: GOTO 27F |
0281: NOP |
0282: NOP |
.................... perioda=(read_adc()>>2)+40; // rozsah: 40 az 103 |
0283: BSF 1F.2 |
0284: BTFSC 1F.2 |
0285: GOTO 284 |
0286: MOVF 1E,W |
0287: MOVWF 77 |
0288: RRF 77,F |
0289: RRF 77,F |
028A: MOVLW 3F |
028B: ANDWF 77,F |
028C: MOVF 77,W |
028D: ADDLW 28 |
028E: MOVWF 6B |
.................... |
.................... set_adc_channel(ROZJEZD); // Zjisteni nastaveni rozjezdu |
028F: MOVLW 08 |
0290: MOVWF 78 |
0291: MOVF 1F,W |
0292: ANDLW C7 |
0293: IORWF 78,W |
0294: MOVWF 1F |
.................... delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
0295: CLRWDT |
0296: MOVLW 1F |
0297: MOVWF 77 |
0298: DECFSZ 77,F |
0299: GOTO 298 |
029A: NOP |
029B: NOP |
.................... razeni=read_adc()>>3; // rozsah: 0 az 31 |
029C: BSF 1F.2 |
029D: BTFSC 1F.2 |
029E: GOTO 29D |
029F: RRF 1E,W |
02A0: MOVWF 6C |
02A1: RRF 6C,F |
02A2: RRF 6C,F |
02A3: MOVLW 1F |
02A4: ANDWF 6C,F |
.................... |
.................... // Rozjeti menice |
.................... set_pwm1_duty(0); // Zastav PWM, aby slo nastavit jinou frekvenci |
02A5: CLRF 15 |
.................... setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
02A6: MOVLW 00 |
02A7: MOVWF 78 |
02A8: IORLW 04 |
02A9: MOVWF 12 |
02AA: MOVF 6B,W |
02AB: BSF 03.5 |
02AC: MOVWF 12 |
.................... set_pwm1_duty(DUTY2); // PWM pro zatizeni clanku pri jedne 500W zarovce |
02AD: MOVLW 13 |
02AE: BCF 03.5 |
02AF: MOVWF 15 |
.................... |
.................... pip(); // potvrzeni odstartovani / servisni mod |
02B0: GOTO 05F |
.................... delay_ms(500); |
02B1: MOVLW 02 |
02B2: MOVWF 70 |
02B3: MOVLW FA |
02B4: MOVWF 71 |
02B5: CALL 03C |
02B6: DECFSZ 70,F |
02B7: GOTO 2B3 |
.................... |
.................... // } while (input(SW1)); // Je zapnut servisni mod? SW1(OFF)=ANO |
.................... // port_b_pullups(FALSE); // Vypni pullupy, aby se setrilo energii |
.................... |
.................... // zmereni napeti na clancich |
.................... output_high(REFPWR); // Prepni AD na mereni napeti clanku |
02B8: BSF 03.5 |
02B9: BCF 06.1 |
02BA: BCF 03.5 |
02BB: BSF 06.1 |
.................... set_adc_channel(NAPETI); // Prepni Zmer napeti clanku |
02BC: MOVLW 20 |
02BD: MOVWF 78 |
02BE: MOVF 1F,W |
02BF: ANDLW C7 |
02C0: IORWF 78,W |
02C1: MOVWF 1F |
.................... delay_us(50); // Pockej na prepnuti kanalu A/D prevodniku |
02C2: CLRWDT |
02C3: MOVLW 0F |
02C4: MOVWF 77 |
02C5: DECFSZ 77,F |
02C6: GOTO 2C5 |
02C7: NOP |
.................... uclanku=read_adc(); |
02C8: BSF 1F.2 |
02C9: BTFSC 1F.2 |
02CA: GOTO 2C9 |
02CB: MOVF 1E,W |
02CC: MOVWF 6D |
.................... output_low(REFPWR); // odpoj odpor pro mereni napeti |
02CD: BSF 03.5 |
02CE: BCF 06.1 |
02CF: BCF 03.5 |
02D0: BCF 06.1 |
.................... |
.................... // posli telemetrii |
.................... sprintf(AXstring,"p=%u r=%u u=%u", perioda, razeni, uclanku); // Convert DATA to String. |
* |
01EA: CLRF 69 |
* |
02D1: MOVLW 40 |
02D2: MOVWF 69 |
02D3: MOVLW 70 |
02D4: MOVWF 72 |
02D5: CALL 08B |
02D6: MOVLW 3D |
02D7: MOVWF 72 |
02D8: CALL 08B |
02D9: MOVF 6B,W |
02DA: MOVWF 70 |
02DB: MOVLW 1B |
02DC: MOVWF 71 |
02DD: CALL 0A8 |
02DE: MOVLW 20 |
02DF: MOVWF 72 |
02E0: CALL 08B |
02E1: MOVLW 72 |
02E2: MOVWF 72 |
02E3: CALL 08B |
02E4: MOVLW 3D |
02E5: MOVWF 72 |
02E6: CALL 08B |
02E7: MOVF 6C,W |
02E8: MOVWF 70 |
02E9: MOVLW 1B |
02EA: MOVWF 71 |
02EB: CALL 0A8 |
02EC: MOVLW 20 |
02ED: MOVWF 72 |
02EE: CALL 08B |
02EF: MOVLW 75 |
02F0: MOVWF 72 |
02F1: CALL 08B |
02F2: MOVLW 3D |
02F3: MOVWF 72 |
02F4: CALL 08B |
02F5: MOVF 6D,W |
02F6: MOVWF 70 |
02F7: MOVLW 1B |
02F8: MOVWF 71 |
02F9: CALL 0A8 |
.................... SendPacket(&AXstring[0]); |
02FA: MOVLW 40 |
02FB: MOVWF 70 |
02FC: GOTO 16D |
.................... |
.................... delay_ms(14000); // Pockame do 14.5s |
02FD: MOVLW 38 |
02FE: MOVWF 70 |
02FF: MOVLW FA |
0300: MOVWF 71 |
0301: CALL 03C |
0302: DECFSZ 70,F |
0303: GOTO 2FF |
.................... |
.................... // rozjezd |
.................... for(ble=1;ble<=1000;ble++) |
0304: CLRF 6F |
0305: MOVLW 01 |
0306: MOVWF 6E |
0307: MOVF 6F,W |
0308: SUBLW 03 |
0309: BTFSS 03.0 |
030A: GOTO 333 |
030B: BTFSS 03.2 |
030C: GOTO 311 |
030D: MOVF 6E,W |
030E: SUBLW E8 |
030F: BTFSS 03.0 |
0310: GOTO 333 |
.................... { |
.................... for(n=0;n<=razeni;n++) |
0311: CLRF 6A |
0312: MOVF 6A,W |
0313: SUBWF 6C,W |
0314: BTFSS 03.0 |
0315: GOTO 32F |
.................... { |
.................... output_high(MOTOR); |
0316: BSF 03.5 |
0317: BCF 06.2 |
0318: BCF 03.5 |
0319: BSF 06.2 |
.................... delay_us(ble); |
031A: MOVF 6E,W |
031B: MOVWF 72 |
031C: CALL 1B0 |
.................... output_low(MOTOR); |
031D: BSF 03.5 |
031E: BCF 06.2 |
031F: BCF 03.5 |
0320: BCF 06.2 |
.................... delay_us(1000-ble); |
0321: MOVF 6E,W |
0322: SUBLW E8 |
0323: MOVWF 70 |
0324: MOVLW 03 |
0325: MOVWF 71 |
0326: MOVF 6F,W |
0327: BTFSS 03.0 |
0328: INCFSZ 6F,W |
0329: SUBWF 71,F |
032A: MOVF 70,W |
032B: MOVWF 72 |
032C: CALL 1B0 |
.................... } |
032D: INCF 6A,F |
032E: GOTO 312 |
.................... } |
032F: INCF 6E,F |
0330: BTFSC 03.2 |
0331: INCF 6F,F |
0332: GOTO 307 |
.................... |
.................... // jedem co to da |
.................... output_high(MOTOR); |
0333: BSF 03.5 |
0334: BCF 06.2 |
0335: BCF 03.5 |
0336: BSF 06.2 |
.................... |
.................... delay_ms(1300); // Nemeli bysme jet dele nez 1,3s :-) |
0337: MOVLW 0A |
0338: MOVWF 70 |
0339: MOVLW 82 |
033A: MOVWF 71 |
033B: CALL 03C |
033C: DECFSZ 70,F |
033D: GOTO 339 |
.................... output_low(MOTOR); // Zastav motor |
033E: BSF 03.5 |
033F: BCF 06.2 |
0340: BCF 03.5 |
0341: BCF 06.2 |
.................... // Menic je stale zapnut a zatezuje clanky |
.................... |
.................... while(TRUE); // Cekej, dokud se neztrati svetlo, |
0342: GOTO 342 |
.................... // nebo prijde WatchDog |
.................... |
.................... } |
0343: SLEEP |
Configuration Fuses: |
Word 1: 2738 NOWDT NOPUT MCLR NOBROWNOUT NOLVP NOCPD NOWRT DEBUG CCPB3 NOPROTECT INTRC_IO |
Word 2: 3FFC NOFCMEN NOIESO |
/roboti/solarni/2006/scamnum_specularis/menic.SYM |
---|
0,0 → 1,102 |
003 STATUS |
013 SSPBUF |
014 SSPCON1 |
015 CCP_1_LOW |
015-016 CCP_1 |
016 CCP_1_HIGH |
020 @INTERRUPT_AREA |
021 @INTERRUPT_AREA |
022 @INTERRUPT_AREA |
023 @INTERRUPT_AREA |
024 @INTERRUPT_AREA |
025 @INTERRUPT_AREA |
026 @INTERRUPT_AREA |
027 @INTERRUPT_AREA |
028 @INTERRUPT_AREA |
029-038 SendData |
039.0 bit |
03A fcslo |
03B fcshi |
03C stuff |
03D flag_flag |
03E fcs_flag |
03F i |
040-067 AXstring |
068 MotorPattern |
069 @sprintf_string |
06A main.n |
06B main.perioda |
06C main.razeni |
06D main.uclanku |
06E-06F main.ble |
070 SendPacket.data |
070 @PRINTF_U_325.P1 |
070.0 pip.beep |
070 main.@SCRATCH |
071 pip.i |
071 @delay_ms1.P1 |
071 @PRINTF_U_325.P2 |
071 SendPacket.@SCRATCH |
071 main.@SCRATCH |
072 @delay_us1.P1 |
072 SendByte.inbyte |
072 @DIV88.P1 |
072 @SPRINTF.P2 |
073 @DIV88.P1 |
073 SendByte.k |
074 SendByte.bt |
074 @DIV88.@SCRATCH |
075 fcsbit.tbyte |
075 SendByte.@SCRATCH |
077 @SCRATCH |
078 @SCRATCH |
078 _RETURN_ |
079 @SCRATCH |
07A @SCRATCH |
07B @SCRATCH |
07C fcsbit.@SCRATCH |
07D fcsbit.@SCRATCH |
094 SSPSTAT |
09C.6 C1OUT |
09C.7 C2OUT |
003C @delay_ms1 |
01B0 @delay_us1 |
00DD flipout |
013F fcsbit |
00E4 SendBit |
0124 SendByte |
016D SendPacket |
0037 IntSSP |
005F pip |
0052 cvak |
01C3 main |
008B @SPRINTF |
0093 @DIV88 |
00A8 @PRINTF_U_325 |
01C3 @cinit |
Project Files: |
D:\KAKL\roboti\solarni\2006\scamnum\menic.c |
D:\KAKL\roboti\solarni\2006\scamnum\menic.h |
C:\Program Files\PICC\devices\16F88.h |
D:\KAKL\roboti\solarni\2006\scamnum\AX25.c |
Units: |
D:\KAKL\roboti\solarni\2006\scamnum\menic.c (main) |
Compiler Settings: |
Processor: PIC16F88 |
Pointer Size: 8 |
ADC Range: 0-255 |
Opt Level: 9 |
Short,Int,Long: 1,8,16 |
Output Files: |
Errors: D:\KAKL\roboti\solarni\2006\scamnum\menic.err |
INHX8: D:\KAKL\roboti\solarni\2006\scamnum\menic.hex |
Symbols: D:\KAKL\roboti\solarni\2006\scamnum\menic.sym |
List: D:\KAKL\roboti\solarni\2006\scamnum\menic.lst |
Debug/COFF: D:\KAKL\roboti\solarni\2006\scamnum\menic.cof |
Call Tree: D:\KAKL\roboti\solarni\2006\scamnum\menic.tre |
Statistics: D:\KAKL\roboti\solarni\2006\scamnum\menic.sta |
/roboti/solarni/2006/scamnum_specularis/menic.c |
---|
0,0 → 1,170 |
// ************************************* |
// * Scamnum Specularis ** 20. 9. 2006 * |
// ************************************* |
#include ".\menic.h" |
#define TXo PIN_B5 // To the transmitter modulator |
#include ".\AX25.c" // Podprogram pro prenos telemetrie |
char AXstring[40]; // Buffer pro prenos telemetrie |
#define REFSTART 95 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
#define DUTY1 2 // Delka sepnuti PWM v us pro sero |
#define DUTY2 19 // Delka sepnuti PWM v us pro jednu zarovku 500W |
// Tabulka hodnot prevodniku pro ruzna napajeci napeti |
// 80 3,99V |
// 90 3,54V |
// 100 3,20V |
// 105 3,04V |
// 107 2,99V |
// 110 2,91v |
// 200 1,61V |
#define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
#define LED PIN_A7 // LED / druhy pol piezo reproduktoru |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#define SW1 PIN_B6 // DIPswitch 1 |
#define SW2 PIN_B7 // DIPswitch 2 |
#define NAPETI 4 // Cislo kanalu DA prevodniku pro mereni napeti |
#define PWM 0 // Cislo kanalu DA prevodniku pro nastaveni PWM |
#define ROZJEZD 1 // Cislo kanalu DA prevodniku pro nastaveni rozjezdu |
#byte SSPBUF = 0x13 // Adresy registru jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void pip() // pipnuti a bliknuti |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
{ |
output_bit(PIEZO,~input(PIEZO)); |
} |
void main() |
{ |
int8 n; |
int8 perioda; |
int8 razeni; |
int8 uclanku; |
int16 ble; |
setup_timer_0(RTCC_INTERNAL);setup_wdt(WDT_1152MS); |
setup_timer_1(T1_DISABLED); |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN0|sAN1|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
output_high(LED); |
output_high(PIEZO); |
set_adc_channel(NAPETI); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(DUTY1); // PWM pro zatizeni clanku pri malem osvetleni |
n=0; |
do |
{ |
output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
delay_ms(100); |
if (4==n++) {cvak(); n=0;}; // Kazdy 4. pruchod cvakni |
output_high(REFPWR); // Zapni napajeni napetove reference |
delay_ms(1); // Pockej na ustaleni napeti |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
// port_b_pullups(TRUE); // Zapni pullupy, aby slo cist DIPswitch |
// do |
// { |
// Precti trimry |
set_adc_channel(PWM); // Zjisteni nastaveni PWM |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
perioda=(read_adc()>>2)+40; // rozsah: 40 az 103 |
set_adc_channel(ROZJEZD); // Zjisteni nastaveni rozjezdu |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
razeni=read_adc()>>3; // rozsah: 0 az 31 |
// Rozjeti menice |
set_pwm1_duty(0); // Zastav PWM, aby slo nastavit jinou frekvenci |
setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
set_pwm1_duty(DUTY2); // PWM pro zatizeni clanku pri jedne 500W zarovce |
pip(); // potvrzeni odstartovani / servisni mod |
delay_ms(500); |
// } while (input(SW1)); // Je zapnut servisni mod? SW1(OFF)=ANO |
// port_b_pullups(FALSE); // Vypni pullupy, aby se setrilo energii |
// zmereni napeti na clancich |
output_high(REFPWR); // Prepni AD na mereni napeti clanku |
set_adc_channel(NAPETI); // Prepni Zmer napeti clanku |
delay_us(50); // Pockej na prepnuti kanalu A/D prevodniku |
uclanku=read_adc(); |
output_low(REFPWR); // odpoj odpor pro mereni napeti |
// posli telemetrii |
sprintf(AXstring,"p=%u r=%u u=%u", perioda, razeni, uclanku); // Convert DATA to String. |
SendPacket(&AXstring[0]); |
delay_ms(14000); // Pockame do 14.5s |
// rozjezd |
for(ble=1;ble<=1000;ble++) |
{ |
for(n=0;n<=razeni;n++) |
{ |
output_high(MOTOR); |
delay_us(ble); |
output_low(MOTOR); |
delay_us(1000-ble); |
} |
} |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1300); // Nemeli bysme jet dele nez 1,3s :-) |
output_low(MOTOR); // Zastav motor |
// Menic je stale zapnut a zatezuje clanky |
while(TRUE); // Cekej, dokud se neztrati svetlo, |
// nebo prijde WatchDog |
} |
/roboti/solarni/2006/scamnum_specularis/menic.cof |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2006/scamnum_specularis/menic.h |
---|
0,0 → 1,9 |
#include <16F88.h> |
#device adc=8 |
#fuses NOWDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, \ |
NOWRT, DEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
#use delay(clock=3900000,RESTART_WDT) |
/roboti/solarni/2006/scamnum_specularis/menic.sta |
---|
0,0 → 1,42 |
ROM used: 836 (20%) |
836 (20%) including unused fragments |
1 Average locations per line |
6 Average locations per statement |
RAM used: 87 (50%) at main() level |
94 (54%) worst case |
Lines Stmts % Files |
----- ----- --- ----- |
171 75 53 D:\KAKL\roboti\solarni\2006\scamnum\menic.c |
10 0 0 D:\KAKL\roboti\solarni\2006\scamnum\menic.h |
279 0 0 C:\Program Files\PICC\devices\16F88.h |
140 67 31 D:\KAKL\roboti\solarni\2006\scamnum\AX25.c |
----- ----- |
1200 284 Total |
Page ROM % RAM Functions: |
---- --- --- --- ---------- |
0 22 3 1 @delay_ms1 |
0 19 2 1 @delay_us1 |
0 7 1 0 flipout |
0 64 8 0 SendBit |
0 73 9 4 SendByte |
0 67 8 2 SendPacket |
0 5 1 0 IntSSP |
0 44 5 2 pip |
0 13 2 0 cvak |
0 385 46 8 main |
0 8 1 1 @SPRINTF |
0 21 3 3 @DIV88 |
0 53 6 2 @PRINTF_U_325 |
Segment Used Free |
--------- ---- ---- |
00000-00003 4 0 |
00004-00036 51 0 |
00037-007FF 781 1212 |
00800-00FFF 0 2048 |
/roboti/solarni/2006/scamnum_specularis/menic.tre |
---|
0,0 → 1,76 |
ÀÄmenic |
ÃÄmain 0/385 Ram=8 |
³ ÃÄ??0?? |
³ ÃÄ@delay_ms1 0/22 Ram=1 |
³ ÃÄcvak 0/13 Ram=0 |
³ ÃÄ@delay_ms1 0/22 Ram=1 |
³ ÃÄpip 0/44 Ram=2 |
³ ÃÄ@delay_ms1 0/22 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@PRINTF_U_325 0/53 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÀÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@PRINTF_U_325 0/53 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÀÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@PRINTF_U_325 0/53 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÀÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄSendPacket 0/67 Ram=2 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÀÄSendByte 0/73 Ram=4 |
³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ÃÄ@delay_ms1 0/22 Ram=1 |
³ ÃÄ@delay_us1 0/19 Ram=1 |
³ ÃÄ@delay_us1 0/19 Ram=1 |
³ ÀÄ@delay_ms1 0/22 Ram=1 |
ÀÄIntSSP 0/5 Ram=0 |
/roboti/solarni/2006/scamnum_specularis/AX25.c |
---|
0,0 → 1,139 |
//#define PTT PIN_A2 // PTT control |
//#define TXo PIN_C0 // To the transmitter modulator |
//#define PERIODAH delay_us(218) // Halfperiod H 222;78/1200 500;430/500 |
//#define TAILH delay_us(74) |
//#define PERIODAL delay_us(408) // Halfperiod L 412;345/1200 1000;880/500 |
//#define TAILL delay_us(341) |
#define PERIODAH delay_us(222) // Halfperiod H 222;78/1200 500;430/500 |
#define TAILH delay_us(78) |
#define PERIODAL delay_us(412) // Halfperiod L 412;345/1200 1000;880/500 |
#define TAILL delay_us(345) |
#byte STATUS = 3 // CPUs status register |
byte SendData[16] = {'A'<<1, 'L'<<1, 'L'<<1, ' '<<1, ' '<<1, ' '<<1, 0x60, |
'C'<<1, 'Z'<<1, '0'<<1, 'R'<<1, 'R'<<1, 'R'<<1, 0x61, |
0x03, 0xF0}; |
boolean bit; |
int fcslo, fcshi; // variabloes for calculating FCS (CRC) |
int stuff; // stuff counter for extra 0 |
int flag_flag; // if it is sending flag (7E) |
int fcs_flag; // if it is sending Frame Check Sequence |
int i; // for for |
void flipout() //flips the state of output pin a_1 |
{ |
stuff = 0; //since this is a 0, reset the stuff counter |
if (bit) |
{ |
bit=FALSE; //if the state of the pin was low, make it high. |
} |
else |
{ |
bit=TRUE; //if the state of the pin was high make it low |
} |
} |
void fcsbit(byte tbyte) |
{ |
#asm |
BCF STATUS,0 |
RRF fcshi,F // rotates the entire 16 bits |
RRF fcslo,F // to the right |
#endasm |
if (((STATUS & 0x01)^(tbyte)) ==0x01) |
{ |
fcshi = fcshi^0x84; |
fcslo = fcslo^0x08; |
} |
} |
void SendBit () |
{ |
if (bit) |
{ |
output_low(TXo); |
PERIODAH; |
output_high(TXo); |
PERIODAH; |
output_low(TXo); |
PERIODAH; |
output_high(TXo); |
TAILH; |
} |
else |
{ |
output_low(TXo); |
PERIODAL; |
output_high(TXo); |
TAILL; |
}; |
} |
void SendByte (byte inbyte) |
{ |
int k, bt; |
for (k=0;k<8;k++) //do the following for each of the 8 bits in the byte |
{ |
bt = inbyte & 0x01; //strip off the rightmost bit of the byte to be sent (inbyte) |
if ((fcs_flag == FALSE) & (flag_flag == FALSE)) fcsbit(bt); //do FCS calc, but only if this |
//is not a flag or fcs byte |
if (bt == 0) |
{ |
flipout(); |
} // if this bit is a zero, flip the output state |
else |
{ //otherwise if it is a 1, do the following: |
if (flag_flag == FALSE) stuff++; //increment the count of consequtive 1's |
if ((flag_flag == FALSE) & (stuff == 5)) |
{ //stuff an extra 0, if 5 1's in a row |
SendBit(); |
flipout(); //flip the output state to stuff a 0 |
}//end of if |
}//end of else |
// delay_us(850); //introduces a delay that creates 1200 baud |
SendBit(); |
inbyte = inbyte>>1; //go to the next bit in the byte |
}//end of for |
}//end of SendByte |
void SendPacket(char *data) |
{ |
bit=FALSE; |
fcslo=fcshi=0xFF; //The 2 FCS Bytes are initialized to FF |
stuff = 0; //The variable stuff counts the number of 1's in a row. When it gets to 5 |
// it is time to stuff a 0. |
// output_low(PTT); // Blinking LED |
// delay_ms(1000); |
// output_high(PTT); |
flag_flag = TRUE; //The variable flag is true if you are transmitted flags (7E's) false otherwise. |
fcs_flag = FALSE; //The variable fcsflag is true if you are transmitting FCS bytes, false otherwise. |
for(i=0; i<10; i++) SendByte(0x7E); //Sends flag bytes. Adjust length for txdelay |
//each flag takes approx 6.7 ms |
flag_flag = FALSE; //done sending flags |
for(i=0; i<16; i++) SendByte(SendData[i]); //send the packet bytes |
for(i=0; 0 != *data; i++) |
{ |
SendByte(*data); //send the packet bytes |
data++; |
}; |
fcs_flag = TRUE; //about to send the FCS bytes |
fcslo =fcslo^0xff; //must XOR them with FF before sending |
fcshi = fcshi^0xff; |
SendByte(fcslo); //send the low byte of fcs |
SendByte(fcshi); //send the high byte of fcs |
fcs_flag = FALSE; //done sending FCS |
flag_flag = TRUE; //about to send flags |
SendByte(0x7e); // Send a flag to end packet |
} |
/roboti/solarni/2006/scamnum_specularis/menic.PJT |
---|
0,0 → 1,56 |
[PROJECT] |
Target=menic.HEX |
Development_Mode= |
Processor=0x688F |
ToolSuite=CCS |
[Directories] |
Include=C:\Program Files\PICC\devices\ |
Library= |
LinkerScript= |
[Target Data] |
FileList=D:\KAKL\roboti\solarni\2006\scamnum\menic.c |
BuildTool=C-COMPILER |
OptionString=+FM |
AdditionalOptionString= |
BuildRequired=1 |
[menic.c] |
Type=4 |
Path= |
FileList= |
BuildTool= |
OptionString= |
AdditionalOptionString= |
[mru-list] |
1=menic.c |
[Windows] |
0=0000 menic.c 0 0 796 451 3 0 |
[Opened Files] |
1=D:\KAKL\roboti\solarni\2006\scamnum\menic.c |
2=D:\KAKL\roboti\solarni\2006\scamnum\menic.h |
3=C:\Program Files\PICC\devices\16F88.h |
4=D:\KAKL\roboti\solarni\2006\scamnum\AX25.c |
5= |
[debugperif] |
selected=Analog/Digital Conv |
[debugram] |
autoread=1 |
[debugeedata] |
autoread=1 |
[debugbreak] |
count=0 |
[pcwdebug] |
watchcol0=75 |
[debugwatch] |
count=0 |
[debugexpr] |
expr= |
sideeffects=0 |
[Units] |
Count=1 |
1=D:\KAKL\roboti\solarni\2006\scamnum\menic.c (main) |
/roboti/solarni/2006/scamnum_specularis/menic.err |
---|
0,0 → 1,2 |
No Errors |
0 Errors, 0 Warnings. |
/roboti/solarni/2006/scamnum/menic.BAK |
---|
0,0 → 1,170 |
// ************************************* |
// * Scamnum Specularis ** 20. 9. 2006 * |
// ************************************* |
#include ".\menic.h" |
#define TXo PIN_B5 // To the transmitter modulator |
#include ".\AX25.c" // Podprogram pro prenos telemetrie |
char AXstring[40]; // Buffer pro prenos telemetrie |
#define REFSTART 95 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
#define DUTY1 2 // Delka sepnuti PWM v us pro sero |
#define DUTY2 19 // Delka sepnuti PWM v us pro jednu zarovku 500W |
// Tabulka hodnot prevodniku pro ruzna napajeci napeti |
// 80 3,99V |
// 90 3,54V |
// 100 3,20V |
// 105 3,04V |
// 107 2,99V |
// 110 2,91v |
// 200 1,61V |
#define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
#define LED PIN_A7 // LED / druhy pol piezo reproduktoru |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#define SW1 PIN_B6 // DIPswitch 1 |
#define SW2 PIN_B7 // DIPswitch 2 |
#define NAPETI 4 // Cislo kanalu DA prevodniku pro mereni napeti |
#define PWM 0 // Cislo kanalu DA prevodniku pro nastaveni PWM |
#define ROZJEZD 1 // Cislo kanalu DA prevodniku pro nastaveni rozjezdu |
#byte SSPBUF = 0x13 // Adresy registru jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void pip() // pipnuti a bliknuti |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
{ |
output_bit(PIEZO,~input(PIEZO)); |
} |
void main() |
{ |
int8 n; |
int8 perioda; |
int8 razeni; |
int8 uclanku; |
int16 ble; |
setup_timer_0(RTCC_INTERNAL);setup_wdt(WDT_1152MS); |
setup_timer_1(T1_DISABLED); |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN0|sAN1|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
output_high(LED); |
output_high(PIEZO); |
set_adc_channel(NAPETI); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(DUTY1); // PWM pro zatizeni clanku pri malem osvetleni |
n=0; |
do |
{ |
output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
delay_ms(100); |
if (4==n++) {cvak(); n=0;}; // Kazdy 4. pruchod cvakni |
output_high(REFPWR); // Zapni napajeni napetove reference |
delay_ms(1); // Pockej na ustaleni napeti |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
// port_b_pullups(TRUE); // Zapni pullupy, aby slo cist DIPswitch |
// do |
// { |
// Precti trimry |
set_adc_channel(PWM); // Zjisteni nastaveni PWM |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
perioda=(read_adc()>>2)+40; // rozsah: 40 az 103 |
set_adc_channel(ROZJEZD); // Zjisteni nastaveni rozjezdu |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
razeni=read_adc()>>3; // rozsah: 0 az 31 |
// Rozjeti menice |
set_pwm1_duty(0); // Zastav PWM, aby slo nastavit jinou frekvenci |
setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
set_pwm1_duty(DUTY2); // PWM pro zatizeni clanku pri jedne 500W zarovce |
pip(); // potvrzeni odstartovani / servisni mod |
delay_ms(500); |
// } while (input(SW1)); // Je zapnut servisni mod? SW1(OFF)=ANO |
// port_b_pullups(FALSE); // Vypni pullupy, aby se setrilo energii |
// zmereni napeti na clancich |
output_high(REFPWR); // Prepni AD na mereni napeti clanku |
set_adc_channel(NAPETI); // Prepni Zmer napeti clanku |
delay_us(50); // Pockej na prepnuti kanalu A/D prevodniku |
uclanku=read_adc(); |
output_low(REFPWR); // odpoj odpor pro mereni napeti |
// posli telemetrii |
sprintf(AXstring,"p=%u r=%u u=%u", perioda, razeni, uclanku); // Convert DATA to String. |
SendPacket(&AXstring[0]); |
delay_ms(14000); // Pockame do 14.5s |
// rozjezd |
for(ble=1;ble<=1000;ble++) |
{ |
for(n=0;n<=razeni;n++) |
{ |
output_high(MOTOR); |
delay_us(ble); |
output_low(MOTOR); |
delay_us(1000-ble); |
} |
} |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1300); // Nemeli bysme jet dele nez 1,3s :-) |
output_low(MOTOR); // Zastav motor |
// Menic je stale zapnut a zatezuje clanky |
while(TRUE); // Cekej, dokud se neztrati svetlo, |
// nebo prijde WatchDog |
} |
/roboti/solarni/2006/scamnum/menic.HEX |
---|
0,0 → 1,108 |
:1000000000308A00C3290000FF00030E8301A10015 |
:100010007F08A0000A08A8008A01A00E0408A20018 |
:100020007708A3007808A4007908A5007A08A6003C |
:100030007B08A700831383128C308400801D222844 |
:100040008C193528220884002308F7002408F800BA |
:100050002508F9002608FA002708FB0028088A006E |
:10006000210E8300FF0E7F0E09008A1137286808D1 |
:1000700093008C118A112228713084000008031922 |
:1000800051280130F800BF30F7006400F70B452815 |
:10009000F80B43284230F700F70B4C286400800B24 |
:1000A00041280034831605178312051F59280513AC |
:1000B0005A2805178316051383128A11632AF10142 |
:1000C0007108F93C031C81287018682805136928F9 |
:1000D0000517831605130130F00670187328831274 |
:1000E000851375288316831285178316851364007C |
:1000F0001F30F700F70B7A2800000000F10A831286 |
:10010000602883160513831205178316851383123F |
:1001100085178A11B12A6908840072088000840A50 |
:100120008001E90A00347308F801720203189B2861 |
:100130007208F700A728F7010830F400F20DF70D58 |
:10014000730877020318F700F80DF40B9E280034AB |
:1001500078087008F2006430F30093207708F0000C |
:1001600078083030031DBB28F11CC228F119C228C1 |
:10017000711A2030BE28F11171127114F807780835 |
:10018000F2008B207008F2000A30F3009320770809 |
:10019000F00078083030031DD328F119D728711CDE |
:1001A000D728711A2030F8077808F2008B203030F9 |
:1001B000F0077008F2008B200034BC01391CE228E3 |
:1001C0003910E32839140034391C1029831686129B |
:1001D0008312861264004730F700F70BED28000009 |
:1001E000831686128312861664004730F700F70BD9 |
:1001F000F7280000831686128312861264004730A7 |
:10020000F700F70B01290000831686128312861669 |
:1002100064001830F700F70B0B29000000002329B9 |
:10022000831686128312861264008530F700F70B5E |
:100230001729831686128312861664006F30F70022 |
:10024000F70B202900000034F3017308073C031C5E |
:100250006C2972080139F400BE08031931290030F5 |
:1002600032290130F500BD08031938290030392939 |
:1002700001307505003A03194C297408F500031084 |
:10028000BB0CBA0C030801397506013C031D4C294F |
:100290008430BB060830BA06F408031D5129DD205E |
:1002A0006729BD080319BC0ABD0803195929003084 |
:1002B0005A290130F5003C08053C0319612900303A |
:1002C00062290130750503196729E420DD20E42047 |
:1002D0000310F20CF30A252900343910FF30BB005B |
:1002E000BA00BC010130BD00BE01BF013F08093C9E |
:1002F000031C7F297E30F2002421BF0A7629BD012C |
:10030000BF013F080F3C031C8E2929303F078400A2 |
:100310000008F100F2002421BF0A8129BF01700802 |
:100320008400000803199D29700884000008F1006A |
:10033000F2002421F00ABF0A8F290130BE00FF30ED |
:10034000BA06BB063A08F20024213B08F200242139 |
:10035000BE010130BD007E30F20024218A11FD2A49 |
:100360001230F202031CC22972308400FC30800576 |
:100370000310800C800C00080319C229C0296400F6 |
:10038000800BBF29003484011F30830583161F12A0 |
:100390009F121B0880399B0007309C00823083121B |
:1003A000A9009830AA00AB004030AC00AD00AE0010 |
:1003B0006030AF008630B000B430B1006030B200C1 |
:1003C000A430B300B400B5006130B6000330B7000C |
:1003D000F030B800E90183160108C03981000E3001 |
:1003E000F700073083128101813084000008F03962 |
:1003F0000738800064000008F739F719F0397704EE |
:100400008000900183161F129F121B088039D33879 |
:100410009B001F1383121F179F1783169F138312AE |
:100420001F149412831606118614061200308312CC |
:1004300094008316940007309C0005086400023085 |
:10044000F700F70B212A00001C0883120D138316F6 |
:100450009D018611831286118316061183120611DF |
:1004600083168610831286108316851383128517D0 |
:1004700083160513831205172030F8001F08C739AB |
:1004800078049F00950183168611831286110C3023 |
:1004900097000030F8000438920064308316920010 |
:1004A00062308F00023083129500EA0183168610B5 |
:1004B000831286106430F1003C206A08EA0A043C8A |
:1004C000031D642A5228EA018316861083128614BB |
:1004D0000130F1003C201F151F196C2A1E085F3CDB |
:1004E000031C562A83168610831286100030F800EB |
:1004F0001F08C73978049F0064001F30F700F70B0E |
:100500007F2A000000001F151F19842A1E08F7000B |
:10051000F70CF70C3F30F7057708283EEB00083062 |
:10052000F8001F08C73978049F0064001F30F700E7 |
:10053000F70B982A000000001F151F199D2A1E0C9A |
:10054000EC00EC0CEC0C1F30EC0595010030F800D1 |
:10055000043892006B0883169200133083129500C2 |
:100560005F280230F000FA30F1003C20F00BB32A93 |
:1005700083168610831286142030F8001F08C739AE |
:1005800078049F0064000F30F700F70BC52A0000C5 |
:100590001F151F19C92A1E08ED0083168610831225 |
:1005A00086104030E9007030F2008B203D30F200C0 |
:1005B0008B206B08F0001B30F100A8202030F200E7 |
:1005C0008B207230F2008B203D30F2008B206C08C3 |
:1005D000F0001B30F100A8202030F2008B20753095 |
:1005E000F2008B203D30F2008B206D08F0001B30B4 |
:1005F000F100A8204030F0006D293830F000FA30CA |
:10060000F1003C20F00BFF2AEF010130EE006F08F3 |
:10061000033C031C332B031D112B6E08E83C031C09 |
:10062000332BEA016A086C02031C2F2B8316061178 |
:10063000831206156E08F200B0218316061183128C |
:1006400006116E08E83CF0000330F1006F08031C4F |
:100650006F0FF1027008F200B021EA0A122BEE0AC5 |
:100660000319EF0A072B83160611831206150A30A9 |
:10067000F0008230F1003C20F00B392B831606117C |
:0806800083120611422B6300F6 |
:04400E003827FC3F14 |
:00000001FF |
;PIC16F88 |
/roboti/solarni/2006/scamnum/menic.LST |
---|
0,0 → 1,1107 |
CCS PCM C Compiler, Version 3.245, 27853 17-IX-06 22:12 |
Filename: D:\KAKL\roboti\solarni\2006\scamnum\menic.lst |
ROM used: 836 words (20%) |
Largest free fragment is 2048 |
RAM used: 87 (50%) at main() level |
94 (54%) worst case |
Stack: 4 worst case (3 in main + 1 for interrupts) |
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 1C3 |
0003: NOP |
0004: MOVWF 7F |
0005: SWAPF 03,W |
0006: CLRF 03 |
0007: MOVWF 21 |
0008: MOVF 7F,W |
0009: MOVWF 20 |
000A: MOVF 0A,W |
000B: MOVWF 28 |
000C: CLRF 0A |
000D: SWAPF 20,F |
000E: MOVF 04,W |
000F: MOVWF 22 |
0010: MOVF 77,W |
0011: MOVWF 23 |
0012: MOVF 78,W |
0013: MOVWF 24 |
0014: MOVF 79,W |
0015: MOVWF 25 |
0016: MOVF 7A,W |
0017: MOVWF 26 |
0018: MOVF 7B,W |
0019: MOVWF 27 |
001A: BCF 03.7 |
001B: BCF 03.5 |
001C: MOVLW 8C |
001D: MOVWF 04 |
001E: BTFSS 00.3 |
001F: GOTO 022 |
0020: BTFSC 0C.3 |
0021: GOTO 035 |
0022: MOVF 22,W |
0023: MOVWF 04 |
0024: MOVF 23,W |
0025: MOVWF 77 |
0026: MOVF 24,W |
0027: MOVWF 78 |
0028: MOVF 25,W |
0029: MOVWF 79 |
002A: MOVF 26,W |
002B: MOVWF 7A |
002C: MOVF 27,W |
002D: MOVWF 7B |
002E: MOVF 28,W |
002F: MOVWF 0A |
0030: SWAPF 21,W |
0031: MOVWF 03 |
0032: SWAPF 7F,F |
0033: SWAPF 7F,W |
0034: RETFIE |
0035: BCF 0A.3 |
0036: GOTO 037 |
.................... // ************************************* |
.................... // * Scamnum Specularis ** 20. 9. 2006 * |
.................... // ************************************* |
.................... |
.................... #include ".\menic.h" |
.................... #include <16F88.h> |
.................... //////// Standard Header file for the PIC16F88 device //////////////// |
.................... #device PIC16F88 |
.................... #list |
.................... |
.................... |
.................... #device adc=8 |
.................... |
.................... #fuses NOWDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, \ |
.................... NOWRT, DEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
.................... |
.................... #use delay(clock=3900000,RESTART_WDT) |
* |
003C: MOVLW 71 |
003D: MOVWF 04 |
003E: MOVF 00,W |
003F: BTFSC 03.2 |
0040: GOTO 051 |
0041: MOVLW 01 |
0042: MOVWF 78 |
0043: MOVLW BF |
0044: MOVWF 77 |
0045: CLRWDT |
0046: DECFSZ 77,F |
0047: GOTO 045 |
0048: DECFSZ 78,F |
0049: GOTO 043 |
004A: MOVLW 42 |
004B: MOVWF 77 |
004C: DECFSZ 77,F |
004D: GOTO 04C |
004E: CLRWDT |
004F: DECFSZ 00,F |
0050: GOTO 041 |
0051: RETLW 00 |
* |
01B0: MOVLW 12 |
01B1: SUBWF 72,F |
01B2: BTFSS 03.0 |
01B3: GOTO 1C2 |
01B4: MOVLW 72 |
01B5: MOVWF 04 |
01B6: MOVLW FC |
01B7: ANDWF 00,F |
01B8: BCF 03.0 |
01B9: RRF 00,F |
01BA: RRF 00,F |
01BB: MOVF 00,W |
01BC: BTFSC 03.2 |
01BD: GOTO 1C2 |
01BE: GOTO 1C0 |
01BF: CLRWDT |
01C0: DECFSZ 00,F |
01C1: GOTO 1BF |
01C2: RETLW 00 |
.................... |
.................... |
.................... |
.................... #define TXo PIN_B5 // To the transmitter modulator |
.................... #include ".\AX25.c" // Podprogram pro prenos telemetrie |
.................... //#define PTT PIN_A2 // PTT control |
.................... //#define TXo PIN_C0 // To the transmitter modulator |
.................... //#define PERIODAH delay_us(218) // Halfperiod H 222;78/1200 500;430/500 |
.................... //#define TAILH delay_us(74) |
.................... //#define PERIODAL delay_us(408) // Halfperiod L 412;345/1200 1000;880/500 |
.................... //#define TAILL delay_us(341) |
.................... #define PERIODAH delay_us(222) // Halfperiod H 222;78/1200 500;430/500 |
.................... #define TAILH delay_us(78) |
.................... #define PERIODAL delay_us(412) // Halfperiod L 412;345/1200 1000;880/500 |
.................... #define TAILL delay_us(345) |
.................... #byte STATUS = 3 // CPUs status register |
.................... |
.................... byte SendData[16] = {'A'<<1, 'L'<<1, 'L'<<1, ' '<<1, ' '<<1, ' '<<1, 0x60, |
.................... 'C'<<1, 'Z'<<1, '0'<<1, 'R'<<1, 'R'<<1, 'R'<<1, 0x61, |
.................... 0x03, 0xF0}; |
* |
01CE: MOVLW 82 |
01CF: BCF 03.5 |
01D0: MOVWF 29 |
01D1: MOVLW 98 |
01D2: MOVWF 2A |
01D3: MOVWF 2B |
01D4: MOVLW 40 |
01D5: MOVWF 2C |
01D6: MOVWF 2D |
01D7: MOVWF 2E |
01D8: MOVLW 60 |
01D9: MOVWF 2F |
01DA: MOVLW 86 |
01DB: MOVWF 30 |
01DC: MOVLW B4 |
01DD: MOVWF 31 |
01DE: MOVLW 60 |
01DF: MOVWF 32 |
01E0: MOVLW A4 |
01E1: MOVWF 33 |
01E2: MOVWF 34 |
01E3: MOVWF 35 |
01E4: MOVLW 61 |
01E5: MOVWF 36 |
01E6: MOVLW 03 |
01E7: MOVWF 37 |
01E8: MOVLW F0 |
01E9: MOVWF 38 |
.................... |
.................... boolean bit; |
.................... int fcslo, fcshi; // variabloes for calculating FCS (CRC) |
.................... int stuff; // stuff counter for extra 0 |
.................... int flag_flag; // if it is sending flag (7E) |
.................... int fcs_flag; // if it is sending Frame Check Sequence |
.................... int i; // for for |
.................... |
.................... void flipout() //flips the state of output pin a_1 |
.................... { |
.................... stuff = 0; //since this is a 0, reset the stuff counter |
* |
00DD: CLRF 3C |
.................... if (bit) |
00DE: BTFSS 39.0 |
00DF: GOTO 0E2 |
.................... { |
.................... bit=FALSE; //if the state of the pin was low, make it high. |
00E0: BCF 39.0 |
.................... } |
.................... else |
00E1: GOTO 0E3 |
.................... { |
.................... bit=TRUE; //if the state of the pin was high make it low |
00E2: BSF 39.0 |
.................... } |
.................... } |
00E3: RETLW 00 |
.................... |
.................... void fcsbit(byte tbyte) |
.................... { |
.................... #asm |
.................... BCF STATUS,0 |
* |
013F: BCF 03.0 |
.................... RRF fcshi,F // rotates the entire 16 bits |
0140: RRF 3B,F |
.................... RRF fcslo,F // to the right |
0141: RRF 3A,F |
.................... #endasm |
.................... if (((STATUS & 0x01)^(tbyte)) ==0x01) |
0142: MOVF 03,W |
0143: ANDLW 01 |
0144: XORWF 75,W |
0145: SUBLW 01 |
0146: BTFSS 03.2 |
0147: GOTO 14C |
.................... { |
.................... fcshi = fcshi^0x84; |
0148: MOVLW 84 |
0149: XORWF 3B,F |
.................... fcslo = fcslo^0x08; |
014A: MOVLW 08 |
014B: XORWF 3A,F |
.................... } |
.................... } |
.................... |
.................... void SendBit () |
.................... { |
.................... if (bit) |
* |
00E4: BTFSS 39.0 |
00E5: GOTO 110 |
.................... { |
.................... output_low(TXo); |
00E6: BSF 03.5 |
00E7: BCF 06.5 |
00E8: BCF 03.5 |
00E9: BCF 06.5 |
.................... PERIODAH; |
00EA: CLRWDT |
00EB: MOVLW 47 |
00EC: MOVWF 77 |
00ED: DECFSZ 77,F |
00EE: GOTO 0ED |
00EF: NOP |
.................... output_high(TXo); |
00F0: BSF 03.5 |
00F1: BCF 06.5 |
00F2: BCF 03.5 |
00F3: BSF 06.5 |
.................... PERIODAH; |
00F4: CLRWDT |
00F5: MOVLW 47 |
00F6: MOVWF 77 |
00F7: DECFSZ 77,F |
00F8: GOTO 0F7 |
00F9: NOP |
.................... output_low(TXo); |
00FA: BSF 03.5 |
00FB: BCF 06.5 |
00FC: BCF 03.5 |
00FD: BCF 06.5 |
.................... PERIODAH; |
00FE: CLRWDT |
00FF: MOVLW 47 |
0100: MOVWF 77 |
0101: DECFSZ 77,F |
0102: GOTO 101 |
0103: NOP |
.................... output_high(TXo); |
0104: BSF 03.5 |
0105: BCF 06.5 |
0106: BCF 03.5 |
0107: BSF 06.5 |
.................... TAILH; |
0108: CLRWDT |
0109: MOVLW 18 |
010A: MOVWF 77 |
010B: DECFSZ 77,F |
010C: GOTO 10B |
010D: NOP |
010E: NOP |
.................... } |
.................... else |
010F: GOTO 123 |
.................... { |
.................... output_low(TXo); |
0110: BSF 03.5 |
0111: BCF 06.5 |
0112: BCF 03.5 |
0113: BCF 06.5 |
.................... PERIODAL; |
0114: CLRWDT |
0115: MOVLW 85 |
0116: MOVWF 77 |
0117: DECFSZ 77,F |
0118: GOTO 117 |
.................... output_high(TXo); |
0119: BSF 03.5 |
011A: BCF 06.5 |
011B: BCF 03.5 |
011C: BSF 06.5 |
.................... TAILL; |
011D: CLRWDT |
011E: MOVLW 6F |
011F: MOVWF 77 |
0120: DECFSZ 77,F |
0121: GOTO 120 |
0122: NOP |
.................... }; |
.................... } |
0123: RETLW 00 |
.................... |
.................... void SendByte (byte inbyte) |
.................... { |
.................... int k, bt; |
.................... |
.................... for (k=0;k<8;k++) //do the following for each of the 8 bits in the byte |
0124: CLRF 73 |
0125: MOVF 73,W |
0126: SUBLW 07 |
0127: BTFSS 03.0 |
0128: GOTO 16C |
.................... { |
.................... bt = inbyte & 0x01; //strip off the rightmost bit of the byte to be sent (inbyte) |
0129: MOVF 72,W |
012A: ANDLW 01 |
012B: MOVWF 74 |
.................... if ((fcs_flag == FALSE) & (flag_flag == FALSE)) fcsbit(bt); //do FCS calc, but only if this |
012C: MOVF 3E,F |
012D: BTFSC 03.2 |
012E: GOTO 131 |
012F: MOVLW 00 |
0130: GOTO 132 |
0131: MOVLW 01 |
0132: MOVWF 75 |
0133: MOVF 3D,F |
0134: BTFSC 03.2 |
0135: GOTO 138 |
0136: MOVLW 00 |
0137: GOTO 139 |
0138: MOVLW 01 |
0139: ANDWF 75,W |
013A: XORLW 00 |
013B: BTFSC 03.2 |
013C: GOTO 14C |
013D: MOVF 74,W |
013E: MOVWF 75 |
.................... //is not a flag or fcs byte |
.................... if (bt == 0) |
* |
014C: MOVF 74,F |
014D: BTFSS 03.2 |
014E: GOTO 151 |
.................... { |
.................... flipout(); |
014F: CALL 0DD |
.................... } // if this bit is a zero, flip the output state |
.................... else |
0150: GOTO 167 |
.................... { //otherwise if it is a 1, do the following: |
.................... if (flag_flag == FALSE) stuff++; //increment the count of consequtive 1's |
0151: MOVF 3D,F |
0152: BTFSC 03.2 |
0153: INCF 3C,F |
.................... if ((flag_flag == FALSE) & (stuff == 5)) |
0154: MOVF 3D,F |
0155: BTFSC 03.2 |
0156: GOTO 159 |
0157: MOVLW 00 |
0158: GOTO 15A |
0159: MOVLW 01 |
015A: MOVWF 75 |
015B: MOVF 3C,W |
015C: SUBLW 05 |
015D: BTFSC 03.2 |
015E: GOTO 161 |
015F: MOVLW 00 |
0160: GOTO 162 |
0161: MOVLW 01 |
0162: ANDWF 75,W |
0163: BTFSC 03.2 |
0164: GOTO 167 |
.................... { //stuff an extra 0, if 5 1's in a row |
.................... SendBit(); |
0165: CALL 0E4 |
.................... flipout(); //flip the output state to stuff a 0 |
0166: CALL 0DD |
.................... }//end of if |
.................... }//end of else |
.................... // delay_us(850); //introduces a delay that creates 1200 baud |
.................... SendBit(); |
0167: CALL 0E4 |
.................... inbyte = inbyte>>1; //go to the next bit in the byte |
0168: BCF 03.0 |
0169: RRF 72,F |
.................... }//end of for |
016A: INCF 73,F |
016B: GOTO 125 |
.................... }//end of SendByte |
016C: RETLW 00 |
.................... |
.................... void SendPacket(char *data) |
.................... { |
.................... bit=FALSE; |
016D: BCF 39.0 |
.................... |
.................... fcslo=fcshi=0xFF; //The 2 FCS Bytes are initialized to FF |
016E: MOVLW FF |
016F: MOVWF 3B |
0170: MOVWF 3A |
.................... stuff = 0; //The variable stuff counts the number of 1's in a row. When it gets to 5 |
0171: CLRF 3C |
.................... // it is time to stuff a 0. |
.................... |
.................... // output_low(PTT); // Blinking LED |
.................... // delay_ms(1000); |
.................... // output_high(PTT); |
.................... |
.................... flag_flag = TRUE; //The variable flag is true if you are transmitted flags (7E's) false otherwise. |
0172: MOVLW 01 |
0173: MOVWF 3D |
.................... fcs_flag = FALSE; //The variable fcsflag is true if you are transmitting FCS bytes, false otherwise. |
0174: CLRF 3E |
.................... |
.................... for(i=0; i<10; i++) SendByte(0x7E); //Sends flag bytes. Adjust length for txdelay |
0175: CLRF 3F |
0176: MOVF 3F,W |
0177: SUBLW 09 |
0178: BTFSS 03.0 |
0179: GOTO 17F |
017A: MOVLW 7E |
017B: MOVWF 72 |
017C: CALL 124 |
017D: INCF 3F,F |
017E: GOTO 176 |
.................... //each flag takes approx 6.7 ms |
.................... flag_flag = FALSE; //done sending flags |
017F: CLRF 3D |
.................... |
.................... for(i=0; i<16; i++) SendByte(SendData[i]); //send the packet bytes |
0180: CLRF 3F |
0181: MOVF 3F,W |
0182: SUBLW 0F |
0183: BTFSS 03.0 |
0184: GOTO 18E |
0185: MOVLW 29 |
0186: ADDWF 3F,W |
0187: MOVWF 04 |
0188: MOVF 00,W |
0189: MOVWF 71 |
018A: MOVWF 72 |
018B: CALL 124 |
018C: INCF 3F,F |
018D: GOTO 181 |
.................... |
.................... for(i=0; 0 != *data; i++) |
018E: CLRF 3F |
018F: MOVF 70,W |
0190: MOVWF 04 |
0191: MOVF 00,W |
0192: BTFSC 03.2 |
0193: GOTO 19D |
.................... { |
.................... SendByte(*data); //send the packet bytes |
0194: MOVF 70,W |
0195: MOVWF 04 |
0196: MOVF 00,W |
0197: MOVWF 71 |
0198: MOVWF 72 |
0199: CALL 124 |
.................... data++; |
019A: INCF 70,F |
.................... }; |
019B: INCF 3F,F |
019C: GOTO 18F |
.................... |
.................... fcs_flag = TRUE; //about to send the FCS bytes |
019D: MOVLW 01 |
019E: MOVWF 3E |
.................... fcslo =fcslo^0xff; //must XOR them with FF before sending |
019F: MOVLW FF |
01A0: XORWF 3A,F |
.................... fcshi = fcshi^0xff; |
01A1: XORWF 3B,F |
.................... SendByte(fcslo); //send the low byte of fcs |
01A2: MOVF 3A,W |
01A3: MOVWF 72 |
01A4: CALL 124 |
.................... SendByte(fcshi); //send the high byte of fcs |
01A5: MOVF 3B,W |
01A6: MOVWF 72 |
01A7: CALL 124 |
.................... fcs_flag = FALSE; //done sending FCS |
01A8: CLRF 3E |
.................... flag_flag = TRUE; //about to send flags |
01A9: MOVLW 01 |
01AA: MOVWF 3D |
.................... SendByte(0x7e); // Send a flag to end packet |
01AB: MOVLW 7E |
01AC: MOVWF 72 |
01AD: CALL 124 |
.................... } |
01AE: BCF 0A.3 |
01AF: GOTO 2FD (RETURN) |
.................... |
.................... |
.................... |
.................... |
.................... char AXstring[40]; // Buffer pro prenos telemetrie |
.................... |
.................... #define REFSTART 95 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
.................... #define DUTY1 2 // Delka sepnuti PWM v us pro sero |
.................... #define DUTY2 19 // Delka sepnuti PWM v us pro jednu zarovku 500W |
.................... |
.................... // Tabulka hodnot prevodniku pro ruzna napajeci napeti |
.................... // 80 3,99V |
.................... // 90 3,54V |
.................... // 100 3,20V |
.................... // 105 3,04V |
.................... // 107 2,99V |
.................... // 110 2,91v |
.................... // 200 1,61V |
.................... |
.................... #define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
.................... #define LED PIN_A7 // LED / druhy pol piezo reproduktoru |
.................... #define MENIC PIN_B3 // Spinani tranzistoru menice |
.................... #define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
.................... #define MOTOR PIN_B2 // Spinani tranzistoru motoru |
.................... #define SW1 PIN_B6 // DIPswitch 1 |
.................... #define SW2 PIN_B7 // DIPswitch 2 |
.................... #define NAPETI 4 // Cislo kanalu DA prevodniku pro mereni napeti |
.................... #define PWM 0 // Cislo kanalu DA prevodniku pro nastaveni PWM |
.................... #define ROZJEZD 1 // Cislo kanalu DA prevodniku pro nastaveni rozjezdu |
.................... |
.................... #byte SSPBUF = 0x13 // Adresy registru jednotky SSP |
.................... #byte SSPCON1 = 0x14 |
.................... #byte SSPSTAT = 0x94 |
.................... |
.................... // Vzorky pro generovani PWM pomoci SSP |
.................... unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
.................... unsigned int8 MotorPattern; |
.................... |
.................... #INT_SSP |
.................... void IntSSP() |
.................... { |
.................... SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
* |
0037: MOVF 68,W |
0038: MOVWF 13 |
.................... } |
.................... |
0039: BCF 0C.3 |
003A: BCF 0A.3 |
003B: GOTO 022 |
.................... void pip() // pipnuti a bliknuti |
.................... { |
.................... int1 beep; |
.................... int i; |
.................... |
.................... for(i=0; i<250; i++) |
* |
005F: CLRF 71 |
0060: MOVF 71,W |
0061: SUBLW F9 |
0062: BTFSS 03.0 |
0063: GOTO 081 |
.................... { |
.................... output_bit(PIEZO, beep); |
0064: BTFSC 70.0 |
0065: GOTO 068 |
0066: BCF 05.6 |
0067: GOTO 069 |
0068: BSF 05.6 |
0069: BSF 03.5 |
006A: BCF 05.6 |
.................... beep=~beep; |
006B: MOVLW 01 |
006C: XORWF 70,F |
.................... output_bit(LED, beep); |
006D: BTFSC 70.0 |
006E: GOTO 073 |
006F: BCF 03.5 |
0070: BCF 05.7 |
0071: GOTO 075 |
0072: BSF 03.5 |
0073: BCF 03.5 |
0074: BSF 05.7 |
0075: BSF 03.5 |
0076: BCF 05.7 |
.................... delay_us(100); |
0077: CLRWDT |
0078: MOVLW 1F |
0079: MOVWF 77 |
007A: DECFSZ 77,F |
007B: GOTO 07A |
007C: NOP |
007D: NOP |
.................... }; |
007E: INCF 71,F |
007F: BCF 03.5 |
0080: GOTO 060 |
.................... output_high(PIEZO); |
0081: BSF 03.5 |
0082: BCF 05.6 |
0083: BCF 03.5 |
0084: BSF 05.6 |
.................... output_high(LED); |
0085: BSF 03.5 |
0086: BCF 05.7 |
0087: BCF 03.5 |
0088: BSF 05.7 |
.................... } |
0089: BCF 0A.3 |
008A: GOTO 2B1 (RETURN) |
.................... |
.................... void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
.................... { |
.................... output_bit(PIEZO,~input(PIEZO)); |
* |
0052: BSF 03.5 |
0053: BSF 05.6 |
0054: BCF 03.5 |
0055: BTFSS 05.6 |
0056: GOTO 059 |
0057: BCF 05.6 |
0058: GOTO 05A |
0059: BSF 05.6 |
005A: BSF 03.5 |
005B: BCF 05.6 |
.................... } |
005C: BCF 03.5 |
005D: BCF 0A.3 |
005E: GOTO 263 (RETURN) |
.................... |
.................... void main() |
.................... { |
* |
01C3: CLRF 04 |
01C4: MOVLW 1F |
01C5: ANDWF 03,F |
01C6: BSF 03.5 |
01C7: BCF 1F.4 |
01C8: BCF 1F.5 |
01C9: MOVF 1B,W |
01CA: ANDLW 80 |
01CB: MOVWF 1B |
01CC: MOVLW 07 |
01CD: MOVWF 1C |
.................... int8 n; |
.................... int8 perioda; |
.................... int8 razeni; |
.................... int8 uclanku; |
.................... int16 ble; |
.................... |
.................... setup_timer_0(RTCC_INTERNAL);setup_wdt(WDT_1152MS); |
* |
01EB: BSF 03.5 |
01EC: MOVF 01,W |
01ED: ANDLW C0 |
01EE: MOVWF 01 |
01EF: MOVLW 0E |
01F0: MOVWF 77 |
01F1: MOVLW 07 |
01F2: BCF 03.5 |
01F3: CLRF 01 |
01F4: MOVLW 81 |
01F5: MOVWF 04 |
01F6: MOVF 00,W |
01F7: ANDLW F0 |
01F8: IORLW 07 |
01F9: MOVWF 00 |
01FA: CLRWDT |
01FB: MOVF 00,W |
01FC: ANDLW F7 |
01FD: BTFSC 77.3 |
01FE: ANDLW F0 |
01FF: IORWF 77,W |
0200: MOVWF 00 |
.................... setup_timer_1(T1_DISABLED); |
0201: CLRF 10 |
.................... setup_adc_ports(ADC_CLOCK_INTERNAL|sAN0|sAN1|sAN4|VSS_VDD); |
0202: BSF 03.5 |
0203: BCF 1F.4 |
0204: BCF 1F.5 |
0205: MOVF 1B,W |
0206: ANDLW 80 |
0207: IORLW D3 |
0208: MOVWF 1B |
.................... setup_adc(ADC_CLOCK_INTERNAL); |
0209: BCF 1F.6 |
020A: BCF 03.5 |
020B: BSF 1F.6 |
020C: BSF 1F.7 |
020D: BSF 03.5 |
020E: BCF 1F.7 |
020F: BCF 03.5 |
0210: BSF 1F.0 |
.................... setup_spi(FALSE); |
0211: BCF 14.5 |
0212: BSF 03.5 |
0213: BCF 06.2 |
0214: BSF 06.1 |
0215: BCF 06.4 |
0216: MOVLW 00 |
0217: BCF 03.5 |
0218: MOVWF 14 |
0219: BSF 03.5 |
021A: MOVWF 14 |
.................... setup_comparator(NC_NC_NC_NC); |
021B: MOVLW 07 |
021C: MOVWF 1C |
021D: MOVF 05,W |
021E: CLRWDT |
021F: MOVLW 02 |
0220: MOVWF 77 |
0221: DECFSZ 77,F |
0222: GOTO 221 |
0223: NOP |
0224: MOVF 1C,W |
0225: BCF 03.5 |
0226: BCF 0D.6 |
.................... setup_vref(FALSE); |
0227: BSF 03.5 |
0228: CLRF 1D |
.................... |
.................... output_low(MENIC); // Vsechno zastav |
0229: BCF 06.3 |
022A: BCF 03.5 |
022B: BCF 06.3 |
.................... output_low(MOTOR); |
022C: BSF 03.5 |
022D: BCF 06.2 |
022E: BCF 03.5 |
022F: BCF 06.2 |
.................... output_low(REFPWR); |
0230: BSF 03.5 |
0231: BCF 06.1 |
0232: BCF 03.5 |
0233: BCF 06.1 |
.................... output_high(LED); |
0234: BSF 03.5 |
0235: BCF 05.7 |
0236: BCF 03.5 |
0237: BSF 05.7 |
.................... output_high(PIEZO); |
0238: BSF 03.5 |
0239: BCF 05.6 |
023A: BCF 03.5 |
023B: BSF 05.6 |
.................... |
.................... set_adc_channel(NAPETI); // Vyber AD kanal pro pomerne mereni napeti |
023C: MOVLW 20 |
023D: MOVWF 78 |
023E: MOVF 1F,W |
023F: ANDLW C7 |
0240: IORWF 78,W |
0241: MOVWF 1F |
.................... set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
0242: CLRF 15 |
.................... setup_ccp1(CCP_PWM); |
0243: BSF 03.5 |
0244: BCF 06.3 |
0245: BCF 03.5 |
0246: BCF 06.3 |
0247: MOVLW 0C |
0248: MOVWF 17 |
.................... setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
0249: MOVLW 00 |
024A: MOVWF 78 |
024B: IORLW 04 |
024C: MOVWF 12 |
024D: MOVLW 64 |
024E: BSF 03.5 |
024F: MOVWF 12 |
.................... |
.................... setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
0250: MOVLW 62 |
0251: MOVWF 0F |
.................... |
.................... // jsme v depu? |
.................... set_pwm1_duty(DUTY1); // PWM pro zatizeni clanku pri malem osvetleni |
0252: MOVLW 02 |
0253: BCF 03.5 |
0254: MOVWF 15 |
.................... n=0; |
0255: CLRF 6A |
.................... do |
.................... { |
.................... output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
0256: BSF 03.5 |
0257: BCF 06.1 |
0258: BCF 03.5 |
0259: BCF 06.1 |
.................... delay_ms(100); |
025A: MOVLW 64 |
025B: MOVWF 71 |
025C: CALL 03C |
.................... if (4==n++) {cvak(); n=0;}; // Kazdy 4. pruchod cvakni |
025D: MOVF 6A,W |
025E: INCF 6A,F |
025F: SUBLW 04 |
0260: BTFSS 03.2 |
0261: GOTO 264 |
0262: GOTO 052 |
0263: CLRF 6A |
.................... output_high(REFPWR); // Zapni napajeni napetove reference |
0264: BSF 03.5 |
0265: BCF 06.1 |
0266: BCF 03.5 |
0267: BSF 06.1 |
.................... delay_ms(1); // Pockej na ustaleni napeti |
0268: MOVLW 01 |
0269: MOVWF 71 |
026A: CALL 03C |
.................... } while (read_adc()>REFSTART); // Odkryl starter clanky? |
026B: BSF 1F.2 |
026C: BTFSC 1F.2 |
026D: GOTO 26C |
026E: MOVF 1E,W |
026F: SUBLW 5F |
0270: BTFSS 03.0 |
0271: GOTO 256 |
.................... output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
0272: BSF 03.5 |
0273: BCF 06.1 |
0274: BCF 03.5 |
0275: BCF 06.1 |
.................... |
.................... // port_b_pullups(TRUE); // Zapni pullupy, aby slo cist DIPswitch |
.................... // do |
.................... // { |
.................... // Precti trimry |
.................... set_adc_channel(PWM); // Zjisteni nastaveni PWM |
0276: MOVLW 00 |
0277: MOVWF 78 |
0278: MOVF 1F,W |
0279: ANDLW C7 |
027A: IORWF 78,W |
027B: MOVWF 1F |
.................... delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
027C: CLRWDT |
027D: MOVLW 1F |
027E: MOVWF 77 |
027F: DECFSZ 77,F |
0280: GOTO 27F |
0281: NOP |
0282: NOP |
.................... perioda=(read_adc()>>2)+40; // rozsah: 40 az 103 |
0283: BSF 1F.2 |
0284: BTFSC 1F.2 |
0285: GOTO 284 |
0286: MOVF 1E,W |
0287: MOVWF 77 |
0288: RRF 77,F |
0289: RRF 77,F |
028A: MOVLW 3F |
028B: ANDWF 77,F |
028C: MOVF 77,W |
028D: ADDLW 28 |
028E: MOVWF 6B |
.................... |
.................... set_adc_channel(ROZJEZD); // Zjisteni nastaveni rozjezdu |
028F: MOVLW 08 |
0290: MOVWF 78 |
0291: MOVF 1F,W |
0292: ANDLW C7 |
0293: IORWF 78,W |
0294: MOVWF 1F |
.................... delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
0295: CLRWDT |
0296: MOVLW 1F |
0297: MOVWF 77 |
0298: DECFSZ 77,F |
0299: GOTO 298 |
029A: NOP |
029B: NOP |
.................... razeni=read_adc()>>3; // rozsah: 0 az 31 |
029C: BSF 1F.2 |
029D: BTFSC 1F.2 |
029E: GOTO 29D |
029F: RRF 1E,W |
02A0: MOVWF 6C |
02A1: RRF 6C,F |
02A2: RRF 6C,F |
02A3: MOVLW 1F |
02A4: ANDWF 6C,F |
.................... |
.................... // Rozjeti menice |
.................... set_pwm1_duty(0); // Zastav PWM, aby slo nastavit jinou frekvenci |
02A5: CLRF 15 |
.................... setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
02A6: MOVLW 00 |
02A7: MOVWF 78 |
02A8: IORLW 04 |
02A9: MOVWF 12 |
02AA: MOVF 6B,W |
02AB: BSF 03.5 |
02AC: MOVWF 12 |
.................... set_pwm1_duty(DUTY2); // PWM pro zatizeni clanku pri jedne 500W zarovce |
02AD: MOVLW 13 |
02AE: BCF 03.5 |
02AF: MOVWF 15 |
.................... |
.................... pip(); // potvrzeni odstartovani / servisni mod |
02B0: GOTO 05F |
.................... delay_ms(500); |
02B1: MOVLW 02 |
02B2: MOVWF 70 |
02B3: MOVLW FA |
02B4: MOVWF 71 |
02B5: CALL 03C |
02B6: DECFSZ 70,F |
02B7: GOTO 2B3 |
.................... |
.................... // } while (input(SW1)); // Je zapnut servisni mod? SW1(OFF)=ANO |
.................... // port_b_pullups(FALSE); // Vypni pullupy, aby se setrilo energii |
.................... |
.................... // zmereni napeti na clancich |
.................... output_high(REFPWR); // Prepni AD na mereni napeti clanku |
02B8: BSF 03.5 |
02B9: BCF 06.1 |
02BA: BCF 03.5 |
02BB: BSF 06.1 |
.................... set_adc_channel(NAPETI); // Prepni Zmer napeti clanku |
02BC: MOVLW 20 |
02BD: MOVWF 78 |
02BE: MOVF 1F,W |
02BF: ANDLW C7 |
02C0: IORWF 78,W |
02C1: MOVWF 1F |
.................... delay_us(50); // Pockej na prepnuti kanalu A/D prevodniku |
02C2: CLRWDT |
02C3: MOVLW 0F |
02C4: MOVWF 77 |
02C5: DECFSZ 77,F |
02C6: GOTO 2C5 |
02C7: NOP |
.................... uclanku=read_adc(); |
02C8: BSF 1F.2 |
02C9: BTFSC 1F.2 |
02CA: GOTO 2C9 |
02CB: MOVF 1E,W |
02CC: MOVWF 6D |
.................... output_low(REFPWR); // odpoj odpor pro mereni napeti |
02CD: BSF 03.5 |
02CE: BCF 06.1 |
02CF: BCF 03.5 |
02D0: BCF 06.1 |
.................... |
.................... // posli telemetrii |
.................... sprintf(AXstring,"p=%u r=%u u=%u", perioda, razeni, uclanku); // Convert DATA to String. |
* |
01EA: CLRF 69 |
* |
02D1: MOVLW 40 |
02D2: MOVWF 69 |
02D3: MOVLW 70 |
02D4: MOVWF 72 |
02D5: CALL 08B |
02D6: MOVLW 3D |
02D7: MOVWF 72 |
02D8: CALL 08B |
02D9: MOVF 6B,W |
02DA: MOVWF 70 |
02DB: MOVLW 1B |
02DC: MOVWF 71 |
02DD: CALL 0A8 |
02DE: MOVLW 20 |
02DF: MOVWF 72 |
02E0: CALL 08B |
02E1: MOVLW 72 |
02E2: MOVWF 72 |
02E3: CALL 08B |
02E4: MOVLW 3D |
02E5: MOVWF 72 |
02E6: CALL 08B |
02E7: MOVF 6C,W |
02E8: MOVWF 70 |
02E9: MOVLW 1B |
02EA: MOVWF 71 |
02EB: CALL 0A8 |
02EC: MOVLW 20 |
02ED: MOVWF 72 |
02EE: CALL 08B |
02EF: MOVLW 75 |
02F0: MOVWF 72 |
02F1: CALL 08B |
02F2: MOVLW 3D |
02F3: MOVWF 72 |
02F4: CALL 08B |
02F5: MOVF 6D,W |
02F6: MOVWF 70 |
02F7: MOVLW 1B |
02F8: MOVWF 71 |
02F9: CALL 0A8 |
.................... SendPacket(&AXstring[0]); |
02FA: MOVLW 40 |
02FB: MOVWF 70 |
02FC: GOTO 16D |
.................... |
.................... delay_ms(14000); // Pockame do 14.5s |
02FD: MOVLW 38 |
02FE: MOVWF 70 |
02FF: MOVLW FA |
0300: MOVWF 71 |
0301: CALL 03C |
0302: DECFSZ 70,F |
0303: GOTO 2FF |
.................... |
.................... // rozjezd |
.................... for(ble=1;ble<=1000;ble++) |
0304: CLRF 6F |
0305: MOVLW 01 |
0306: MOVWF 6E |
0307: MOVF 6F,W |
0308: SUBLW 03 |
0309: BTFSS 03.0 |
030A: GOTO 333 |
030B: BTFSS 03.2 |
030C: GOTO 311 |
030D: MOVF 6E,W |
030E: SUBLW E8 |
030F: BTFSS 03.0 |
0310: GOTO 333 |
.................... { |
.................... for(n=0;n<=razeni;n++) |
0311: CLRF 6A |
0312: MOVF 6A,W |
0313: SUBWF 6C,W |
0314: BTFSS 03.0 |
0315: GOTO 32F |
.................... { |
.................... output_high(MOTOR); |
0316: BSF 03.5 |
0317: BCF 06.2 |
0318: BCF 03.5 |
0319: BSF 06.2 |
.................... delay_us(ble); |
031A: MOVF 6E,W |
031B: MOVWF 72 |
031C: CALL 1B0 |
.................... output_low(MOTOR); |
031D: BSF 03.5 |
031E: BCF 06.2 |
031F: BCF 03.5 |
0320: BCF 06.2 |
.................... delay_us(1000-ble); |
0321: MOVF 6E,W |
0322: SUBLW E8 |
0323: MOVWF 70 |
0324: MOVLW 03 |
0325: MOVWF 71 |
0326: MOVF 6F,W |
0327: BTFSS 03.0 |
0328: INCFSZ 6F,W |
0329: SUBWF 71,F |
032A: MOVF 70,W |
032B: MOVWF 72 |
032C: CALL 1B0 |
.................... } |
032D: INCF 6A,F |
032E: GOTO 312 |
.................... } |
032F: INCF 6E,F |
0330: BTFSC 03.2 |
0331: INCF 6F,F |
0332: GOTO 307 |
.................... |
.................... // jedem co to da |
.................... output_high(MOTOR); |
0333: BSF 03.5 |
0334: BCF 06.2 |
0335: BCF 03.5 |
0336: BSF 06.2 |
.................... |
.................... delay_ms(1300); // Nemeli bysme jet dele nez 1,3s :-) |
0337: MOVLW 0A |
0338: MOVWF 70 |
0339: MOVLW 82 |
033A: MOVWF 71 |
033B: CALL 03C |
033C: DECFSZ 70,F |
033D: GOTO 339 |
.................... output_low(MOTOR); // Zastav motor |
033E: BSF 03.5 |
033F: BCF 06.2 |
0340: BCF 03.5 |
0341: BCF 06.2 |
.................... // Menic je stale zapnut a zatezuje clanky |
.................... |
.................... while(TRUE); // Cekej, dokud se neztrati svetlo, |
0342: GOTO 342 |
.................... // nebo prijde WatchDog |
.................... |
.................... } |
0343: SLEEP |
Configuration Fuses: |
Word 1: 2738 NOWDT NOPUT MCLR NOBROWNOUT NOLVP NOCPD NOWRT DEBUG CCPB3 NOPROTECT INTRC_IO |
Word 2: 3FFC NOFCMEN NOIESO |
/roboti/solarni/2006/scamnum/menic.SYM |
---|
0,0 → 1,102 |
003 STATUS |
013 SSPBUF |
014 SSPCON1 |
015 CCP_1_LOW |
015-016 CCP_1 |
016 CCP_1_HIGH |
020 @INTERRUPT_AREA |
021 @INTERRUPT_AREA |
022 @INTERRUPT_AREA |
023 @INTERRUPT_AREA |
024 @INTERRUPT_AREA |
025 @INTERRUPT_AREA |
026 @INTERRUPT_AREA |
027 @INTERRUPT_AREA |
028 @INTERRUPT_AREA |
029-038 SendData |
039.0 bit |
03A fcslo |
03B fcshi |
03C stuff |
03D flag_flag |
03E fcs_flag |
03F i |
040-067 AXstring |
068 MotorPattern |
069 @sprintf_string |
06A main.n |
06B main.perioda |
06C main.razeni |
06D main.uclanku |
06E-06F main.ble |
070 SendPacket.data |
070 @PRINTF_U_325.P1 |
070.0 pip.beep |
070 main.@SCRATCH |
071 pip.i |
071 @delay_ms1.P1 |
071 @PRINTF_U_325.P2 |
071 SendPacket.@SCRATCH |
071 main.@SCRATCH |
072 @delay_us1.P1 |
072 SendByte.inbyte |
072 @DIV88.P1 |
072 @SPRINTF.P2 |
073 @DIV88.P1 |
073 SendByte.k |
074 SendByte.bt |
074 @DIV88.@SCRATCH |
075 fcsbit.tbyte |
075 SendByte.@SCRATCH |
077 @SCRATCH |
078 @SCRATCH |
078 _RETURN_ |
079 @SCRATCH |
07A @SCRATCH |
07B @SCRATCH |
07C fcsbit.@SCRATCH |
07D fcsbit.@SCRATCH |
094 SSPSTAT |
09C.6 C1OUT |
09C.7 C2OUT |
003C @delay_ms1 |
01B0 @delay_us1 |
00DD flipout |
013F fcsbit |
00E4 SendBit |
0124 SendByte |
016D SendPacket |
0037 IntSSP |
005F pip |
0052 cvak |
01C3 main |
008B @SPRINTF |
0093 @DIV88 |
00A8 @PRINTF_U_325 |
01C3 @cinit |
Project Files: |
D:\KAKL\roboti\solarni\2006\scamnum\menic.c |
D:\KAKL\roboti\solarni\2006\scamnum\menic.h |
C:\Program Files\PICC\devices\16F88.h |
D:\KAKL\roboti\solarni\2006\scamnum\AX25.c |
Units: |
D:\KAKL\roboti\solarni\2006\scamnum\menic.c (main) |
Compiler Settings: |
Processor: PIC16F88 |
Pointer Size: 8 |
ADC Range: 0-255 |
Opt Level: 9 |
Short,Int,Long: 1,8,16 |
Output Files: |
Errors: D:\KAKL\roboti\solarni\2006\scamnum\menic.err |
INHX8: D:\KAKL\roboti\solarni\2006\scamnum\menic.hex |
Symbols: D:\KAKL\roboti\solarni\2006\scamnum\menic.sym |
List: D:\KAKL\roboti\solarni\2006\scamnum\menic.lst |
Debug/COFF: D:\KAKL\roboti\solarni\2006\scamnum\menic.cof |
Call Tree: D:\KAKL\roboti\solarni\2006\scamnum\menic.tre |
Statistics: D:\KAKL\roboti\solarni\2006\scamnum\menic.sta |
/roboti/solarni/2006/scamnum/menic.c |
---|
0,0 → 1,170 |
// ************************************* |
// * Scamnum Specularis ** 20. 9. 2006 * |
// ************************************* |
#include ".\menic.h" |
#define TXo PIN_B5 // To the transmitter modulator |
#include ".\AX25.c" // Podprogram pro prenos telemetrie |
char AXstring[40]; // Buffer pro prenos telemetrie |
#define REFSTART 95 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
#define DUTY1 2 // Delka sepnuti PWM v us pro sero |
#define DUTY2 19 // Delka sepnuti PWM v us pro jednu zarovku 500W |
// Tabulka hodnot prevodniku pro ruzna napajeci napeti |
// 80 3,99V |
// 90 3,54V |
// 100 3,20V |
// 105 3,04V |
// 107 2,99V |
// 110 2,91v |
// 200 1,61V |
#define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
#define LED PIN_A7 // LED / druhy pol piezo reproduktoru |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#define SW1 PIN_B6 // DIPswitch 1 |
#define SW2 PIN_B7 // DIPswitch 2 |
#define NAPETI 4 // Cislo kanalu DA prevodniku pro mereni napeti |
#define PWM 0 // Cislo kanalu DA prevodniku pro nastaveni PWM |
#define ROZJEZD 1 // Cislo kanalu DA prevodniku pro nastaveni rozjezdu |
#byte SSPBUF = 0x13 // Adresy registru jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void pip() // pipnuti a bliknuti |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
{ |
output_bit(PIEZO,~input(PIEZO)); |
} |
void main() |
{ |
int8 n; |
int8 perioda; |
int8 razeni; |
int8 uclanku; |
int16 ble; |
setup_timer_0(RTCC_INTERNAL);setup_wdt(WDT_1152MS); |
setup_timer_1(T1_DISABLED); |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN0|sAN1|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
output_high(LED); |
output_high(PIEZO); |
set_adc_channel(NAPETI); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(DUTY1); // PWM pro zatizeni clanku pri malem osvetleni |
n=0; |
do |
{ |
output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
delay_ms(100); |
if (4==n++) {cvak(); n=0;}; // Kazdy 4. pruchod cvakni |
output_high(REFPWR); // Zapni napajeni napetove reference |
delay_ms(1); // Pockej na ustaleni napeti |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); // Vypni napajeni napetove reference, aby se setrilo |
// port_b_pullups(TRUE); // Zapni pullupy, aby slo cist DIPswitch |
// do |
// { |
// Precti trimry |
set_adc_channel(PWM); // Zjisteni nastaveni PWM |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
perioda=(read_adc()>>2)+40; // rozsah: 40 az 103 |
set_adc_channel(ROZJEZD); // Zjisteni nastaveni rozjezdu |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
razeni=read_adc()>>3; // rozsah: 0 az 31 |
// Rozjeti menice |
set_pwm1_duty(0); // Zastav PWM, aby slo nastavit jinou frekvenci |
setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
set_pwm1_duty(DUTY2); // PWM pro zatizeni clanku pri jedne 500W zarovce |
pip(); // potvrzeni odstartovani / servisni mod |
delay_ms(500); |
// } while (input(SW1)); // Je zapnut servisni mod? SW1(OFF)=ANO |
// port_b_pullups(FALSE); // Vypni pullupy, aby se setrilo energii |
// zmereni napeti na clancich |
output_high(REFPWR); // Prepni AD na mereni napeti clanku |
set_adc_channel(NAPETI); // Prepni Zmer napeti clanku |
delay_us(50); // Pockej na prepnuti kanalu A/D prevodniku |
uclanku=read_adc(); |
output_low(REFPWR); // odpoj odpor pro mereni napeti |
// posli telemetrii |
sprintf(AXstring,"p=%u r=%u u=%u", perioda, razeni, uclanku); // Convert DATA to String. |
SendPacket(&AXstring[0]); |
delay_ms(14000); // Pockame do 14.5s |
// rozjezd |
for(ble=1;ble<=1000;ble++) |
{ |
for(n=0;n<=razeni;n++) |
{ |
output_high(MOTOR); |
delay_us(ble); |
output_low(MOTOR); |
delay_us(1000-ble); |
} |
} |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1300); // Nemeli bysme jet dele nez 1,3s :-) |
output_low(MOTOR); // Zastav motor |
// Menic je stale zapnut a zatezuje clanky |
while(TRUE); // Cekej, dokud se neztrati svetlo, |
// nebo prijde WatchDog |
} |
/roboti/solarni/2006/scamnum/menic.cof |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2006/scamnum/menic.h |
---|
0,0 → 1,9 |
#include <16F88.h> |
#device adc=8 |
#fuses NOWDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, \ |
NOWRT, DEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
#use delay(clock=3900000,RESTART_WDT) |
/roboti/solarni/2006/scamnum/menic.sta |
---|
0,0 → 1,42 |
ROM used: 836 (20%) |
836 (20%) including unused fragments |
1 Average locations per line |
6 Average locations per statement |
RAM used: 87 (50%) at main() level |
94 (54%) worst case |
Lines Stmts % Files |
----- ----- --- ----- |
171 75 53 D:\KAKL\roboti\solarni\2006\scamnum\menic.c |
10 0 0 D:\KAKL\roboti\solarni\2006\scamnum\menic.h |
279 0 0 C:\Program Files\PICC\devices\16F88.h |
140 67 31 D:\KAKL\roboti\solarni\2006\scamnum\AX25.c |
----- ----- |
1200 284 Total |
Page ROM % RAM Functions: |
---- --- --- --- ---------- |
0 22 3 1 @delay_ms1 |
0 19 2 1 @delay_us1 |
0 7 1 0 flipout |
0 64 8 0 SendBit |
0 73 9 4 SendByte |
0 67 8 2 SendPacket |
0 5 1 0 IntSSP |
0 44 5 2 pip |
0 13 2 0 cvak |
0 385 46 8 main |
0 8 1 1 @SPRINTF |
0 21 3 3 @DIV88 |
0 53 6 2 @PRINTF_U_325 |
Segment Used Free |
--------- ---- ---- |
00000-00003 4 0 |
00004-00036 51 0 |
00037-007FF 781 1212 |
00800-00FFF 0 2048 |
/roboti/solarni/2006/scamnum/menic.tre |
---|
0,0 → 1,76 |
ÀÄmenic |
ÃÄmain 0/385 Ram=8 |
³ ÃÄ??0?? |
³ ÃÄ@delay_ms1 0/22 Ram=1 |
³ ÃÄcvak 0/13 Ram=0 |
³ ÃÄ@delay_ms1 0/22 Ram=1 |
³ ÃÄpip 0/44 Ram=2 |
³ ÃÄ@delay_ms1 0/22 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@PRINTF_U_325 0/53 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÀÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@PRINTF_U_325 0/53 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÀÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄ@PRINTF_U_325 0/53 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄ@SPRINTF 0/8 Ram=1 |
³ ³ ÀÄ@SPRINTF 0/8 Ram=1 |
³ ÃÄSendPacket 0/67 Ram=2 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÃÄSendByte 0/73 Ram=4 |
³ ³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ³ ÀÄSendByte 0/73 Ram=4 |
³ ³ ÃÄfcsbit (Inline) Ram=3 |
³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ÃÄSendBit 0/64 Ram=0 |
³ ³ ÃÄflipout 0/7 Ram=0 |
³ ³ ÀÄSendBit 0/64 Ram=0 |
³ ÃÄ@delay_ms1 0/22 Ram=1 |
³ ÃÄ@delay_us1 0/19 Ram=1 |
³ ÃÄ@delay_us1 0/19 Ram=1 |
³ ÀÄ@delay_ms1 0/22 Ram=1 |
ÀÄIntSSP 0/5 Ram=0 |
/roboti/solarni/2006/mereni/clanky.txt |
---|
0,0 → 1,908 |
60 |
I[mA] U[V] P[mW] |
000 0.46 0.0 |
001 0.45 0.4 |
002 0.45 0.9 |
003 0.44 1.3 |
004 0.44 1.7 |
005 0.44 2.2 |
006 0.43 2.6 |
007 0.43 3.0 |
008 0.42 3.4 |
009 0.42 3.8 |
010 0.41 4.1 |
011 0.41 4.5 |
012 0.40 4.9 |
013 0.40 5.2 |
014 0.39 5.5 |
015 0.39 5.9 |
016 0.39 6.2 |
017 0.38 6.5 |
018 0.37 6.7 |
019 0.37 7.0 |
020 0.36 7.2 |
021 0.35 7.3 |
022 0.34 7.6 |
023 0.33 7.7 |
024 0.32 7.8 |
025 0.31 7.9 |
026 0.30 7.8 |
027 0.28 7.8 |
028 0.26 7.5 |
029 0.25 7.2 |
030 0.22 6.6 |
031 0.18 5.8 |
032 0.12 4.0 |
I[mA] U[V] P[mW] |
000 0.46 0.0 |
001 0.45 0.4 |
002 0.45 0.9 |
003 0.44 1.3 |
004 0.44 1.7 |
005 0.43 2.1 |
006 0.43 2.6 |
007 0.42 3.0 |
008 0.42 3.3 |
009 0.42 3.8 |
010 0.41 4.1 |
011 0.41 4.5 |
012 0.40 4.8 |
013 0.39 5.1 |
014 0.39 5.5 |
015 0.39 5.8 |
016 0.38 6.1 |
017 0.38 6.4 |
018 0.37 6.6 |
019 0.36 6.9 |
020 0.35 7.1 |
021 0.34 7.2 |
022 0.33 7.4 |
023 0.32 7.5 |
024 0.31 7.6 |
025 0.30 7.7 |
026 0.29 7.6 |
027 0.27 7.5 |
028 0.26 7.4 |
029 0.24 6.9 |
030 0.21 6.5 |
031 0.18 5.6 |
032 0.12 4.0 |
61 |
I[mA] U[V] P[mW] |
000 0.46 0.0 |
001 0.47 0.4 |
002 0.46 0.9 |
003 0.46 1.3 |
004 0.45 1.8 |
005 0.45 2.2 |
006 0.45 2.7 |
007 0.44 3.1 |
008 0.44 3.5 |
009 0.43 3.9 |
010 0.42 4.2 |
011 0.42 4.6 |
012 0.41 5.0 |
013 0.41 5.3 |
014 0.40 5.6 |
015 0.39 5.9 |
016 0.39 6.3 |
017 0.38 6.5 |
018 0.38 6.8 |
019 0.37 7.0 |
020 0.36 7.3 |
021 0.35 7.3 |
022 0.34 7.6 |
023 0.33 7.7 |
024 0.32 7.7 |
025 0.31 7.8 |
026 0.29 7.7 |
027 0.28 7.6 |
028 0.26 7.5 |
029 0.25 7.2 |
030 0.22 6.7 |
031 0.20 6.4 |
032 0.15 4.9 |
I[mA] U[V] P[mW] |
000 0.47 0.0 |
001 0.47 0.4 |
002 0.46 0.9 |
003 0.46 1.3 |
004 0.46 1.8 |
005 0.45 2.2 |
006 0.45 2.7 |
007 0.45 3.1 |
008 0.44 3.5 |
009 0.44 3.9 |
010 0.43 4.3 |
011 0.43 4.7 |
012 0.42 5.1 |
013 0.42 5.5 |
014 0.41 5.8 |
015 0.41 6.2 |
016 0.40 6.5 |
017 0.39 6.7 |
018 0.39 7.1 |
019 0.38 7.3 |
020 0.38 7.6 |
021 0.37 7.7 |
022 0.36 8.0 |
023 0.35 8.0 |
024 0.34 8.2 |
025 0.33 8.3 |
026 0.31 8.2 |
027 0.30 8.1 |
028 0.28 8.0 |
029 0.27 7.9 |
030 0.25 7.5 |
031 0.22 6.8 |
032 0.17 5.5 |
62 |
I[mA] U[V] P[mW] |
000 0.42 0.0 |
001 0.42 0.4 |
002 0.42 0.8 |
003 0.41 1.2 |
004 0.41 1.6 |
005 0.41 2.0 |
006 0.40 2.4 |
007 0.40 2.8 |
008 0.39 3.1 |
009 0.39 3.5 |
010 0.39 3.9 |
011 0.38 4.2 |
012 0.38 4.6 |
013 0.38 4.9 |
014 0.37 5.2 |
015 0.36 5.4 |
016 0.36 5.7 |
017 0.35 6.0 |
018 0.35 6.3 |
019 0.34 6.5 |
020 0.33 6.7 |
021 0.33 6.9 |
022 0.32 7.2 |
023 0.31 7.3 |
024 0.30 7.4 |
025 0.29 7.4 |
026 0.28 7.5 |
027 0.27 7.5 |
028 0.26 7.4 |
029 0.25 7.2 |
030 0.23 7.0 |
031 0.21 6.5 |
032 0.16 5.3 |
I[mA] U[V] P[mW] |
000 0.42 0.0 |
001 0.42 0.4 |
002 0.42 0.8 |
003 0.41 1.2 |
004 0.41 1.6 |
005 0.40 2.0 |
006 0.40 2.4 |
007 0.40 2.8 |
008 0.39 3.1 |
009 0.39 3.5 |
010 0.39 3.9 |
011 0.38 4.2 |
012 0.38 4.5 |
013 0.37 4.8 |
014 0.37 5.1 |
015 0.36 5.4 |
016 0.36 5.7 |
017 0.35 6.0 |
018 0.35 6.3 |
019 0.34 6.5 |
020 0.33 6.7 |
021 0.33 6.9 |
022 0.32 7.1 |
023 0.31 7.3 |
024 0.30 7.4 |
025 0.29 7.4 |
026 0.28 7.5 |
027 0.27 7.4 |
028 0.26 7.4 |
029 0.25 7.2 |
030 0.23 6.9 |
031 0.20 6.4 |
032 0.16 5.2 |
63 |
I[mA] U[V] P[mW] |
000 0.46 0.0 |
001 0.46 0.4 |
002 0.46 0.9 |
003 0.46 1.3 |
004 0.45 1.8 |
005 0.45 2.2 |
006 0.45 2.7 |
007 0.44 3.1 |
008 0.44 3.5 |
009 0.44 3.9 |
010 0.43 4.3 |
011 0.43 4.7 |
012 0.42 5.1 |
013 0.42 5.5 |
014 0.41 5.8 |
015 0.41 6.2 |
016 0.40 6.5 |
017 0.40 6.8 |
018 0.39 7.1 |
019 0.39 7.4 |
020 0.38 7.7 |
021 0.37 7.8 |
022 0.36 8.0 |
023 0.36 8.3 |
024 0.34 8.3 |
025 0.33 8.4 |
026 0.32 8.3 |
027 0.30 8.3 |
028 0.29 8.2 |
029 0.27 7.9 |
030 0.25 7.5 |
031 0.21 6.5 |
032 0.13 4.4 |
I[mA] U[V] P[mW] |
000 0.47 0.0 |
001 0.46 0.4 |
002 0.46 0.9 |
003 0.46 1.3 |
004 0.45 1.8 |
005 0.45 2.2 |
006 0.45 2.7 |
007 0.44 3.1 |
008 0.44 3.5 |
009 0.44 3.9 |
010 0.43 4.3 |
011 0.43 4.7 |
012 0.42 5.1 |
013 0.42 5.5 |
014 0.41 5.8 |
015 0.41 6.2 |
016 0.40 6.5 |
017 0.40 6.8 |
018 0.39 7.1 |
019 0.39 7.4 |
020 0.38 7.7 |
021 0.38 7.9 |
022 0.36 8.0 |
023 0.36 8.3 |
024 0.34 8.3 |
025 0.33 8.4 |
026 0.32 8.5 |
027 0.31 8.4 |
028 0.29 8.3 |
029 0.27 7.9 |
030 0.25 7.5 |
031 0.21 6.5 |
032 0.14 4.7 |
64 |
I[mA] U[V] P[mW] |
000 0.46 0.0 |
001 0.46 0.4 |
002 0.45 0.9 |
003 0.45 1.3 |
004 0.44 1.7 |
005 0.44 2.2 |
006 0.43 2.6 |
007 0.43 3.0 |
008 0.42 3.4 |
009 0.42 3.8 |
010 0.42 4.2 |
011 0.41 4.6 |
012 0.40 4.9 |
013 0.40 5.2 |
014 0.39 5.5 |
015 0.39 5.8 |
016 0.38 6.1 |
017 0.38 6.4 |
018 0.37 6.6 |
019 0.36 6.8 |
020 0.35 7.0 |
021 0.34 7.2 |
022 0.33 7.3 |
023 0.32 7.4 |
024 0.30 7.4 |
025 0.29 7.4 |
026 0.27 7.2 |
027 0.26 7.1 |
028 0.24 6.8 |
029 0.21 6.2 |
030 0.18 5.4 |
031 0.12 3.7 |
I[mA] U[V] P[mW] |
000 0.46 0.0 |
001 0.46 0.4 |
002 0.45 0.9 |
003 0.45 1.3 |
004 0.44 1.7 |
005 0.44 2.2 |
006 0.44 2.6 |
007 0.43 3.0 |
008 0.43 3.4 |
009 0.42 3.8 |
010 0.42 4.2 |
011 0.41 4.6 |
012 0.40 4.9 |
013 0.40 5.2 |
014 0.39 5.5 |
015 0.39 5.9 |
016 0.38 6.1 |
017 0.38 6.4 |
018 0.37 6.6 |
019 0.36 6.9 |
020 0.35 7.1 |
021 0.34 7.2 |
022 0.33 7.4 |
023 0.32 7.5 |
024 0.31 7.5 |
025 0.30 7.5 |
026 0.28 7.3 |
027 0.26 7.2 |
028 0.25 7.0 |
029 0.22 6.5 |
030 0.19 5.9 |
031 0.14 4.4 |
65 |
I[mA] U[V] P[mW] |
000 0.48 0.0 |
001 0.49 0.4 |
002 0.48 0.9 |
003 0.48 1.4 |
004 0.48 1.9 |
005 0.48 2.4 |
006 0.47 2.8 |
007 0.47 3.3 |
008 0.47 3.7 |
009 0.46 4.2 |
010 0.46 4.6 |
011 0.46 5.0 |
012 0.45 5.4 |
013 0.45 5.8 |
014 0.44 6.2 |
015 0.44 6.6 |
016 0.43 7.0 |
017 0.43 7.3 |
018 0.42 7.7 |
019 0.41 7.9 |
020 0.41 8.2 |
021 0.40 8.5 |
022 0.39 8.5 |
023 0.37 8.6 |
024 0.36 8.6 |
025 0.33 8.4 |
026 0.30 7.8 |
027 0.25 6.7 |
028 0.12 3.5 |
I[mA] U[V] P[mW] |
000 0.49 0.0 |
001 0.49 0.4 |
002 0.49 0.9 |
003 0.48 1.4 |
004 0.48 1.9 |
005 0.48 2.4 |
006 0.48 2.8 |
007 0.47 3.3 |
008 0.47 3.7 |
009 0.47 4.2 |
010 0.46 4.6 |
011 0.46 5.1 |
012 0.46 5.5 |
013 0.45 5.9 |
014 0.45 6.4 |
015 0.45 6.7 |
016 0.44 7.1 |
017 0.44 7.5 |
018 0.43 7.8 |
019 0.42 8.1 |
020 0.42 8.4 |
021 0.41 8.7 |
022 0.40 8.9 |
023 0.39 9.0 |
024 0.38 9.1 |
025 0.36 9.0 |
026 0.33 8.6 |
027 0.29 7.9 |
028 0.22 6.2 |
66 |
I[mA] U[V] P[mW] |
000 0.47 0.0 |
001 0.46 0.4 |
002 0.46 0.9 |
003 0.46 1.3 |
004 0.45 1.8 |
005 0.45 2.2 |
006 0.45 2.7 |
007 0.44 3.1 |
008 0.44 3.5 |
009 0.44 3.9 |
010 0.43 4.3 |
011 0.43 4.7 |
012 0.42 5.1 |
013 0.42 5.5 |
014 0.41 5.8 |
015 0.41 6.2 |
016 0.40 6.5 |
017 0.40 6.8 |
018 0.39 7.1 |
019 0.39 7.4 |
020 0.38 7.7 |
021 0.38 7.9 |
022 0.37 8.1 |
023 0.36 8.3 |
024 0.35 8.4 |
025 0.34 8.5 |
026 0.33 8.6 |
027 0.31 8.5 |
028 0.30 8.6 |
029 0.29 8.5 |
030 0.26 8.0 |
031 0.24 7.4 |
032 0.20 6.6 |
033 0.10 3.3 |
I[mA] U[V] P[mW] |
000 0.47 0.0 |
001 0.47 0.4 |
002 0.46 0.9 |
003 0.46 1.3 |
004 0.46 1.8 |
005 0.45 2.2 |
006 0.45 2.7 |
007 0.44 3.1 |
008 0.44 3.5 |
009 0.44 3.9 |
010 0.43 4.3 |
011 0.43 4.7 |
012 0.42 5.1 |
013 0.42 5.5 |
014 0.42 5.9 |
015 0.41 6.2 |
016 0.40 6.5 |
017 0.40 6.8 |
018 0.39 7.1 |
019 0.39 7.5 |
020 0.38 7.7 |
021 0.38 7.9 |
022 0.37 8.1 |
023 0.36 8.4 |
024 0.35 8.4 |
025 0.34 8.5 |
026 0.33 8.6 |
027 0.31 8.5 |
028 0.30 8.6 |
029 0.28 8.3 |
030 0.26 8.0 |
031 0.24 7.6 |
032 0.20 6.4 |
033 0.07 2.5 |
67 |
I[mA] U[V] P[mW] |
000 0.49 0.0 |
001 0.48 0.4 |
002 0.48 0.9 |
003 0.48 1.4 |
004 0.48 1.9 |
005 0.47 2.3 |
006 0.47 2.8 |
007 0.47 3.3 |
008 0.46 3.7 |
009 0.46 4.1 |
010 0.45 4.5 |
011 0.45 4.9 |
012 0.45 5.4 |
013 0.44 5.8 |
014 0.43 6.1 |
015 0.43 6.5 |
016 0.42 6.8 |
017 0.42 7.2 |
018 0.41 7.5 |
019 0.40 7.7 |
020 0.40 8.0 |
021 0.39 8.2 |
022 0.38 8.4 |
023 0.38 8.7 |
024 0.36 8.7 |
025 0.35 8.9 |
026 0.34 8.8 |
027 0.32 8.8 |
028 0.31 8.7 |
029 0.29 8.6 |
030 0.27 8.2 |
031 0.25 7.7 |
032 0.21 6.9 |
033 0.15 5.2 |
I[mA] U[V] P[mW] |
000 0.49 0.0 |
001 0.48 0.4 |
002 0.48 0.9 |
003 0.48 1.4 |
004 0.48 1.9 |
005 0.47 2.3 |
006 0.47 2.8 |
007 0.47 3.3 |
008 0.46 3.7 |
009 0.46 4.1 |
010 0.45 4.5 |
011 0.45 5.0 |
012 0.45 5.4 |
013 0.44 5.8 |
014 0.44 6.2 |
015 0.43 6.5 |
016 0.42 6.8 |
017 0.42 7.2 |
018 0.41 7.5 |
019 0.40 7.7 |
020 0.40 8.0 |
021 0.39 8.2 |
022 0.38 8.4 |
023 0.38 8.7 |
024 0.36 8.7 |
025 0.35 8.9 |
026 0.34 9.0 |
027 0.33 8.9 |
028 0.31 8.9 |
029 0.29 8.6 |
030 0.27 8.2 |
031 0.25 7.7 |
032 0.21 6.7 |
033 0.15 5.0 |
68 |
I[mA] U[V] P[mW] |
000 0.48 0.0 |
001 0.47 0.4 |
002 0.47 0.9 |
003 0.47 1.4 |
004 0.46 1.8 |
005 0.46 2.3 |
006 0.46 2.7 |
007 0.45 3.2 |
008 0.45 3.6 |
009 0.44 4.0 |
010 0.44 4.4 |
011 0.44 4.8 |
012 0.43 5.2 |
013 0.43 5.6 |
014 0.42 6.0 |
015 0.42 6.3 |
016 0.41 6.7 |
017 0.41 7.0 |
018 0.40 7.2 |
019 0.39 7.5 |
020 0.39 7.8 |
021 0.38 8.0 |
022 0.37 8.2 |
023 0.36 8.4 |
024 0.36 8.6 |
025 0.34 8.6 |
026 0.33 8.7 |
027 0.32 8.7 |
028 0.30 8.5 |
029 0.28 8.3 |
030 0.26 7.9 |
031 0.23 7.3 |
032 0.18 6.0 |
033 0.03 1.2 |
I[mA] U[V] P[mW] |
000 0.47 0.0 |
001 0.47 0.4 |
002 0.47 0.9 |
003 0.47 1.4 |
004 0.46 1.8 |
005 0.46 2.3 |
006 0.45 2.7 |
007 0.45 3.2 |
008 0.45 3.6 |
009 0.44 4.0 |
010 0.44 4.4 |
011 0.43 4.8 |
012 0.43 5.2 |
013 0.43 5.6 |
014 0.42 6.0 |
015 0.42 6.3 |
016 0.41 6.6 |
017 0.40 6.9 |
018 0.40 7.2 |
019 0.39 7.5 |
020 0.39 7.8 |
021 0.38 8.0 |
022 0.37 8.2 |
023 0.36 8.4 |
024 0.35 8.5 |
025 0.34 8.5 |
026 0.33 8.6 |
027 0.31 8.5 |
028 0.30 8.5 |
029 0.28 8.2 |
030 0.26 7.8 |
031 0.23 7.1 |
032 0.17 5.5 |
69 |
I[mA] U[V] P[mW] |
000 0.45 0.0 |
001 0.45 0.4 |
002 0.44 0.8 |
003 0.44 1.3 |
004 0.44 1.7 |
005 0.43 2.1 |
006 0.43 2.6 |
007 0.42 3.0 |
008 0.42 3.4 |
009 0.42 3.8 |
010 0.41 4.1 |
011 0.41 4.5 |
012 0.40 4.9 |
013 0.40 5.2 |
014 0.39 5.5 |
015 0.39 5.9 |
016 0.39 6.2 |
017 0.38 6.5 |
018 0.38 6.8 |
019 0.37 7.0 |
020 0.36 7.3 |
021 0.35 7.4 |
022 0.34 7.6 |
023 0.34 7.8 |
024 0.33 7.9 |
025 0.32 8.0 |
026 0.31 8.1 |
027 0.29 8.0 |
028 0.28 7.9 |
029 0.26 7.8 |
030 0.25 7.5 |
031 0.22 6.8 |
032 0.18 6.0 |
033 0.07 2.3 |
I[mA] U[V] P[mW] |
000 0.45 0.0 |
001 0.45 0.4 |
002 0.44 0.8 |
003 0.44 1.3 |
004 0.44 1.7 |
005 0.43 2.1 |
006 0.43 2.6 |
007 0.43 3.0 |
008 0.42 3.4 |
009 0.42 3.8 |
010 0.41 4.1 |
011 0.41 4.5 |
012 0.40 4.9 |
013 0.40 5.2 |
014 0.39 5.5 |
015 0.39 5.9 |
016 0.39 6.2 |
017 0.38 6.5 |
018 0.38 6.8 |
019 0.37 7.0 |
020 0.36 7.3 |
021 0.35 7.4 |
022 0.35 7.7 |
023 0.34 7.8 |
024 0.33 7.9 |
025 0.32 8.0 |
026 0.31 8.1 |
027 0.30 8.1 |
028 0.28 8.0 |
029 0.26 7.8 |
030 0.25 7.5 |
031 0.23 7.1 |
032 0.19 6.1 |
033 0.09 3.1 |
zadni strana |
69 |
I[mA] U[V] P[mW] |
000 0.28 0.0 |
001 0.27 0.2 |
002 0.25 0.5 |
003 0.22 0.6 |
004 0.16 0.6 |
I[mA] U[V] P[mW] |
000 0.28 0.0 |
001 0.27 0.2 |
002 0.25 0.5 |
003 0.22 0.6 |
004 0.16 0.6 |
68 |
I[mA] U[V] P[mW] |
000 0.31 0.0 |
001 0.29 0.2 |
002 0.26 0.5 |
003 0.23 0.7 |
004 0.17 0.7 |
I[mA] U[V] P[mW] |
000 0.31 0.0 |
001 0.29 0.2 |
002 0.27 0.5 |
003 0.24 0.7 |
004 0.18 0.7 |
67 |
I[mA] U[V] P[mW] |
000 0.30 0.0 |
001 0.28 0.2 |
002 0.26 0.5 |
003 0.23 0.6 |
004 0.17 0.7 |
I[mA] U[V] P[mW] |
000 0.30 0.0 |
001 0.28 0.2 |
002 0.26 0.5 |
003 0.23 0.6 |
004 0.17 0.7 |
66 |
I[mA] U[V] P[mW] |
000 0.30 0.0 |
001 0.29 0.2 |
002 0.26 0.5 |
003 0.24 0.7 |
004 0.18 0.7 |
I[mA] U[V] P[mW] |
000 0.31 0.0 |
001 0.29 0.2 |
002 0.26 0.5 |
003 0.24 0.7 |
004 0.18 0.7 |
65 |
I[mA] U[V] P[mW] |
000 0.36 0.0 |
001 0.34 0.3 |
002 0.30 0.6 |
003 0.24 0.7 |
I[mA] U[V] P[mW] |
000 0.36 0.0 |
001 0.34 0.3 |
002 0.30 0.6 |
003 0.24 0.7 |
64 |
I[mA] U[V] P[mW] |
000 0.26 0.0 |
001 0.25 0.2 |
002 0.22 0.4 |
003 0.18 0.5 |
004 0.10 0.4 |
I[mA] U[V] P[mW] |
000 0.26 0.0 |
001 0.24 0.2 |
002 0.22 0.4 |
003 0.18 0.5 |
004 0.10 0.4 |
63 |
I[mA] U[V] P[mW] |
000 0.30 0.0 |
001 0.28 0.2 |
002 0.26 0.5 |
003 0.23 0.6 |
004 0.17 0.7 |
005 0.05 0.2 |
I[mA] U[V] P[mW] |
000 0.30 0.0 |
001 0.29 0.2 |
002 0.26 0.5 |
003 0.23 0.7 |
004 0.19 0.7 |
005 0.06 0.3 |
62 |
I[mA] U[V] P[mW] |
000 0.27 0.0 |
001 0.26 0.2 |
002 0.25 0.5 |
003 0.23 0.6 |
004 0.19 0.7 |
005 0.12 0.6 |
I[mA] U[V] P[mW] |
000 0.27 0.0 |
001 0.26 0.2 |
002 0.25 0.5 |
003 0.23 0.6 |
004 0.19 0.7 |
005 0.13 0.6 |
61 |
I[mA] U[V] P[mW] |
000 0.28 0.0 |
001 0.27 0.2 |
002 0.25 0.5 |
003 0.21 0.6 |
004 0.15 0.6 |
I[mA] U[V] P[mW] |
000 0.29 0.0 |
001 0.27 0.2 |
002 0.25 0.5 |
003 0.21 0.6 |
004 0.15 0.6 |
60 |
I[mA] U[V] P[mW] |
000 0.28 0.0 |
001 0.26 0.2 |
002 0.23 0.4 |
003 0.19 0.5 |
004 0.13 0.5 |
I[mA] U[V] P[mW] |
000 0.28 0.0 |
001 0.26 0.2 |
002 0.23 0.4 |
003 0.20 0.6 |
004 0.13 0.5 |
mereni multimetrem |
Napeti[mV] |
60 450 |
61 469 |
62 426 |
63 462 |
64 456 |
65 487 |
66 468 |
67 487 |
68 474 |
69 452 |
proud[mA] |
69 33.0 |
68 33.4 |
67 33.8 |
66 33.0 |
65 29.1 |
64 32.6 |
63 33.6 |
62 33.5 |
61 33.1 |
60 32.8 |
/roboti/solarni/2006/mereni/clanky.xls |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/DART_rozjezd2.txt |
---|
0,0 → 1,1712 |
START: 28.8.2005 17:16:54 |
STOP : 28.8.2005 17:17:19 |
TIME STEP: |
100 = 5s |
VOLTAGE STEP: |
32 = 3V |
N CH1 |
1 40 |
2 40 |
3 39 |
4 40 |
5 39 |
6 40 |
7 40 |
8 40 |
9 40 |
10 40 |
11 40 |
12 40 |
13 40 |
14 40 |
15 41 |
16 40 |
17 41 |
18 40 |
19 42 |
20 44 |
21 48 |
22 50 |
23 53 |
24 54 |
25 55 |
26 58 |
27 59 |
28 61 |
29 62 |
30 63 |
31 65 |
32 65 |
33 68 |
34 69 |
35 70 |
36 71 |
37 71 |
38 73 |
39 74 |
40 75 |
41 75 |
42 77 |
43 78 |
44 79 |
45 80 |
46 81 |
47 82 |
48 82 |
49 84 |
50 84 |
51 85 |
52 85 |
53 87 |
54 87 |
55 88 |
56 89 |
57 90 |
58 90 |
59 91 |
60 92 |
61 93 |
62 94 |
63 94 |
64 95 |
65 96 |
66 96 |
67 96 |
68 97 |
69 98 |
70 99 |
71 100 |
72 100 |
73 101 |
74 101 |
75 102 |
76 102 |
77 103 |
78 104 |
79 104 |
80 105 |
81 105 |
82 106 |
83 107 |
84 107 |
85 107 |
86 108 |
87 109 |
88 110 |
89 110 |
90 110 |
91 111 |
92 111 |
93 112 |
94 113 |
95 113 |
96 114 |
97 114 |
98 115 |
99 115 |
100 116 |
101 117 |
102 117 |
103 118 |
104 118 |
105 119 |
106 119 |
107 120 |
108 119 |
109 121 |
110 122 |
111 122 |
112 122 |
113 122 |
114 123 |
115 123 |
116 124 |
117 124 |
118 125 |
119 125 |
120 126 |
121 127 |
122 127 |
123 127 |
124 127 |
125 127 |
126 128 |
127 129 |
128 129 |
129 129 |
130 130 |
131 130 |
132 131 |
133 131 |
134 132 |
135 132 |
136 132 |
137 133 |
138 134 |
139 134 |
140 134 |
141 135 |
142 135 |
143 135 |
144 135 |
145 136 |
146 136 |
147 137 |
148 137 |
149 137 |
150 137 |
151 139 |
152 139 |
153 139 |
154 139 |
155 140 |
156 141 |
157 140 |
158 141 |
159 141 |
160 141 |
161 142 |
162 142 |
163 143 |
164 143 |
165 143 |
166 143 |
167 145 |
168 145 |
169 145 |
170 145 |
171 146 |
172 146 |
173 147 |
174 146 |
175 148 |
176 147 |
177 148 |
178 148 |
179 148 |
180 149 |
181 149 |
182 150 |
183 150 |
184 150 |
185 151 |
186 151 |
187 151 |
188 151 |
189 153 |
190 152 |
191 152 |
192 153 |
193 154 |
194 154 |
195 154 |
196 155 |
197 154 |
198 155 |
199 155 |
200 156 |
201 156 |
202 157 |
203 157 |
204 157 |
205 158 |
206 157 |
207 158 |
208 158 |
209 158 |
210 159 |
211 159 |
212 160 |
213 160 |
214 160 |
215 160 |
216 161 |
217 161 |
218 161 |
219 161 |
220 162 |
221 162 |
222 162 |
223 162 |
224 163 |
225 163 |
226 163 |
227 163 |
228 164 |
229 164 |
230 165 |
231 165 |
232 166 |
233 166 |
234 166 |
235 166 |
236 167 |
237 167 |
238 167 |
239 167 |
240 168 |
241 168 |
242 168 |
243 169 |
244 169 |
245 169 |
246 169 |
247 169 |
248 169 |
249 170 |
250 170 |
251 170 |
252 171 |
253 171 |
254 171 |
255 172 |
256 172 |
257 172 |
258 172 |
259 173 |
260 173 |
261 173 |
262 173 |
263 173 |
264 174 |
265 174 |
266 174 |
267 175 |
268 175 |
269 175 |
270 175 |
271 176 |
272 176 |
273 177 |
274 176 |
275 177 |
276 177 |
277 177 |
278 177 |
279 178 |
280 178 |
281 178 |
282 179 |
283 179 |
284 179 |
285 180 |
286 180 |
287 180 |
288 181 |
289 181 |
290 181 |
291 181 |
292 181 |
293 181 |
294 182 |
295 182 |
296 182 |
297 183 |
298 183 |
299 183 |
300 183 |
301 184 |
302 183 |
303 184 |
304 184 |
305 184 |
306 184 |
307 185 |
308 185 |
309 186 |
310 186 |
311 186 |
312 186 |
313 186 |
314 187 |
315 187 |
316 187 |
317 187 |
318 187 |
319 187 |
320 186 |
321 185 |
322 184 |
323 180 |
324 175 |
325 172 |
326 165 |
327 159 |
328 153 |
329 146 |
330 137 |
331 131 |
332 124 |
333 116 |
334 110 |
335 110 |
336 110 |
337 110 |
338 110 |
339 110 |
340 110 |
341 111 |
342 111 |
343 111 |
344 110 |
345 110 |
346 110 |
347 111 |
348 111 |
349 111 |
350 111 |
351 111 |
352 111 |
353 111 |
354 111 |
355 111 |
356 31 |
357 111 |
358 112 |
359 111 |
360 111 |
361 111 |
362 112 |
363 112 |
364 112 |
365 112 |
366 111 |
367 112 |
368 111 |
369 112 |
370 111 |
371 112 |
372 112 |
373 112 |
374 112 |
375 112 |
376 112 |
377 112 |
378 112 |
379 112 |
380 111 |
381 112 |
382 111 |
383 112 |
384 112 |
385 112 |
386 112 |
387 112 |
388 112 |
389 112 |
390 112 |
391 112 |
392 112 |
393 112 |
394 112 |
395 112 |
396 112 |
397 112 |
398 112 |
399 112 |
400 112 |
401 112 |
402 111 |
403 112 |
404 112 |
405 112 |
406 112 |
407 113 |
408 112 |
409 112 |
410 112 |
411 112 |
412 112 |
413 113 |
414 113 |
415 112 |
416 112 |
417 112 |
418 112 |
419 112 |
420 112 |
421 113 |
422 112 |
423 112 |
424 113 |
425 112 |
426 112 |
427 112 |
428 112 |
429 112 |
430 112 |
431 112 |
432 113 |
433 112 |
434 113 |
435 112 |
436 112 |
437 112 |
438 112 |
439 113 |
440 112 |
441 112 |
442 112 |
443 112 |
444 112 |
445 113 |
446 112 |
447 113 |
448 112 |
449 112 |
450 112 |
451 113 |
452 112 |
453 113 |
454 113 |
455 113 |
456 112 |
457 112 |
458 112 |
459 113 |
460 113 |
461 113 |
462 112 |
463 113 |
464 112 |
465 113 |
466 112 |
467 112 |
468 112 |
469 112 |
470 112 |
471 113 |
472 113 |
473 113 |
474 112 |
475 113 |
476 113 |
477 112 |
478 112 |
479 112 |
480 112 |
481 112 |
482 112 |
483 112 |
484 113 |
485 112 |
486 113 |
487 113 |
488 113 |
489 112 |
490 112 |
491 113 |
492 112 |
493 112 |
494 113 |
495 113 |
496 112 |
497 113 |
498 112 |
499 113 |
500 113 |
501 113 |
502 112 |
503 112 |
504 113 |
505 112 |
506 112 |
507 112 |
508 113 |
509 0 |
510 0 |
511 0 |
512 0 |
513 0 |
514 0 |
515 0 |
516 0 |
517 0 |
518 0 |
519 0 |
520 0 |
521 0 |
522 0 |
523 0 |
524 0 |
525 0 |
526 0 |
527 0 |
528 0 |
529 0 |
530 0 |
531 0 |
532 0 |
533 0 |
534 0 |
535 0 |
536 0 |
537 0 |
538 0 |
539 0 |
540 0 |
541 0 |
542 0 |
543 0 |
544 0 |
545 0 |
546 0 |
547 0 |
548 0 |
549 0 |
550 0 |
551 0 |
552 0 |
553 0 |
554 0 |
555 0 |
556 0 |
557 0 |
558 0 |
559 0 |
560 0 |
561 0 |
562 0 |
563 0 |
564 0 |
565 0 |
566 0 |
567 0 |
568 0 |
569 0 |
570 0 |
571 0 |
572 0 |
573 0 |
574 0 |
575 0 |
576 0 |
577 0 |
578 0 |
579 0 |
580 0 |
581 0 |
582 0 |
583 0 |
584 0 |
585 0 |
586 0 |
587 0 |
588 0 |
589 0 |
590 0 |
591 0 |
592 0 |
593 0 |
594 0 |
595 0 |
596 0 |
597 0 |
598 0 |
599 0 |
600 0 |
601 0 |
602 0 |
603 0 |
604 0 |
605 0 |
606 0 |
607 0 |
608 0 |
609 0 |
610 0 |
611 0 |
612 0 |
613 0 |
614 0 |
615 0 |
616 0 |
617 0 |
618 0 |
619 0 |
620 0 |
621 0 |
622 0 |
623 0 |
624 0 |
625 0 |
626 0 |
627 0 |
628 0 |
629 0 |
630 0 |
631 0 |
632 0 |
633 0 |
634 0 |
635 0 |
636 0 |
637 0 |
638 0 |
639 0 |
640 0 |
641 0 |
642 0 |
643 0 |
644 0 |
645 0 |
646 0 |
647 0 |
648 0 |
649 0 |
650 0 |
651 0 |
652 0 |
653 0 |
654 0 |
655 0 |
656 0 |
657 0 |
658 0 |
659 0 |
660 0 |
661 0 |
662 0 |
663 0 |
664 0 |
665 0 |
666 0 |
667 0 |
668 0 |
669 0 |
670 0 |
671 0 |
672 0 |
673 0 |
674 0 |
675 0 |
676 0 |
677 0 |
678 0 |
679 0 |
680 0 |
681 0 |
682 0 |
683 0 |
684 0 |
685 0 |
686 0 |
687 0 |
688 0 |
689 0 |
690 0 |
691 0 |
692 0 |
693 0 |
694 0 |
695 0 |
696 0 |
697 0 |
698 0 |
699 0 |
700 0 |
701 0 |
702 0 |
703 0 |
704 0 |
705 0 |
706 0 |
707 0 |
708 0 |
709 0 |
710 0 |
711 0 |
712 0 |
713 0 |
714 0 |
715 0 |
716 0 |
717 0 |
718 0 |
719 0 |
720 0 |
721 0 |
722 0 |
723 0 |
724 0 |
725 0 |
726 0 |
727 0 |
728 0 |
729 0 |
730 0 |
731 0 |
732 0 |
733 0 |
734 0 |
735 0 |
736 0 |
737 0 |
738 0 |
739 0 |
740 0 |
741 0 |
742 0 |
743 0 |
744 0 |
745 0 |
746 0 |
747 0 |
748 0 |
749 0 |
750 0 |
751 0 |
752 0 |
753 0 |
754 0 |
755 0 |
756 0 |
757 0 |
758 0 |
759 0 |
760 0 |
761 0 |
762 0 |
763 0 |
764 0 |
765 0 |
766 0 |
767 0 |
768 0 |
769 0 |
770 0 |
771 0 |
772 0 |
773 0 |
774 0 |
775 0 |
776 0 |
777 0 |
778 0 |
779 0 |
780 0 |
781 0 |
782 0 |
783 0 |
784 0 |
785 0 |
786 0 |
787 0 |
788 0 |
789 0 |
790 0 |
791 0 |
792 0 |
793 0 |
794 0 |
795 0 |
796 0 |
797 0 |
798 0 |
799 0 |
800 0 |
801 0 |
802 0 |
803 0 |
804 0 |
805 0 |
806 0 |
807 0 |
808 0 |
809 0 |
810 0 |
811 0 |
812 0 |
813 0 |
814 0 |
815 0 |
816 0 |
817 0 |
818 0 |
819 0 |
820 0 |
821 0 |
822 0 |
823 0 |
824 0 |
825 0 |
826 0 |
827 0 |
828 0 |
829 0 |
830 0 |
831 0 |
832 0 |
833 0 |
834 0 |
835 0 |
836 0 |
837 0 |
838 0 |
839 0 |
840 0 |
841 0 |
842 0 |
843 0 |
844 0 |
845 0 |
846 0 |
847 0 |
848 0 |
849 0 |
850 0 |
851 0 |
852 0 |
853 0 |
854 0 |
855 0 |
856 0 |
857 0 |
858 0 |
859 0 |
860 0 |
861 0 |
862 0 |
863 0 |
864 0 |
865 0 |
866 0 |
867 0 |
868 0 |
869 0 |
870 0 |
871 0 |
872 0 |
873 0 |
874 0 |
875 0 |
876 0 |
877 0 |
878 0 |
879 0 |
880 0 |
881 0 |
882 0 |
883 0 |
884 0 |
885 0 |
886 0 |
887 0 |
888 0 |
889 0 |
890 0 |
891 0 |
892 0 |
893 0 |
894 0 |
895 0 |
896 0 |
897 0 |
898 0 |
899 0 |
900 0 |
901 0 |
902 0 |
903 0 |
904 0 |
905 0 |
906 0 |
907 0 |
908 0 |
909 0 |
910 0 |
911 0 |
912 0 |
913 0 |
914 0 |
915 0 |
916 0 |
917 0 |
918 0 |
919 0 |
920 0 |
921 0 |
922 0 |
923 0 |
924 0 |
925 0 |
926 0 |
927 0 |
928 0 |
929 0 |
930 0 |
931 0 |
932 0 |
933 0 |
934 0 |
935 0 |
936 0 |
937 0 |
938 0 |
939 0 |
940 0 |
941 0 |
942 0 |
943 0 |
944 0 |
945 0 |
946 0 |
947 0 |
948 0 |
949 0 |
950 0 |
951 0 |
952 0 |
953 0 |
954 0 |
955 0 |
956 0 |
957 0 |
958 0 |
959 0 |
960 0 |
961 0 |
962 0 |
963 0 |
964 0 |
965 0 |
966 0 |
967 0 |
968 0 |
969 0 |
970 0 |
971 0 |
972 0 |
973 0 |
974 0 |
975 0 |
976 0 |
977 0 |
978 0 |
979 0 |
980 0 |
981 0 |
982 0 |
983 0 |
984 0 |
985 0 |
986 0 |
987 0 |
988 0 |
989 0 |
990 0 |
991 0 |
992 0 |
993 0 |
994 0 |
995 0 |
996 0 |
997 0 |
998 0 |
999 0 |
1000 0 |
1001 0 |
1002 0 |
1003 0 |
1004 0 |
1005 0 |
1006 0 |
1007 0 |
1008 0 |
1009 0 |
1010 0 |
1011 0 |
1012 0 |
1013 0 |
1014 0 |
1015 0 |
1016 0 |
1017 0 |
1018 0 |
1019 0 |
1020 0 |
1021 0 |
1022 0 |
1023 0 |
1024 0 |
1025 0 |
1026 0 |
1027 0 |
1028 0 |
1029 0 |
1030 0 |
1031 0 |
1032 0 |
1033 0 |
1034 0 |
1035 0 |
1036 0 |
1037 0 |
1038 0 |
1039 0 |
1040 0 |
1041 0 |
1042 0 |
1043 0 |
1044 0 |
1045 0 |
1046 0 |
1047 0 |
1048 0 |
1049 0 |
1050 0 |
1051 0 |
1052 0 |
1053 0 |
1054 0 |
1055 0 |
1056 0 |
1057 0 |
1058 0 |
1059 0 |
1060 0 |
1061 0 |
1062 0 |
1063 0 |
1064 0 |
1065 0 |
1066 0 |
1067 0 |
1068 0 |
1069 0 |
1070 0 |
1071 0 |
1072 0 |
1073 0 |
1074 0 |
1075 0 |
1076 0 |
1077 0 |
1078 0 |
1079 0 |
1080 0 |
1081 0 |
1082 0 |
1083 0 |
1084 0 |
1085 0 |
1086 0 |
1087 0 |
1088 0 |
1089 0 |
1090 0 |
1091 0 |
1092 0 |
1093 0 |
1094 0 |
1095 0 |
1096 0 |
1097 0 |
1098 0 |
1099 0 |
1100 0 |
1101 0 |
1102 0 |
1103 0 |
1104 0 |
1105 0 |
1106 0 |
1107 0 |
1108 0 |
1109 0 |
1110 0 |
1111 0 |
1112 0 |
1113 0 |
1114 0 |
1115 0 |
1116 0 |
1117 0 |
1118 0 |
1119 0 |
1120 0 |
1121 0 |
1122 0 |
1123 0 |
1124 0 |
1125 0 |
1126 0 |
1127 0 |
1128 0 |
1129 0 |
1130 0 |
1131 0 |
1132 0 |
1133 0 |
1134 0 |
1135 0 |
1136 0 |
1137 0 |
1138 0 |
1139 0 |
1140 0 |
1141 0 |
1142 0 |
1143 0 |
1144 0 |
1145 0 |
1146 0 |
1147 0 |
1148 0 |
1149 0 |
1150 0 |
1151 0 |
1152 0 |
1153 0 |
1154 0 |
1155 0 |
1156 0 |
1157 0 |
1158 0 |
1159 0 |
1160 0 |
1161 0 |
1162 0 |
1163 0 |
1164 0 |
1165 0 |
1166 0 |
1167 0 |
1168 0 |
1169 0 |
1170 0 |
1171 0 |
1172 0 |
1173 0 |
1174 0 |
1175 0 |
1176 0 |
1177 0 |
1178 0 |
1179 0 |
1180 0 |
1181 0 |
1182 0 |
1183 0 |
1184 0 |
1185 0 |
1186 0 |
1187 0 |
1188 0 |
1189 0 |
1190 0 |
1191 0 |
1192 0 |
1193 0 |
1194 0 |
1195 0 |
1196 0 |
1197 0 |
1198 0 |
1199 0 |
1200 0 |
1201 0 |
1202 0 |
1203 0 |
1204 0 |
1205 0 |
1206 0 |
1207 0 |
1208 0 |
1209 0 |
1210 0 |
1211 0 |
1212 0 |
1213 0 |
1214 0 |
1215 0 |
1216 0 |
1217 0 |
1218 0 |
1219 0 |
1220 0 |
1221 0 |
1222 0 |
1223 0 |
1224 0 |
1225 0 |
1226 0 |
1227 0 |
1228 0 |
1229 0 |
1230 0 |
1231 0 |
1232 0 |
1233 0 |
1234 0 |
1235 0 |
1236 0 |
1237 0 |
1238 0 |
1239 0 |
1240 0 |
1241 0 |
1242 0 |
1243 0 |
1244 0 |
1245 0 |
1246 0 |
1247 0 |
1248 0 |
1249 0 |
1250 0 |
1251 0 |
1252 0 |
1253 0 |
1254 0 |
1255 0 |
1256 0 |
1257 0 |
1258 0 |
1259 0 |
1260 0 |
1261 0 |
1262 0 |
1263 0 |
1264 0 |
1265 0 |
1266 0 |
1267 0 |
1268 0 |
1269 0 |
1270 0 |
1271 0 |
1272 0 |
1273 0 |
1274 0 |
1275 0 |
1276 0 |
1277 0 |
1278 0 |
1279 0 |
1280 0 |
1281 0 |
1282 0 |
1283 0 |
1284 0 |
1285 0 |
1286 0 |
1287 0 |
1288 0 |
1289 0 |
1290 0 |
1291 0 |
1292 0 |
1293 0 |
1294 0 |
1295 0 |
1296 0 |
1297 0 |
1298 0 |
1299 0 |
1300 0 |
1301 0 |
1302 0 |
1303 0 |
1304 0 |
1305 0 |
1306 0 |
1307 0 |
1308 0 |
1309 0 |
1310 0 |
1311 0 |
1312 0 |
1313 0 |
1314 0 |
1315 0 |
1316 0 |
1317 0 |
1318 0 |
1319 0 |
1320 0 |
1321 0 |
1322 0 |
1323 0 |
1324 0 |
1325 0 |
1326 0 |
1327 0 |
1328 0 |
1329 0 |
1330 0 |
1331 0 |
1332 0 |
1333 0 |
1334 0 |
1335 0 |
1336 0 |
1337 0 |
1338 0 |
1339 0 |
1340 0 |
1341 0 |
1342 0 |
1343 0 |
1344 0 |
1345 0 |
1346 0 |
1347 0 |
1348 0 |
1349 0 |
1350 0 |
1351 0 |
1352 0 |
1353 0 |
1354 0 |
1355 0 |
1356 0 |
1357 0 |
1358 0 |
1359 0 |
1360 0 |
1361 0 |
1362 0 |
1363 0 |
1364 0 |
1365 0 |
1366 0 |
1367 0 |
1368 0 |
1369 0 |
1370 0 |
1371 0 |
1372 0 |
1373 0 |
1374 0 |
1375 0 |
1376 0 |
1377 0 |
1378 0 |
1379 0 |
1380 0 |
1381 0 |
1382 0 |
1383 0 |
1384 0 |
1385 0 |
1386 0 |
1387 0 |
1388 0 |
1389 0 |
1390 0 |
1391 0 |
1392 0 |
1393 0 |
1394 0 |
1395 0 |
1396 0 |
1397 0 |
1398 0 |
1399 0 |
1400 0 |
1401 0 |
1402 0 |
1403 0 |
1404 0 |
1405 0 |
1406 0 |
1407 0 |
1408 0 |
1409 0 |
1410 0 |
1411 0 |
1412 0 |
1413 0 |
1414 0 |
1415 0 |
1416 0 |
1417 0 |
1418 0 |
1419 0 |
1420 0 |
1421 0 |
1422 0 |
1423 0 |
1424 0 |
1425 0 |
1426 0 |
1427 0 |
1428 0 |
1429 0 |
1430 0 |
1431 0 |
1432 0 |
1433 0 |
1434 0 |
1435 0 |
1436 0 |
1437 0 |
1438 0 |
1439 0 |
1440 0 |
1441 0 |
1442 0 |
1443 0 |
1444 0 |
1445 0 |
1446 0 |
1447 0 |
1448 0 |
1449 0 |
1450 0 |
1451 0 |
1452 0 |
1453 0 |
1454 0 |
1455 0 |
1456 0 |
1457 0 |
1458 0 |
1459 0 |
1460 0 |
1461 0 |
1462 0 |
1463 0 |
1464 0 |
1465 0 |
1466 0 |
1467 0 |
1468 0 |
1469 0 |
1470 0 |
1471 0 |
1472 0 |
1473 0 |
1474 0 |
1475 0 |
1476 0 |
1477 0 |
1478 0 |
1479 0 |
1480 0 |
1481 0 |
1482 0 |
1483 0 |
1484 0 |
1485 0 |
1486 0 |
1487 0 |
1488 0 |
1489 0 |
1490 0 |
1491 0 |
1492 0 |
1493 0 |
1494 0 |
1495 0 |
1496 0 |
1497 0 |
1498 0 |
1499 0 |
1500 0 |
1501 0 |
1502 0 |
1503 0 |
1504 0 |
1505 0 |
1506 0 |
1507 0 |
1508 0 |
1509 0 |
1510 0 |
1511 0 |
1512 0 |
1513 0 |
1514 0 |
1515 0 |
1516 0 |
1517 0 |
1518 0 |
1519 0 |
1520 0 |
1521 0 |
1522 0 |
1523 0 |
1524 0 |
1525 0 |
1526 0 |
1527 0 |
1528 0 |
1529 0 |
1530 0 |
1531 0 |
1532 0 |
1533 0 |
1534 0 |
1535 0 |
1536 0 |
1537 0 |
1538 0 |
1539 0 |
1540 0 |
1541 0 |
1542 0 |
1543 0 |
1544 0 |
1545 0 |
1546 0 |
1547 0 |
1548 0 |
1549 0 |
1550 0 |
1551 0 |
1552 0 |
1553 0 |
1554 0 |
1555 0 |
1556 0 |
1557 0 |
1558 0 |
1559 0 |
1560 0 |
1561 0 |
1562 0 |
1563 0 |
1564 0 |
1565 0 |
1566 0 |
1567 0 |
1568 0 |
1569 0 |
1570 0 |
1571 0 |
1572 0 |
1573 0 |
1574 0 |
1575 0 |
1576 0 |
1577 0 |
1578 0 |
1579 0 |
1580 0 |
1581 0 |
1582 0 |
1583 0 |
1584 0 |
1585 0 |
1586 0 |
1587 0 |
1588 0 |
1589 0 |
1590 0 |
1591 0 |
1592 0 |
1593 0 |
1594 0 |
1595 0 |
1596 0 |
1597 0 |
1598 0 |
1599 0 |
1600 0 |
1601 0 |
1602 0 |
1603 0 |
1604 0 |
1605 0 |
1606 0 |
1607 0 |
1608 0 |
1609 0 |
1610 0 |
1611 0 |
1612 0 |
1613 0 |
1614 0 |
1615 0 |
1616 0 |
1617 0 |
1618 0 |
1619 0 |
1620 0 |
1621 0 |
1622 0 |
1623 0 |
1624 0 |
1625 0 |
1626 0 |
1627 0 |
1628 0 |
1629 0 |
1630 0 |
1631 0 |
1632 0 |
1633 0 |
1634 0 |
1635 0 |
1636 0 |
1637 0 |
1638 0 |
1639 0 |
1640 0 |
1641 0 |
1642 0 |
1643 0 |
1644 0 |
1645 0 |
1646 0 |
1647 0 |
1648 0 |
1649 0 |
1650 0 |
1651 0 |
1652 0 |
1653 0 |
1654 0 |
1655 0 |
1656 0 |
1657 0 |
1658 0 |
1659 0 |
1660 0 |
1661 0 |
1662 0 |
1663 0 |
1664 0 |
1665 0 |
1666 0 |
1667 0 |
1668 0 |
1669 0 |
1670 0 |
1671 0 |
1672 0 |
1673 0 |
1674 0 |
1675 0 |
1676 0 |
1677 0 |
1678 0 |
1679 0 |
1680 0 |
1681 0 |
1682 0 |
1683 0 |
1684 0 |
1685 0 |
1686 0 |
1687 0 |
1688 0 |
1689 0 |
1690 0 |
1691 0 |
1692 0 |
1693 0 |
1694 0 |
1695 0 |
1696 0 |
1697 0 |
1698 0 |
1699 0 |
1700 0 |
/roboti/solarni/2005/O1.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/O2.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/SOLARNI_ROBOT.DBK |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/SOLARNI_ROBOT.DRC |
---|
0,0 → 1,13 |
Checking Pins and Pin Connections |
-------------------------------------------------- |
Checking Schematic: SCHEMATIC1 |
-------------------------------------------------- |
Checking Electrical Rules |
Checking for Unconnected Nets |
Checking for Invalid References |
Checking for Duplicate References |
/roboti/solarni/2005/SOLARNI_ROBOT.DSN |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/SOLARNI_ROBOT.ONL |
---|
0,0 → 1,656 |
(PCB SOLARNI_ROBOT |
(description |
(timeStamp "2005 08 22 20 18 24") |
(program "CAPTURE.EXE" (Version "9.2.448 CIS - D")) |
(source "Original data from OrCAD/CAPTURE schematic") |
(title "") |
(date "August 22, 2005") |
(document "D:\\KAKLIK\\SCHEMATA\\ROBOTI\\SOLARNI\\2005\\SOLARNI_ROBOT.DSN") |
(revision "") |
(organization "") |
(address1 "") |
(address2 "") |
(address3 "") |
(address4 "") |
(partvaluecombine "{Value}") |
(pcbfootprintcombine "{Device}@{PCB Footprint}")) |
(structure ) |
(placement |
(component MOTOR |
(place J4 |
(property |
("PCB Footprint" JUMP2) |
(Device JUMP2AC) |
(timestamp 0000D14C) |
("Source Package" MOTOR) |
(Value MOTOR)))) |
(component BAT |
(place J1 |
(property |
("PCB Footprint" JUMP2) |
(Device JUMP2AC) |
(timestamp 0000CB53) |
("Source Package" BAT) |
(Value BAT)))) |
(component JUMP1 |
(place J10 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00010E57) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J11 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00010E69) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J12 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00010E7B) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J13 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00010E8D) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J14 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00010E9F) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J15 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00010EB1) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J16 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00010EC3) |
("Source Package" JUMP1) |
(Value JUMP1)))) |
(component JUMP2 |
(place J2 |
(property |
("PCB Footprint" JUMP2) |
(Device JUMP2) |
(timestamp 000112CD) |
("Source Package" JUMP2) |
(Value RESET))) |
(place J8 |
(property |
("PCB Footprint" JUMP2) |
(Device JUMP2) |
(timestamp 00010CE3) |
("Source Package" JUMP2) |
(Value JUMP2))) |
(place J9 |
(property |
("PCB Footprint" JUMP2) |
(Device JUMP2) |
(timestamp 00010CFB) |
("Source Package" JUMP2) |
(Value JUMP2)))) |
(component "L-TR-1P1S_DOT" |
(place TR1 |
(property |
("PCB Footprint" TOROID4) |
(Device TOROID4) |
(timestamp 0000D0E8) |
("Source Package" "L-TR-1P1S_DOT") |
(Value "L-TR-1P1S_DOT")))) |
(component BAT48SMD |
(place D2 |
(property |
("PCB Footprint" SMC) |
(Device D) |
(timestamp 0000CE12) |
("Source Package" BAT48SMD) |
(Value SK54ASMD))) |
(place D3 |
(property |
("PCB Footprint" SMC) |
(Device D) |
(timestamp 0000D01A) |
("Source Package" BAT48SMD) |
(Value SK54ASMD))) |
(place D5 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 0000CD87) |
("Source Package" BAT48SMD) |
(Value BAT48SMD))) |
(place D6 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 0000CDEF) |
("Source Package" BAT48SMD) |
(Value BAT48SMD)))) |
(component "MOS-N-ENH-D-DOUBLE" |
(place Q1 |
(property |
("PCB Footprint" SO8_2FET) |
(Device SO8_2FET) |
(timestamp 0000E7AA) |
("Source Package" "MOS-N-ENH-D-DOUBLE") |
(Value FDS9926)))) |
(component PIC_ISP |
(place J7 |
(property |
("PCB Footprint" PIC_ISP) |
(Device PIC_ISP) |
(timestamp 0000DAD2) |
("Source Package" PIC_ISP) |
(Value PIC_ISP)))) |
(component PIC16F88/P |
(place U1 |
(property |
("PCB Footprint" SO18_300) |
(Device SO18_300) |
(timestamp 0000DB3A) |
("Source Package" PIC16F88/P) |
(Value PIC16F88/SO)))) |
(component BZV55SMD |
(place D1 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 0000CC86) |
("Source Package" BZV55SMD) |
(Value BZV55C5.6SMD))) |
(place D4 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 0000D0A2) |
("Source Package" BZV55SMD) |
(Value BZV55C18SMD)))) |
(component R0805 |
(place R1 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000CD79) |
("Source Package" R0805) |
(Value 100))) |
(place R2 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000CD85) |
("Source Package" R0805) |
(Value 100k))) |
(place R3 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000CDDF) |
("Source Package" R0805) |
(Value 100))) |
(place R4 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000CDDB) |
("Source Package" R0805) |
(Value 100k))) |
(place R5 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000DB5A) |
("Source Package" R0805) |
(Value 10k))) |
(place R7 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000DA8E) |
("Source Package" R0805) |
(Value 10k)))) |
(component C0805 |
(place C2 |
(property |
("PCB Footprint" C1212) |
(Device C) |
(timestamp 0000C8A0) |
("Source Package" C0805) |
(Value 4uF/16V))) |
(place C3 |
(property |
("PCB Footprint" C1212) |
(Device C) |
(timestamp 0000D016) |
("Source Package" C0805) |
(Value 4uF/16V))) |
(place C5 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 0000CD7D) |
("Source Package" C0805) |
(Value 100nF))) |
(place C6 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 0000DA52) |
("Source Package" C0805) |
(Value 100nF)))) |
(component CROSS |
(place M1 |
(property |
("PCB Footprint" CROSS) |
(Device CROSS) |
(timestamp 00000007) |
("Source Package" CROSS) |
(Value CROSS))) |
(place M2 |
(property |
("PCB Footprint" CROSS) |
(Device CROSS) |
(timestamp 00000009) |
("Source Package" CROSS) |
(Value CROSS))) |
(place M3 |
(property |
("PCB Footprint" CROSS) |
(Device CROSS) |
(timestamp 0000000B) |
("Source Package" CROSS) |
(Value CROSS)))) |
(component "C-ELYT-CE035X8" |
(place C1 |
(property |
("PCB Footprint" CE035X8) |
(Device "C-ELYT") |
(timestamp 0000CB55) |
("Source Package" "C-ELYT-CE035X8") |
(Value 1000uF/6.3V)))) |
(component "C-ELYT-CE075X18" |
(place C4 |
(property |
("PCB Footprint" CE075X18) |
(Device "C-ELYT") |
(timestamp 0000D057) |
("Source Package" "C-ELYT-CE075X18") |
(Value 10G/16V)))) |
(component LEDSMD_0805 |
(place D7 |
(property |
("PCB Footprint" LED0805) |
(Device LED) |
(timestamp 00010C8B) |
("Source Package" LEDSMD_0805) |
(Value LEDSMD_0805))))) |
(library |
(image PIC16F88/P |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\MICROCHIP\\CPU_PIC16_FLASH.OLB) |
(Device PIC16F87_88__18_PIN)) |
(pin 999 1 |
(property |
(pinname "RA2/AN2/CVREF/VREF-") |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname RA3/AN3/VREF+/C1OUT) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname RA4/AN4/T0CKI/C2OUT) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname RA5/MCLR#) |
(pintype 4))) |
(pin 999 5 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 6 |
(property |
(pinname RB0/INT/CCP1) |
(pintype 4))) |
(pin 999 7 |
(property |
(pinname RB1/SDI/SDA) |
(pintype 4))) |
(pin 999 8 |
(property |
(pinname RB2/SDO/RX/DT) |
(pintype 4))) |
(pin 999 9 |
(property |
(pinname RB3/PGM/CCP1) |
(pintype 4))) |
(pin 999 10 |
(property |
(pinname SCL/SCK/RB4) |
(pintype 4))) |
(pin 999 11 |
(property |
(pinname CK/TX/SS#/RB5) |
(pintype 4))) |
(pin 999 12 |
(property |
(pinname T1CKI/T1OSO/PGC/AN5/RB6) |
(pintype 4))) |
(pin 999 13 |
(property |
(pinname T1OSI/PGD/AN6/RB7) |
(pintype 4))) |
(pin 999 14 |
(property |
(pinname VDD) |
(pintype 7))) |
(pin 999 15 |
(property |
(pinname CLKO/OSC2/RA6) |
(pintype 4))) |
(pin 999 16 |
(property |
(pinname CLKI/OSC1/RA7) |
(pintype 4))) |
(pin 999 17 |
(property |
(pinname AN0/RA0) |
(pintype 4))) |
(pin 999 18 |
(property |
(pinname AN1/RA1) |
(pintype 4)))) |
(image R0805 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device R)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image JUMP1 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\JUMP.OLB) |
(Device JUMP1)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4)))) |
(image "C-ELYT-CE035X8" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device "C-ELYT")) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image C0805 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device C)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image "C-ELYT-CE075X18" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device "C-ELYT")) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image CROSS |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\SYMBOLS.OLB) |
(Device CROSS))) |
(image BAT |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_REST.OLB) |
(Device BAT)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image JUMP2 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\JUMP.OLB) |
(Device JUMP2)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image MOTOR |
(property |
(sourcelib D:\\MLAB\\_Z\\DART01A\\SCH\\DART.OLB)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image BZV55SMD |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_D.OLB) |
(Device D)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image BAT48SMD |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_D.OLB) |
(Device D)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image PIC_ISP |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X_OLD\\MICROCHIP\\CPU_PIC_FLASH.OLB) |
(Device PIC_ISP)) |
(pin 999 1 |
(property |
(pinname PGC) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname PGD) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname VDD) |
(pintype 7))) |
(pin 999 5 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 6 |
(property |
(pinname MCLR#/VPP) |
(pintype 4)))) |
(image LEDSMD_0805 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_OPTO.OLB) |
(Device LED)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image "MOS-N-ENH-D-DOUBLE" |
(property |
(sourcelib D:\\MLAB\\_Z\\DART01A\\SCH\\DART.OLB)) |
(pin 999 G1 |
(property |
(pinname G2_A) |
(pintype 4))) |
(pin 999 S1 |
(property |
(pinname S2_A) |
(pintype 4))) |
(pin 999 D1 |
(property |
(pinname D2_A) |
(pintype 4))) |
(pin 999 G2 |
(property |
(pinname G2_B) |
(pintype 4))) |
(pin 999 S2 |
(property |
(pinname S2_B) |
(pintype 4))) |
(pin 999 D2 |
(property |
(pinname D2_B) |
(pintype 4)))) |
(image "L-TR-1P1S_DOT" |
(property |
(sourcelib D:\\MLAB\\_Z\\DART01A\\SCH\\DART.OLB)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname 3) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname 4) |
(pintype 4))))) |
(network |
(net N53618 |
(pins |
D3-A Q1-D2 J4-C)) |
(net N52608 |
(pins |
D5-C C5-2 R1-1)) |
(net N52713 |
(pins |
R3-2 Q1-G2 R4-2)) |
(net N52673 |
(pins |
R1-2 R2-2 Q1-G1)) |
(net N53250 |
(pins |
D2-C TR1-3)) |
(net N53185 |
(pins |
TR1-2 Q1-D1)) |
(net N55830 |
(pins |
R5-1 U1-4 J7-6 J2-2)) |
(net N53337 |
(pins |
D3-C J4-A C3-2 TR1-4 D4-C C4-A)) |
(net N56050 |
(pins |
U1-7 R7-2)) |
(net +VDD |
(property |
(nettype S)) |
(pins |
R5-2 TR1-1 U1-14 C1-A C6-2 D1-C U1-2 J7-3 J1-A |
C2-2)) |
(net N55874 |
(pins |
J7-1 U1-12)) |
(net N55790 |
(pins |
J7-2 U1-13)) |
(net GND |
(property |
(nettype S)) |
(pins |
Q1-S2 C4-C D4-A D6-A J1-C C1-C D2-A R4-1 D5-A |
Q1-S1 C3-1 R2-1 C6-1 D7-C C2-1 D1-A J7-5 U1-1 |
U1-5 J2-1)) |
(net N57358 |
(pins |
D7-A R7-1 U1-6)) |
(net PWM |
(pins |
U1-9 J8-1 J8-2 C5-1)) |
(net MOTOR |
(pins |
D6-C U1-8 R3-1 J9-1 J9-2)) |
(net N69499 |
(pins |
U1-15 J13-1)) |
(net N69554 |
(pins |
U1-16 J12-1)) |
(net N69609 |
(pins |
U1-17 J11-1)) |
(net N69664 |
(pins |
U1-18 J10-1)) |
(net N69752 |
(pins |
U1-11 J14-1)) |
(net N69807 |
(pins |
J15-1 U1-10)) |
(net N71962 |
(pins |
J16-1 U1-3))) |
) |
/roboti/solarni/2005/SOLARNI_ROBOT.asc |
---|
0,0 → 1,92 |
*PADS-PCB* |
*PART* |
C1 C-ELYT@CE035X8 |
C2 C@C1212 |
C3 C@C1212 |
C4 C-ELYT@CE075X18 |
C5 C@C0805 |
C6 C@C0805 |
D1 D@MINIMELF |
D2 D@SMC |
D3 D@SMC |
D4 D@MINIMELF |
D5 D@MINIMELF |
D6 D@MINIMELF |
D7 LED@LED0805 |
J1 JUMP2AC@JUMP2 |
J10 JUMP1@JUMP1 |
J11 JUMP1@JUMP1 |
J12 JUMP1@JUMP1 |
J13 JUMP1@JUMP1 |
J14 JUMP1@JUMP1 |
J15 JUMP1@JUMP1 |
J16 JUMP1@JUMP1 |
J2 JUMP2@JUMP2 |
J4 JUMP2AC@JUMP2 |
J7 PIC_ISP@PIC_ISP |
J8 JUMP2@JUMP2 |
J9 JUMP2@JUMP2 |
M1 CROSS@CROSS |
M2 CROSS@CROSS |
M3 CROSS@CROSS |
Q1 SO8_2FET@SO8_2FET |
R1 R@R0805 |
R2 R@R0805 |
R3 R@R0805 |
R4 R@R0805 |
R5 R@R0805 |
R7 R@R0805 |
TR1 TOROID4@TOROID4 |
U1 SO18_300@SO18_300 |
*NET* |
*SIGNAL* N53618 |
D3.A Q1.D2 J4.C |
*SIGNAL* N52608 |
D5.C C5.2 R1.1 |
*SIGNAL* N52713 |
R3.2 Q1.G2 R4.2 |
*SIGNAL* N52673 |
R1.2 R2.2 Q1.G1 |
*SIGNAL* N53250 |
D2.C TR1.3 |
*SIGNAL* N53185 |
TR1.2 Q1.D1 |
*SIGNAL* N55830 |
R5.1 U1.4 J7.6 J2.2 |
*SIGNAL* N53337 |
D3.C J4.A C3.2 TR1.4 D4.C C4.A |
*SIGNAL* N56050 |
U1.7 R7.2 |
*SIGNAL* +VDD |
R5.2 TR1.1 U1.14 C1.A C6.2 D1.C U1.2 J7.3 |
J1.A C2.2 |
*SIGNAL* N55874 |
J7.1 U1.12 |
*SIGNAL* N55790 |
J7.2 U1.13 |
*SIGNAL* GND |
Q1.S2 C4.C D4.A D6.A J1.C C1.C D2.A R4.1 |
D5.A Q1.S1 C3.1 R2.1 C6.1 D7.C C2.1 D1.A |
J7.5 U1.1 U1.5 J2.1 |
*SIGNAL* N57358 |
D7.A R7.1 U1.6 |
*SIGNAL* PWM |
U1.9 J8.1 J8.2 C5.1 |
*SIGNAL* MOTOR |
D6.C U1.8 R3.1 J9.1 J9.2 |
*SIGNAL* N69499 |
U1.15 J13.1 |
*SIGNAL* N69554 |
U1.16 J12.1 |
*SIGNAL* N69609 |
U1.17 J11.1 |
*SIGNAL* N69664 |
U1.18 J10.1 |
*SIGNAL* N69752 |
U1.11 J14.1 |
*SIGNAL* N69807 |
J15.1 U1.10 |
*SIGNAL* N71962 |
J16.1 U1.3 |
*END* |
/roboti/solarni/2005/SOLARNI_ROBOT.opj |
---|
0,0 → 1,91 |
(ExpressProject "SOLARNI_ROBOT" |
(ProjectVersion "19981106") |
(ProjectType "PCB") |
(Folder "Design Resources" |
(Folder "Library") |
(NoModify) |
(File ".\solarni_robot.dsn" |
(Type "Schematic Design")) |
(BuildFileAddedOrDeleted "x") |
(CompileFileAddedOrDeleted "x") |
(DRC_Scope "0") |
(DRC_Action "0") |
(DRC_Create_Warnings "FALSE") |
(DRC_Check_Ports "FALSE") |
(DRC_Check_Off-Page_Connectors "FALSE") |
(DRC_Identical_References "TRUE") |
(DRC_Type_Mismatch "TRUE") |
(DRC_Report_Ports_and_Off-page_Connectors "FALSE") |
(DRC_SDT_Compatibility "FALSE") |
(DRC_Report_Off-grid_Objects "FALSE") |
(DRC_Check_Unconnected_Nets "TRUE") |
(DRC_Report_Netnames "FALSE") |
(DRC_View_Output "FALSE") |
(DRC_Report_File "D:\KAKLIK\SCHEMATA\ROBOTI\SOLARNI\2005\SOLARNI_ROBOT.DRC") |
(Netlist_TAB "7") |
(OTHER_Part_Value "{Value}") |
(OTHER_Netlist_File "SOLARNI_ROBOT.asc") |
(OTHER_Netlist_File2 "SOLARNI_ROBOT.CMP") |
(OTHER_View_Output "FALSE") |
(OTHER_View_Output2 "FALSE") |
(OTHER_Formatter "padspcb.dll") |
(OTHER_PCB_Footprint "{Device}@{PCB Footprint}") |
(OTHER_Switch0 "FALSE") |
(OTHER_Switch1 "FALSE") |
(OTHER_Switch2 "FALSE") |
(OTHER_Switch3 "FALSE") |
(OTHER_Switch4 "FALSE") |
(OTHER_Switch5 "FALSE") |
(OTHER_Switch6 "FALSE")) |
(Folder "Outputs" |
(File ".\solarni_robot.drc" |
(Type "Report")) |
(File ".\solarni_robot.asc" |
(Type "Report"))) |
(Folder "Referenced Projects") |
(PartMRUSelector |
(VDD |
(LibraryName "C:\LIBRARY\ORCAD9X\SYMBOLS.OLB") |
(DeviceIndex "0")) |
(GND |
(LibraryName "C:\LIBRARY\ORCAD9X\SYMBOLS.OLB") |
(DeviceIndex "0")) |
(R-TRIM-TRIMB |
(FullPartName "R-TRIM-TRIMB.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_RLC.OLB") |
(DeviceIndex "0")) |
(TITLE |
(LibraryName "C:\LIBRARY\ORCAD9X\SYMBOLS.OLB") |
(DeviceIndex "0")) |
(JUMP2 |
(FullPartName "JUMP2.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\JUMP.OLB") |
(DeviceIndex "0")) |
(JUMP1 |
(FullPartName "JUMP1.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\JUMP.OLB") |
(DeviceIndex "0")) |
(LEDSMD_0805 |
(FullPartName "LEDSMD_0805.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_OPTO.OLB") |
(DeviceIndex "0"))) |
(GlobalState |
(FileView |
(Path "Design Resources") |
(Path "Outputs")) |
(HierarchyView) |
(Doc |
(Type "COrCapturePMDoc") |
(Frame |
(Placement "44 0 1 160 605 -4 -30 -3 197 8 407")) |
(Tab 0)) |
(Doc |
(Type "COrSchematicDoc") |
(Frame |
(Placement "44 2 3 -1 -1 -4 -30 44 914 58 495") |
(Scroll "0 170") |
(Zoom "100") |
(Occurrence "/")) |
(Path "D:\KAKLIK\SCHEMATA\ROBOTI\SOLARNI\2005\SOLARNI_ROBOT.DSN") |
(Schematic "SCHEMATIC1") |
(Page "PAGE1")))) |
/roboti/solarni/2005/SOLARNI_ROBOT_blz.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/V1.PDF |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/V2.PDF |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/jump/bak/menic_1.c |
---|
0,0 → 1,80 |
//#device ICD=TRUE |
#include ".\menic.h" |
//#use fast_io(B) |
#define PIEZO PIN_A6 |
#define LED PIN_A7 |
#define MENIC PIN_B3 |
#define REFPWR PIN_B1 |
#define MOTOR PIN_B2 |
unsigned int32 n; |
void pip() |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void main() |
{ |
setup_adc_ports(NO_ANALOGS|VSS_VDD); |
setup_adc(ADC_OFF); |
setup_spi(FALSE); |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); |
setup_timer_1(T1_DISABLED); |
setup_timer_2(T2_DISABLED,0,1); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
setup_oscillator(OSC_4MHZ|OSC_INTRC); |
// SET_TRIS_B( 0b11110011); |
output_low(MENIC); |
output_low(MOTOR); |
output_low(REFPWR); |
pip(); |
for(n=0;n<370000;n++) |
// for(n=0;n<100000;n++) |
{ |
// set_timer0(0); |
// while ( get_timer0() < 250 ) |
{ |
output_high(MENIC); |
delay_us(5); |
output_low(MENIC); |
delay_us(4); |
// delay_us(90); |
}; |
} |
pip(); |
output_high(MOTOR); |
delay_ms(3000); |
output_low(MOTOR); |
while(true) |
{ |
output_high(LED); |
delay_ms(300); |
output_low(LED); |
delay_ms(300); |
} |
} |
/roboti/solarni/2005/jump/bak/menic_2_nefunguje_rozjezd.c |
---|
0,0 → 1,148 |
#include ".\menic.h" |
#define RAZENI 100 // Po kolika ms se bude menit rychlost pro rozjizdeni |
#define REFNOM 107 // Hodnota odpovidajici 1,2V pri nominalnim zatizeni |
#define REFSTART 80 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
#define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
#define LED PIN_A7 // LED |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#byte SSPBUF = 0x13 // Registry jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void pip() // pipnuti a bliknuti |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
{ |
output_bit(PIEZO,~input(PIEZO)); |
} |
void main() |
{ |
int8 n; |
int8 perioda; |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); |
setup_timer_1(T1_DISABLED); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
output_high(LED); |
output_high(PIEZO); |
set_adc_channel(4); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); // PWM pro zatizeni clanku v seru |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(2); // PWM pro zatizeni clanku pri malem osvetleni |
n=0; |
do |
{ |
output_low(REFPWR); |
delay_ms(100); |
if (4==n++) {cvak(); n=0;}; |
output_high(REFPWR); // zapni napajeni napetove reference |
delay_ms(1); |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); |
pip(); // potvrzeni odstartovani |
// regulace |
perioda=100; // nastav optimalni periodu pri jedne 500W zarovce |
for(n=0;n<=7;n++) |
{ |
set_pwm1_duty(0); |
setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
set_pwm1_duty(19); // delka sepnuti |
delay_ms(100); |
output_high(REFPWR); // zapni napajeni napetove reference |
delay_ms(1); |
if (read_adc()<REFNOM) perioda--; // zvyseni zatizeni menice |
output_low(REFPWR); // konec mereni, odpoj napajeni reference |
}; |
// nabíjíme |
delay_ms(14000); |
// rozjezd |
SSPSTAT = 0; |
SSPCON1 = 0x22; // SPI OSC/64 |
enable_interrupts(global); |
for(n=0; n<=7; n++) // razeni osmi rychlostnich stupnu |
{ |
disable_interrupts(INT_SSP); // zastav preruseni od SSP |
MotorPattern=Pattern[n]; |
SSPBUF=MotorPattern; // data pro vyslani |
enable_interrupts(INT_SSP); // az budou vyslana, prijde interrupt od SSP |
delay_ms(RAZENI); // Pockej na dalsi razeni |
}; |
SSPSTAT = 0; |
SSPCON1 = 0; // SPI stop |
disable_interrupts(INT_SSP); // zastav preruseni od SSP |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1000); |
output_low(MOTOR); |
set_pwm1_duty(0); // zastav menic |
// vybiti kondenzatoru pro ucely mereni |
pip(); |
delay_ms(2000); |
pip(); |
output_high(MOTOR); |
while(true) |
{ |
output_high(LED); |
output_low(PIEZO); |
delay_ms(300); |
output_low(LED); |
output_high(PIEZO); |
delay_ms(300); |
} |
// priprava na dalsi jizdu |
delay_ms(5000); |
reset_cpu(); |
} |
/roboti/solarni/2005/jump/bak/menic_3.c |
---|
0,0 → 1,148 |
#include ".\menic.h" |
#define RAZENI 50 // Po kolika ms se bude menit rychlost pro rozjizdeni |
#define REFNOM 107 // Hodnota odpovidajici 1,2V pri nominalnim zatizeni |
#define REFSTART 80 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
#define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
#define LED PIN_A7 // LED |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#byte SSPBUF = 0x13 // Registry jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void pip() // pipnuti a bliknuti |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
{ |
output_bit(PIEZO,~input(PIEZO)); |
} |
void main() |
{ |
int8 n; |
int8 perioda; |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); |
setup_timer_1(T1_DISABLED); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
output_high(LED); |
output_high(PIEZO); |
set_adc_channel(4); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); // PWM pro zatizeni clanku v seru |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(2); // PWM pro zatizeni clanku pri malem osvetleni |
n=0; |
do |
{ |
output_low(REFPWR); |
delay_ms(100); |
if (4==n++) {cvak(); n=0;}; |
output_high(REFPWR); // zapni napajeni napetove reference |
delay_ms(1); |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); |
pip(); // potvrzeni odstartovani |
// regulace |
perioda=100; // nastav optimalni periodu pri jedne 500W zarovce |
for(n=0;n<=7;n++) |
{ |
set_pwm1_duty(0); |
setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
set_pwm1_duty(19); // delka sepnuti |
delay_ms(100); |
output_high(REFPWR); // zapni napajeni napetove reference |
delay_ms(1); |
if (read_adc()<REFNOM) perioda--; // zvyseni zatizeni menice |
output_low(REFPWR); // konec mereni, odpoj napajeni reference |
}; |
// nabíjíme |
delay_ms(14000); |
// rozjezd |
SSPSTAT = 0; |
SSPCON1 = 0x22; // SPI OSC/64 |
MotorPattern=0x02; // prvni data pro vyslani |
SSPBUF=MotorPattern; // data pro vyslani |
enable_interrupts(global); |
enable_interrupts(INT_SSP); // az budou vyslana, prijde interrupt od SSP |
for(n=0; n<=7; n++) // razeni osmi rychlostnich stupnu |
{ |
MotorPattern=Pattern[n]; |
delay_ms(RAZENI); // Pockej na dalsi razeni |
}; |
SSPSTAT = 0; |
SSPCON1 = 0; // SPI stop |
disable_interrupts(INT_SSP); // zastav preruseni od SSP |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1000); |
output_low(MOTOR); |
set_pwm1_duty(0); // zastav menic |
// vybiti kondenzatoru pro ucely mereni |
pip(); |
delay_ms(2000); |
pip(); |
output_high(MOTOR); |
while(true) |
{ |
output_high(LED); |
output_low(PIEZO); |
delay_ms(300); |
output_low(LED); |
output_high(PIEZO); |
delay_ms(300); |
} |
// priprava na dalsi jizdu |
delay_ms(5000); |
reset_cpu(); |
} |
/roboti/solarni/2005/jump/bak/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/jump/menic.BAK |
---|
0,0 → 1,151 |
#include ".\menic.h" |
#define RAZENI 60 // Po kolika ms se bude menit rychlost pro rozjizdeni |
#define REFNOM 107 // Hodnota odpovidajici 1,2V pri nominalnim zatizeni |
#define REFSTART 80 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
#define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
#define LED PIN_A7 // LED |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#byte SSPBUF = 0x13 // Registry jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void pip() // pipnuti a bliknuti |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
{ |
output_bit(PIEZO,~input(PIEZO)); |
} |
void main() |
{ |
int8 n; |
int8 perioda; |
int8 cekej; |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); |
setup_timer_1(T1_DISABLED); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
output_high(LED); |
output_high(PIEZO); |
set_adc_channel(4); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); // PWM pro zatizeni clanku v seru |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(2); // PWM pro zatizeni clanku pri malem osvetleni |
n=0; |
do |
{ |
output_low(REFPWR); |
delay_ms(100); |
if (4==n++) {cvak(); n=0;}; |
output_high(REFPWR); // zapni napajeni napetove reference |
delay_ms(1); |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); |
pip(); // potvrzeni odstartovani |
// regulace |
perioda=100; // nastav optimalni periodu pri jedne 500W zarovce |
for(n=0;n<=7;n++) |
{ |
set_pwm1_duty(0); |
setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
set_pwm1_duty(19); // delka sepnuti |
delay_ms(100); |
output_high(REFPWR); // zapni napajeni napetove reference |
delay_ms(1); |
if (read_adc()<REFNOM) perioda--; // zvyseni zatizeni menice |
output_low(REFPWR); // konec mereni, odpoj napajeni reference |
}; |
// nabíjíme |
delay_ms(14000); |
// rozjezd |
SSPSTAT = 0; |
SSPCON1 = 0x22; // SPI OSC/64 |
MotorPattern=0x02; // prvni data pro vyslani |
SSPBUF=MotorPattern; // data pro vyslani |
enable_interrupts(global); |
enable_interrupts(INT_SSP); // az budou vyslana, prijde interrupt od SSP |
cekej=RAZENI; |
for(n=0; n<=7; n++) // razeni osmi rychlostnich stupnu |
{ |
MotorPattern=Pattern[n]; |
delay_ms(RAZENI); // Pockej na dalsi razeni |
// cekej-=10; |
}; |
SSPSTAT = 0; |
SSPCON1 = 0; // SPI stop |
disable_interrupts(INT_SSP); // zastav preruseni od SSP |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1000); |
output_low(MOTOR); |
set_pwm1_duty(0); // zastav menic |
// vybiti kondenzatoru pro ucely mereni |
pip(); |
delay_ms(2000); |
pip(); |
output_high(MOTOR); |
while(true) |
{ |
output_high(LED); |
output_low(PIEZO); |
delay_ms(300); |
output_low(LED); |
output_high(PIEZO); |
delay_ms(300); |
} |
// priprava na dalsi jizdu |
delay_ms(5000); |
reset_cpu(); |
} |
/roboti/solarni/2005/jump/menic.HEX |
---|
0,0 → 1,58 |
:1000000000308A0090280000FF00030E8301A10049 |
:100010007F08A0000A08A8008A01A00E0408A20018 |
:100020007708A3007808A4007908A5007A08A6003C |
:100030007B08A700831383128C308400801D222844 |
:100040008C193528220884002308F7002408F800BA |
:100050002508F9002608FA002708FB0028088A006E |
:10006000210E8300FF0E7F0E09008A1143280A101B |
:100070008A100A118207023406340E341E343E34CC |
:100080007E34FE34FF34290893008C118A11222813 |
:100090002D308400000803195C280130F800F701B6 |
:1000A000F70B5028F80B4F284A30F700F70B56286B |
:1000B00000000000800B4D280034831605178312C2 |
:1000C000051F642805136528051783160513831279 |
:1000D0008A110629AD012D08F93C031C87282C182C |
:1000E000732805137428051783160513013083122E |
:1000F000AC062C187D2885137E288517831685135A |
:100100002130F700F70B82288312AD0A6B28831683 |
:100110000513831205178316851383128517003480 |
:1001200084011F30830583161F129F121B0880391C |
:100130009B0007309C001C0883120D13603083164F |
:100140008F001F129F121B088039D0389B001F138D |
:1001500083121F179F1783169F1383121F14941265 |
:10016000831606118614061200308312940083163B |
:1001700094000108C03907388100831290010730CC |
:1001800083169C0005080330F700F70BC5281C08F0 |
:1001900083120D1383169D01861183128611831617 |
:1001A0000611831206118316861083128610831699 |
:1001B00085138312851783160513831205172030C4 |
:1001C000F8001F08C73978049F009501831686112F |
:1001D000831286110C3097000030F800043892002A |
:1001E00064308316920062308F00023083129500D3 |
:1001F000AA0183168610831286106430AD00482051 |
:100200002A08AA0A043C031D07295D28AA018316AF |
:100210008610831286140130AD0048201F151F1967 |
:100220000F291E08503C031CF928831686108312E0 |
:1002300086106A206430AB00AA012A08073C031C20 |
:10024000432995010030F800043892002B088316EA |
:1002500092001330831295006430AD00482083165D |
:100260008610831286140130AD0048201F151F1917 |
:1002700037291E086A3C0318AB03831686108312C5 |
:100280008610AA0A1D293830AC00FA30AD0048208B |
:10029000AC0B45298316940122308312940002305E |
:1002A000A90029089300C0308B0483168C15831293 |
:1002B000AA012A08073C031C66292A083720F800EF |
:1002C000A9003C30AD004820AA0A592983169401A0 |
:1002D0008312940183168C110611831206150430C3 |
:1002E000AC00FA30AD004820AC0B71298316061122 |
:1002F0008312061195016A200830AC00FA30AD0077 |
:100300004820AC0B7E296A2083160611831206153D |
:10031000831685138312851783160513831205131D |
:100320000230AC009630AD004820AC0B9229831609 |
:100330008513831285138316051383120517023064 |
:10034000AC009630AD004820AC0BA12988291430B0 |
:10035000AC00FA30AD004820AC0BA9298A01002876 |
:02036000630038 |
:04400E003827FC3F14 |
:00000001FF |
;PIC16F88 |
/roboti/solarni/2005/jump/menic.LST |
---|
0,0 → 1,601 |
CCS PCM C Compiler, Version 3.221, 27853 28-VIII-05 19:00 |
Filename: D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.LST |
ROM used: 433 words (11%) |
Largest free fragment is 2048 |
RAM used: 18 (10%) at main() level |
19 (11%) worst case |
Stack: 2 worst case (1 in main + 1 for interrupts) |
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 090 |
0003: NOP |
0004: MOVWF 7F |
0005: SWAPF 03,W |
0006: CLRF 03 |
0007: MOVWF 21 |
0008: MOVF 7F,W |
0009: MOVWF 20 |
000A: MOVF 0A,W |
000B: MOVWF 28 |
000C: CLRF 0A |
000D: SWAPF 20,F |
000E: MOVF 04,W |
000F: MOVWF 22 |
0010: MOVF 77,W |
0011: MOVWF 23 |
0012: MOVF 78,W |
0013: MOVWF 24 |
0014: MOVF 79,W |
0015: MOVWF 25 |
0016: MOVF 7A,W |
0017: MOVWF 26 |
0018: MOVF 7B,W |
0019: MOVWF 27 |
001A: BCF 03.7 |
001B: BCF 03.5 |
001C: MOVLW 8C |
001D: MOVWF 04 |
001E: BTFSS 00.3 |
001F: GOTO 022 |
0020: BTFSC 0C.3 |
0021: GOTO 035 |
0022: MOVF 22,W |
0023: MOVWF 04 |
0024: MOVF 23,W |
0025: MOVWF 77 |
0026: MOVF 24,W |
0027: MOVWF 78 |
0028: MOVF 25,W |
0029: MOVWF 79 |
002A: MOVF 26,W |
002B: MOVWF 7A |
002C: MOVF 27,W |
002D: MOVWF 7B |
002E: MOVF 28,W |
002F: MOVWF 0A |
0030: SWAPF 21,W |
0031: MOVWF 03 |
0032: SWAPF 7F,F |
0033: SWAPF 7F,W |
0034: RETFIE |
0035: BCF 0A.3 |
0036: GOTO 043 |
.................... #include ".\menic.h" |
.................... #include <16F88.h> |
.................... //////// Standard Header file for the PIC16F88 device //////////////// |
.................... #device PIC16F88 |
.................... #list |
.................... |
.................... |
.................... #device adc=8 |
.................... #fuses NOWDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, NOWRT, DEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
.................... #use delay(clock=4000000) |
* |
0048: MOVLW 2D |
0049: MOVWF 04 |
004A: MOVF 00,W |
004B: BTFSC 03.2 |
004C: GOTO 05C |
004D: MOVLW 01 |
004E: MOVWF 78 |
004F: CLRF 77 |
0050: DECFSZ 77,F |
0051: GOTO 050 |
0052: DECFSZ 78,F |
0053: GOTO 04F |
0054: MOVLW 4A |
0055: MOVWF 77 |
0056: DECFSZ 77,F |
0057: GOTO 056 |
0058: NOP |
0059: NOP |
005A: DECFSZ 00,F |
005B: GOTO 04D |
005C: RETLW 00 |
.................... |
.................... |
.................... |
.................... #define RAZENI 60 // Po kolika ms se bude menit rychlost pro rozjizdeni |
.................... #define REFNOM 107 // Hodnota odpovidajici 1,2V pri nominalnim zatizeni |
.................... #define REFSTART 80 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
.................... |
.................... #define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
.................... #define LED PIN_A7 // LED |
.................... #define MENIC PIN_B3 // Spinani tranzistoru menice |
.................... #define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
.................... #define MOTOR PIN_B2 // Spinani tranzistoru motoru |
.................... |
.................... #byte SSPBUF = 0x13 // Registry jednotky SSP |
.................... #byte SSPCON1 = 0x14 |
.................... #byte SSPSTAT = 0x94 |
.................... |
.................... // Vzorky pro generovani PWM pomoci SSP |
.................... unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
.................... unsigned int8 MotorPattern; |
.................... |
.................... #INT_SSP |
.................... void IntSSP() |
.................... { |
.................... SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
* |
0043: MOVF 29,W |
0044: MOVWF 13 |
.................... } |
.................... |
0045: BCF 0C.3 |
0046: BCF 0A.3 |
0047: GOTO 022 |
.................... void pip() // pipnuti a bliknuti |
.................... { |
.................... int1 beep; |
.................... int i; |
.................... |
.................... for(i=0; i<250; i++) |
* |
006A: CLRF 2D |
006B: MOVF 2D,W |
006C: SUBLW F9 |
006D: BTFSS 03.0 |
006E: GOTO 087 |
.................... { |
.................... output_bit(PIEZO, beep); |
006F: BTFSC 2C.0 |
0070: GOTO 073 |
0071: BCF 05.6 |
0072: GOTO 074 |
0073: BSF 05.6 |
0074: BSF 03.5 |
0075: BCF 05.6 |
.................... beep=~beep; |
0076: MOVLW 01 |
0077: BCF 03.5 |
0078: XORWF 2C,F |
.................... output_bit(LED, beep); |
0079: BTFSC 2C.0 |
007A: GOTO 07D |
007B: BCF 05.7 |
007C: GOTO 07E |
007D: BSF 05.7 |
007E: BSF 03.5 |
007F: BCF 05.7 |
.................... delay_us(100); |
0080: MOVLW 21 |
0081: MOVWF 77 |
0082: DECFSZ 77,F |
0083: GOTO 082 |
.................... }; |
0084: BCF 03.5 |
0085: INCF 2D,F |
0086: GOTO 06B |
.................... output_high(PIEZO); |
0087: BSF 03.5 |
0088: BCF 05.6 |
0089: BCF 03.5 |
008A: BSF 05.6 |
.................... output_high(LED); |
008B: BSF 03.5 |
008C: BCF 05.7 |
008D: BCF 03.5 |
008E: BSF 05.7 |
.................... } |
008F: RETLW 00 |
.................... |
.................... void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
.................... { |
.................... output_bit(PIEZO,~input(PIEZO)); |
* |
005D: BSF 03.5 |
005E: BSF 05.6 |
005F: BCF 03.5 |
0060: BTFSS 05.6 |
0061: GOTO 064 |
0062: BCF 05.6 |
0063: GOTO 065 |
0064: BSF 05.6 |
0065: BSF 03.5 |
0066: BCF 05.6 |
.................... } |
0067: BCF 03.5 |
0068: BCF 0A.3 |
0069: GOTO 106 (RETURN) |
.................... |
.................... void main() |
.................... { |
* |
0090: CLRF 04 |
0091: MOVLW 1F |
0092: ANDWF 03,F |
0093: BSF 03.5 |
0094: BCF 1F.4 |
0095: BCF 1F.5 |
0096: MOVF 1B,W |
0097: ANDLW 80 |
0098: MOVWF 1B |
0099: MOVLW 07 |
009A: MOVWF 1C |
009B: MOVF 1C,W |
009C: BCF 03.5 |
009D: BCF 0D.6 |
009E: MOVLW 60 |
009F: BSF 03.5 |
00A0: MOVWF 0F |
.................... int8 n; |
.................... int8 perioda; |
.................... |
.................... setup_adc_ports(ADC_CLOCK_INTERNAL|sAN4|VSS_VDD); |
00A1: BCF 1F.4 |
00A2: BCF 1F.5 |
00A3: MOVF 1B,W |
00A4: ANDLW 80 |
00A5: IORLW D0 |
00A6: MOVWF 1B |
.................... setup_adc(ADC_CLOCK_INTERNAL); |
00A7: BCF 1F.6 |
00A8: BCF 03.5 |
00A9: BSF 1F.6 |
00AA: BSF 1F.7 |
00AB: BSF 03.5 |
00AC: BCF 1F.7 |
00AD: BCF 03.5 |
00AE: BSF 1F.0 |
.................... setup_spi(FALSE); |
00AF: BCF 14.5 |
00B0: BSF 03.5 |
00B1: BCF 06.2 |
00B2: BSF 06.1 |
00B3: BCF 06.4 |
00B4: MOVLW 00 |
00B5: BCF 03.5 |
00B6: MOVWF 14 |
00B7: BSF 03.5 |
00B8: MOVWF 14 |
.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); |
00B9: MOVF 01,W |
00BA: ANDLW C0 |
00BB: IORLW 07 |
00BC: MOVWF 01 |
.................... setup_timer_1(T1_DISABLED); |
00BD: BCF 03.5 |
00BE: CLRF 10 |
.................... setup_comparator(NC_NC_NC_NC); |
00BF: MOVLW 07 |
00C0: BSF 03.5 |
00C1: MOVWF 1C |
00C2: MOVF 05,W |
00C3: MOVLW 03 |
00C4: MOVWF 77 |
00C5: DECFSZ 77,F |
00C6: GOTO 0C5 |
00C7: MOVF 1C,W |
00C8: BCF 03.5 |
00C9: BCF 0D.6 |
.................... setup_vref(FALSE); |
00CA: BSF 03.5 |
00CB: CLRF 1D |
.................... |
.................... output_low(MENIC); // Vsechno zastav |
00CC: BCF 06.3 |
00CD: BCF 03.5 |
00CE: BCF 06.3 |
.................... output_low(MOTOR); |
00CF: BSF 03.5 |
00D0: BCF 06.2 |
00D1: BCF 03.5 |
00D2: BCF 06.2 |
.................... output_low(REFPWR); |
00D3: BSF 03.5 |
00D4: BCF 06.1 |
00D5: BCF 03.5 |
00D6: BCF 06.1 |
.................... output_high(LED); |
00D7: BSF 03.5 |
00D8: BCF 05.7 |
00D9: BCF 03.5 |
00DA: BSF 05.7 |
.................... output_high(PIEZO); |
00DB: BSF 03.5 |
00DC: BCF 05.6 |
00DD: BCF 03.5 |
00DE: BSF 05.6 |
.................... |
.................... set_adc_channel(4); // Vyber AD kanal pro pomerne mereni napeti |
00DF: MOVLW 20 |
00E0: MOVWF 78 |
00E1: MOVF 1F,W |
00E2: ANDLW C7 |
00E3: IORWF 78,W |
00E4: MOVWF 1F |
.................... set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
00E5: CLRF 15 |
.................... setup_ccp1(CCP_PWM); // PWM pro zatizeni clanku v seru |
00E6: BSF 03.5 |
00E7: BCF 06.3 |
00E8: BCF 03.5 |
00E9: BCF 06.3 |
00EA: MOVLW 0C |
00EB: MOVWF 17 |
.................... setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
00EC: MOVLW 00 |
00ED: MOVWF 78 |
00EE: IORLW 04 |
00EF: MOVWF 12 |
00F0: MOVLW 64 |
00F1: BSF 03.5 |
00F2: MOVWF 12 |
.................... |
.................... setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
00F3: MOVLW 62 |
00F4: MOVWF 0F |
.................... |
.................... |
.................... // jsme v depu? |
.................... set_pwm1_duty(2); // PWM pro zatizeni clanku pri malem osvetleni |
00F5: MOVLW 02 |
00F6: BCF 03.5 |
00F7: MOVWF 15 |
.................... n=0; |
00F8: CLRF 2A |
.................... do |
.................... { |
.................... output_low(REFPWR); |
00F9: BSF 03.5 |
00FA: BCF 06.1 |
00FB: BCF 03.5 |
00FC: BCF 06.1 |
.................... delay_ms(100); |
00FD: MOVLW 64 |
00FE: MOVWF 2D |
00FF: CALL 048 |
.................... if (4==n++) {cvak(); n=0;}; |
0100: MOVF 2A,W |
0101: INCF 2A,F |
0102: SUBLW 04 |
0103: BTFSS 03.2 |
0104: GOTO 107 |
0105: GOTO 05D |
0106: CLRF 2A |
.................... output_high(REFPWR); // zapni napajeni napetove reference |
0107: BSF 03.5 |
0108: BCF 06.1 |
0109: BCF 03.5 |
010A: BSF 06.1 |
.................... delay_ms(1); |
010B: MOVLW 01 |
010C: MOVWF 2D |
010D: CALL 048 |
.................... } while (read_adc()>REFSTART); // Odkryl starter clanky? |
010E: BSF 1F.2 |
010F: BTFSC 1F.2 |
0110: GOTO 10F |
0111: MOVF 1E,W |
0112: SUBLW 50 |
0113: BTFSS 03.0 |
0114: GOTO 0F9 |
.................... output_low(REFPWR); |
0115: BSF 03.5 |
0116: BCF 06.1 |
0117: BCF 03.5 |
0118: BCF 06.1 |
.................... |
.................... pip(); // potvrzeni odstartovani |
0119: CALL 06A |
.................... |
.................... // regulace |
.................... perioda=100; // nastav optimalni periodu pri jedne 500W zarovce |
011A: MOVLW 64 |
011B: MOVWF 2B |
.................... for(n=0;n<=7;n++) |
011C: CLRF 2A |
011D: MOVF 2A,W |
011E: SUBLW 07 |
011F: BTFSS 03.0 |
0120: GOTO 143 |
.................... { |
.................... set_pwm1_duty(0); |
0121: CLRF 15 |
.................... setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
0122: MOVLW 00 |
0123: MOVWF 78 |
0124: IORLW 04 |
0125: MOVWF 12 |
0126: MOVF 2B,W |
0127: BSF 03.5 |
0128: MOVWF 12 |
.................... set_pwm1_duty(19); // delka sepnuti |
0129: MOVLW 13 |
012A: BCF 03.5 |
012B: MOVWF 15 |
.................... delay_ms(100); |
012C: MOVLW 64 |
012D: MOVWF 2D |
012E: CALL 048 |
.................... output_high(REFPWR); // zapni napajeni napetove reference |
012F: BSF 03.5 |
0130: BCF 06.1 |
0131: BCF 03.5 |
0132: BSF 06.1 |
.................... delay_ms(1); |
0133: MOVLW 01 |
0134: MOVWF 2D |
0135: CALL 048 |
.................... if (read_adc()<REFNOM) perioda--; // zvyseni zatizeni menice |
0136: BSF 1F.2 |
0137: BTFSC 1F.2 |
0138: GOTO 137 |
0139: MOVF 1E,W |
013A: SUBLW 6A |
013B: BTFSC 03.0 |
013C: DECF 2B,F |
.................... output_low(REFPWR); // konec mereni, odpoj napajeni reference |
013D: BSF 03.5 |
013E: BCF 06.1 |
013F: BCF 03.5 |
0140: BCF 06.1 |
.................... }; |
0141: INCF 2A,F |
0142: GOTO 11D |
.................... |
.................... // nabíjíme |
.................... delay_ms(14000); |
0143: MOVLW 38 |
0144: MOVWF 2C |
0145: MOVLW FA |
0146: MOVWF 2D |
0147: CALL 048 |
0148: DECFSZ 2C,F |
0149: GOTO 145 |
.................... |
.................... // rozjezd |
.................... SSPSTAT = 0; |
014A: BSF 03.5 |
014B: CLRF 14 |
.................... SSPCON1 = 0x22; // SPI OSC/64 |
014C: MOVLW 22 |
014D: BCF 03.5 |
014E: MOVWF 14 |
.................... MotorPattern=0x02; // prvni data pro vyslani |
014F: MOVLW 02 |
0150: MOVWF 29 |
.................... SSPBUF=MotorPattern; // data pro vyslani |
0151: MOVF 29,W |
0152: MOVWF 13 |
.................... enable_interrupts(global); |
0153: MOVLW C0 |
0154: IORWF 0B,F |
.................... enable_interrupts(INT_SSP); // az budou vyslana, prijde interrupt od SSP |
0155: BSF 03.5 |
0156: BSF 0C.3 |
.................... |
.................... for(n=0; n<=7; n++) // razeni osmi rychlostnich stupnu |
0157: BCF 03.5 |
0158: CLRF 2A |
0159: MOVF 2A,W |
015A: SUBLW 07 |
015B: BTFSS 03.0 |
015C: GOTO 166 |
.................... { |
.................... MotorPattern=Pattern[n]; |
015D: MOVF 2A,W |
015E: CALL 037 |
015F: MOVWF 78 |
0160: MOVWF 29 |
.................... delay_ms(RAZENI); // Pockej na dalsi razeni |
0161: MOVLW 3C |
0162: MOVWF 2D |
0163: CALL 048 |
.................... }; |
0164: INCF 2A,F |
0165: GOTO 159 |
.................... SSPSTAT = 0; |
0166: BSF 03.5 |
0167: CLRF 14 |
.................... SSPCON1 = 0; // SPI stop |
0168: BCF 03.5 |
0169: CLRF 14 |
.................... disable_interrupts(INT_SSP); // zastav preruseni od SSP |
016A: BSF 03.5 |
016B: BCF 0C.3 |
.................... |
.................... // jedem co to da |
.................... output_high(MOTOR); |
016C: BCF 06.2 |
016D: BCF 03.5 |
016E: BSF 06.2 |
.................... delay_ms(1000); |
016F: MOVLW 04 |
0170: MOVWF 2C |
0171: MOVLW FA |
0172: MOVWF 2D |
0173: CALL 048 |
0174: DECFSZ 2C,F |
0175: GOTO 171 |
.................... output_low(MOTOR); |
0176: BSF 03.5 |
0177: BCF 06.2 |
0178: BCF 03.5 |
0179: BCF 06.2 |
.................... set_pwm1_duty(0); // zastav menic |
017A: CLRF 15 |
.................... |
.................... // vybiti kondenzatoru pro ucely mereni |
.................... pip(); |
017B: CALL 06A |
.................... delay_ms(2000); |
017C: MOVLW 08 |
017D: MOVWF 2C |
017E: MOVLW FA |
017F: MOVWF 2D |
0180: CALL 048 |
0181: DECFSZ 2C,F |
0182: GOTO 17E |
.................... pip(); |
0183: CALL 06A |
.................... output_high(MOTOR); |
0184: BSF 03.5 |
0185: BCF 06.2 |
0186: BCF 03.5 |
0187: BSF 06.2 |
.................... |
.................... while(true) |
.................... { |
.................... output_high(LED); |
0188: BSF 03.5 |
0189: BCF 05.7 |
018A: BCF 03.5 |
018B: BSF 05.7 |
.................... output_low(PIEZO); |
018C: BSF 03.5 |
018D: BCF 05.6 |
018E: BCF 03.5 |
018F: BCF 05.6 |
.................... delay_ms(300); |
0190: MOVLW 02 |
0191: MOVWF 2C |
0192: MOVLW 96 |
0193: MOVWF 2D |
0194: CALL 048 |
0195: DECFSZ 2C,F |
0196: GOTO 192 |
.................... output_low(LED); |
0197: BSF 03.5 |
0198: BCF 05.7 |
0199: BCF 03.5 |
019A: BCF 05.7 |
.................... output_high(PIEZO); |
019B: BSF 03.5 |
019C: BCF 05.6 |
019D: BCF 03.5 |
019E: BSF 05.6 |
.................... delay_ms(300); |
019F: MOVLW 02 |
01A0: MOVWF 2C |
01A1: MOVLW 96 |
01A2: MOVWF 2D |
01A3: CALL 048 |
01A4: DECFSZ 2C,F |
01A5: GOTO 1A1 |
.................... } |
01A6: GOTO 188 |
.................... // priprava na dalsi jizdu |
.................... delay_ms(5000); |
01A7: MOVLW 14 |
01A8: MOVWF 2C |
01A9: MOVLW FA |
01AA: MOVWF 2D |
01AB: CALL 048 |
01AC: DECFSZ 2C,F |
01AD: GOTO 1A9 |
.................... reset_cpu(); |
01AE: CLRF 0A |
01AF: GOTO 000 |
.................... } |
.................... |
01B0: SLEEP |
Configuration Fuses: |
Word 1: 2738 NOWDT NOPUT MCLR NOBROWNOUT NOLVP NOCPD NOWRT DEBUG CCPB3 NOPROTECT INTRC_IO |
Word 2: 3FFC NOFCMEN NOIESO |
/roboti/solarni/2005/jump/menic.PJT |
---|
0,0 → 1,53 |
[PROJECT] |
Target=menic.HEX |
Development_Mode= |
Processor=0x688F |
ToolSuite=CCS |
[Directories] |
Include=C:\Program Files\PICC\devices\ |
Library= |
LinkerScript= |
[Target Data] |
FileList=menic.c; |
BuildTool=C-COMPILER |
OptionString=+FM |
AdditionalOptionString= |
BuildRequired=1 |
[menic.c] |
Type=4 |
Path= |
FileList= |
BuildTool= |
OptionString= |
AdditionalOptionString= |
[mru-list] |
1=menic.c |
[Windows] |
0=0000 menic.c 0 0 796 451 3 0 |
[Opened Files] |
1=D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.c |
2=C:\Program Files\PICC\devices\16F88.h |
3= |
4=C:\PIC\jump\menic.lst |
5= |
[debugperif] |
selected=Analog/Digital Conv |
[debugram] |
autoread=1 |
[debugeedata] |
autoread=1 |
[debugbreak] |
count=0 |
[pcwdebug] |
watchcol0=75 |
[debugwatch] |
count=0 |
[debugexpr] |
expr= |
sideeffects=0 |
/roboti/solarni/2005/jump/menic.SYM |
---|
0,0 → 1,59 |
013 SSPBUF |
014 SSPCON1 |
015-016 CCP_1 |
015 CCP_1_LOW |
016 CCP_1_HIGH |
020 @INTERRUPT_AREA |
021 @INTERRUPT_AREA |
022 @INTERRUPT_AREA |
023 @INTERRUPT_AREA |
024 @INTERRUPT_AREA |
025 @INTERRUPT_AREA |
026 @INTERRUPT_AREA |
027 @INTERRUPT_AREA |
028 @INTERRUPT_AREA |
029 MotorPattern |
02A main.n |
02B main.perioda |
02C.0 pip.beep |
02C main.@SCRATCH |
02D @delay_ms1.P1 |
02D pip.i |
077 @SCRATCH |
078 @SCRATCH |
078 _RETURN_ |
079 @SCRATCH |
07A @SCRATCH |
07B @SCRATCH |
094 SSPSTAT |
09C.6 C1OUT |
09C.7 C2OUT |
0048 @delay_ms1 |
0037 @const30 |
0043 IntSSP |
006A pip |
005D cvak |
0090 main |
0090 @cinit |
Project Files: |
D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.c |
D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.h |
C:\Program Files\PICC\devices\16F88.h |
Compiler Settings: |
Processor: PIC16F88 |
Pointer Size: 8 |
ADC Range: 0-255 |
Opt Level: 9 |
Short,Int,Long: 1,8,16 |
Output Files: |
Errors: D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.err |
INHX8: D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.HEX |
Symbols: D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.SYM |
List: D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.LST |
Debug/COFF: D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.cof |
Call Tree: D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.tre |
Statistics: D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.sta |
/roboti/solarni/2005/jump/menic.c |
---|
0,0 → 1,148 |
#include ".\menic.h" |
#define RAZENI 60 // Po kolika ms se bude menit rychlost pro rozjizdeni |
#define REFNOM 107 // Hodnota odpovidajici 1,2V pri nominalnim zatizeni |
#define REFSTART 80 // Hodnota odpovidajici 1,2V pri nezatizenych clancich |
#define PIEZO PIN_A6 // Jeden pol piezo reproduktoru |
#define LED PIN_A7 // LED |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#byte SSPBUF = 0x13 // Registry jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void pip() // pipnuti a bliknuti |
{ |
int1 beep; |
int i; |
for(i=0; i<250; i++) |
{ |
output_bit(PIEZO, beep); |
beep=~beep; |
output_bit(LED, beep); |
delay_us(100); |
}; |
output_high(PIEZO); |
output_high(LED); |
} |
void cvak() // pouze cvaknuti piezoelementem bez bliknuti |
{ |
output_bit(PIEZO,~input(PIEZO)); |
} |
void main() |
{ |
int8 n; |
int8 perioda; |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); |
setup_timer_1(T1_DISABLED); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
output_high(LED); |
output_high(PIEZO); |
set_adc_channel(4); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); // PWM pro zatizeni clanku v seru |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(2); // PWM pro zatizeni clanku pri malem osvetleni |
n=0; |
do |
{ |
output_low(REFPWR); |
delay_ms(100); |
if (4==n++) {cvak(); n=0;}; |
output_high(REFPWR); // zapni napajeni napetove reference |
delay_ms(1); |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); |
pip(); // potvrzeni odstartovani |
// regulace |
perioda=100; // nastav optimalni periodu pri jedne 500W zarovce |
for(n=0;n<=7;n++) |
{ |
set_pwm1_duty(0); |
setup_timer_2(T2_DIV_BY_1,perioda,1); // perioda |
set_pwm1_duty(19); // delka sepnuti |
delay_ms(100); |
output_high(REFPWR); // zapni napajeni napetove reference |
delay_ms(1); |
if (read_adc()<REFNOM) perioda--; // zvyseni zatizeni menice |
output_low(REFPWR); // konec mereni, odpoj napajeni reference |
}; |
// nabíjíme |
delay_ms(14000); |
// rozjezd |
SSPSTAT = 0; |
SSPCON1 = 0x22; // SPI OSC/64 |
MotorPattern=0x02; // prvni data pro vyslani |
SSPBUF=MotorPattern; // data pro vyslani |
enable_interrupts(global); |
enable_interrupts(INT_SSP); // az budou vyslana, prijde interrupt od SSP |
for(n=0; n<=7; n++) // razeni osmi rychlostnich stupnu |
{ |
MotorPattern=Pattern[n]; |
delay_ms(RAZENI); // Pockej na dalsi razeni |
}; |
SSPSTAT = 0; |
SSPCON1 = 0; // SPI stop |
disable_interrupts(INT_SSP); // zastav preruseni od SSP |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1000); |
output_low(MOTOR); |
set_pwm1_duty(0); // zastav menic |
// vybiti kondenzatoru pro ucely mereni |
pip(); |
delay_ms(2000); |
pip(); |
output_high(MOTOR); |
while(true) |
{ |
output_high(LED); |
output_low(PIEZO); |
delay_ms(300); |
output_low(LED); |
output_high(PIEZO); |
delay_ms(300); |
} |
// priprava na dalsi jizdu |
delay_ms(5000); |
reset_cpu(); |
} |
/roboti/solarni/2005/jump/menic.cof |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/jump/menic.err |
---|
0,0 → 1,0 |
No Errors |
/roboti/solarni/2005/jump/menic.h |
---|
0,0 → 1,6 |
#include <16F88.h> |
#device adc=8 |
#fuses NOWDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, NOWRT, DEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
#use delay(clock=4000000) |
/roboti/solarni/2005/jump/menic.sta |
---|
0,0 → 1,34 |
ROM used: 433 (11%) |
433 (11%) including unused fragments |
1 Average locations per line |
5 Average locations per statement |
RAM used: 18 (10%) at main() level |
19 (11%) worst case |
Lines Stmts % Files |
----- ----- --- ----- |
149 89 100 D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.c |
7 0 0 D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jump\menic.h |
275 0 0 C:\Program Files\PICC\devices\16F88.h |
----- ----- |
862 178 Total |
Page ROM % RAM Functions: |
---- --- --- --- ---------- |
0 21 5 1 @delay_ms1 |
0 12 3 0 @const30 |
0 5 1 0 IntSSP |
0 38 9 2 pip |
0 13 3 0 cvak |
0 289 67 3 main |
Segment Used Free |
--------- ---- ---- |
00000-00003 4 0 |
00004-00036 51 0 |
00037-007FF 378 1615 |
00800-00FFF 0 2048 |
/roboti/solarni/2005/jump/menic.tre |
---|
0,0 → 1,20 |
ÀÄmenic |
ÃÄmain 0/289 Ram=3 |
³ ÃÄ??0?? |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄcvak 0/13 Ram=0 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄpip 0/38 Ram=2 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄ@const30 0/12 Ram=0 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄpip 0/38 Ram=2 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄpip 0/38 Ram=2 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÃÄ@delay_ms1 0/21 Ram=1 |
³ ÀÄ@delay_ms1 0/21 Ram=1 |
ÀÄIntSSP 0/5 Ram=0 |
/roboti/solarni/2005/jump/miho/A.BAT |
---|
0,0 → 1,4 |
call picpgr stop |
call picpgr erase pic16f88 |
call picpgr program DART.hex hex pic16f88 |
call picpgr run |
/roboti/solarni/2005/jump/miho/DART.BAK |
---|
0,0 → 1,426 |
// DART01A verze programu 1.00 |
// (c)miho 2005 |
#include "DART.h" |
#define BEEP0 PIN_A6 // pipak, prvni vystup |
#define BEEP1 PIN_A7 // pipak, druhy vystup |
#define PWM PIN_B3 // PWM vystup pro menic |
#define REFPOWER PIN_B1 // napajeni zdroje Vref |
#define MOTOR PIN_B2 // zapinani motoru |
#define SW0 PIN_B7 // konfiguracni prepinac 0 |
#define SW1 PIN_B6 // konfiguracni prepinac 1 |
void InitRS232() |
// Inicializace HW RS232 |
{ |
SPBRG=xclock/9600/16-1; // ryclost 9600Bd |
RCSTA=0b10000000; // enable USART |
TXSTA=0b00100100; // BRGH=1, TX enable |
} |
void Putc(char c) |
// Posilani znaku pres HW RS232 |
{ |
while(TRMT==0); // cekej na prazdny TX buffer |
TXREG=c; // predej data |
} |
// Globalni promenna pro data posilana na SSP |
// Nastavuje se funkci MotorPatternSet() |
// Vyuziva se v prerusovaci rutine IntSSP() |
unsigned int8 MotorPattern; // aktualni data pro SSP jednotku |
void MotorPatternSet(unsigned int Gear) |
// Na zaklade rychlosti nastavi MotorPattern pro SSP |
// Rychlost 0 znamena stop, rychlost 8 je maximum |
{ |
// Tabulka rychlost -> pattern pro SSP |
unsigned int8 const ExpTab[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
// Vyber patternu |
if (Gear==0) // stav 0 znamena stop |
{ |
output_low(MOTOR); // klidovy stav |
SSPSTAT = 0; |
SSPCON1 = 0; // SPI stop |
disable_interrupts(INT_SSP); // neni preruseni od SSP |
} |
else // rizeny vykon |
{ |
if (Gear>7) // stav 8 a vice znamena plny vykon |
{ |
Gear=8; // plny plyn |
} |
MotorPattern=ExpTab[--Gear]; // prevod z hodnoty plynu na data pro SSP |
output_low(MOTOR); // klidovy stav |
SSPSTAT = 0; |
SSPCON1 = 0x22; // SPI OSC/64 |
SSPBUF=MotorPattern; // prvni data pro vyslani |
enable_interrupts(INT_SSP); // az budou vyslana prijde interrupt od SSP |
} |
} |
// Obsluha preruseni od SSP jednotky, posila data z promenne MotorRun do SSP. |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znova hdnota PWM patternu na SSP |
} |
void MotorSet(unsigned int Gear) |
// Nastavi vykon motoru dle hodnoty Gear a zahaji posilani PWM dat pres SSP pod prerusenim |
// od SSP jednotky |
// 0 stop |
// 1-7 pocet 1/8 vykonu |
// >7 plny vykon |
{ |
// Nastav PWM pattern |
MotorPatternSet(Gear); // nastav PWM pattern pro SSP |
// Povol preruseni |
enable_interrupts(GLOBAL); // povol preruseni |
} |
void InitT0() |
// Inicializace casovace T0 (cca 1000x za sekundu) |
{ |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); // T0 z internich hodin 1/4 |
enable_interrupts(INT_RTCC); // generuj preruseni od T0 |
enable_interrupts(GLOBAL); // povol preruseni |
} |
// Globalni promenna pro mereni casu |
// Nastavuje se procedurou TimeSet() |
// Testuje se funkci TimeIf() |
// Modifikuje se pri preruseni od casovace IntTo() |
unsigned int16 TimeTime; |
void TimerSet(unsigned int16 Time) |
// Nastavi casovac na zadany pocet ms |
// Test uplynuti casu se dela pomoci TimerIf() |
{ |
// Nastav hodnotu |
disable_interrupts(INT_RTCC); // nesmi prijit preruseni |
TimeTime=Time; // pri nastavovani hodnoty |
enable_interrupts(INT_RTCC); // promenne (o delce vice nez 8 bitu) |
} |
int1 TimerIf() |
// Vraci TRUE pokud casovac jiz dobehl |
{ |
int1 Flag; // pomocna promenna |
// Otestuj casovac |
disable_interrupts(INT_RTCC); // nesmi prijit preruseni |
Flag=(TimeTime==0); // behem testu promenne |
enable_interrupts(INT_RTCC); // ted uz muze |
// Navratova hodnota |
return Flag; // TRUE znamena dobehl casovac |
} |
// Globalni promenne pro akceleraci |
// Nastavuje se metodou MotorStart() |
// Pouziva se v obsluze preruseni IntT0() |
unsigned int8 MotorTime; // aktualni casovac pro rozjezd |
unsigned int8 MotorDelay; // spozdeni mezi razenim |
unsigned int8 MotorGear; // rychlostni stupen |
void MotorStart(unsigned int8 Delay) |
// Provede rizeny rozjezd motoru |
{ |
disable_interrupts(INT_RTCC); |
MotorGear=1; |
MotorDelay=Delay; |
MotorTime=MotorDelay; |
enable_interrupts(INT_RTCC); |
MotorPatternSet(1); |
} |
#INT_TIMER0 |
void IntT0() |
// Preruseni od casovace cca 1000x za sekundu |
{ |
// Odpocitavani casovace |
if (TimeTime) TimeTime--; |
// Obsluha akcelerace |
if (MotorTime) MotorTime--; // dekrementuj casovac rozjezdu |
if ((MotorGear>0) && (MotorGear<8) && (!MotorTime)) // dalsi rychlostni stupen |
{ |
MotorTime=MotorDelay; // znovu nastav casovac |
MotorGear++; // dalsi rychlost |
MotorPatternSet(MotorGear); // nastav rychlost |
} |
} |
// Cteni dat z AD prevodniku, zadava se cislo kanalu |
int8 ReadAD(int8 Ch) |
{ |
// Pokud merim Vref zapnu si jeho napajeni |
if (Ch==4) output_high(REFPOWER); |
// Inicializace a cislo kanalu |
ADCON1=0x30; // Vref+-, bez deleni hodin, Left Justify |
ADCON0=0x41+(Ch<<3); // on, Tosc/8, cislo kanalu |
// Mereni |
delay_us(50); // doba na prepnuti kanalu |
ADCON0 |= 4; // start prevodu |
delay_us(50); // doba na prevod |
// Vypnu napajeni Vref (vzdycky) |
output_low(REFPOWER); |
// Navrat hodnoty |
return ADRESH; |
} |
void main() |
{ |
unsigned int8 Debug; |
unsigned int8 i; |
// Hodiny |
OSCCON = 0x62; // 4 MHz interni RC oscilator |
// Digitalni vystupy |
output_low(PWM); // PWM vystup |
output_low(MOTOR); // Proud do motoru |
output_low(REFPOWER); // Napajeni Vref |
port_b_pullups(TRUE); // Zbyvajici vyvody portu B |
// Watch Dog |
PSA=0; // preddelic prirazen casovaci |
WDTCON=0x0E; // Watch Dog cca 130ms |
/* |
// Analogove vstupy |
ANSEL = 0x1F; // AN0 az AN4 |
// nastaveni RS232 |
InitRS232(); // inicializace HW RS232 (nutno pockat cca 10ms) |
// Pipnuti (a cekani) |
for (i=1;i<30;i++) // pocet 1/2 period |
{ |
int1 beep; // stavova promenna pro pipak |
output_bit(BEEP0,beep); |
beep=~beep; |
output_bit(BEEP1,beep); |
delay_us(1000); |
} |
// Rozhodnuti o rezimu cinnosti |
Debug=0; |
if (~input(SW0)) Debug|=1; // precti bit 0 |
if (~input(SW1)) Debug|=2; // precti bit 1 |
output_low(SW0); // nastav L aby se snizila spotreba |
output_low(SW1); // na obou vstupech |
// Zobrazeni rezimu |
printf(Putc,"\fMode:%d",Debug); |
*/ |
// Inicializace PWM |
PR2 = 0x1F; // perioda PWM casovace |
T2CON = 0x04; // povoleni casovace T2 bez preddelicu a postdelicu |
CCP1CON = 0x0C; // PWM mode, lsb bity nulove |
CCPR1L = 0; // na zacatku nulova data |
output_low(PWM); // PWM vystup |
//!!!KAKL |
CCPR1L = 20; // pouziti vystupu |
disable_interrupts(GLOBAL); |
while(true); |
// Inicializace casovace |
InitT0(); // nastav casovac na cca 1ms |
//!!!KAKL |
Debug=3; |
// Test menice PWM a rozjezdoveho PWM |
if (Debug==1) |
{ |
unsigned int8 Data1; // poteniometr P1 = PWM |
unsigned int8 Data2; // poteniometr P2 = Rozjezd |
while (1) |
{ |
// watch dog |
restart_wdt(); |
// mereni vstupu |
Data1=ReadAD(0); // nacti parametr pro PWM |
Data1>>=2; // redukuj rozsah na 0 az 63 |
Data2=ReadAD(1); // nacti parametr pro rozjezd |
Data2>>=4; // redukuj rozsah na 0 az 15 |
// zobrazeni |
printf(Putc,"\nPWM:%03u RUN:%03u",Data1,Data2); |
delay_ms(20); |
// nastaveni parametru PWM |
CCPR1L = Data1; |
// nastaveni parametru RUN |
MotorSet(Data2); |
} |
} |
// Testovani rozjezdu |
// Zadava se cas mezi stupni razeni pro rozjezd v ms |
if (Debug==2) |
{ |
int8 Data; |
int8 Start; |
Start=0; // uvodni stav |
while(1) |
{ |
// Nacti a zobraz parametr |
Data=ReadAD(1); // potenciometr P2 = rozjezd |
printf(Putc,"\nRUN: %3ums ",Data); // zobraz |
delay_ms(10); // prodleva pro terminal |
// Uvodni pauza |
if (Start==0) // spousti se 1x na zacatku |
{ |
Start++; // dalsi stav je cekani |
TimerSet(2000); // na dokonceni uvodni prodlevy |
} |
// Rozjezd |
if ((Start==1) && TimerIf()) |
{ |
Start++; |
printf(Putc,"R"); |
MotorStart(Data); // rozjezd s nastavenim prodlevy |
TimerSet(2000); // nastav celkovy cas jizdy |
} |
// Zastaveni |
if ((Start==2) && TimerIf()) |
{ |
Start++; |
printf(Putc,"S"); |
MotorSet(0); // pokud dobehl casovac zastav motor |
} |
// watch dog |
restart_wdt(); |
} |
} |
// Test nabijeciho algoritmu |
if (Debug==3) |
{ |
unsigned int8 PwmOut; // akcni hodnota pro PWM |
unsigned int8 Req; // pozadovana hodnota z P1 |
unsigned int8 Vref; // merena hodnota vref |
// Inicializace stavove promenne |
PwmOut=0; |
// Hlavni smycka |
while (1) |
{ |
// watch dog |
restart_wdt(); |
// pozadovana hodnota (potenciometr P1) |
Req=ReadAD(0); |
Req=50+(ReadAD(0)>>1); // 50 az 177 |
// napeti na napajeni (vref) |
Vref=ReadAD(4); |
// ricici algoritmus |
if ((Vref<Req) &&(PwmOut<30)) PwmOut++; |
if ((Vref>=Req)&&(PwmOut> 0)) PwmOut--; |
Vref+=10; |
if ((Vref<(Req))&&(PwmOut<30)) PwmOut++; // urychleni nabehu |
// nastaveni parametru PWM |
if (PwmOut>24) PwmOut=24; // saturace |
//!!!KAKL |
PwmOut=20; |
CCPR1L = PwmOut; // pouziti vystupu |
disable_interrupts(GLOBAL); |
while(true); |
// zobrazeni |
printf(Putc,"\nALG:%03u %03u %03u",Req,Vref,PwmOut); |
delay_ms(10); |
} |
} |
// Standardni beh |
if (Debug==0) |
{ |
unsigned int8 PwmOut; // akcni hodnota pro PWM |
unsigned int8 Req; // pozadovana hodnota z P1 |
unsigned int8 Vref; // merena hodnota vref |
int1 Run; |
// Inicializace stavove promenne |
PwmOut=0; |
TimerSet(14000); // casovani startu |
Run=1; |
// Hlavni smycka |
while (1) |
{ |
// watch dog |
restart_wdt(); |
// pozadovana hodnota (potenciometr P1) |
Req=ReadAD(0); |
Req=50+(ReadAD(0)>>1); // 50 az 177 |
// napeti na napajeni (vref) |
Vref=ReadAD(4); |
// ricici algoritmus |
if ((Vref<Req) &&(PwmOut<30)) PwmOut++; |
if ((Vref>=Req)&&(PwmOut> 0)) PwmOut--; |
Vref+=10; |
if ((Vref<(Req))&&(PwmOut<30)) PwmOut++; // urychleni nabehu |
// nastaveni parametru PWM |
if (PwmOut>24) PwmOut=24; // saturace |
CCPR1L = PwmOut; // pouziti vystupu |
// zobrazeni |
printf(Putc,"\nALG:%03u %03u %03u",Req,Vref,PwmOut); |
delay_ms(10); |
// rozjezd |
if (TimerIf()&&Run) |
{ |
Run=0; |
MotorStart(65); |
} |
} |
} |
} |
/roboti/solarni/2005/jump/miho/DART.C |
---|
0,0 → 1,425 |
// DART01A verze programu 1.00 |
// (c)miho 2005 |
#include "DART.h" |
#define BEEP0 PIN_A6 // pipak, prvni vystup |
#define BEEP1 PIN_A7 // pipak, druhy vystup |
#define PWM PIN_B3 // PWM vystup pro menic |
#define REFPOWER PIN_B1 // napajeni zdroje Vref |
#define MOTOR PIN_B2 // zapinani motoru |
#define SW0 PIN_B7 // konfiguracni prepinac 0 |
#define SW1 PIN_B6 // konfiguracni prepinac 1 |
void InitRS232() |
// Inicializace HW RS232 |
{ |
SPBRG=xclock/9600/16-1; // ryclost 9600Bd |
RCSTA=0b10000000; // enable USART |
TXSTA=0b00100100; // BRGH=1, TX enable |
} |
void Putc(char c) |
// Posilani znaku pres HW RS232 |
{ |
while(TRMT==0); // cekej na prazdny TX buffer |
TXREG=c; // predej data |
} |
// Globalni promenna pro data posilana na SSP |
// Nastavuje se funkci MotorPatternSet() |
// Vyuziva se v prerusovaci rutine IntSSP() |
unsigned int8 MotorPattern; // aktualni data pro SSP jednotku |
void MotorPatternSet(unsigned int Gear) |
// Na zaklade rychlosti nastavi MotorPattern pro SSP |
// Rychlost 0 znamena stop, rychlost 8 je maximum |
{ |
// Tabulka rychlost -> pattern pro SSP |
unsigned int8 const ExpTab[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
// Vyber patternu |
if (Gear==0) // stav 0 znamena stop |
{ |
output_low(MOTOR); // klidovy stav |
SSPSTAT = 0; |
SSPCON1 = 0; // SPI stop |
disable_interrupts(INT_SSP); // neni preruseni od SSP |
} |
else // rizeny vykon |
{ |
if (Gear>7) // stav 8 a vice znamena plny vykon |
{ |
Gear=8; // plny plyn |
} |
MotorPattern=ExpTab[--Gear]; // prevod z hodnoty plynu na data pro SSP |
output_low(MOTOR); // klidovy stav |
SSPSTAT = 0; |
SSPCON1 = 0x22; // SPI OSC/64 |
SSPBUF=MotorPattern; // prvni data pro vyslani |
enable_interrupts(INT_SSP); // az budou vyslana prijde interrupt od SSP |
} |
} |
// Obsluha preruseni od SSP jednotky, posila data z promenne MotorRun do SSP. |
#INT_SSP |
void IntSSP() |
{ |
SSPBUF=MotorPattern; // znova hdnota PWM patternu na SSP |
} |
void MotorSet(unsigned int Gear) |
// Nastavi vykon motoru dle hodnoty Gear a zahaji posilani PWM dat pres SSP pod prerusenim |
// od SSP jednotky |
// 0 stop |
// 1-7 pocet 1/8 vykonu |
// >7 plny vykon |
{ |
// Nastav PWM pattern |
MotorPatternSet(Gear); // nastav PWM pattern pro SSP |
// Povol preruseni |
enable_interrupts(GLOBAL); // povol preruseni |
} |
void InitT0() |
// Inicializace casovace T0 (cca 1000x za sekundu) |
{ |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); // T0 z internich hodin 1/4 |
enable_interrupts(INT_RTCC); // generuj preruseni od T0 |
enable_interrupts(GLOBAL); // povol preruseni |
} |
// Globalni promenna pro mereni casu |
// Nastavuje se procedurou TimeSet() |
// Testuje se funkci TimeIf() |
// Modifikuje se pri preruseni od casovace IntTo() |
unsigned int16 TimeTime; |
void TimerSet(unsigned int16 Time) |
// Nastavi casovac na zadany pocet ms |
// Test uplynuti casu se dela pomoci TimerIf() |
{ |
// Nastav hodnotu |
disable_interrupts(INT_RTCC); // nesmi prijit preruseni |
TimeTime=Time; // pri nastavovani hodnoty |
enable_interrupts(INT_RTCC); // promenne (o delce vice nez 8 bitu) |
} |
int1 TimerIf() |
// Vraci TRUE pokud casovac jiz dobehl |
{ |
int1 Flag; // pomocna promenna |
// Otestuj casovac |
disable_interrupts(INT_RTCC); // nesmi prijit preruseni |
Flag=(TimeTime==0); // behem testu promenne |
enable_interrupts(INT_RTCC); // ted uz muze |
// Navratova hodnota |
return Flag; // TRUE znamena dobehl casovac |
} |
// Globalni promenne pro akceleraci |
// Nastavuje se metodou MotorStart() |
// Pouziva se v obsluze preruseni IntT0() |
unsigned int8 MotorTime; // aktualni casovac pro rozjezd |
unsigned int8 MotorDelay; // spozdeni mezi razenim |
unsigned int8 MotorGear; // rychlostni stupen |
void MotorStart(unsigned int8 Delay) |
// Provede rizeny rozjezd motoru |
{ |
disable_interrupts(INT_RTCC); |
MotorGear=1; |
MotorDelay=Delay; |
MotorTime=MotorDelay; |
enable_interrupts(INT_RTCC); |
MotorPatternSet(1); |
} |
#INT_TIMER0 |
void IntT0() |
// Preruseni od casovace cca 1000x za sekundu |
{ |
// Odpocitavani casovace |
if (TimeTime) TimeTime--; |
// Obsluha akcelerace |
if (MotorTime) MotorTime--; // dekrementuj casovac rozjezdu |
if ((MotorGear>0) && (MotorGear<8) && (!MotorTime)) // dalsi rychlostni stupen |
{ |
MotorTime=MotorDelay; // znovu nastav casovac |
MotorGear++; // dalsi rychlost |
MotorPatternSet(MotorGear); // nastav rychlost |
} |
} |
// Cteni dat z AD prevodniku, zadava se cislo kanalu |
int8 ReadAD(int8 Ch) |
{ |
// Pokud merim Vref zapnu si jeho napajeni |
if (Ch==4) output_high(REFPOWER); |
// Inicializace a cislo kanalu |
ADCON1=0x30; // Vref+-, bez deleni hodin, Left Justify |
ADCON0=0x41+(Ch<<3); // on, Tosc/8, cislo kanalu |
// Mereni |
delay_us(50); // doba na prepnuti kanalu |
ADCON0 |= 4; // start prevodu |
delay_us(50); // doba na prevod |
// Vypnu napajeni Vref (vzdycky) |
output_low(REFPOWER); |
// Navrat hodnoty |
return ADRESH; |
} |
void main() |
{ |
unsigned int8 Debug; |
unsigned int8 i; |
// Hodiny |
OSCCON = 0x62; // 4 MHz interni RC oscilator |
/* |
// Digitalni vystupy |
output_low(PWM); // PWM vystup |
output_low(MOTOR); // Proud do motoru |
output_low(REFPOWER); // Napajeni Vref |
port_b_pullups(TRUE); // Zbyvajici vyvody portu B |
// Watch Dog |
PSA=0; // preddelic prirazen casovaci |
WDTCON=0x0E; // Watch Dog cca 130ms |
// Analogove vstupy |
ANSEL = 0x1F; // AN0 az AN4 |
// nastaveni RS232 |
InitRS232(); // inicializace HW RS232 (nutno pockat cca 10ms) |
// Pipnuti (a cekani) |
for (i=1;i<30;i++) // pocet 1/2 period |
{ |
int1 beep; // stavova promenna pro pipak |
output_bit(BEEP0,beep); |
beep=~beep; |
output_bit(BEEP1,beep); |
delay_us(1000); |
} |
// Rozhodnuti o rezimu cinnosti |
Debug=0; |
if (~input(SW0)) Debug|=1; // precti bit 0 |
if (~input(SW1)) Debug|=2; // precti bit 1 |
output_low(SW0); // nastav L aby se snizila spotreba |
output_low(SW1); // na obou vstupech |
// Zobrazeni rezimu |
printf(Putc,"\fMode:%d",Debug); |
*/ |
// Inicializace PWM |
PR2 = 0x1F; // perioda PWM casovace |
T2CON = 0x04; // povoleni casovace T2 bez preddelicu a postdelicu |
CCP1CON = 0x0C; // PWM mode, lsb bity nulove |
CCPR1L = 0; // na zacatku nulova data |
output_low(PWM); // PWM vystup |
//!!!KAKL |
CCPR1L = 20; // pouziti vystupu |
disable_interrupts(GLOBAL); |
while(true); |
// Inicializace casovace |
InitT0(); // nastav casovac na cca 1ms |
//!!!KAKL |
Debug=3; |
// Test menice PWM a rozjezdoveho PWM |
if (Debug==1) |
{ |
unsigned int8 Data1; // poteniometr P1 = PWM |
unsigned int8 Data2; // poteniometr P2 = Rozjezd |
while (1) |
{ |
// watch dog |
restart_wdt(); |
// mereni vstupu |
Data1=ReadAD(0); // nacti parametr pro PWM |
Data1>>=2; // redukuj rozsah na 0 az 63 |
Data2=ReadAD(1); // nacti parametr pro rozjezd |
Data2>>=4; // redukuj rozsah na 0 az 15 |
// zobrazeni |
printf(Putc,"\nPWM:%03u RUN:%03u",Data1,Data2); |
delay_ms(20); |
// nastaveni parametru PWM |
CCPR1L = Data1; |
// nastaveni parametru RUN |
MotorSet(Data2); |
} |
} |
// Testovani rozjezdu |
// Zadava se cas mezi stupni razeni pro rozjezd v ms |
if (Debug==2) |
{ |
int8 Data; |
int8 Start; |
Start=0; // uvodni stav |
while(1) |
{ |
// Nacti a zobraz parametr |
Data=ReadAD(1); // potenciometr P2 = rozjezd |
printf(Putc,"\nRUN: %3ums ",Data); // zobraz |
delay_ms(10); // prodleva pro terminal |
// Uvodni pauza |
if (Start==0) // spousti se 1x na zacatku |
{ |
Start++; // dalsi stav je cekani |
TimerSet(2000); // na dokonceni uvodni prodlevy |
} |
// Rozjezd |
if ((Start==1) && TimerIf()) |
{ |
Start++; |
printf(Putc,"R"); |
MotorStart(Data); // rozjezd s nastavenim prodlevy |
TimerSet(2000); // nastav celkovy cas jizdy |
} |
// Zastaveni |
if ((Start==2) && TimerIf()) |
{ |
Start++; |
printf(Putc,"S"); |
MotorSet(0); // pokud dobehl casovac zastav motor |
} |
// watch dog |
restart_wdt(); |
} |
} |
// Test nabijeciho algoritmu |
if (Debug==3) |
{ |
unsigned int8 PwmOut; // akcni hodnota pro PWM |
unsigned int8 Req; // pozadovana hodnota z P1 |
unsigned int8 Vref; // merena hodnota vref |
// Inicializace stavove promenne |
PwmOut=0; |
// Hlavni smycka |
while (1) |
{ |
// watch dog |
restart_wdt(); |
// pozadovana hodnota (potenciometr P1) |
Req=ReadAD(0); |
Req=50+(ReadAD(0)>>1); // 50 az 177 |
// napeti na napajeni (vref) |
Vref=ReadAD(4); |
// ricici algoritmus |
if ((Vref<Req) &&(PwmOut<30)) PwmOut++; |
if ((Vref>=Req)&&(PwmOut> 0)) PwmOut--; |
Vref+=10; |
if ((Vref<(Req))&&(PwmOut<30)) PwmOut++; // urychleni nabehu |
// nastaveni parametru PWM |
if (PwmOut>24) PwmOut=24; // saturace |
//!!!KAKL |
PwmOut=20; |
CCPR1L = PwmOut; // pouziti vystupu |
disable_interrupts(GLOBAL); |
while(true); |
// zobrazeni |
printf(Putc,"\nALG:%03u %03u %03u",Req,Vref,PwmOut); |
delay_ms(10); |
} |
} |
// Standardni beh |
if (Debug==0) |
{ |
unsigned int8 PwmOut; // akcni hodnota pro PWM |
unsigned int8 Req; // pozadovana hodnota z P1 |
unsigned int8 Vref; // merena hodnota vref |
int1 Run; |
// Inicializace stavove promenne |
PwmOut=0; |
TimerSet(14000); // casovani startu |
Run=1; |
// Hlavni smycka |
while (1) |
{ |
// watch dog |
restart_wdt(); |
// pozadovana hodnota (potenciometr P1) |
Req=ReadAD(0); |
Req=50+(ReadAD(0)>>1); // 50 az 177 |
// napeti na napajeni (vref) |
Vref=ReadAD(4); |
// ricici algoritmus |
if ((Vref<Req) &&(PwmOut<30)) PwmOut++; |
if ((Vref>=Req)&&(PwmOut> 0)) PwmOut--; |
Vref+=10; |
if ((Vref<(Req))&&(PwmOut<30)) PwmOut++; // urychleni nabehu |
// nastaveni parametru PWM |
if (PwmOut>24) PwmOut=24; // saturace |
CCPR1L = PwmOut; // pouziti vystupu |
// zobrazeni |
printf(Putc,"\nALG:%03u %03u %03u",Req,Vref,PwmOut); |
delay_ms(10); |
// rozjezd |
if (TimerIf()&&Run) |
{ |
Run=0; |
MotorStart(65); |
} |
} |
} |
} |
/roboti/solarni/2005/jump/miho/DART.HEX |
---|
0,0 → 1,108 |
:1000000000308A00C8290000FF00030E8301A10010 |
:100010007F08A0000A08A8008A01A00E0408A20018 |
:100020007708A3007808A4007908A5007A08A6003C |
:100030007B08A700831383128C308400801D222844 |
:100040008C1939288B1E26280B193B28220884007E |
:100050002308F7002408F8002508F9002608FA000C |
:100060002708FB0028088A00210E8300FF0E7F0E60 |
:1000700009008A1189288A11B7280A108A100A11E2 |
:100080008207023406340E341E343E347E34FE348D |
:10009000FF340A108A100A1182070A345034573488 |
:1000A0004D343A34253430343334753420345234BA |
:1000B00055344E343A3425343034333475340034C6 |
:1000C0000A108A100A1182070A34523455344E3409 |
:1000D0003A3420342534333475346D347334203459 |
:1000E00000340A108A100A1182070A3441344C3451 |
:1000F00047343A342534303433347534203425349D |
:10010000303433347534203425343034333475345A |
:1001100000342A0893008C118A112628C408031D74 |
:100120009D288316061183120611831694018312EB |
:10013000940183168C11B52883124408073C0318D8 |
:10014000A3280830C400C40344083D20F800AA00D6 |
:10015000831606118312061183169401223083122E |
:1001600094002A08930083168C15831200342B0800 |
:100170002C040319BF282B080319AC03AB03AD08EB |
:10018000031DAD03AF080319D2282F08073C031C39 |
:10019000D228AD08031DD2282E08AD00AF0A2F08C3 |
:1001A000C4008E200B118A11262883160108C0393D |
:1001B0000138810083128B16C0308B048A11EF291D |
:1001C0003D08043C031DE82883168610831286141C |
:1001D000303083169F0083123D0DF700F70DF70DA9 |
:1001E000F830F7057708413E9F0064001030F700B3 |
:1001F000F70BF828000000001F1564001030F7000E |
:10020000F70B002900000000831686108312861069 |
:100210001E08F800003483169818102983120B2941 |
:1002200083124108990000344208F8014102031882 |
:100230001C294108F7002829F7010830C300C10D27 |
:10024000F70D420877020318F700F80DC30B1F29BA |
:1002500000344013C0123F08C1006430C2001421B2 |
:100260007708BF007808031D5329C01A5329C01905 |
:100270006129401B41294018412940194129C01BCF |
:100280006129401C4D29C01B6129401B4D29401884 |
:10029000612940194D29C01B61292030401E303092 |
:1002A000C1000B216129C016C01F5D29780880009C |
:1002B000F8002D30C1000B21C01330307807C10089 |
:1002C0000B21401B6C293F08C1000A30C2001421D9 |
:1002D0007708BF0040173229C01F71292D30C10097 |
:1002E0000B2130303F07C1000B2100343D3084002A |
:1002F000000803198C290130F800BF30F7006400B2 |
:10030000F70B7F29F80B7D295830F700F70B86296A |
:1003100000006400800B7B290034A9018B1BA91706 |
:100320008B133D08C4008E20A91B8B17C0308B0493 |
:1003300000348B123E08AC003D08AB008B16003435 |
:100340008B12AB08031DA729AC080319A92900309B |
:10035000AA290130F8007818AF293D10B0293D14C2 |
:100360008B1600303D180130F80000348B1201303C |
:10037000AF003D08AE002E08AD008B16A9018B1B07 |
:10038000A9178B130130C4008E20A91B8B170034D2 |
:1003900084011F30830583161F129F121B088039AA |
:1003A0009B0007309C00050864001C0883120D1395 |
:1003B000623083168F001F30920004308312920047 |
:1003C0000C30970095018316861183128611143024 |
:1003D00095000B138B138B1BEA29ED29D5280330CD |
:1003E000B000300B2C2A6400BD01E0207808B20078 |
:1003F000B20CB20C3F30B2050130BD00E0207808ED |
:10040000B300B30E0F30B305BD013D084920BD0A4E |
:10041000F700C1000B2105303D02031D052A3208FB |
:10042000BF00C00129210930BE003E084920BE0A94 |
:10043000F700C1000B210E303E02031D152A3308C0 |
:10044000BF00C00129211430BD007621320895007B |
:100450003308BD008D21F3293008023C031D7D2A9D |
:10046000B5010130BD00E0207808B400BD013D08B1 |
:100470006020BD0AF700C1000B2106303D02031DBC |
:10048000372A3408BF001030C00029216D30C10068 |
:100490000B217330C1000B212030C1000B210A3029 |
:1004A000BD007621B508031D5B2AB50A0730BE00E2 |
:1004B000D030BD009921350B6D2AA021F808031911 |
:1004C0006D2AB50A5230C1000B213408BD00B62197 |
:1004D0000730BE00D030BD0099213508023C031D15 |
:1004E0007B2AA021F80803197B2AB50A5330C100E2 |
:1004F0000B21BD018D216400312A3008033C031D0E |
:10050000DB2AB6016400BD01E0207808B700BD0118 |
:10051000E0200310780C323EB7000430BD00E0202C |
:100520007808B8003708380203189A2A36081D3CA4 |
:100530000318B60A37083802031CA12AB608031D9F |
:10054000B6030A30B807370838020318AB2A360852 |
:100550001D3C0318B60A3608183C0318B12A183097 |
:10056000B6001430B600360895000B138B138B1BA6 |
:10057000B62AB92ABD013D087120BD0AF700C100A5 |
:100580000B2105303D02031DBB2A3708BF00C00107 |
:1005900029212030C1000B213808BF00C0012921CA |
:1005A0002030C1000B213608BF00C00129210A30CC |
:1005B000BD007621822AB008031D412BB9013630D7 |
:1005C000BE00B030BD0099213C146400BD01E020A4 |
:1005D0007808BA00BD01E0200310780C323EBA0062 |
:1005E0000430BD00E0207808BB003A083B02031845 |
:1005F000FD2A39081D3C0318B90A3A083B02031CBE |
:10060000042BB908031DB9030A30BB073A083B02A3 |
:1006100003180E2B39081D3C0318B90A3908183C79 |
:100620000318142B1830B90039089500BD013D0896 |
:100630007120BD0AF700C1000B2105303D02031DEA |
:10064000172B3A08BF00C00129212030C1000B211F |
:100650003B08BF00C00129212030C1000B2139080F |
:10066000BF00C00129210A30BD007621A021F80871 |
:100670000319402B3C1C402B3C104130BD00B621DF |
:04068000E52A630004 |
:04400E00382FFF3F09 |
:00000001FF |
;PIC16F88 |
/roboti/solarni/2005/jump/miho/DART.LST |
---|
0,0 → 1,1126 |
CCS PCM C Compiler, Version 3.221, 27853 21-VIII-05 18:18 |
Filename: C:\PIC\jump\miho\DART.LST |
ROM used: 834 words (20%) |
Largest free fragment is 2048 |
RAM used: 25 (14%) at main() level |
42 (24%) worst case |
Stack: 6 worst case (3 in main + 3 for interrupts) |
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 1C8 |
0003: NOP |
0004: MOVWF 7F |
0005: SWAPF 03,W |
0006: CLRF 03 |
0007: MOVWF 21 |
0008: MOVF 7F,W |
0009: MOVWF 20 |
000A: MOVF 0A,W |
000B: MOVWF 28 |
000C: CLRF 0A |
000D: SWAPF 20,F |
000E: MOVF 04,W |
000F: MOVWF 22 |
0010: MOVF 77,W |
0011: MOVWF 23 |
0012: MOVF 78,W |
0013: MOVWF 24 |
0014: MOVF 79,W |
0015: MOVWF 25 |
0016: MOVF 7A,W |
0017: MOVWF 26 |
0018: MOVF 7B,W |
0019: MOVWF 27 |
001A: BCF 03.7 |
001B: BCF 03.5 |
001C: MOVLW 8C |
001D: MOVWF 04 |
001E: BTFSS 00.3 |
001F: GOTO 022 |
0020: BTFSC 0C.3 |
0021: GOTO 039 |
0022: BTFSS 0B.5 |
0023: GOTO 026 |
0024: BTFSC 0B.2 |
0025: GOTO 03B |
0026: MOVF 22,W |
0027: MOVWF 04 |
0028: MOVF 23,W |
0029: MOVWF 77 |
002A: MOVF 24,W |
002B: MOVWF 78 |
002C: MOVF 25,W |
002D: MOVWF 79 |
002E: MOVF 26,W |
002F: MOVWF 7A |
0030: MOVF 27,W |
0031: MOVWF 7B |
0032: MOVF 28,W |
0033: MOVWF 0A |
0034: SWAPF 21,W |
0035: MOVWF 03 |
0036: SWAPF 7F,F |
0037: SWAPF 7F,W |
0038: RETFIE |
0039: BCF 0A.3 |
003A: GOTO 089 |
003B: BCF 0A.3 |
003C: GOTO 0B7 |
.................... // DART01A verze programu 1.00 |
.................... // (c)miho 2005 |
.................... |
.................... #include "DART.h" |
.................... // DART01A verze programu 1.00 |
.................... // (c)miho 2005 |
.................... |
.................... #include ".\lib\16F88.h" // standardni definice konstant |
.................... //////// Header file for the PIC16F88 |
.................... #device PIC16F88 |
.................... #list |
.................... #include ".\lib\16F88_Reg.h" // standardni definice vsech FSR |
.................... #list |
.................... |
.................... |
.................... #device adc=8 // AD prevodnik jen na 8 bitu |
.................... #define xclock 4168000 // muj konkretni PIC je trochu rychlejsi |
.................... #use delay(clock=xclock,restart_wdt) |
0176: MOVLW 3D |
0177: MOVWF 04 |
0178: MOVF 00,W |
0179: BTFSC 03.2 |
017A: GOTO 18C |
017B: MOVLW 01 |
017C: MOVWF 78 |
017D: MOVLW BF |
017E: MOVWF 77 |
017F: CLRWDT |
0180: DECFSZ 77,F |
0181: GOTO 17F |
0182: DECFSZ 78,F |
0183: GOTO 17D |
0184: MOVLW 58 |
0185: MOVWF 77 |
0186: DECFSZ 77,F |
0187: GOTO 186 |
0188: NOP |
0189: CLRWDT |
018A: DECFSZ 00,F |
018B: GOTO 17B |
018C: RETLW 00 |
.................... #fuses INTRC_IO, NOWDT, NOPUT, NOPROTECT, NOBROWNOUT, MCLR, NOLVP, NOCPD, NODEBUG, CCPB3 |
.................... |
.................... |
.................... |
.................... #define BEEP0 PIN_A6 // pipak, prvni vystup |
.................... #define BEEP1 PIN_A7 // pipak, druhy vystup |
.................... #define PWM PIN_B3 // PWM vystup pro menic |
.................... #define REFPOWER PIN_B1 // napajeni zdroje Vref |
.................... #define MOTOR PIN_B2 // zapinani motoru |
.................... #define SW0 PIN_B7 // konfiguracni prepinac 0 |
.................... #define SW1 PIN_B6 // konfiguracni prepinac 1 |
.................... |
.................... |
.................... void InitRS232() |
.................... // Inicializace HW RS232 |
.................... { |
.................... SPBRG=xclock/9600/16-1; // ryclost 9600Bd |
.................... RCSTA=0b10000000; // enable USART |
.................... TXSTA=0b00100100; // BRGH=1, TX enable |
.................... } |
.................... |
.................... |
.................... void Putc(char c) |
.................... // Posilani znaku pres HW RS232 |
.................... { |
.................... while(TRMT==0); // cekej na prazdny TX buffer |
* |
010B: BSF 03.5 |
010C: BTFSC 18.1 |
010D: GOTO 110 |
010E: BCF 03.5 |
010F: GOTO 10B |
.................... TXREG=c; // predej data |
0110: BCF 03.5 |
0111: MOVF 41,W |
0112: MOVWF 19 |
.................... } |
0113: RETLW 00 |
.................... |
.................... |
.................... // Globalni promenna pro data posilana na SSP |
.................... // Nastavuje se funkci MotorPatternSet() |
.................... // Vyuziva se v prerusovaci rutine IntSSP() |
.................... unsigned int8 MotorPattern; // aktualni data pro SSP jednotku |
.................... |
.................... |
.................... void MotorPatternSet(unsigned int Gear) |
.................... // Na zaklade rychlosti nastavi MotorPattern pro SSP |
.................... // Rychlost 0 znamena stop, rychlost 8 je maximum |
.................... { |
.................... // Tabulka rychlost -> pattern pro SSP |
.................... unsigned int8 const ExpTab[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
.................... |
.................... // Vyber patternu |
.................... if (Gear==0) // stav 0 znamena stop |
* |
008E: MOVF 44,F |
008F: BTFSS 03.2 |
0090: GOTO 09D |
.................... { |
.................... output_low(MOTOR); // klidovy stav |
0091: BSF 03.5 |
0092: BCF 06.2 |
0093: BCF 03.5 |
0094: BCF 06.2 |
.................... SSPSTAT = 0; |
0095: BSF 03.5 |
0096: CLRF 14 |
.................... SSPCON1 = 0; // SPI stop |
0097: BCF 03.5 |
0098: CLRF 14 |
.................... disable_interrupts(INT_SSP); // neni preruseni od SSP |
0099: BSF 03.5 |
009A: BCF 0C.3 |
.................... } |
.................... else // rizeny vykon |
009B: GOTO 0B5 |
009C: BCF 03.5 |
.................... { |
.................... if (Gear>7) // stav 8 a vice znamena plny vykon |
009D: MOVF 44,W |
009E: SUBLW 07 |
009F: BTFSC 03.0 |
00A0: GOTO 0A3 |
.................... { |
.................... Gear=8; // plny plyn |
00A1: MOVLW 08 |
00A2: MOVWF 44 |
.................... } |
.................... |
.................... MotorPattern=ExpTab[--Gear]; // prevod z hodnoty plynu na data pro SSP |
00A3: DECF 44,F |
00A4: MOVF 44,W |
00A5: CALL 03D |
00A6: MOVWF 78 |
00A7: MOVWF 2A |
.................... output_low(MOTOR); // klidovy stav |
00A8: BSF 03.5 |
00A9: BCF 06.2 |
00AA: BCF 03.5 |
00AB: BCF 06.2 |
.................... SSPSTAT = 0; |
00AC: BSF 03.5 |
00AD: CLRF 14 |
.................... SSPCON1 = 0x22; // SPI OSC/64 |
00AE: MOVLW 22 |
00AF: BCF 03.5 |
00B0: MOVWF 14 |
.................... |
.................... SSPBUF=MotorPattern; // prvni data pro vyslani |
00B1: MOVF 2A,W |
00B2: MOVWF 13 |
.................... enable_interrupts(INT_SSP); // az budou vyslana prijde interrupt od SSP |
00B3: BSF 03.5 |
00B4: BSF 0C.3 |
.................... } |
.................... } |
00B5: BCF 03.5 |
00B6: RETLW 00 |
.................... |
.................... |
.................... // Obsluha preruseni od SSP jednotky, posila data z promenne MotorRun do SSP. |
.................... #INT_SSP |
.................... void IntSSP() |
.................... { |
.................... SSPBUF=MotorPattern; // znova hdnota PWM patternu na SSP |
* |
0089: MOVF 2A,W |
008A: MOVWF 13 |
.................... } |
.................... |
.................... |
008B: BCF 0C.3 |
008C: BCF 0A.3 |
008D: GOTO 026 |
.................... void MotorSet(unsigned int Gear) |
* |
018D: CLRF 29 |
018E: BTFSC 0B.7 |
018F: BSF 29.7 |
0190: BCF 0B.7 |
.................... // Nastavi vykon motoru dle hodnoty Gear a zahaji posilani PWM dat pres SSP pod prerusenim |
.................... // od SSP jednotky |
.................... // 0 stop |
.................... // 1-7 pocet 1/8 vykonu |
.................... // >7 plny vykon |
.................... { |
.................... // Nastav PWM pattern |
.................... MotorPatternSet(Gear); // nastav PWM pattern pro SSP |
0191: MOVF 3D,W |
0192: MOVWF 44 |
0193: CALL 08E |
0194: BTFSC 29.7 |
0195: BSF 0B.7 |
.................... |
.................... // Povol preruseni |
.................... enable_interrupts(GLOBAL); // povol preruseni |
0196: MOVLW C0 |
0197: IORWF 0B,F |
.................... } |
0198: RETLW 00 |
.................... |
.................... |
.................... void InitT0() |
.................... // Inicializace casovace T0 (cca 1000x za sekundu) |
.................... { |
.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); // T0 z internich hodin 1/4 |
* |
00D5: BSF 03.5 |
00D6: MOVF 01,W |
00D7: ANDLW C0 |
00D8: IORLW 01 |
00D9: MOVWF 01 |
.................... enable_interrupts(INT_RTCC); // generuj preruseni od T0 |
00DA: BCF 03.5 |
00DB: BSF 0B.5 |
.................... enable_interrupts(GLOBAL); // povol preruseni |
00DC: MOVLW C0 |
00DD: IORWF 0B,F |
.................... } |
00DE: BCF 0A.3 |
00DF: GOTO 1EF (RETURN) |
.................... |
.................... |
.................... // Globalni promenna pro mereni casu |
.................... // Nastavuje se procedurou TimeSet() |
.................... // Testuje se funkci TimeIf() |
.................... // Modifikuje se pri preruseni od casovace IntTo() |
.................... unsigned int16 TimeTime; |
.................... |
.................... |
.................... void TimerSet(unsigned int16 Time) |
.................... // Nastavi casovac na zadany pocet ms |
.................... // Test uplynuti casu se dela pomoci TimerIf() |
.................... { |
.................... // Nastav hodnotu |
.................... disable_interrupts(INT_RTCC); // nesmi prijit preruseni |
* |
0199: BCF 0B.5 |
.................... TimeTime=Time; // pri nastavovani hodnoty |
019A: MOVF 3E,W |
019B: MOVWF 2C |
019C: MOVF 3D,W |
019D: MOVWF 2B |
.................... enable_interrupts(INT_RTCC); // promenne (o delce vice nez 8 bitu) |
019E: BSF 0B.5 |
.................... } |
019F: RETLW 00 |
.................... |
.................... |
.................... int1 TimerIf() |
.................... // Vraci TRUE pokud casovac jiz dobehl |
.................... { |
.................... int1 Flag; // pomocna promenna |
.................... |
.................... // Otestuj casovac |
.................... disable_interrupts(INT_RTCC); // nesmi prijit preruseni |
01A0: BCF 0B.5 |
.................... Flag=(TimeTime==0); // behem testu promenne |
01A1: MOVF 2B,F |
01A2: BTFSS 03.2 |
01A3: GOTO 1A7 |
01A4: MOVF 2C,F |
01A5: BTFSC 03.2 |
01A6: GOTO 1A9 |
01A7: MOVLW 00 |
01A8: GOTO 1AA |
01A9: MOVLW 01 |
01AA: MOVWF 78 |
01AB: BTFSC 78.0 |
01AC: GOTO 1AF |
01AD: BCF 3D.0 |
01AE: GOTO 1B0 |
01AF: BSF 3D.0 |
.................... enable_interrupts(INT_RTCC); // ted uz muze |
01B0: BSF 0B.5 |
.................... |
.................... // Navratova hodnota |
.................... return Flag; // TRUE znamena dobehl casovac |
01B1: MOVLW 00 |
01B2: BTFSC 3D.0 |
01B3: MOVLW 01 |
01B4: MOVWF 78 |
.................... } |
01B5: RETLW 00 |
.................... |
.................... |
.................... // Globalni promenne pro akceleraci |
.................... // Nastavuje se metodou MotorStart() |
.................... // Pouziva se v obsluze preruseni IntT0() |
.................... unsigned int8 MotorTime; // aktualni casovac pro rozjezd |
.................... unsigned int8 MotorDelay; // spozdeni mezi razenim |
.................... unsigned int8 MotorGear; // rychlostni stupen |
.................... |
.................... |
.................... void MotorStart(unsigned int8 Delay) |
.................... // Provede rizeny rozjezd motoru |
.................... { |
.................... disable_interrupts(INT_RTCC); |
01B6: BCF 0B.5 |
.................... MotorGear=1; |
01B7: MOVLW 01 |
01B8: MOVWF 2F |
.................... MotorDelay=Delay; |
01B9: MOVF 3D,W |
01BA: MOVWF 2E |
.................... MotorTime=MotorDelay; |
01BB: MOVF 2E,W |
01BC: MOVWF 2D |
.................... enable_interrupts(INT_RTCC); |
01BD: BSF 0B.5 |
01BE: CLRF 29 |
01BF: BTFSC 0B.7 |
01C0: BSF 29.7 |
01C1: BCF 0B.7 |
.................... |
.................... MotorPatternSet(1); |
01C2: MOVLW 01 |
01C3: MOVWF 44 |
01C4: CALL 08E |
01C5: BTFSC 29.7 |
01C6: BSF 0B.7 |
.................... } |
01C7: RETLW 00 |
.................... |
.................... |
.................... #INT_TIMER0 |
.................... void IntT0() |
.................... // Preruseni od casovace cca 1000x za sekundu |
.................... { |
.................... // Odpocitavani casovace |
.................... if (TimeTime) TimeTime--; |
* |
00B7: MOVF 2B,W |
00B8: IORWF 2C,W |
00B9: BTFSC 03.2 |
00BA: GOTO 0BF |
00BB: MOVF 2B,W |
00BC: BTFSC 03.2 |
00BD: DECF 2C,F |
00BE: DECF 2B,F |
.................... |
.................... // Obsluha akcelerace |
.................... if (MotorTime) MotorTime--; // dekrementuj casovac rozjezdu |
00BF: MOVF 2D,F |
00C0: BTFSS 03.2 |
00C1: DECF 2D,F |
.................... if ((MotorGear>0) && (MotorGear<8) && (!MotorTime)) // dalsi rychlostni stupen |
00C2: MOVF 2F,F |
00C3: BTFSC 03.2 |
00C4: GOTO 0D2 |
00C5: MOVF 2F,W |
00C6: SUBLW 07 |
00C7: BTFSS 03.0 |
00C8: GOTO 0D2 |
00C9: MOVF 2D,F |
00CA: BTFSS 03.2 |
00CB: GOTO 0D2 |
.................... { |
.................... MotorTime=MotorDelay; // znovu nastav casovac |
00CC: MOVF 2E,W |
00CD: MOVWF 2D |
.................... MotorGear++; // dalsi rychlost |
00CE: INCF 2F,F |
.................... MotorPatternSet(MotorGear); // nastav rychlost |
00CF: MOVF 2F,W |
00D0: MOVWF 44 |
00D1: CALL 08E |
.................... } |
.................... } |
.................... |
.................... |
.................... // Cteni dat z AD prevodniku, zadava se cislo kanalu |
00D2: BCF 0B.2 |
00D3: BCF 0A.3 |
00D4: GOTO 026 |
.................... int8 ReadAD(int8 Ch) |
.................... { |
.................... // Pokud merim Vref zapnu si jeho napajeni |
.................... if (Ch==4) output_high(REFPOWER); |
* |
00E0: MOVF 3D,W |
00E1: SUBLW 04 |
00E2: BTFSS 03.2 |
00E3: GOTO 0E8 |
00E4: BSF 03.5 |
00E5: BCF 06.1 |
00E6: BCF 03.5 |
00E7: BSF 06.1 |
.................... |
.................... // Inicializace a cislo kanalu |
.................... ADCON1=0x30; // Vref+-, bez deleni hodin, Left Justify |
00E8: MOVLW 30 |
00E9: BSF 03.5 |
00EA: MOVWF 1F |
.................... ADCON0=0x41+(Ch<<3); // on, Tosc/8, cislo kanalu |
00EB: BCF 03.5 |
00EC: RLF 3D,W |
00ED: MOVWF 77 |
00EE: RLF 77,F |
00EF: RLF 77,F |
00F0: MOVLW F8 |
00F1: ANDWF 77,F |
00F2: MOVF 77,W |
00F3: ADDLW 41 |
00F4: MOVWF 1F |
.................... |
.................... // Mereni |
.................... delay_us(50); // doba na prepnuti kanalu |
00F5: CLRWDT |
00F6: MOVLW 10 |
00F7: MOVWF 77 |
00F8: DECFSZ 77,F |
00F9: GOTO 0F8 |
00FA: NOP |
00FB: NOP |
.................... ADCON0 |= 4; // start prevodu |
00FC: BSF 1F.2 |
.................... delay_us(50); // doba na prevod |
00FD: CLRWDT |
00FE: MOVLW 10 |
00FF: MOVWF 77 |
0100: DECFSZ 77,F |
0101: GOTO 100 |
0102: NOP |
0103: NOP |
.................... |
.................... // Vypnu napajeni Vref (vzdycky) |
.................... output_low(REFPOWER); |
0104: BSF 03.5 |
0105: BCF 06.1 |
0106: BCF 03.5 |
0107: BCF 06.1 |
.................... |
.................... // Navrat hodnoty |
.................... return ADRESH; |
0108: MOVF 1E,W |
0109: MOVWF 78 |
.................... } |
010A: RETLW 00 |
.................... |
.................... |
.................... void main() |
.................... { |
* |
01C8: CLRF 04 |
01C9: MOVLW 1F |
01CA: ANDWF 03,F |
01CB: BSF 03.5 |
01CC: BCF 1F.4 |
01CD: BCF 1F.5 |
01CE: MOVF 1B,W |
01CF: ANDLW 80 |
01D0: MOVWF 1B |
01D1: MOVLW 07 |
01D2: MOVWF 1C |
01D3: MOVF 05,W |
01D4: CLRWDT |
01D5: MOVF 1C,W |
01D6: BCF 03.5 |
01D7: BCF 0D.6 |
.................... unsigned int8 Debug; |
.................... unsigned int8 i; |
.................... |
.................... // Hodiny |
.................... OSCCON = 0x62; // 4 MHz interni RC oscilator |
01D8: MOVLW 62 |
01D9: BSF 03.5 |
01DA: MOVWF 0F |
.................... /* |
.................... // Digitalni vystupy |
.................... output_low(PWM); // PWM vystup |
.................... output_low(MOTOR); // Proud do motoru |
.................... output_low(REFPOWER); // Napajeni Vref |
.................... port_b_pullups(TRUE); // Zbyvajici vyvody portu B |
.................... |
.................... // Watch Dog |
.................... PSA=0; // preddelic prirazen casovaci |
.................... WDTCON=0x0E; // Watch Dog cca 130ms |
.................... // Analogove vstupy |
.................... ANSEL = 0x1F; // AN0 az AN4 |
.................... |
.................... // nastaveni RS232 |
.................... InitRS232(); // inicializace HW RS232 (nutno pockat cca 10ms) |
.................... |
.................... // Pipnuti (a cekani) |
.................... for (i=1;i<30;i++) // pocet 1/2 period |
.................... { |
.................... int1 beep; // stavova promenna pro pipak |
.................... |
.................... output_bit(BEEP0,beep); |
.................... beep=~beep; |
.................... output_bit(BEEP1,beep); |
.................... delay_us(1000); |
.................... } |
.................... |
.................... // Rozhodnuti o rezimu cinnosti |
.................... Debug=0; |
.................... if (~input(SW0)) Debug|=1; // precti bit 0 |
.................... if (~input(SW1)) Debug|=2; // precti bit 1 |
.................... output_low(SW0); // nastav L aby se snizila spotreba |
.................... output_low(SW1); // na obou vstupech |
.................... |
.................... // Zobrazeni rezimu |
.................... printf(Putc,"\fMode:%d",Debug); |
.................... */ |
.................... // Inicializace PWM |
.................... PR2 = 0x1F; // perioda PWM casovace |
01DB: MOVLW 1F |
01DC: MOVWF 12 |
.................... T2CON = 0x04; // povoleni casovace T2 bez preddelicu a postdelicu |
01DD: MOVLW 04 |
01DE: BCF 03.5 |
01DF: MOVWF 12 |
.................... CCP1CON = 0x0C; // PWM mode, lsb bity nulove |
01E0: MOVLW 0C |
01E1: MOVWF 17 |
.................... CCPR1L = 0; // na zacatku nulova data |
01E2: CLRF 15 |
.................... output_low(PWM); // PWM vystup |
01E3: BSF 03.5 |
01E4: BCF 06.3 |
01E5: BCF 03.5 |
01E6: BCF 06.3 |
.................... |
.................... //!!!KAKL |
.................... CCPR1L = 20; // pouziti vystupu |
01E7: MOVLW 14 |
01E8: MOVWF 15 |
.................... disable_interrupts(GLOBAL); |
01E9: BCF 0B.6 |
01EA: BCF 0B.7 |
01EB: BTFSC 0B.7 |
01EC: GOTO 1EA |
.................... while(true); |
01ED: GOTO 1ED |
.................... |
.................... // Inicializace casovace |
.................... InitT0(); // nastav casovac na cca 1ms |
01EE: GOTO 0D5 |
.................... |
.................... //!!!KAKL |
.................... Debug=3; |
01EF: MOVLW 03 |
01F0: MOVWF 30 |
.................... |
.................... // Test menice PWM a rozjezdoveho PWM |
.................... if (Debug==1) |
01F1: DECFSZ 30,W |
01F2: GOTO 22C |
.................... { |
.................... unsigned int8 Data1; // poteniometr P1 = PWM |
.................... unsigned int8 Data2; // poteniometr P2 = Rozjezd |
.................... |
.................... while (1) |
.................... { |
.................... // watch dog |
.................... restart_wdt(); |
01F3: CLRWDT |
.................... |
.................... // mereni vstupu |
.................... Data1=ReadAD(0); // nacti parametr pro PWM |
01F4: CLRF 3D |
01F5: CALL 0E0 |
01F6: MOVF 78,W |
01F7: MOVWF 32 |
.................... Data1>>=2; // redukuj rozsah na 0 az 63 |
01F8: RRF 32,F |
01F9: RRF 32,F |
01FA: MOVLW 3F |
01FB: ANDWF 32,F |
.................... Data2=ReadAD(1); // nacti parametr pro rozjezd |
01FC: MOVLW 01 |
01FD: MOVWF 3D |
01FE: CALL 0E0 |
01FF: MOVF 78,W |
0200: MOVWF 33 |
.................... Data2>>=4; // redukuj rozsah na 0 az 15 |
0201: SWAPF 33,F |
0202: MOVLW 0F |
0203: ANDWF 33,F |
.................... |
.................... // zobrazeni |
.................... printf(Putc,"\nPWM:%03u RUN:%03u",Data1,Data2); |
0204: CLRF 3D |
0205: MOVF 3D,W |
0206: CALL 049 |
0207: INCF 3D,F |
0208: MOVWF 77 |
0209: MOVWF 41 |
020A: CALL 10B |
020B: MOVLW 05 |
020C: SUBWF 3D,W |
020D: BTFSS 03.2 |
020E: GOTO 205 |
020F: MOVF 32,W |
0210: MOVWF 3F |
0211: CLRF 40 |
0212: CALL 129 |
0213: MOVLW 09 |
0214: MOVWF 3E |
0215: MOVF 3E,W |
0216: CALL 049 |
0217: INCF 3E,F |
0218: MOVWF 77 |
0219: MOVWF 41 |
021A: CALL 10B |
021B: MOVLW 0E |
021C: SUBWF 3E,W |
021D: BTFSS 03.2 |
021E: GOTO 215 |
021F: MOVF 33,W |
0220: MOVWF 3F |
0221: CLRF 40 |
0222: CALL 129 |
.................... delay_ms(20); |
0223: MOVLW 14 |
0224: MOVWF 3D |
0225: CALL 176 |
.................... |
.................... // nastaveni parametru PWM |
.................... CCPR1L = Data1; |
0226: MOVF 32,W |
0227: MOVWF 15 |
.................... |
.................... // nastaveni parametru RUN |
.................... MotorSet(Data2); |
0228: MOVF 33,W |
0229: MOVWF 3D |
022A: CALL 18D |
.................... } |
022B: GOTO 1F3 |
.................... } |
.................... |
.................... // Testovani rozjezdu |
.................... // Zadava se cas mezi stupni razeni pro rozjezd v ms |
.................... if (Debug==2) |
022C: MOVF 30,W |
022D: SUBLW 02 |
022E: BTFSS 03.2 |
022F: GOTO 27D |
.................... { |
.................... int8 Data; |
.................... int8 Start; |
.................... |
.................... Start=0; // uvodni stav |
0230: CLRF 35 |
.................... while(1) |
.................... { |
.................... // Nacti a zobraz parametr |
.................... Data=ReadAD(1); // potenciometr P2 = rozjezd |
0231: MOVLW 01 |
0232: MOVWF 3D |
0233: CALL 0E0 |
0234: MOVF 78,W |
0235: MOVWF 34 |
.................... printf(Putc,"\nRUN: %3ums ",Data); // zobraz |
0236: CLRF 3D |
0237: MOVF 3D,W |
0238: CALL 060 |
0239: INCF 3D,F |
023A: MOVWF 77 |
023B: MOVWF 41 |
023C: CALL 10B |
023D: MOVLW 06 |
023E: SUBWF 3D,W |
023F: BTFSS 03.2 |
0240: GOTO 237 |
0241: MOVF 34,W |
0242: MOVWF 3F |
0243: MOVLW 10 |
0244: MOVWF 40 |
0245: CALL 129 |
0246: MOVLW 6D |
0247: MOVWF 41 |
0248: CALL 10B |
0249: MOVLW 73 |
024A: MOVWF 41 |
024B: CALL 10B |
024C: MOVLW 20 |
024D: MOVWF 41 |
024E: CALL 10B |
.................... delay_ms(10); // prodleva pro terminal |
024F: MOVLW 0A |
0250: MOVWF 3D |
0251: CALL 176 |
.................... |
.................... // Uvodni pauza |
.................... if (Start==0) // spousti se 1x na zacatku |
0252: MOVF 35,F |
0253: BTFSS 03.2 |
0254: GOTO 25B |
.................... { |
.................... Start++; // dalsi stav je cekani |
0255: INCF 35,F |
.................... TimerSet(2000); // na dokonceni uvodni prodlevy |
0256: MOVLW 07 |
0257: MOVWF 3E |
0258: MOVLW D0 |
0259: MOVWF 3D |
025A: CALL 199 |
.................... } |
.................... |
.................... // Rozjezd |
.................... if ((Start==1) && TimerIf()) |
025B: DECFSZ 35,W |
025C: GOTO 26D |
025D: CALL 1A0 |
025E: MOVF 78,F |
025F: BTFSC 03.2 |
0260: GOTO 26D |
.................... { |
.................... Start++; |
0261: INCF 35,F |
.................... printf(Putc,"R"); |
0262: MOVLW 52 |
0263: MOVWF 41 |
0264: CALL 10B |
.................... MotorStart(Data); // rozjezd s nastavenim prodlevy |
0265: MOVF 34,W |
0266: MOVWF 3D |
0267: CALL 1B6 |
.................... |
.................... TimerSet(2000); // nastav celkovy cas jizdy |
0268: MOVLW 07 |
0269: MOVWF 3E |
026A: MOVLW D0 |
026B: MOVWF 3D |
026C: CALL 199 |
.................... } |
.................... |
.................... // Zastaveni |
.................... if ((Start==2) && TimerIf()) |
026D: MOVF 35,W |
026E: SUBLW 02 |
026F: BTFSS 03.2 |
0270: GOTO 27B |
0271: CALL 1A0 |
0272: MOVF 78,F |
0273: BTFSC 03.2 |
0274: GOTO 27B |
.................... { |
.................... Start++; |
0275: INCF 35,F |
.................... printf(Putc,"S"); |
0276: MOVLW 53 |
0277: MOVWF 41 |
0278: CALL 10B |
.................... MotorSet(0); // pokud dobehl casovac zastav motor |
0279: CLRF 3D |
027A: CALL 18D |
.................... } |
.................... |
.................... // watch dog |
.................... restart_wdt(); |
027B: CLRWDT |
.................... } |
027C: GOTO 231 |
.................... } |
.................... |
.................... // Test nabijeciho algoritmu |
.................... if (Debug==3) |
027D: MOVF 30,W |
027E: SUBLW 03 |
027F: BTFSS 03.2 |
0280: GOTO 2DB |
.................... { |
.................... unsigned int8 PwmOut; // akcni hodnota pro PWM |
.................... unsigned int8 Req; // pozadovana hodnota z P1 |
.................... unsigned int8 Vref; // merena hodnota vref |
.................... |
.................... // Inicializace stavove promenne |
.................... PwmOut=0; |
0281: CLRF 36 |
.................... |
.................... // Hlavni smycka |
.................... while (1) |
.................... { |
.................... // watch dog |
.................... restart_wdt(); |
0282: CLRWDT |
.................... |
.................... // pozadovana hodnota (potenciometr P1) |
.................... Req=ReadAD(0); |
0283: CLRF 3D |
0284: CALL 0E0 |
0285: MOVF 78,W |
0286: MOVWF 37 |
.................... Req=50+(ReadAD(0)>>1); // 50 az 177 |
0287: CLRF 3D |
0288: CALL 0E0 |
0289: BCF 03.0 |
028A: RRF 78,W |
028B: ADDLW 32 |
028C: MOVWF 37 |
.................... |
.................... // napeti na napajeni (vref) |
.................... Vref=ReadAD(4); |
028D: MOVLW 04 |
028E: MOVWF 3D |
028F: CALL 0E0 |
0290: MOVF 78,W |
0291: MOVWF 38 |
.................... |
.................... // ricici algoritmus |
.................... if ((Vref<Req) &&(PwmOut<30)) PwmOut++; |
0292: MOVF 37,W |
0293: SUBWF 38,W |
0294: BTFSC 03.0 |
0295: GOTO 29A |
0296: MOVF 36,W |
0297: SUBLW 1D |
0298: BTFSC 03.0 |
0299: INCF 36,F |
.................... if ((Vref>=Req)&&(PwmOut> 0)) PwmOut--; |
029A: MOVF 37,W |
029B: SUBWF 38,W |
029C: BTFSS 03.0 |
029D: GOTO 2A1 |
029E: MOVF 36,F |
029F: BTFSS 03.2 |
02A0: DECF 36,F |
.................... Vref+=10; |
02A1: MOVLW 0A |
02A2: ADDWF 38,F |
.................... if ((Vref<(Req))&&(PwmOut<30)) PwmOut++; // urychleni nabehu |
02A3: MOVF 37,W |
02A4: SUBWF 38,W |
02A5: BTFSC 03.0 |
02A6: GOTO 2AB |
02A7: MOVF 36,W |
02A8: SUBLW 1D |
02A9: BTFSC 03.0 |
02AA: INCF 36,F |
.................... |
.................... // nastaveni parametru PWM |
.................... if (PwmOut>24) PwmOut=24; // saturace |
02AB: MOVF 36,W |
02AC: SUBLW 18 |
02AD: BTFSC 03.0 |
02AE: GOTO 2B1 |
02AF: MOVLW 18 |
02B0: MOVWF 36 |
.................... //!!!KAKL |
.................... PwmOut=20; |
02B1: MOVLW 14 |
02B2: MOVWF 36 |
.................... CCPR1L = PwmOut; // pouziti vystupu |
02B3: MOVF 36,W |
02B4: MOVWF 15 |
.................... disable_interrupts(GLOBAL); |
02B5: BCF 0B.6 |
02B6: BCF 0B.7 |
02B7: BTFSC 0B.7 |
02B8: GOTO 2B6 |
.................... while(true); |
02B9: GOTO 2B9 |
.................... // zobrazeni |
.................... printf(Putc,"\nALG:%03u %03u %03u",Req,Vref,PwmOut); |
02BA: CLRF 3D |
02BB: MOVF 3D,W |
02BC: CALL 071 |
02BD: INCF 3D,F |
02BE: MOVWF 77 |
02BF: MOVWF 41 |
02C0: CALL 10B |
02C1: MOVLW 05 |
02C2: SUBWF 3D,W |
02C3: BTFSS 03.2 |
02C4: GOTO 2BB |
02C5: MOVF 37,W |
02C6: MOVWF 3F |
02C7: CLRF 40 |
02C8: CALL 129 |
02C9: MOVLW 20 |
02CA: MOVWF 41 |
02CB: CALL 10B |
02CC: MOVF 38,W |
02CD: MOVWF 3F |
02CE: CLRF 40 |
02CF: CALL 129 |
02D0: MOVLW 20 |
02D1: MOVWF 41 |
02D2: CALL 10B |
02D3: MOVF 36,W |
02D4: MOVWF 3F |
02D5: CLRF 40 |
02D6: CALL 129 |
.................... delay_ms(10); |
02D7: MOVLW 0A |
02D8: MOVWF 3D |
02D9: CALL 176 |
.................... } |
02DA: GOTO 282 |
.................... } |
.................... |
.................... // Standardni beh |
.................... if (Debug==0) |
02DB: MOVF 30,F |
02DC: BTFSS 03.2 |
02DD: GOTO 341 |
.................... { |
.................... unsigned int8 PwmOut; // akcni hodnota pro PWM |
.................... unsigned int8 Req; // pozadovana hodnota z P1 |
.................... unsigned int8 Vref; // merena hodnota vref |
.................... int1 Run; |
.................... |
.................... // Inicializace stavove promenne |
.................... PwmOut=0; |
02DE: CLRF 39 |
.................... TimerSet(14000); // casovani startu |
02DF: MOVLW 36 |
02E0: MOVWF 3E |
02E1: MOVLW B0 |
02E2: MOVWF 3D |
02E3: CALL 199 |
.................... Run=1; |
02E4: BSF 3C.0 |
.................... |
.................... // Hlavni smycka |
.................... while (1) |
.................... { |
.................... // watch dog |
.................... restart_wdt(); |
02E5: CLRWDT |
.................... |
.................... // pozadovana hodnota (potenciometr P1) |
.................... Req=ReadAD(0); |
02E6: CLRF 3D |
02E7: CALL 0E0 |
02E8: MOVF 78,W |
02E9: MOVWF 3A |
.................... Req=50+(ReadAD(0)>>1); // 50 az 177 |
02EA: CLRF 3D |
02EB: CALL 0E0 |
02EC: BCF 03.0 |
02ED: RRF 78,W |
02EE: ADDLW 32 |
02EF: MOVWF 3A |
.................... |
.................... // napeti na napajeni (vref) |
.................... Vref=ReadAD(4); |
02F0: MOVLW 04 |
02F1: MOVWF 3D |
02F2: CALL 0E0 |
02F3: MOVF 78,W |
02F4: MOVWF 3B |
.................... |
.................... // ricici algoritmus |
.................... if ((Vref<Req) &&(PwmOut<30)) PwmOut++; |
02F5: MOVF 3A,W |
02F6: SUBWF 3B,W |
02F7: BTFSC 03.0 |
02F8: GOTO 2FD |
02F9: MOVF 39,W |
02FA: SUBLW 1D |
02FB: BTFSC 03.0 |
02FC: INCF 39,F |
.................... if ((Vref>=Req)&&(PwmOut> 0)) PwmOut--; |
02FD: MOVF 3A,W |
02FE: SUBWF 3B,W |
02FF: BTFSS 03.0 |
0300: GOTO 304 |
0301: MOVF 39,F |
0302: BTFSS 03.2 |
0303: DECF 39,F |
.................... Vref+=10; |
0304: MOVLW 0A |
0305: ADDWF 3B,F |
.................... if ((Vref<(Req))&&(PwmOut<30)) PwmOut++; // urychleni nabehu |
0306: MOVF 3A,W |
0307: SUBWF 3B,W |
0308: BTFSC 03.0 |
0309: GOTO 30E |
030A: MOVF 39,W |
030B: SUBLW 1D |
030C: BTFSC 03.0 |
030D: INCF 39,F |
.................... |
.................... // nastaveni parametru PWM |
.................... if (PwmOut>24) PwmOut=24; // saturace |
030E: MOVF 39,W |
030F: SUBLW 18 |
0310: BTFSC 03.0 |
0311: GOTO 314 |
0312: MOVLW 18 |
0313: MOVWF 39 |
.................... CCPR1L = PwmOut; // pouziti vystupu |
0314: MOVF 39,W |
0315: MOVWF 15 |
.................... |
.................... // zobrazeni |
.................... printf(Putc,"\nALG:%03u %03u %03u",Req,Vref,PwmOut); |
0316: CLRF 3D |
0317: MOVF 3D,W |
0318: CALL 071 |
0319: INCF 3D,F |
031A: MOVWF 77 |
031B: MOVWF 41 |
031C: CALL 10B |
031D: MOVLW 05 |
031E: SUBWF 3D,W |
031F: BTFSS 03.2 |
0320: GOTO 317 |
0321: MOVF 3A,W |
0322: MOVWF 3F |
0323: CLRF 40 |
0324: CALL 129 |
0325: MOVLW 20 |
0326: MOVWF 41 |
0327: CALL 10B |
0328: MOVF 3B,W |
0329: MOVWF 3F |
032A: CLRF 40 |
032B: CALL 129 |
032C: MOVLW 20 |
032D: MOVWF 41 |
032E: CALL 10B |
032F: MOVF 39,W |
0330: MOVWF 3F |
0331: CLRF 40 |
0332: CALL 129 |
.................... delay_ms(10); |
0333: MOVLW 0A |
0334: MOVWF 3D |
0335: CALL 176 |
.................... |
.................... // rozjezd |
.................... if (TimerIf()&&Run) |
0336: CALL 1A0 |
0337: MOVF 78,F |
0338: BTFSC 03.2 |
0339: GOTO 340 |
033A: BTFSS 3C.0 |
033B: GOTO 340 |
.................... { |
.................... Run=0; |
033C: BCF 3C.0 |
.................... MotorStart(65); |
033D: MOVLW 41 |
033E: MOVWF 3D |
033F: CALL 1B6 |
.................... } |
.................... } |
0340: GOTO 2E5 |
.................... } |
.................... } |
.................... |
0341: SLEEP |
Configuration Fuses: |
Word 1: 2F38 NOWDT NOPUT MCLR NOBROWNOUT NOLVP NOCPD NOWRT NODEBUG CCPB3 NOPROTECT INTRC_IO |
Word 2: 3FFF FCMEN IESO |
/roboti/solarni/2005/jump/miho/DART.PJT |
---|
0,0 → 1,38 |
[PROJECT] |
Target=DART.HEX |
Development_Mode= |
Processor=0x688F |
ToolSuite=CCS |
[Directories] |
Include=C:\Program Files\PICC\devices\ |
Library= |
LinkerScript= |
[Target Data] |
FileList=DART.C; |
BuildTool=C-COMPILER |
OptionString=+FM |
AdditionalOptionString= |
BuildRequired=1 |
[DART.C] |
Type=4 |
Path= |
FileList= |
BuildTool= |
OptionString= |
AdditionalOptionString= |
[mru-list] |
1=DART.C |
[Windows] |
0=0000 DART.C 0 0 796 451 3 0 |
[Opened Files] |
1=C:\PIC\jump\miho\DART.C |
2=C:\PIC\jump\miho\DART.h |
3=C:\PIC\jump\miho\lib\16F88.h |
4=C:\PIC\jump\miho\lib\16F88_Reg.h |
5= |
/roboti/solarni/2005/jump/miho/DART.SYM |
---|
0,0 → 1,376 |
000 INDF |
001 TMR0 |
003.0 C |
003 STATUS |
003.1 DC |
003.2 Z |
003.3 PD |
003.4 TO |
003.5 RP0 |
003.6 RP1 |
003.7 IRP |
005 PORTA |
006 PORTB |
00A PCLATH |
00B INTCON |
00B.0 RBIF |
00B.1 INT0IF |
00B.2 TMR0IF |
00B.3 RBIE |
00B.4 INT0IE |
00B.5 TMR0IE |
00B.6 PEIE |
00B.7 GIE |
00C PIR1 |
00C.0 TMR1IF |
00C.1 TMR2IF |
00C.2 CCP1IF |
00C.3 SSPIF |
00C.4 TXIF |
00C.5 RCIF |
00C.6 ADIF |
00D PIR2 |
00D.4 EEIF |
00D.6 CMIF |
00D.7 OSFIF |
00E TMR1L |
00F TMR1H |
010 T1CON |
010.0 TMR1ON |
010.1 TMR1CS |
010.2 T1SYNC |
010.3 T1OSCEN |
010.4 T1CKPS0 |
010.5 T1CKPS1 |
010.6 T1RUN |
011 TMR2 |
012 T2CON |
012.0 T2CKPS0 |
012.1 T2CKPS1 |
012.2 TMR2ON |
012.3 TOUTPS0 |
012.4 TOUTPS1 |
012.5 TOUTPS2 |
012.6 TOUTPS3 |
013 SSPBUF |
014.0 SSPM0 |
014 SSPCON1 |
014.1 SSPM1 |
014.2 SSPM2 |
014.3 SSPM3 |
014.4 CKP |
014.5 SSPEN |
014.6 SSPOV |
014.7 WCOL |
015 CCP_1_LOW |
015 CCPR1L |
015-016 CCP_1 |
016 CCP_1_HIGH |
016 CCPR1H |
017.0 CCP1M0 |
017 CCP1CON |
017.1 CCP1M1 |
017.2 CCP1M2 |
017.3 CCP1M3 |
017.4 CCP1Y |
017.5 CCP1X |
018 RCSTA |
018.0 RX9D |
018.1 OERR |
018.2 FERR |
018.3 ADDEN |
018.4 CREN |
018.5 SREN |
018.6 RX9 |
018.7 SPEN |
019 TXREG |
01A RCREG |
01E ADRESH |
01F ADCON0 |
01F.0 ADON |
01F.2 GO |
01F.3 CHS0 |
01F.4 CHS1 |
01F.5 CHS2 |
01F.6 ADCS0 |
01F.7 ADCS1 |
020 @INTERRUPT_AREA |
021 @INTERRUPT_AREA |
022 @INTERRUPT_AREA |
023 @INTERRUPT_AREA |
024 @INTERRUPT_AREA |
025 @INTERRUPT_AREA |
026 @INTERRUPT_AREA |
027 @INTERRUPT_AREA |
028 @INTERRUPT_AREA |
029 @INTERRUPT_AREA |
02A MotorPattern |
02B-02C TimeTime |
02D MotorTime |
02E MotorDelay |
02F MotorGear |
030 main.Debug |
031 main.i |
032 Data1 |
033 Data2 |
034 Data |
035 Start |
036 PwmOut |
037 Req |
038 Vref |
039 PwmOut |
03A Req |
03B Vref |
03C.0 Run |
03D-03E TimerSet.Time |
03D ReadAD.Ch |
03D MotorSet.Gear |
03D.0 TimerIf.Flag |
03D MotorStart.Delay |
03D @delay_ms1.P1 |
03D main.@SCRATCH |
03E main.@SCRATCH |
03F @PRINTF_U_494.P1 |
040 @PRINTF_U_494.P1 |
041 @DIV88.P1 |
041 putchar.C |
042 @DIV88.P1 |
042 putchar.@SCRATCH |
043 @DIV88.@SCRATCH |
044 MotorPatternSet.Gear |
077 @SCRATCH |
078 @SCRATCH |
078 _RETURN_ |
079 @SCRATCH |
07A @SCRATCH |
07B @SCRATCH |
080 INDF_1 |
081.0 PS0 |
081 OPTION |
081.1 PS1 |
081.2 PS2 |
081.3 PSA |
081.4 T0SE |
081.5 T0CS |
081.6 INTEDG |
081.7 RBPU |
082 PCL |
083.0 C_1 |
083 STATUS_1 |
083.1 DC_1 |
083.2 Z_1 |
083.3 PD_1 |
083.4 TO_1 |
083.5 RP0_1 |
083.6 RP1_1 |
083.7 IRP_1 |
084 FSR |
085 TRISA |
086 TRISB |
08A PCLATH_1 |
08B INTCON_1 |
08B.0 RBIF_1 |
08B.1 INT0IF_1 |
08B.2 TMR0IF_1 |
08B.3 RBIE_1 |
08B.4 INT0IE_1 |
08B.5 TMR0IE_1 |
08B.6 PEIE_1 |
08B.7 GIE_1 |
08C.0 TMR1IE |
08C PIE1 |
08C.1 TMR2IE |
08C.2 CCP1IE |
08C.3 SSPIE |
08C.4 TXIE |
08C.5 RCIE |
08C.6 ADIE |
08D PIE2 |
08D.4 EEIE |
08D.6 CMIE |
08D.7 OSFIE |
08E PCON |
08E.0 BOR |
08E.1 POR |
08F OSCCON |
08F.0 SCS0 |
08F.1 SCS1 |
08F.2 IOFS |
08F.3 OSTS |
08F.4 IRCF0 |
08F.5 IRCF1 |
08F.6 IRCF2 |
090 OSCTUNE |
090.0 TUN0 |
090.1 TUN1 |
090.2 TUN2 |
090.3 TUN3 |
090.4 TUN4 |
090.5 TUN5 |
092 PR2 |
093 SSPADD |
094.0 BF |
094 SSPSTAT |
094.1 UA |
094.2 RW |
094.3 S |
094.4 P |
094.5 DA |
094.6 CKE |
094.7 SMP |
098 TXSTA |
098.0 TX9D |
098.1 TRMT |
098.2 BRGH |
098.4 SYNC |
098.5 TXEN |
098.6 TX9 |
098.7 CSRC |
099 SPBRG |
09B.0 ANS0 |
09B ANSEL |
09B.1 ANS1 |
09B.2 ANS2 |
09B.3 ANS3 |
09B.4 ANS4 |
09B.5 ANS5 |
09B.6 ANS6 |
09C CMCON |
09C.0 CM0 |
09C.1 CM1 |
09C.2 CM2 |
09C.3 CIS |
09C.4 C1INV |
09C.5 C2INV |
09C.6 C1OUT |
09C.7 C2OUT |
09D CVRCON |
09D.0 CVR0 |
09D.1 CVR1 |
09D.2 CVR2 |
09D.3 CVR3 |
09D.5 CVRR |
09D.6 CVROE |
09D.7 CVREN |
09E ADRESL |
09F ADCON1 |
09F.4 VCFG0 |
09F.5 VCFG1 |
09F.6 ADCS2 |
09F.7 ADFM |
100 INDF_2 |
101 TMR0_2 |
102 PCL_2 |
103.0 C_2 |
103 STATUS_2 |
103.1 DC_2 |
103.2 Z_2 |
103.3 PD_2 |
103.4 TO_2 |
103.5 RP0_2 |
103.6 RP1_2 |
103.7 IRP_2 |
104 FSR_2 |
105 WDTCON |
105.0 SWDTEN |
105.1 WDTPS0 |
105.2 WDTPS1 |
105.3 WDTPS2 |
105.4 WDTPS3 |
106 PORTB_2 |
10A PCLATH_2 |
10B.0 RBIF_2 |
10B INTCON_2 |
10B.1 INT0IF_2 |
10B.2 TMR0IF_2 |
10B.3 RBIE_2 |
10B.4 INT0IE_2 |
10B.5 TMR0IE_2 |
10B.6 PEIE_2 |
10B.7 GIE_2 |
10C EEDATA |
10D EEADR |
10E EEDATH |
10F EEADRH |
180 INDF_3 |
181.0 PS0_3 |
181 OPTION_3 |
181.1 PS1_3 |
181.2 PS2_3 |
181.3 PSA_3 |
181.4 T0SE_3 |
181.5 T0CS_3 |
181.6 INTEDG_3 |
181.7 RBPU_3 |
182 PCL_3 |
183.0 C_3 |
183 STATUS_3 |
183.1 DC_3 |
183.2 Z_3 |
183.3 PD_3 |
183.4 TO_3 |
183.5 RP0_3 |
183.6 RP1_3 |
183.7 IRP_3 |
184 FSR_3 |
186 TRISB_3 |
18A PLATH_3 |
18B.0 RBIF_3 |
18B INTCON_3 |
18B.1 INT0IF_3 |
18B.2 TMR0IF_3 |
18B.3 RBIE_3 |
18B.4 INT0IE_3 |
18B.5 TMR0IE_3 |
18B.6 PEIE_3 |
18B.7 GIE_3 |
18C.0 RD |
18C EECON1 |
18C.1 WR |
18C.2 WREN |
18C.3 WRERR |
18C.4 FREE |
18C.7 EEPGD |
18D EECON2 |
0176 @delay_ms1 |
010B putchar |
003D @const312 |
008E MotorPatternSet |
0089 IntSSP |
018D MotorSet |
00D5 InitT0 |
0199 TimerSet |
01A0 TimerIf |
01B6 MotorStart |
00B7 IntT0 |
00E0 ReadAD |
01C8 main |
0049 @const10122 |
0114 @DIV88 |
0129 @PRINTF_U_494 |
0060 @const10152 |
0071 @const10203 |
01C8 @cinit |
Project Files: |
C:\PIC\jump\miho\DART.C |
C:\PIC\jump\miho\DART.h |
C:\PIC\jump\miho\lib\16F88.h |
C:\PIC\jump\miho\lib\16F88_Reg.h |
Compiler Settings: |
Processor: PIC16F88 |
Pointer Size: 8 |
ADC Range: 0-255 |
Opt Level: 9 |
Short,Int,Long: 1,8,16 |
Output Files: |
Errors: C:\PIC\jump\miho\DART.err |
INHX8: C:\PIC\jump\miho\DART.HEX |
Symbols: C:\PIC\jump\miho\DART.SYM |
List: C:\PIC\jump\miho\DART.LST |
Debug/COFF: C:\PIC\jump\miho\DART.cof |
Call Tree: C:\PIC\jump\miho\DART.tre |
Statistics: C:\PIC\jump\miho\DART.sta |
/roboti/solarni/2005/jump/miho/DART.cof |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/jump/miho/DART.err |
---|
0,0 → 1,0 |
No Errors |
/roboti/solarni/2005/jump/miho/DART.h |
---|
0,0 → 1,10 |
// DART01A verze programu 1.00 |
// (c)miho 2005 |
#include ".\lib\16F88.h" // standardni definice konstant |
#include ".\lib\16F88_Reg.h" // standardni definice vsech FSR |
#device adc=8 // AD prevodnik jen na 8 bitu |
#define xclock 4168000 // muj konkretni PIC je trochu rychlejsi |
#use delay(clock=xclock,restart_wdt) |
#fuses INTRC_IO, NOWDT, NOPUT, NOPROTECT, NOBROWNOUT, MCLR, NOLVP, NOCPD, NODEBUG, CCPB3 |
/roboti/solarni/2005/jump/miho/DART.sta |
---|
0,0 → 1,47 |
ROM used: 834 (20%) |
834 (20%) including unused fragments |
1 Average locations per line |
5 Average locations per statement |
RAM used: 25 (14%) at main() level |
42 (24%) worst case |
Lines Stmts % Files |
----- ----- --- ----- |
426 160 100 C:\PIC\jump\miho\DART.C |
11 0 0 C:\PIC\jump\miho\DART.h |
216 0 0 C:\PIC\jump\miho\lib\16F88.h |
315 0 0 C:\PIC\jump\miho\lib\16F88_Reg.h |
----- ----- |
1936 320 Total |
Page ROM % RAM Functions: |
---- --- --- --- ---------- |
0 23 3 1 @delay_ms1 |
0 9 1 2 putchar |
0 12 1 0 @const312 |
0 41 5 1 MotorPatternSet |
0 5 1 0 IntSSP |
0 12 1 1 MotorSet |
0 11 1 0 InitT0 |
0 7 1 2 TimerSet |
0 22 3 1 TimerIf |
0 18 2 1 MotorStart |
0 30 4 0 IntT0 |
0 43 5 1 ReadAD |
0 378 45 4 main |
0 23 3 0 @const10122 |
0 21 3 3 @DIV88 |
0 77 9 2 @PRINTF_U_494 |
0 17 2 0 @const10152 |
0 24 3 0 @const10203 |
Segment Used Free |
--------- ---- ---- |
00000-00003 4 0 |
00004-0003C 57 0 |
0003D-007FF 773 1214 |
00800-00FFF 0 2048 |
/roboti/solarni/2005/jump/miho/DART.tre |
---|
0,0 → 1,130 |
ÀÄDART |
ÃÄmain 0/378 Ram=4 |
³ ÃÄ??0?? |
³ ÃÄInitT0 0/11 Ram=0 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄ@const10122 0/23 Ram=0 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄ@const10122 0/23 Ram=0 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄ@delay_ms1 0/23 Ram=1 |
³ ÃÄMotorSet 0/12 Ram=1 |
³ ³ ÀÄMotorPatternSet 0/41 Ram=1 |
³ ³ ÀÄ@const312 0/12 Ram=0 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄ@const10152 0/17 Ram=0 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@delay_ms1 0/23 Ram=1 |
³ ÃÄTimerSet 0/7 Ram=2 |
³ ÃÄTimerIf 0/22 Ram=1 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄMotorStart 0/18 Ram=1 |
³ ³ ÀÄMotorPatternSet 0/41 Ram=1 |
³ ³ ÀÄ@const312 0/12 Ram=0 |
³ ÃÄTimerSet 0/7 Ram=2 |
³ ÃÄTimerIf 0/22 Ram=1 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄMotorSet 0/12 Ram=1 |
³ ³ ÀÄMotorPatternSet 0/41 Ram=1 |
³ ³ ÀÄ@const312 0/12 Ram=0 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄ@const10203 0/24 Ram=0 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄ@delay_ms1 0/23 Ram=1 |
³ ÃÄTimerSet 0/7 Ram=2 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄReadAD 0/43 Ram=1 |
³ ÃÄ@const10203 0/24 Ram=0 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄputchar 0/9 Ram=2 |
³ ÃÄ@PRINTF_U_494 0/77 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÃÄ@DIV88 0/21 Ram=3 |
³ ³ ÃÄputchar 0/9 Ram=2 |
³ ³ ÀÄputchar 0/9 Ram=2 |
³ ÃÄ@delay_ms1 0/23 Ram=1 |
³ ÃÄTimerIf 0/22 Ram=1 |
³ ÀÄMotorStart 0/18 Ram=1 |
³ ÀÄMotorPatternSet 0/41 Ram=1 |
³ ÀÄ@const312 0/12 Ram=0 |
ÃÄIntSSP 0/5 Ram=0 |
ÀÄIntT0 0/30 Ram=0 |
ÀÄMotorPatternSet 0/41 Ram=1 |
ÀÄ@const312 0/12 Ram=0 |
/roboti/solarni/2005/jump/miho/LIB/16f88.h |
---|
0,0 → 1,216 |
//////// Header file for the PIC16F88 |
#device PIC16F88 |
#nolist |
//////// Program memory: 4096x14 Data RAM: 368 Stack: 8 |
//////// I/O: 16 Analog Pins: 7 |
//////// Data EEPROM: 256 |
//////// C Scratch area: 77 ID Location: 2000 |
// Fuses: |
// Oscilator: LP - oscilator LP |
// XT - oscilator XT |
// HS - oscilator HS |
// EC_IO - externi vstup, RA6/CLKO je IO port |
// INTRC - RC oscilator, RA6/CLKO je CLKO, RA7/CLKI je IO port port, |
// INTRC_IO - RC oscilator, RA6 i RA7 je IO port |
// RC - ext RC, RA6/CLKO je CLKO |
// RC_IO - ext RC, RA6 je IO port |
// Watch: NOWDT - neni watchog |
// WDT - je watchdog |
// PUT: NOPUT - neni power up timer |
// PUT - je power up timer |
// MCLR: MCLR - RA5/MCLR je MCLR |
// NOMCLR - RA5/MCLR je IO port |
// BOR: BROWNOUT - BOR povolen |
// NOBROWNOUT - BOR zakazan |
// LVP: LVP - RB3/PGM je PGM |
// NOLVP - RB3/PGM je IO port |
// CPD: CPD - je ochrana EEPROM |
// NOCPD - neni ochrana EEPROM |
// WRT WRT - zakaz zapisu do pameti programu |
// NOWRT - povolen zapis do pameti programu |
// DEBUG: DEBUG - RB6 a RB7 jsou ICD port |
// NODEBUG - RB6 a RB7 jsou IO port |
// CCPMX: CCPB0 - CCP/PWM na RB0 |
// CCPB3 - CCP/PWM na RB3 |
// CP: PROTECT - pamet programu je chranena |
// NOPROTECT - pamet programu neni chranena |
// |
////////////////////////////////////////////////////////////////// I/O |
// Discrete I/O Functions: SET_TRIS_x(), OUTPUT_x(), INPUT_x(), |
// PORT_B_PULLUPS(), INPUT(), |
// OUTPUT_LOW(), OUTPUT_HIGH(), |
// OUTPUT_FLOAT(), OUTPUT_BIT() |
// Constants used to identify pins in the above are: |
#define PIN_A0 40 |
#define PIN_A1 41 |
#define PIN_A2 42 |
#define PIN_A3 43 |
#define PIN_A4 44 |
#define PIN_A5 45 |
#define PIN_A6 46 |
#define PIN_A7 47 |
#define PIN_B0 48 |
#define PIN_B1 49 |
#define PIN_B2 50 |
#define PIN_B3 51 |
#define PIN_B4 52 |
#define PIN_B5 53 |
#define PIN_B6 54 |
#define PIN_B7 55 |
////////////////////////////////////////////////////////////////// Useful defines |
#define FALSE 0 |
#define TRUE 1 |
#define BYTE int |
#define BOOLEAN short int |
#define getc getch |
#define fgetc getch |
#define getchar getch |
#define putc putchar |
#define fputc putchar |
#define fgets gets |
#define fputs puts |
////////////////////////////////////////////////////////////////// Control |
// Control Functions: RESET_CPU(), SLEEP(), RESTART_CAUSE() |
// Constants returned from RESTART_CAUSE() are: |
#define WDT_FROM_SLEEP 0 |
#define WDT_TIMEOUT 8 |
#define MCLR_FROM_SLEEP 16 |
#define NORMAL_POWER_UP 24 |
////////////////////////////////////////////////////////////////// Timer 0 |
// Timer 0 (AKA RTCC)Functions: SETUP_COUNTERS() or SETUP_TIMER0(), |
// SET_TIMER0() or SET_RTCC(), |
// GET_TIMER0() or GET_RTCC() |
// Constants used for SETUP_TIMER0() are: |
#define RTCC_INTERNAL 0 |
#define RTCC_EXT_L_TO_H 32 |
#define RTCC_EXT_H_TO_L 48 |
#define RTCC_DIV_1 8 |
#define RTCC_DIV_2 0 |
#define RTCC_DIV_4 1 |
#define RTCC_DIV_8 2 |
#define RTCC_DIV_16 3 |
#define RTCC_DIV_32 4 |
#define RTCC_DIV_64 5 |
#define RTCC_DIV_128 6 |
#define RTCC_DIV_256 7 |
#define RTCC_8_BIT 0 |
// Constants used for SETUP_COUNTERS() are the above |
// constants for the 1st param and the following for |
// the 2nd param: |
////////////////////////////////////////////////////////////////// WDT |
// Watch Dog Timer Functions: SETUP_WDT() or SETUP_COUNTERS() (see above) |
// RESTART_WDT() |
// |
#define WDT_18MS 8 |
#define WDT_36MS 9 |
#define WDT_72MS 10 |
#define WDT_144MS 11 |
#define WDT_288MS 12 |
#define WDT_576MS 13 |
#define WDT_1152MS 14 |
#define WDT_2304MS 15 |
////////////////////////////////////////////////////////////////// Timer 1 |
// Timer 1 Functions: SETUP_TIMER_1, GET_TIMER1, SET_TIMER1 |
// Constants used for SETUP_TIMER_1() are: |
// (or (via |) together constants from each group) |
#define T1_DISABLED 0 |
#define T1_INTERNAL 0x85 |
#define T1_EXTERNAL 0x87 |
#define T1_EXTERNAL_SYNC 0x83 |
#define T1_CLK_OUT 8 |
#define T1_DIV_BY_1 0 |
#define T1_DIV_BY_2 0x10 |
#define T1_DIV_BY_4 0x20 |
#define T1_DIV_BY_8 0x30 |
////////////////////////////////////////////////////////////////// Timer 2 |
// Timer 2 Functions: SETUP_TIMER_2, GET_TIMER2, SET_TIMER2 |
// Constants used for SETUP_TIMER_2() are: |
#define T2_DISABLED 0 |
#define T2_DIV_BY_1 4 |
#define T2_DIV_BY_4 5 |
#define T2_DIV_BY_16 6 |
////////////////////////////////////////////////////////////////// CCP |
// CCP Functions: SETUP_CCPx, SET_PWMx_DUTY |
// CCP Variables: CCP_x, CCP_x_LOW, CCP_x_HIGH |
// Constants used for SETUP_CCPx() are: |
#define CCP_OFF 0 |
#define CCP_CAPTURE_FE 4 |
#define CCP_CAPTURE_RE 5 |
#define CCP_CAPTURE_DIV_4 6 |
#define CCP_CAPTURE_DIV_16 7 |
#define CCP_COMPARE_SET_ON_MATCH 8 |
#define CCP_COMPARE_CLR_ON_MATCH 9 |
#define CCP_COMPARE_INT 0xA |
#define CCP_COMPARE_RESET_TIMER 0xB |
#define CCP_PWM 0xC |
#define CCP_PWM_PLUS_1 0x1c |
#define CCP_PWM_PLUS_2 0x2c |
#define CCP_PWM_PLUS_3 0x3c |
long CCP_1; |
#byte CCP_1 = 0x15 |
#byte CCP_1_LOW= 0x15 |
#byte CCP_1_HIGH= 0x16 |
////////////////////////////////////////////////////////////////// COMP |
// Comparator Variables: C1OUT, C2OUT |
// Constants used in setup_comparators() are: |
#define A0_A3_A1_A2 4 |
#define A0_A2_A1_A2 3 |
#define NC_NC_A1_A2 5 |
#define NC_NC_NC_NC 7 |
#define A0_VR_A1_VR 2 |
#define A3_VR_A2_VR 10 |
#define A0_A2_A1_A2_OUT_ON_A3_A4 6 |
#define A3_A2_A1_A2 9 |
//#bit C1OUT = 0x1f.6 |
//#bit C2OUT = 0x1f.7 |
////////////////////////////////////////////////////////////////// VREF |
// Constants used in setup_vref() are: |
#define VREF_LOW 0xa0 |
#define VREF_HIGH 0x80 |
#define VREF_A2 0x40 |
////////////////////////////////////////////////////////////////// INT |
// Interrupt Functions: ENABLE_INTERRUPTS(), DISABLE_INTERRUPTS(), |
// EXT_INT_EDGE() |
// |
// Constants used in EXT_INT_EDGE() are: |
#define L_TO_H 0x40 |
#define H_TO_L 0 |
// Constants used in ENABLE/DISABLE_INTERRUPTS() are: |
#define GLOBAL 0x0BC0 |
#define INT_RTCC 0x0B20 |
#define INT_RB 0x0B08 |
#define INT_EXT 0x0B10 |
#define INT_TBE 0x8C10 |
#define INT_RDA 0x8C20 |
#define INT_TIMER1 0x8C01 |
#define INT_TIMER2 0x8C02 |
#define INT_CCP1 0x8C04 |
#define INT_SSP 0x8C08 |
#define INT_COMP 0x8D40 |
#define INT_EEPROM 0x8D10 |
#define INT_TIMER0 0x0B20 |
#list |
/roboti/solarni/2005/jump/miho/LIB/16f88_reg.h |
---|
0,0 → 1,314 |
#nolist |
// |
// Komplete definition of all Special Feature Registers for CCS C compiler |
// |
// PIC16F87 |
// PIC16F88 |
// |
// (c)miho 2005 |
// |
// History: |
// |
// 1.00 First Version, not verified yet |
// SFR Registers in Memory Bank 0 |
// |
#byte INDF = 0x00 |
#byte TMR0 = 0x01 |
#byte PCL = 0x02 |
#byte STATUS = 0x03 |
#bit IRP = STATUS.7 |
#bit RP1 = STATUS.6 |
#bit RP0 = STATUS.5 |
#bit TO = STATUS.4 |
#bit PD = STATUS.3 |
#bit Z = STATUS.2 |
#bit DC = STATUS.1 |
#bit C = STATUS.0 |
#byte FSR = 0x04 |
#byte PORTA = 0x05 |
#byte PORTB = 0x06 |
#byte PCLATH = 0x0A |
#byte INTCON = 0x0B |
#bit GIE = INTCON.7 |
#bit PEIE = INTCON.6 |
#bit TMR0IE = INTCON.5 |
#bit INT0IE = INTCON.4 |
#bit RBIE = INTCON.3 |
#bit TMR0IF = INTCON.2 |
#bit INT0IF = INTCON.1 |
#bit RBIF = INTCON.0 |
#byte PIR1 = 0x0C |
#bit ADIF = PIR1.6 |
#bit RCIF = PIR1.5 |
#bit TXIF = PIR1.4 |
#bit SSPIF = PIR1.3 |
#bit CCP1IF = PIR1.2 |
#bit TMR2IF = PIR1.1 |
#bit TMR1IF = PIR1.0 |
#byte PIR2 = 0x0D |
#bit OSFIF = PIR2.7 |
#bit CMIF = PIR2.6 |
#bit EEIF = PIR2.4 |
#byte TMR1L = 0x0E |
#byte TMR1H = 0x0F |
#byte T1CON = 0x10 |
#bit T1RUN = T1CON.6 |
#bit T1CKPS1 = T1CON.5 |
#bit T1CKPS0 = T1CON.4 |
#bit T1OSCEN = T1CON.3 |
#bit T1SYNC = T1CON.2 |
#bit TMR1CS = T1CON.1 |
#bit TMR1ON = T1CON.0 |
#byte TMR2 = 0x11 |
#byte T2CON = 0x12 |
#bit TOUTPS3 = T2CON.6 |
#bit TOUTPS2 = T2CON.5 |
#bit TOUTPS1 = T2CON.4 |
#bit TOUTPS0 = T2CON.3 |
#bit TMR2ON = T2CON.2 |
#bit T2CKPS1 = T2CON.1 |
#bit T2CKPS0 = T2CON.0 |
#byte SSPBUF = 0x13 |
#byte SSPCON1 = 0x14 |
#bit WCOL = SSPCON1.7 |
#bit SSPOV = SSPCON1.6 |
#bit SSPEN = SSPCON1.5 |
#bit CKP = SSPCON1.4 |
#bit SSPM3 = SSPCON1.3 |
#bit SSPM2 = SSPCON1.2 |
#bit SSPM1 = SSPCON1.1 |
#bit SSPM0 = SSPCON1.0 |
#byte CCPR1L = 0x15 |
#byte CCPR1H = 0x16 |
#byte CCP1CON = 0x17 |
#bit CCP1X = CCP1CON.5 |
#bit CCP1Y = CCP1CON.4 |
#bit CCP1M3 = CCP1CON.3 |
#bit CCP1M2 = CCP1CON.2 |
#bit CCP1M1 = CCP1CON.1 |
#bit CCP1M0 = CCP1CON.0 |
#byte RCSTA = 0x18 |
#bit SPEN = RCSTA.7 |
#bit RX9 = RCSTA.6 |
#bit SREN = RCSTA.5 |
#bit CREN = RCSTA.4 |
#bit ADDEN = RCSTA.3 |
#bit FERR = RCSTA.2 |
#bit OERR = RCSTA.1 |
#bit RX9D = RCSTA.0 |
#byte TXREG = 0x19 |
#byte RCREG = 0x1A |
#byte ADRESH = 0x1E // F88 only |
#byte ADCON0 = 0x1F // F88 only |
#bit ADCS1 = ADCON0.7 |
#bit ADCS0 = ADCON0.6 |
#bit CHS2 = ADCON0.5 |
#bit CHS1 = ADCON0.4 |
#bit CHS0 = ADCON0.3 |
#bit GO = ADCON0.2 |
#bit ADON = ADCON0.0 |
// SFR Registers in Memory Bank 1 |
// |
#byte INDF_1 = 0x80 // miror |
#byte OPTION = 0x81 |
#bit RBPU = OPTION.7 |
#bit INTEDG = OPTION.6 |
#bit T0CS = OPTION.5 |
#bit T0SE = OPTION.4 |
#bit PSA = OPTION.3 |
#bit PS2 = OPTION.2 |
#bit PS1 = OPTION.1 |
#bit PS0 = OPTION.0 |
#byte PCL = 0x82 |
#byte STATUS_1 = 0x83 // mirror |
#bit IRP_1 = STATUS_1.7 |
#bit RP1_1 = STATUS_1.6 |
#bit RP0_1 = STATUS_1.5 |
#bit TO_1 = STATUS_1.4 |
#bit PD_1 = STATUS_1.3 |
#bit Z_1 = STATUS_1.2 |
#bit DC_1 = STATUS_1.1 |
#bit C_1 = STATUS_1.0 |
#byte FSR = 0x84 |
#byte TRISA = 0x85 |
#byte TRISB = 0x86 |
#byte PCLATH_1 = 0x8A // mirror |
#byte INTCON_1 = 0x8B // mirror |
#bit GIE_1 = INTCON_1.7 |
#bit PEIE_1 = INTCON_1.6 |
#bit TMR0IE_1 = INTCON_1.5 |
#bit INT0IE_1 = INTCON_1.4 |
#bit RBIE_1 = INTCON_1.3 |
#bit TMR0IF_1 = INTCON_1.2 |
#bit INT0IF_1 = INTCON_1.1 |
#bit RBIF_1 = INTCON_1.0 |
#byte PIE1 = 0x8C |
#bit ADIE = PIE1.6 |
#bit RCIE = PIE1.5 |
#bit TXIE = PIE1.4 |
#bit SSPIE = PIE1.3 |
#bit CCP1IE = PIE1.2 |
#bit TMR2IE = PIE1.1 |
#bit TMR1IE = PIE1.0 |
#byte PIE2 = 0x8D |
#bit OSFIE = PIE2.7 |
#bit CMIE = PIE2.6 |
#bit EEIE = PIE2.4 |
#byte PCON = 0x8E |
#bit POR = PCON.1 |
#bit BOR = PCON.0 |
#byte OSCCON = 0x8F |
#bit IRCF2 = OSCCON.6 |
#bit IRCF1 = OSCCON.5 |
#bit IRCF0 = OSCCON.4 |
#bit OSTS = OSCCON.3 |
#bit IOFS = OSCCON.2 |
#bit SCS1 = OSCCON.1 |
#bit SCS0 = OSCCON.0 |
#byte OSCTUNE = 0x90 |
#bit TUN5 = OSCTUNE.5 |
#bit TUN4 = OSCTUNE.4 |
#bit TUN3 = OSCTUNE.3 |
#bit TUN2 = OSCTUNE.2 |
#bit TUN1 = OSCTUNE.1 |
#bit TUN0 = OSCTUNE.0 |
#byte PR2 = 0x92 |
#byte SSPADD = 0x93 |
#byte SSPSTAT = 0x94 |
#bit SMP = SSPSTAT.7 |
#bit CKE = SSPSTAT.6 |
#bit DA = SSPSTAT.5 |
#bit P = SSPSTAT.4 |
#bit S = SSPSTAT.3 |
#bit RW = SSPSTAT.2 |
#bit UA = SSPSTAT.1 |
#bit BF = SSPSTAT.0 |
#byte TXSTA = 0x98 |
#bit CSRC = TXSTA.7 |
#bit TX9 = TXSTA.6 |
#bit TXEN = TXSTA.5 |
#bit SYNC = TXSTA.4 |
#bit BRGH = TXSTA.2 |
#bit TRMT = TXSTA.1 |
#bit TX9D = TXSTA.0 |
#byte SPBRG = 0x99 |
#byte ANSEL = 0x9B // F88 only |
#bit ANS6 = ANSEL.6 |
#bit ANS5 = ANSEL.5 |
#bit ANS4 = ANSEL.4 |
#bit ANS3 = ANSEL.3 |
#bit ANS2 = ANSEL.2 |
#bit ANS1 = ANSEL.1 |
#bit ANS0 = ANSEL.0 |
#byte CMCON = 0x9C |
#bit C2OUT = CMCON.7 |
#bit C1OUT = CMCON.6 |
#bit C2INV = CMCON.5 |
#bit C1INV = CMCON.4 |
#bit CIS = CMCON.3 |
#bit CM2 = CMCON.2 |
#bit CM1 = CMCON.1 |
#bit CM0 = CMCON.0 |
#byte CVRCON = 0x9D |
#bit CVREN = CVRCON.7 |
#bit CVROE = CVRCON.6 |
#bit CVRR = CVRCON.5 |
#bit CVR3 = CVRCON.3 |
#bit CVR2 = CVRCON.2 |
#bit CVR1 = CVRCON.1 |
#bit CVR0 = CVRCON.0 |
#byte ADRESL = 0x9E // F88 only |
#byte ADCON1 = 0x9F // F88 only |
#bit ADFM = ADCON1.7 |
#bit ADCS2 = ADCON1.6 |
#bit VCFG1 = ADCON1.5 |
#bit VCFG0 = ADCON1.4 |
// SFR Registers in Memory Bank 2 |
// |
#byte INDF_2 = 0x100 // mirror |
#byte TMR0_2 = 0x101 // mirror |
#byte PCL_2 = 0x102 // mirror |
#byte STATUS_2 = 0x103 // mirror |
#bit IRP_2 = STATUS_2.7 |
#bit RP1_2 = STATUS_2.6 |
#bit RP0_2 = STATUS_2.5 |
#bit TO_2 = STATUS_2.4 |
#bit PD_2 = STATUS_2.3 |
#bit Z_2 = STATUS_2.2 |
#bit DC_2 = STATUS_2.1 |
#bit C_2 = STATUS_2.0 |
#byte FSR_2 = 0x104 // mirror |
#byte WDTCON = 0x105 |
#bit WDTPS3 = WDTCON.4 |
#bit WDTPS2 = WDTCON.3 |
#bit WDTPS1 = WDTCON.2 |
#bit WDTPS0 = WDTCON.1 |
#bit SWDTEN = WDTCON.0 |
#byte PORTB_2 = 0x106 // mirror |
#byte PCLATH_2 = 0x10A // mirror |
#byte INTCON_2 = 0x10B // mirror |
#bit GIE_2 = INTCON_2.7 |
#bit PEIE_2 = INTCON_2.6 |
#bit TMR0IE_2 = INTCON_2.5 |
#bit INT0IE_2 = INTCON_2.4 |
#bit RBIE_2 = INTCON_2.3 |
#bit TMR0IF_2 = INTCON_2.2 |
#bit INT0IF_2 = INTCON_2.1 |
#bit RBIF_2 = INTCON_2.0 |
#byte EEDATA = 0x10C |
#byte EEADR = 0x10D |
#byte EEDATH = 0x10E |
#byte EEADRH = 0x10F |
// SFR Registers in Memory Bank 3 |
// |
#byte INDF_3 = 0x180 // mirror |
#byte OPTION_3 = 0x181 // mirror |
#bit RBPU_3 = OPTION_3.7 |
#bit INTEDG_3 = OPTION_3.6 |
#bit T0CS_3 = OPTION_3.5 |
#bit T0SE_3 = OPTION_3.4 |
#bit PSA_3 = OPTION_3.3 |
#bit PS2_3 = OPTION_3.2 |
#bit PS1_3 = OPTION_3.1 |
#bit PS0_3 = OPTION_3.0 |
#byte PCL_3 = 0x182 // mirror |
#byte STATUS_3 = 0x183 // mirror |
#bit IRP_3 = STATUS_3.7 |
#bit RP1_3 = STATUS_3.6 |
#bit RP0_3 = STATUS_3.5 |
#bit TO_3 = STATUS_3.4 |
#bit PD_3 = STATUS_3.3 |
#bit Z_3 = STATUS_3.2 |
#bit DC_3 = STATUS_3.1 |
#bit C_3 = STATUS_3.0 |
#byte FSR_3 = 0x184 // mirror |
#byte TRISB_3 = 0x186 // mirror |
#byte PLATH_3 = 0x18A // mirror |
#byte INTCON_3 = 0x18B // mirror |
#bit GIE_3 = INTCON_3.7 |
#bit PEIE_3 = INTCON_3.6 |
#bit TMR0IE_3 = INTCON_3.5 |
#bit INT0IE_3 = INTCON_3.4 |
#bit RBIE_3 = INTCON_3.3 |
#bit TMR0IF_3 = INTCON_3.2 |
#bit INT0IF_3 = INTCON_3.1 |
#bit RBIF_3 = INTCON_3.0 |
#byte EECON1 = 0x18C |
#bit EEPGD = EECON1.7 |
#bit FREE = EECON1.4 |
#bit WRERR = EECON1.3 |
#bit WREN = EECON1.2 |
#bit WR = EECON1.1 |
#bit RD = EECON1.0 |
#byte EECON2 = 0x18D |
#list |
/roboti/solarni/2005/jump/miho/LIB/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/jump/miho/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/jump/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/jumpk/menic.BAK |
---|
0,0 → 1,7 |
#include <16F88.h> |
#device adc=8 |
#fuses WDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, NOWRT, \ |
NODEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
#use delay(clock=4000000, RESTART_WDT) |
/roboti/solarni/2005/jumpk/menic.HEX |
---|
0,0 → 1,44 |
:1000000000308A005F280000FF00030E8301A1007A |
:100010007F08A0000A08A8008A01A00E0408A20018 |
:100020007708A3007808A4007908A5007A08A6003C |
:100030007B08A700831383128C308400801D222844 |
:100040008C193528220884002308F7002408F800BA |
:100050002508F9002608FA002708FB0028088A006E |
:10006000210E8300FF0E7F0E09008A1143280A101B |
:100070008A100A118207023406340E341E343E34CC |
:100080007E34FE34FF34290893008C118A11222813 |
:100090002F308400000803195E280130F800BF30BB |
:1000A000F7006400F70B5128F80B4F284A30F7008F |
:1000B000F70B582800006400800B4D2800348401A1 |
:1000C0001F30830583161F129F121B0880399B0067 |
:1000D00007309C001C0883120D13603083168F00BC |
:1000E0000108C03981000E30F7000730831281010A |
:1000F000813084000008F03907388000640000086F |
:10010000F739F719F0397704800083161F129F1210 |
:100110001B088039D2389B001F1383121F179F17AB |
:1001200083169F1383121F149412831606118614CC |
:1001300006120030831294008316940083129001FB |
:10014000073083169C00050864000230F700F70BA7 |
:10015000A728000000001C0883120D1383169D01C0 |
:1001600086118312861183160611831206118316D7 |
:100170008610831286102030F8001F08C7397804D3 |
:100180009F00950183168611831286110C3097000B |
:100190000030F80004389200643083169200623018 |
:1001A0008F0002308312950083168610831286100A |
:1001B0006430AF00482083168610831286141430F2 |
:1001C000AF0048201F151F19E3281E08783C031CA8 |
:1001D000D42883168610831286100830F8001F0872 |
:1001E000C73978049F0064002030F700F70BF62829 |
:1001F000000000001F151F19FB281E08F700031040 |
:10020000F70C7708283EAC0095010030F800043860 |
:1002100092002C088316920014308312950032301D |
:10022000AE00FA30AF004820AE0B112983169401BE |
:100230002230831294000230A90029089300C030B4 |
:100240008B0483168C158312AA012A08073C031C11 |
:1002500032292A083720F800A9003730AF0048209B |
:10026000AA0A2529831694018312940183168C11FE |
:100270000611831206150A30AE008230AF00482006 |
:10028000AE0B3D2983160611831206114629630021 |
:04400E003C2FFC3F08 |
:00000001FF |
;PIC16F88 |
/roboti/solarni/2005/jumpk/menic.LST |
---|
0,0 → 1,463 |
CCS PCM C Compiler, Version 3.221, 27853 18-IX-05 23:22 |
Filename: C:\PIC\jumpk\menic.LST |
ROM used: 328 words (8%) |
Largest free fragment is 2048 |
RAM used: 21 (12%) at main() level |
21 (12%) worst case |
Stack: 2 worst case (1 in main + 1 for interrupts) |
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 05F |
0003: NOP |
0004: MOVWF 7F |
0005: SWAPF 03,W |
0006: CLRF 03 |
0007: MOVWF 21 |
0008: MOVF 7F,W |
0009: MOVWF 20 |
000A: MOVF 0A,W |
000B: MOVWF 28 |
000C: CLRF 0A |
000D: SWAPF 20,F |
000E: MOVF 04,W |
000F: MOVWF 22 |
0010: MOVF 77,W |
0011: MOVWF 23 |
0012: MOVF 78,W |
0013: MOVWF 24 |
0014: MOVF 79,W |
0015: MOVWF 25 |
0016: MOVF 7A,W |
0017: MOVWF 26 |
0018: MOVF 7B,W |
0019: MOVWF 27 |
001A: BCF 03.7 |
001B: BCF 03.5 |
001C: MOVLW 8C |
001D: MOVWF 04 |
001E: BTFSS 00.3 |
001F: GOTO 022 |
0020: BTFSC 0C.3 |
0021: GOTO 035 |
0022: MOVF 22,W |
0023: MOVWF 04 |
0024: MOVF 23,W |
0025: MOVWF 77 |
0026: MOVF 24,W |
0027: MOVWF 78 |
0028: MOVF 25,W |
0029: MOVWF 79 |
002A: MOVF 26,W |
002B: MOVWF 7A |
002C: MOVF 27,W |
002D: MOVWF 7B |
002E: MOVF 28,W |
002F: MOVWF 0A |
0030: SWAPF 21,W |
0031: MOVWF 03 |
0032: SWAPF 7F,F |
0033: SWAPF 7F,W |
0034: RETFIE |
0035: BCF 0A.3 |
0036: GOTO 043 |
.................... //---------------------------- |
.................... // Sagitta - 9. 9. 2005 |
.................... //---------------------------- |
.................... |
.................... #include ".\menic.h" |
.................... #include <16F88.h> |
.................... //////// Standard Header file for the PIC16F88 device //////////////// |
.................... #device PIC16F88 |
.................... #list |
.................... |
.................... |
.................... #device adc=8 |
.................... |
.................... #fuses WDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, NOWRT, \ |
.................... NODEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
.................... |
.................... #use delay(clock=4000000, RESTART_WDT) |
* |
0048: MOVLW 2F |
0049: MOVWF 04 |
004A: MOVF 00,W |
004B: BTFSC 03.2 |
004C: GOTO 05E |
004D: MOVLW 01 |
004E: MOVWF 78 |
004F: MOVLW BF |
0050: MOVWF 77 |
0051: CLRWDT |
0052: DECFSZ 77,F |
0053: GOTO 051 |
0054: DECFSZ 78,F |
0055: GOTO 04F |
0056: MOVLW 4A |
0057: MOVWF 77 |
0058: DECFSZ 77,F |
0059: GOTO 058 |
005A: NOP |
005B: CLRWDT |
005C: DECFSZ 00,F |
005D: GOTO 04D |
005E: RETLW 00 |
.................... |
.................... |
.................... |
.................... #define RAZENI 55 // Po kolika ms se bude menit rychlost pri rozjizdeni |
.................... #define REFSTART 120 // Hodnota komparatoru odpovidajici 1,7V pri |
.................... // nezatizenych solarnich clancich |
.................... #define DUTY1 2 // Delka sepnuti PWM v us pro sero |
.................... #define DUTY2 20 // Delka sepnuti PWM v us pro jednu zarovku 500W |
.................... |
.................... // Tabulka napeti vuci referencni LED (cca 1,7V) |
.................... // hodnota prevodniku / napeti na clancich |
.................... // 250 1,6V |
.................... // 200 2,1V |
.................... // 150 2,8V |
.................... // 145 2,9V |
.................... // 120 3,6V |
.................... // 110 4,0V |
.................... |
.................... #define MENIC PIN_B3 // Spinani tranzistoru menice |
.................... #define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
.................... #define MOTOR PIN_B2 // Spinani tranzistoru motoru |
.................... |
.................... #byte SSPBUF = 0x13 // Registry jednotky SSP |
.................... #byte SSPCON1 = 0x14 |
.................... #byte SSPSTAT = 0x94 |
.................... |
.................... // Vzorky pro generovani PWM pomoci SSP |
.................... unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
.................... unsigned int8 MotorPattern; |
.................... |
.................... #INT_SSP |
.................... void IntSSP() // Vyvola se po odeslani znaku pres SSP |
.................... { |
.................... SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
* |
0043: MOVF 29,W |
0044: MOVWF 13 |
.................... } |
.................... |
0045: BCF 0C.3 |
0046: BCF 0A.3 |
0047: GOTO 022 |
.................... void main() |
.................... { |
* |
005F: CLRF 04 |
0060: MOVLW 1F |
0061: ANDWF 03,F |
0062: BSF 03.5 |
0063: BCF 1F.4 |
0064: BCF 1F.5 |
0065: MOVF 1B,W |
0066: ANDLW 80 |
0067: MOVWF 1B |
0068: MOVLW 07 |
0069: MOVWF 1C |
006A: MOVF 1C,W |
006B: BCF 03.5 |
006C: BCF 0D.6 |
006D: MOVLW 60 |
006E: BSF 03.5 |
006F: MOVWF 0F |
.................... int8 n; |
.................... int8 cekej; |
.................... int8 perioda; |
.................... int8 rozjezd; |
.................... |
.................... // Inicializace casovacu a prevodniku |
.................... setup_timer_0(RTCC_INTERNAL);setup_wdt(WDT_1152MS); |
0070: MOVF 01,W |
0071: ANDLW C0 |
0072: MOVWF 01 |
0073: MOVLW 0E |
0074: MOVWF 77 |
0075: MOVLW 07 |
0076: BCF 03.5 |
0077: CLRF 01 |
0078: MOVLW 81 |
0079: MOVWF 04 |
007A: MOVF 00,W |
007B: ANDLW F0 |
007C: IORLW 07 |
007D: MOVWF 00 |
007E: CLRWDT |
007F: MOVF 00,W |
0080: ANDLW F7 |
0081: BTFSC 77.3 |
0082: ANDLW F0 |
0083: IORWF 77,W |
0084: MOVWF 00 |
.................... setup_adc_ports(ADC_CLOCK_INTERNAL|sAN1|sAN4|VSS_VDD); |
0085: BSF 03.5 |
0086: BCF 1F.4 |
0087: BCF 1F.5 |
0088: MOVF 1B,W |
0089: ANDLW 80 |
008A: IORLW D2 |
008B: MOVWF 1B |
.................... setup_adc(ADC_CLOCK_INTERNAL); |
008C: BCF 1F.6 |
008D: BCF 03.5 |
008E: BSF 1F.6 |
008F: BSF 1F.7 |
0090: BSF 03.5 |
0091: BCF 1F.7 |
0092: BCF 03.5 |
0093: BSF 1F.0 |
.................... setup_spi(FALSE); |
0094: BCF 14.5 |
0095: BSF 03.5 |
0096: BCF 06.2 |
0097: BSF 06.1 |
0098: BCF 06.4 |
0099: MOVLW 00 |
009A: BCF 03.5 |
009B: MOVWF 14 |
009C: BSF 03.5 |
009D: MOVWF 14 |
.................... setup_timer_1(T1_DISABLED); |
009E: BCF 03.5 |
009F: CLRF 10 |
.................... setup_comparator(NC_NC_NC_NC); |
00A0: MOVLW 07 |
00A1: BSF 03.5 |
00A2: MOVWF 1C |
00A3: MOVF 05,W |
00A4: CLRWDT |
00A5: MOVLW 02 |
00A6: MOVWF 77 |
00A7: DECFSZ 77,F |
00A8: GOTO 0A7 |
00A9: NOP |
00AA: NOP |
00AB: MOVF 1C,W |
00AC: BCF 03.5 |
00AD: BCF 0D.6 |
.................... setup_vref(FALSE); |
00AE: BSF 03.5 |
00AF: CLRF 1D |
.................... |
.................... output_low(MENIC); // Vsechno zastav |
00B0: BCF 06.3 |
00B1: BCF 03.5 |
00B2: BCF 06.3 |
.................... output_low(MOTOR); |
00B3: BSF 03.5 |
00B4: BCF 06.2 |
00B5: BCF 03.5 |
00B6: BCF 06.2 |
.................... output_low(REFPWR); |
00B7: BSF 03.5 |
00B8: BCF 06.1 |
00B9: BCF 03.5 |
00BA: BCF 06.1 |
.................... |
.................... set_adc_channel(4); // Vyber AD kanal pro pomerne mereni napeti |
00BB: MOVLW 20 |
00BC: MOVWF 78 |
00BD: MOVF 1F,W |
00BE: ANDLW C7 |
00BF: IORWF 78,W |
00C0: MOVWF 1F |
.................... set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
00C1: CLRF 15 |
.................... setup_ccp1(CCP_PWM); // PWM pro zatizeni clanku v seru |
00C2: BSF 03.5 |
00C3: BCF 06.3 |
00C4: BCF 03.5 |
00C5: BCF 06.3 |
00C6: MOVLW 0C |
00C7: MOVWF 17 |
.................... setup_timer_2(T2_DIV_BY_1,100,1); // perioda PWM |
00C8: MOVLW 00 |
00C9: MOVWF 78 |
00CA: IORLW 04 |
00CB: MOVWF 12 |
00CC: MOVLW 64 |
00CD: BSF 03.5 |
00CE: MOVWF 12 |
.................... |
.................... setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
00CF: MOVLW 62 |
00D0: MOVWF 0F |
.................... |
.................... // jsme v depu? |
.................... set_pwm1_duty(DUTY1); // delka sepnuti |
00D1: MOVLW 02 |
00D2: BCF 03.5 |
00D3: MOVWF 15 |
.................... do |
.................... { |
.................... output_low(REFPWR); |
00D4: BSF 03.5 |
00D5: BCF 06.1 |
00D6: BCF 03.5 |
00D7: BCF 06.1 |
.................... delay_ms(100); |
00D8: MOVLW 64 |
00D9: MOVWF 2F |
00DA: CALL 048 |
.................... output_high(REFPWR); // zapni napajeni napetove reference (LED) |
00DB: BSF 03.5 |
00DC: BCF 06.1 |
00DD: BCF 03.5 |
00DE: BSF 06.1 |
.................... delay_ms(20); |
00DF: MOVLW 14 |
00E0: MOVWF 2F |
00E1: CALL 048 |
.................... } while (read_adc()>REFSTART); // Odkryl starter clanky? |
00E2: BSF 1F.2 |
00E3: BTFSC 1F.2 |
00E4: GOTO 0E3 |
00E5: MOVF 1E,W |
00E6: SUBLW 78 |
00E7: BTFSS 03.0 |
00E8: GOTO 0D4 |
.................... output_low(REFPWR); |
00E9: BSF 03.5 |
00EA: BCF 06.1 |
00EB: BCF 03.5 |
00EC: BCF 06.1 |
.................... |
.................... // Precti trimr |
.................... set_adc_channel(1); // Zjisteni nastaveni trimru PWM |
00ED: MOVLW 08 |
00EE: MOVWF 78 |
00EF: MOVF 1F,W |
00F0: ANDLW C7 |
00F1: IORWF 78,W |
00F2: MOVWF 1F |
.................... delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
00F3: CLRWDT |
00F4: MOVLW 20 |
00F5: MOVWF 77 |
00F6: DECFSZ 77,F |
00F7: GOTO 0F6 |
00F8: NOP |
00F9: NOP |
.................... perioda=(read_adc()>>1)+40; // rozsah: 40 az 167 |
00FA: BSF 1F.2 |
00FB: BTFSC 1F.2 |
00FC: GOTO 0FB |
00FD: MOVF 1E,W |
00FE: MOVWF 77 |
00FF: BCF 03.0 |
0100: RRF 77,F |
0101: MOVF 77,W |
0102: ADDLW 28 |
0103: MOVWF 2C |
.................... set_pwm1_duty(0); // Zastav PWM, aby slo zmenit periodu |
0104: CLRF 15 |
.................... setup_timer_2(T2_DIV_BY_1,perioda,1); // Zapis nastavenou periodu |
0105: MOVLW 00 |
0106: MOVWF 78 |
0107: IORLW 04 |
0108: MOVWF 12 |
0109: MOVF 2C,W |
010A: BSF 03.5 |
010B: MOVWF 12 |
.................... |
.................... // nabíjíme |
.................... set_pwm1_duty(DUTY2); // delka sepnuti PWM |
010C: MOVLW 14 |
010D: BCF 03.5 |
010E: MOVWF 15 |
.................... delay_ms(12500); |
010F: MOVLW 32 |
0110: MOVWF 2E |
0111: MOVLW FA |
0112: MOVWF 2F |
0113: CALL 048 |
0114: DECFSZ 2E,F |
0115: GOTO 111 |
.................... |
.................... // rozjezd |
.................... SSPSTAT = 0; // inicializace SPI jednotky |
0116: BSF 03.5 |
0117: CLRF 14 |
.................... SSPCON1 = 0x22; // SPI OSC/64 |
0118: MOVLW 22 |
0119: BCF 03.5 |
011A: MOVWF 14 |
.................... MotorPattern=Pattern[0]; |
011B: MOVLW 02 |
011C: MOVWF 29 |
.................... SSPBUF=MotorPattern; // 1. data pro vyslani |
011D: MOVF 29,W |
011E: MOVWF 13 |
.................... enable_interrupts(global); |
011F: MOVLW C0 |
0120: IORWF 0B,F |
.................... enable_interrupts(INT_SSP); // az budou vyslana, prijde preruseni |
0121: BSF 03.5 |
0122: BSF 0C.3 |
.................... |
.................... for(n=0; n<=7; n++) // razeni osmi rychlostnich stupnu |
0123: BCF 03.5 |
0124: CLRF 2A |
0125: MOVF 2A,W |
0126: SUBLW 07 |
0127: BTFSS 03.0 |
0128: GOTO 132 |
.................... { |
.................... MotorPattern=Pattern[n]; |
0129: MOVF 2A,W |
012A: CALL 037 |
012B: MOVWF 78 |
012C: MOVWF 29 |
.................... delay_ms(RAZENI); // Pockej na dalsi razeni |
012D: MOVLW 37 |
012E: MOVWF 2F |
012F: CALL 048 |
.................... }; |
0130: INCF 2A,F |
0131: GOTO 125 |
.................... SSPSTAT = 0; |
0132: BSF 03.5 |
0133: CLRF 14 |
.................... SSPCON1 = 0; // SPI stop |
0134: BCF 03.5 |
0135: CLRF 14 |
.................... disable_interrupts(INT_SSP); // zastav preruseni od SSP |
0136: BSF 03.5 |
0137: BCF 0C.3 |
.................... |
.................... // jedem co to da |
.................... output_high(MOTOR); |
0138: BCF 06.2 |
0139: BCF 03.5 |
013A: BSF 06.2 |
.................... delay_ms(1300); // dyl jak 1,3s bysme nemeli jet :) |
013B: MOVLW 0A |
013C: MOVWF 2E |
013D: MOVLW 82 |
013E: MOVWF 2F |
013F: CALL 048 |
0140: DECFSZ 2E,F |
0141: GOTO 13D |
.................... output_low(MOTOR); // zastav motor |
0142: BSF 03.5 |
0143: BCF 06.2 |
0144: BCF 03.5 |
0145: BCF 06.2 |
.................... // Menic je stale zapnut a zatezuje clanky |
.................... |
.................... while(TRUE); // Cekej, dokud se neztrati svetlo, |
0146: GOTO 146 |
.................... // nebo prijde WatchDog |
.................... } |
.................... |
0147: SLEEP |
Configuration Fuses: |
Word 1: 2F3C WDT NOPUT MCLR NOBROWNOUT NOLVP NOCPD NOWRT NODEBUG CCPB3 NOPROTECT INTRC_IO |
Word 2: 3FFC NOFCMEN NOIESO |
/roboti/solarni/2005/jumpk/menic.PJT |
---|
0,0 → 1,53 |
[PROJECT] |
Target=menic.HEX |
Development_Mode= |
Processor=0x688F |
ToolSuite=CCS |
[Directories] |
Include=C:\Program Files\PICC\devices\ |
Library= |
LinkerScript= |
[Target Data] |
FileList=menic.c; |
BuildTool=C-COMPILER |
OptionString=+FM |
AdditionalOptionString= |
BuildRequired=1 |
[menic.c] |
Type=4 |
Path= |
FileList= |
BuildTool= |
OptionString= |
AdditionalOptionString= |
[mru-list] |
1=menic.c |
[Windows] |
0=0000 menic.c 0 0 796 451 3 0 |
[Opened Files] |
1=D:\KAKLIK\programy\PIC_C\roboti\solarni\2005\jumpk\menic.c |
2=C:\Program Files\PICC\devices\16F88.h |
3= |
4= |
5= |
[debugperif] |
selected=Analog/Digital Conv |
[debugram] |
autoread=1 |
[debugeedata] |
autoread=1 |
[debugbreak] |
count=0 |
[pcwdebug] |
watchcol0=75 |
[debugwatch] |
count=0 |
[debugexpr] |
expr= |
sideeffects=0 |
/roboti/solarni/2005/jumpk/menic.SYM |
---|
0,0 → 1,58 |
013 SSPBUF |
014 SSPCON1 |
015-016 CCP_1 |
015 CCP_1_LOW |
016 CCP_1_HIGH |
020 @INTERRUPT_AREA |
021 @INTERRUPT_AREA |
022 @INTERRUPT_AREA |
023 @INTERRUPT_AREA |
024 @INTERRUPT_AREA |
025 @INTERRUPT_AREA |
026 @INTERRUPT_AREA |
027 @INTERRUPT_AREA |
028 @INTERRUPT_AREA |
029 MotorPattern |
02A main.n |
02B main.cekej |
02C main.perioda |
02D main.rozjezd |
02E main.@SCRATCH |
02F @delay_ms1.P1 |
02F main.@SCRATCH |
077 @SCRATCH |
078 @SCRATCH |
078 _RETURN_ |
079 @SCRATCH |
07A @SCRATCH |
07B @SCRATCH |
094 SSPSTAT |
09C.6 C1OUT |
09C.7 C2OUT |
0048 @delay_ms1 |
0037 @const30 |
0043 IntSSP |
005F main |
005F @cinit |
Project Files: |
C:\PIC\jumpk\menic.c |
C:\PIC\jumpk\menic.h |
C:\Program Files\PICC\devices\16F88.h |
Compiler Settings: |
Processor: PIC16F88 |
Pointer Size: 8 |
ADC Range: 0-255 |
Opt Level: 9 |
Short,Int,Long: 1,8,16 |
Output Files: |
Errors: C:\PIC\jumpk\menic.err |
INHX8: C:\PIC\jumpk\menic.HEX |
Symbols: C:\PIC\jumpk\menic.SYM |
List: C:\PIC\jumpk\menic.LST |
Debug/COFF: C:\PIC\jumpk\menic.cof |
Call Tree: C:\PIC\jumpk\menic.tre |
Statistics: C:\PIC\jumpk\menic.sta |
/roboti/solarni/2005/jumpk/menic.c |
---|
0,0 → 1,114 |
//---------------------------- |
// Sagitta - 9. 9. 2005 |
//---------------------------- |
#include ".\menic.h" |
#define RAZENI 55 // Po kolika ms se bude menit rychlost pri rozjizdeni |
#define REFSTART 120 // Hodnota komparatoru odpovidajici 1,7V pri |
// nezatizenych solarnich clancich |
#define DUTY1 2 // Delka sepnuti PWM v us pro sero |
#define DUTY2 20 // Delka sepnuti PWM v us pro jednu zarovku 500W |
// Tabulka napeti vuci referencni LED (cca 1,7V) |
// hodnota prevodniku / napeti na clancich |
// 250 1,6V |
// 200 2,1V |
// 150 2,8V |
// 145 2,9V |
// 120 3,6V |
// 110 4,0V |
#define MENIC PIN_B3 // Spinani tranzistoru menice |
#define REFPWR PIN_B1 // Napajeni zdroje referencniho napeti |
#define MOTOR PIN_B2 // Spinani tranzistoru motoru |
#byte SSPBUF = 0x13 // Registry jednotky SSP |
#byte SSPCON1 = 0x14 |
#byte SSPSTAT = 0x94 |
// Vzorky pro generovani PWM pomoci SSP |
unsigned int8 const Pattern[8] = {0x02,0x06,0x0e,0x1e,0x3e,0x7e,0xfe,0xff}; |
unsigned int8 MotorPattern; |
#INT_SSP |
void IntSSP() // Vyvola se po odeslani znaku pres SSP |
{ |
SSPBUF=MotorPattern; // znovu vysli stejnou hodnotu |
} |
void main() |
{ |
int8 n; |
int8 cekej; |
int8 perioda; |
int8 rozjezd; |
// Inicializace casovacu a prevodniku |
setup_timer_0(RTCC_INTERNAL);setup_wdt(WDT_1152MS); |
setup_adc_ports(ADC_CLOCK_INTERNAL|sAN1|sAN4|VSS_VDD); |
setup_adc(ADC_CLOCK_INTERNAL); |
setup_spi(FALSE); |
setup_timer_1(T1_DISABLED); |
setup_comparator(NC_NC_NC_NC); |
setup_vref(FALSE); |
output_low(MENIC); // Vsechno zastav |
output_low(MOTOR); |
output_low(REFPWR); |
set_adc_channel(4); // Vyber AD kanal pro pomerne mereni napeti |
set_pwm1_duty(0); // Spust PWM, ale zatim s trvalou 0 na vystupu |
setup_ccp1(CCP_PWM); // PWM pro zatizeni clanku v seru |
setup_timer_2(T2_DIV_BY_1,100,1); // perioda PWM |
setup_oscillator(OSC_4MHZ|OSC_INTRC); // rozjed PIC (zvysi se odber) |
// jsme v depu? |
set_pwm1_duty(DUTY1); // delka sepnuti |
do |
{ |
output_low(REFPWR); |
delay_ms(100); |
output_high(REFPWR); // zapni napajeni napetove reference (LED) |
delay_ms(20); |
} while (read_adc()>REFSTART); // Odkryl starter clanky? |
output_low(REFPWR); |
// Precti trimr |
set_adc_channel(1); // Zjisteni nastaveni trimru PWM |
delay_us(100); // Pockej na prepnuti kanalu A/D prevodniku |
perioda=(read_adc()>>1)+40; // rozsah: 40 az 167 |
set_pwm1_duty(0); // Zastav PWM, aby slo zmenit periodu |
setup_timer_2(T2_DIV_BY_1,perioda,1); // Zapis nastavenou periodu |
// nabíjíme |
set_pwm1_duty(DUTY2); // delka sepnuti PWM |
delay_ms(12500); |
// rozjezd |
SSPSTAT = 0; // inicializace SPI jednotky |
SSPCON1 = 0x22; // SPI OSC/64 |
MotorPattern=Pattern[0]; |
SSPBUF=MotorPattern; // 1. data pro vyslani |
enable_interrupts(global); |
enable_interrupts(INT_SSP); // az budou vyslana, prijde preruseni |
for(n=0; n<=7; n++) // razeni osmi rychlostnich stupnu |
{ |
MotorPattern=Pattern[n]; |
delay_ms(RAZENI); // Pockej na dalsi razeni |
}; |
SSPSTAT = 0; |
SSPCON1 = 0; // SPI stop |
disable_interrupts(INT_SSP); // zastav preruseni od SSP |
// jedem co to da |
output_high(MOTOR); |
delay_ms(1300); // dyl jak 1,3s bysme nemeli jet :) |
output_low(MOTOR); // zastav motor |
// Menic je stale zapnut a zatezuje clanky |
while(TRUE); // Cekej, dokud se neztrati svetlo, |
// nebo prijde WatchDog |
} |
/roboti/solarni/2005/jumpk/menic.cof |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2005/jumpk/menic.err |
---|
0,0 → 1,0 |
No Errors |
/roboti/solarni/2005/jumpk/menic.h |
---|
0,0 → 1,9 |
#include <16F88.h> |
#device adc=8 |
#fuses WDT,INTRC_IO, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, NOWRT, \ |
NODEBUG, NOPROTECT, NOFCMEN, NOIESO, CCPB3 |
#use delay(clock=4000000, RESTART_WDT) |
/roboti/solarni/2005/jumpk/menic.sta |
---|
0,0 → 1,32 |
ROM used: 328 (8%) |
328 (8%) including unused fragments |
1 Average locations per line |
6 Average locations per statement |
RAM used: 21 (12%) at main() level |
21 (12%) worst case |
Lines Stmts % Files |
----- ----- --- ----- |
115 51 100 C:\PIC\jumpk\menic.c |
10 0 0 C:\PIC\jumpk\menic.h |
275 0 0 C:\Program Files\PICC\devices\16F88.h |
----- ----- |
800 102 Total |
Page ROM % RAM Functions: |
---- --- --- --- ---------- |
0 23 7 1 @delay_ms1 |
0 12 4 0 @const30 |
0 5 2 0 IntSSP |
0 233 71 6 main |
Segment Used Free |
--------- ---- ---- |
00000-00003 4 0 |
00004-00036 51 0 |
00037-007FF 273 1720 |
00800-00FFF 0 2048 |
/roboti/solarni/2005/jumpk/menic.tre |
---|
0,0 → 1,10 |
ÀÄmenic |
ÃÄmain 0/233 Ram=6 |
³ ÃÄ??0?? |
³ ÃÄ@delay_ms1 0/23 Ram=1 |
³ ÃÄ@delay_ms1 0/23 Ram=1 |
³ ÃÄ@delay_ms1 0/23 Ram=1 |
³ ÃÄ@const30 0/12 Ram=0 |
³ ÃÄ@delay_ms1 0/23 Ram=1 |
³ ÀÄ@delay_ms1 0/23 Ram=1 |
ÀÄIntSSP 0/5 Ram=0 |
/roboti/solarni/2005/schema.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/Dark Walker I/Dark Walker.doc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT.DBK |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT.DRC |
---|
0,0 → 1,17 |
Checking Pins and Pin Connections |
-------------------------------------------------- |
Checking Schematic: SCHEMATIC1 |
-------------------------------------------------- |
Checking Electrical Rules |
WARNING: [DRC0004] Possible pin type conflict U4,RB2 Bidirectional Connected to Output |
SCHEMATIC1, PAGE1 (66.04, 116.84) |
WARNING: [DRC0004] Possible pin type conflict U12,Vcc Power Connected to Bidirectional |
SCHEMATIC1, PAGE1 (15.24, 101.60) |
Checking for Unconnected Nets |
Checking for Invalid References |
Checking for Duplicate References |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT.DSN |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT.ONL |
---|
0,0 → 1,779 |
(PCB SOLARNI_ROBOT |
(description |
(timeStamp "2003 05 03 20 25 11") |
(program "CAPTURE.EXE" (Version "9.2.448 CIS - D")) |
(source "Original data from OrCAD/CAPTURE schematic") |
(title "") |
(date "Saturday, May 03, 2003") |
(document "D:\\@KAKLIK\\SCHEMATA\\ROBOT\\SOLARNI\\NOVÁ VERZE\\SOLARNI_ROBOT.DSN") |
(revision "") |
(organization "") |
(address1 "") |
(address2 "") |
(address3 "") |
(address4 "") |
(partvaluecombine "{Value}") |
(pcbfootprintcombine "{Device}@{PCB Footprint}")) |
(structure ) |
(placement |
(component D |
(place D6 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 00009B00) |
("Source Package" D) |
(Value D))) |
(place D7 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 00009B16) |
("Source Package" D) |
(Value D))) |
(place D8 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 00009B2C) |
("Source Package" D) |
(Value D)))) |
(component JUMP1 |
(place J11 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000B982) |
("Source Package" JUMP1) |
(Value "solar -"))) |
(place J13 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000AAAC) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J14 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000B9B3) |
("Source Package" JUMP1) |
(Value "solar +"))) |
(place J1 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000B95E) |
("Source Package" JUMP1) |
(Value "motor +"))) |
(place J2 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000B970) |
("Source Package" JUMP1) |
(Value "motor -"))) |
(place J4 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000D1A0) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J5 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000E907) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J6 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000E924) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J7 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000E942) |
("Source Package" JUMP1) |
(Value JUMP1)))) |
(component PBON |
(place SW5 |
(property |
("PCB Footprint" PUSHSMD050X050) |
(Device PUSHBUT1) |
(timestamp 00006DCB) |
("Source Package" PBON) |
(Value PBON)))) |
(component JUMP2 |
(place J10 |
(property |
("PCB Footprint" JUMP2) |
(Device JUMP2) |
(timestamp 0000A80B) |
("Source Package" JUMP2) |
(Value JUMP2))) |
(place J15 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000C61B) |
("Source Package" JUMP2) |
(Value JUMP2))) |
(place J16 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000C63B) |
("Source Package" JUMP2) |
(Value JUMP2))) |
(place J17 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000C65B) |
("Source Package" JUMP2) |
(Value JUMP2))) |
(place J18 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000C67B) |
("Source Package" JUMP2) |
(Value JUMP2))) |
(place J19 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000C69A) |
("Source Package" JUMP2) |
(Value JUMP2))) |
(place J9 |
(property |
("PCB Footprint" JUMP2) |
(Device JUMP2) |
(timestamp 0000A7F5) |
("Source Package" JUMP2) |
(Value JUMP2)))) |
(component PIC16F84/SO |
(place U4 |
(property |
("PCB Footprint" SO18_300) |
(Device SO18) |
(timestamp 0000805A) |
("Source Package" PIC16F84/SO) |
(Value PIC16F84/SO)))) |
(component JUMP6 |
(place J3 |
(property |
("PCB Footprint" JUMP6) |
(Device JUMP6) |
(timestamp 000006FB) |
("Source Package" JUMP6) |
(Value PROGRAMER)))) |
(component LED |
(place D9 |
(property |
("PCB Footprint" LEDSMD) |
(Device LED) |
(timestamp 0000CDFB) |
("Source Package" LED) |
(Value LED)))) |
(component XTAL |
(place X1 |
(property |
("PCB Footprint" XTAL010/L) |
(Device XTAL) |
(timestamp 00007334) |
("Source Package" XTAL) |
(Value 32KHz)))) |
(component "D-SCHOTTKY" |
(place D1 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 00000019) |
("Source Package" "D-SCHOTTKY") |
(Value "D-SCHOTTKY"))) |
(place D2 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 00000095) |
("Source Package" "D-SCHOTTKY") |
(Value "D-SCHOTTKY"))) |
(place D3 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 000000AB) |
("Source Package" "D-SCHOTTKY") |
(Value "D-SCHOTTKY"))) |
(place D4 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 000000C1) |
("Source Package" "D-SCHOTTKY") |
(Value "D-SCHOTTKY"))) |
(place D5 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 000000D7) |
("Source Package" "D-SCHOTTKY") |
(Value "D-SCHOTTKY")))) |
(component "ALDKW-K_2" |
(place U14 |
(property |
("PCB Footprint" DIPSW5SMD) |
(Device DIPSW5) |
(timestamp 0000BE14) |
("Source Package" "ALDKW-K_2") |
(Value "ALDKW-K")))) |
(component "ALDKW-K_3" |
(place U13 |
(property |
("PCB Footprint" DIPSW5SMD) |
(Device DIPSW5) |
(timestamp 0000BD7B) |
("Source Package" "ALDKW-K_3") |
(Value "ALDKW-K"))) |
(place U15 |
(property |
("PCB Footprint" DIPSW5SMD) |
(Device DIPSW5) |
(timestamp 0000C31A) |
("Source Package" "ALDKW-K_3") |
(Value "ALDKW-K")))) |
(component "C-ELYT" |
(place C1 |
(property |
("PCB Footprint" ELYT_MUJ/L) |
(Device ELYT) |
(timestamp 0000002F) |
("Source Package" "C-ELYT") |
(Value "C-ELYT"))) |
(place C2 |
(property |
("PCB Footprint" ELYT_MUJ/L) |
(Device ELYT) |
(timestamp 00000045) |
("Source Package" "C-ELYT") |
(Value "C-ELYT"))) |
(place C3 |
(property |
("PCB Footprint" ELYT_MUJ) |
(Device ELYT) |
(timestamp 0000005B) |
("Source Package" "C-ELYT") |
(Value "C-ELYT"))) |
(place C4 |
(property |
("PCB Footprint" ELYT_MUJ/L) |
(Device ELYT) |
(timestamp 00000105) |
("Source Package" "C-ELYT") |
(Value "C-ELYT"))) |
(place C8 |
(property |
("PCB Footprint" ELYT_MUJ) |
(Device ELYT) |
(timestamp 000083E4) |
("Source Package" "C-ELYT") |
(Value "C-ELYT"))) |
(place C9 |
(property |
("PCB Footprint" ELYT_MUJ) |
(Device ELYT) |
(timestamp 000083FA) |
("Source Package" "C-ELYT") |
(Value "C-ELYT"))) |
(place C10 |
(property |
("PCB Footprint" ELYT_MUJ) |
(Device ELYT) |
(timestamp 00008410) |
("Source Package" "C-ELYT") |
(Value "C-ELYT"))) |
(place C11 |
(property |
("PCB Footprint" ELYT_MUJ) |
(Device ELYT) |
(timestamp 00008426) |
("Source Package" "C-ELYT") |
(Value "C-ELYT"))) |
(place C12 |
(property |
("PCB Footprint" ELYT_MUJ) |
(Device ELYT) |
(timestamp 0000843C) |
("Source Package" "C-ELYT") |
(Value "C-ELYT")))) |
(component R |
(place R1 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 000088DF) |
("Source Package" R) |
(Value R))) |
(place R2 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000D1B3) |
("Source Package" R) |
(Value R)))) |
(component MAX809 |
(place U12 |
(property |
("PCB Footprint" SOT23) |
(Device NPN) |
(timestamp 0000A5B5) |
("Source Package" MAX809) |
(Value 78)))) |
(component C |
(place C6 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 0000712C) |
("Source Package" C) |
(Value M1))) |
(place C7 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 00007169) |
("Source Package" C) |
(Value M1))))) |
(library |
(image "ALDKW-K_3" |
(property |
(sourcelib "D:\\@KAKLIK\\SCHEMATA\\ROBOT\\SOLARNI\\NOVÁ VERZE\\SOLARNI_ROBOT.DSN") |
(Device DIP10)) |
(pin 999 1 |
(property |
(pinname L1+) |
(pintype 1))) |
(pin 999 2 |
(property |
(pinname ON1) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname Off1) |
(pintype 4))) |
(pin 999 5 |
(property |
(pinname "L1-") |
(pintype 1))) |
(pin 999 6 |
(property |
(pinname "L2-") |
(pintype 1))) |
(pin 999 7 |
(property |
(pinname Off2) |
(pintype 4))) |
(pin 999 8 |
(property |
(pinname 2) |
(pintype 4))) |
(pin 999 9 |
(property |
(pinname ON2) |
(pintype 4))) |
(pin 999 10 |
(property |
(pinname L2+) |
(pintype 1)))) |
(image "ALDKW-K_2" |
(property |
(sourcelib "D:\\@KAKLIK\\SCHEMATA\\ROBOT\\SOLARNI\\NOVÁ VERZE\\SOLARNI_ROBOT.DSN") |
(Device DIP10)) |
(pin 999 1 |
(property |
(pinname L1+) |
(pintype 1))) |
(pin 999 2 |
(property |
(pinname ON1) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname Off1) |
(pintype 4))) |
(pin 999 5 |
(property |
(pinname "L1-") |
(pintype 1))) |
(pin 999 6 |
(property |
(pinname "L2-") |
(pintype 1))) |
(pin 999 7 |
(property |
(pinname Off2) |
(pintype 4))) |
(pin 999 8 |
(property |
(pinname 2) |
(pintype 4))) |
(pin 999 9 |
(property |
(pinname ON2) |
(pintype 4))) |
(pin 999 10 |
(property |
(pinname L2+) |
(pintype 1)))) |
(image XTAL |
(property |
(sourcelib C:\\LIBRARY\\KAKLIK\\ORCAD9X\\RUZNE.OLB) |
(Device XTAL)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image R |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_RLC.OLB) |
(Device R)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image PIC16F84/SO |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\MICROCHIP\\_WORK\\PIC18PIN.OLB)) |
(pin 999 6 |
(property |
(pinname RB0/INT) |
(pintype 1))) |
(pin 999 7 |
(property |
(pinname RB1) |
(pintype 1))) |
(pin 999 8 |
(property |
(pinname RB2) |
(pintype 1))) |
(pin 999 9 |
(property |
(pinname RB3) |
(pintype 1))) |
(pin 999 10 |
(property |
(pinname RB4) |
(pintype 1))) |
(pin 999 11 |
(property |
(pinname RB5) |
(pintype 1))) |
(pin 999 12 |
(property |
(pinname RB6) |
(pintype 1))) |
(pin 999 13 |
(property |
(pinname RB7) |
(pintype 1))) |
(pin 999 5 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 14 |
(property |
(pinname VCC) |
(pintype 7))) |
(pin 999 17 |
(property |
(pinname RA0) |
(pintype 1))) |
(pin 999 18 |
(property |
(pinname RA1) |
(pintype 1))) |
(pin 999 1 |
(property |
(pinname RA2) |
(pintype 1))) |
(pin 999 2 |
(property |
(pinname RA3) |
(pintype 1))) |
(pin 999 3 |
(property |
(pinname RA4/T0CKI) |
(pintype 1))) |
(pin 999 4 |
(property |
(pinname MCLR#/VPP) |
(pintype 0))) |
(pin 999 15 |
(property |
(pinname OSC2/CLKOUT) |
(pintype 2))) |
(pin 999 16 |
(property |
(pinname OSC1/CLKIN) |
(pintype 0)))) |
(image JUMP2 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\JUMP.OLB) |
(Device JUMP2)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image "C-ELYT" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_RLC.OLB) |
(Device C)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image JUMP1 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\JUMP.OLB) |
(Device JUMP1)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4)))) |
(image C |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_RLC.OLB) |
(Device C)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image JUMP6 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD91\\SWITCH.OLB) |
(Device JUMP6)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname 3) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname 4) |
(pintype 4))) |
(pin 999 5 |
(property |
(pinname 5) |
(pintype 4))) |
(pin 999 6 |
(property |
(pinname 6) |
(pintype 4)))) |
(image "D-SCHOTTKY" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_D.OLB) |
(Device D)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image D |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_D.OLB) |
(Device D)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image LED |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_OPTO.OLB)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image PBON |
(property |
(sourcelib C:\\LIBRARY\\ORCAD91\\SWITCH.OLB)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image MAX809 |
(property |
(sourcelib C:\\LIBRARY\\KAKLIK\\ORCAD9X\\RUZNE.OLB) |
(Device 78XXTO220)) |
(pin 999 3 |
(property |
(pinname Vcc) |
(pintype 7))) |
(pin 999 2 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 1 |
(property |
(pinname RESET#) |
(pintype 2))))) |
(network |
(net N43248 |
(pins |
J9-1 U4-10)) |
(net N43307 |
(pins |
U4-11 J9-2)) |
(net N43578 |
(pins |
J4-1 U4-2)) |
(net N36680 |
(pins |
U14-5 D5-A D7-A U14-10)) |
(net N18585 |
(pins |
D1-A J2-1 U14-8)) |
(net N36828 |
(pins |
D4-A U15-5 D6-A U15-10)) |
(net N36976 |
(pins |
D8-A U13-10 U13-5 D3-A)) |
(net N18316 |
(pins |
U13-6 D1-C C8-A J14-1 C3-A C2-A C1-A C10-A C11-A |
C12-A D8-C C9-A U13-1 D2-A J1-1 U12-3 U14-1 D7-C |
U14-6 D6-C U15-6 U15-1)) |
(net N55683 |
(pins |
J13-1 U4-3)) |
(net N55922 |
(pins |
J10-1 U4-6)) |
(net N55981 |
(pins |
J10-2 U4-7)) |
(net N56099 |
(pins |
J7-1 U4-8 U12-1)) |
(net N56717 |
(pins |
U4-9 R2-1)) |
(net N35790 |
(pins |
D3-C U4-18)) |
(net N57119 |
(pins |
R2-2 D9-A)) |
(net GND |
(property |
(nettype S)) |
(pins |
C6-1 U15-7 C2-C U4-5 J3-2 C4-C U14-7 C1-C C3-C |
J11-1 U13-4 D9-C SW5-2 U12-2 C7-2)) |
(net N33483 |
(pins |
U4-16 C6-2 X1-1)) |
(net N17969 |
(pins |
U4-15 X1-2 C7-1)) |
(net CLKPROG |
(pins |
J3-6 U4-12)) |
(net DATAPROG |
(pins |
J3-5 U4-13)) |
(net VPP |
(pins |
R1-1 U4-4 SW5-1 J3-1)) |
(net VCC |
(property |
(nettype S)) |
(pins |
D2-C C4-A U4-14 R1-2 J3-4)) |
(net N35905 |
(pins |
U4-1 D5-C)) |
(net N35721 |
(pins |
U4-17 D4-C)) |
(net N34577 |
(pins |
J5-1 J18-2 U13-3 J19-2)) |
(net N34520 |
(pins |
J15-2 J16-2 J6-1 J17-2 U15-8)) |
(net N40321 |
(pins |
C10-C J17-1)) |
(net N40369 |
(pins |
C11-C J16-1)) |
(net N40418 |
(pins |
C12-C J15-1)) |
(net N40272 |
(pins |
C8-C J19-1)) |
(net N40224 |
(pins |
C9-C J18-1))) |
) |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT.asc |
---|
0,0 → 1,109 |
*PADS-PCB* |
*PART* |
C1 ELYT@ELYT_MUJ/L |
C10 ELYT@ELYT_MUJ |
C11 ELYT@ELYT_MUJ |
C12 ELYT@ELYT_MUJ |
C2 ELYT@ELYT_MUJ/L |
C3 ELYT@ELYT_MUJ |
C4 ELYT@ELYT_MUJ/L |
C6 C@C0805 |
C7 C@C0805 |
C8 ELYT@ELYT_MUJ |
C9 ELYT@ELYT_MUJ |
D1 D@MELF |
D2 D@MELF |
D3 D@MELF |
D4 D@MELF |
D5 D@MELF |
D6 D@MELF |
D7 D@MELF |
D8 D@MELF |
J1 JUMP1@JUMP1 |
J10 JUMP2@JUMP2 |
J11 JUMP1@JUMP1 |
J12 JUMP2@JUMP2 |
J13 JUMP1@JUMP1 |
J14 JUMP1@JUMP1 |
J15 JUMP2@JUMP2 |
J16 JUMP2@JUMP2 |
J17 JUMP2@JUMP2 |
J18 JUMP2@JUMP2 |
J19 JUMP2@JUMP2 |
J2 JUMP1@JUMP1 |
J3 JUMP6@JUMP6 |
J9 JUMP2@JUMP2 |
R1 R@R0805 |
SW5 PUSHBUT1@PUSHSMD050X050 |
U12 NPN@SOT23 |
U13 DIPSW5@DIPSW5SMD |
U14 DIPSW5@DIPSW5SMD |
U15 DIPSW5@DIPSW5SMD |
U4 SO18@SO18_300 |
X1 XTAL@XTAL010/L |
*NET* |
*SIGNAL* N43248 |
J9.1 U4.10 |
*SIGNAL* N43307 |
U4.11 J9.2 |
*SIGNAL* N43375 |
J10.2 U4.9 |
*SIGNAL* N43434 |
U4.8 J10.1 |
*SIGNAL* N43578 |
J12.1 U4.2 |
*SIGNAL* N43635 |
J12.2 U4.3 |
*SIGNAL* N43710 |
U4.6 J13.1 |
*SIGNAL* N36680 |
U14.5 D7.A D5.A U14.10 |
*SIGNAL* N18585 |
U14.8 J2.1 D1.A |
*SIGNAL* N36828 |
D6.A U15.10 U15.5 D4.A |
*SIGNAL* N36976 |
U13.5 D3.A D8.A U13.10 |
*SIGNAL* N18313 |
C2.A D2.A J14.1 C1.A D1.C U15.1 D6.C U15.6 |
D8.C J1.1 U14.6 C12.A U13.6 U14.1 U13.1 D7.C |
C11.A C9.A C10.A C3.A C8.A |
*SIGNAL* GND |
C6.1 C4.C U12.2 C2.C U13.4 C1.C C3.C U15.7 |
C7.2 SW5.2 J3.2 J11.1 U4.5 U14.7 |
*SIGNAL* N33483 |
C6.2 X1.1 U4.16 |
*SIGNAL* N17969 |
U4.15 X1.2 C7.1 |
*SIGNAL* N34915 |
U12.1 U4.7 |
*SIGNAL* CLKPROG |
J3.6 U4.12 |
*SIGNAL* DATAPROG |
J3.5 U4.13 |
*SIGNAL* VPP |
R1.1 U4.4 SW5.1 J3.1 |
*SIGNAL* VCC |
D2.C U12.3 C4.A U4.14 R1.2 J3.4 |
*SIGNAL* N35905 |
U4.1 D5.C |
*SIGNAL* N35813 |
U4.18 D4.C |
*SIGNAL* N35721 |
U4.17 D3.C |
*SIGNAL* N34577 |
J19.2 U13.3 J18.2 |
*SIGNAL* N34520 |
J17.2 J16.2 J15.2 U15.8 |
*SIGNAL* N40321 |
C10.C J17.1 |
*SIGNAL* N40369 |
C11.C J16.1 |
*SIGNAL* N40418 |
C12.C J15.1 |
*SIGNAL* N40272 |
C8.C J19.1 |
*SIGNAL* N40224 |
C9.C J18.1 |
*END* |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT.eco |
---|
0,0 → 1,174 |
*PADS-ECO-V3.0-MILS* |
*REMARK* -- Untitled -- Thu May 01 20:48:30 2003 |
*CREATE_GENERAL_RULES* CLEARANCE |
HIERARCHY_OBJECT NET:VPP |
HIERARCHY_OBJECT NET:VCC |
HIERARCHY_OBJECT NET:N43710 |
HIERARCHY_OBJECT NET:N43635 |
HIERARCHY_OBJECT NET:N43578 |
HIERARCHY_OBJECT NET:N43434 |
HIERARCHY_OBJECT NET:N43375 |
HIERARCHY_OBJECT NET:N43307 |
HIERARCHY_OBJECT NET:N43248 |
HIERARCHY_OBJECT NET:N40418 |
HIERARCHY_OBJECT NET:N40369 |
HIERARCHY_OBJECT NET:N40321 |
HIERARCHY_OBJECT NET:N40272 |
HIERARCHY_OBJECT NET:N40224 |
HIERARCHY_OBJECT NET:N36976 |
HIERARCHY_OBJECT NET:N36828 |
HIERARCHY_OBJECT NET:N36680 |
HIERARCHY_OBJECT NET:N35905 |
HIERARCHY_OBJECT NET:N35813 |
HIERARCHY_OBJECT NET:N35721 |
HIERARCHY_OBJECT NET:N34915 |
HIERARCHY_OBJECT NET:N34577 |
HIERARCHY_OBJECT NET:N34520 |
HIERARCHY_OBJECT NET:N33483 |
HIERARCHY_OBJECT NET:N18585 |
HIERARCHY_OBJECT NET:N18313 |
HIERARCHY_OBJECT NET:N17969 |
HIERARCHY_OBJECT NET:GND |
HIERARCHY_OBJECT NET:DATAPROG |
HIERARCHY_OBJECT NET:CLKPROG |
MIN_TRACK_WIDTH 15 |
REC_TRACK_WIDTH 15 |
MAX_TRACK_WIDTH 15 |
TRACK_TO_TRACK 6 |
VIA_TO_TRACK 6 |
VIA_TO_VIA 6 |
PAD_TO_TRACK 6 |
PAD_TO_VIA 6 |
PAD_TO_PAD 6 |
SMD_TO_TRACK 6 |
SMD_TO_VIA 6 |
SMD_TO_PAD 6 |
SMD_TO_SMD 6 |
COPPER_TO_TRACK 6 |
COPPER_TO_VIA 6 |
COPPER_TO_PAD 6 |
COPPER_TO_SMD 6 |
TEXT_TO_TRACK 6 |
TEXT_TO_VIA 6 |
TEXT_TO_PAD 6 |
TEXT_TO_SMD 6 |
OUTLINE_TO_TRACK 6 |
OUTLINE_TO_VIA 6 |
OUTLINE_TO_PAD 6 |
OUTLINE_TO_SMD 6 |
DRILL_TO_TRACK 6 |
DRILL_TO_VIA 6 |
DRILL_TO_PAD 6 |
DRILL_TO_SMD 6 |
DRILL_TO_COPPER 6 |
SAME_NET_SMD_TO_VIA 6 |
SAME_NET_SMD_TO_CRN 6 |
SAME_NET_VIA_TO_VIA 6 |
SAME_NET_PAD_TO_CRN 6 |
SAME_NET_TRACK_TO_CRN 0 |
*CREATE_GENERAL_RULES* CLEARANCE |
HIERARCHY_OBJECT NET:VCC |
MIN_TRACK_WIDTH 17 |
REC_TRACK_WIDTH 17 |
MAX_TRACK_WIDTH 17 |
TRACK_TO_TRACK 6 |
VIA_TO_TRACK 6 |
VIA_TO_VIA 6 |
PAD_TO_TRACK 6 |
PAD_TO_VIA 6 |
PAD_TO_PAD 6 |
SMD_TO_TRACK 6 |
SMD_TO_VIA 6 |
SMD_TO_PAD 6 |
SMD_TO_SMD 6 |
COPPER_TO_TRACK 6 |
COPPER_TO_VIA 6 |
COPPER_TO_PAD 6 |
COPPER_TO_SMD 6 |
TEXT_TO_TRACK 6 |
TEXT_TO_VIA 6 |
TEXT_TO_PAD 6 |
TEXT_TO_SMD 6 |
OUTLINE_TO_TRACK 6 |
OUTLINE_TO_VIA 6 |
OUTLINE_TO_PAD 6 |
OUTLINE_TO_SMD 6 |
DRILL_TO_TRACK 6 |
DRILL_TO_VIA 6 |
DRILL_TO_PAD 6 |
DRILL_TO_SMD 6 |
DRILL_TO_COPPER 6 |
SAME_NET_SMD_TO_VIA 6 |
SAME_NET_SMD_TO_CRN 6 |
SAME_NET_VIA_TO_VIA 6 |
SAME_NET_PAD_TO_CRN 6 |
SAME_NET_TRACK_TO_CRN 0 |
*CREATE_GENERAL_RULES* CLEARANCE |
HIERARCHY_OBJECT NET:GND |
MIN_TRACK_WIDTH 18 |
REC_TRACK_WIDTH 18 |
MAX_TRACK_WIDTH 18 |
TRACK_TO_TRACK 6 |
VIA_TO_TRACK 6 |
VIA_TO_VIA 6 |
PAD_TO_TRACK 6 |
PAD_TO_VIA 6 |
PAD_TO_PAD 6 |
SMD_TO_TRACK 6 |
SMD_TO_VIA 6 |
SMD_TO_PAD 6 |
SMD_TO_SMD 6 |
COPPER_TO_TRACK 6 |
COPPER_TO_VIA 6 |
COPPER_TO_PAD 6 |
COPPER_TO_SMD 6 |
TEXT_TO_TRACK 6 |
TEXT_TO_VIA 6 |
TEXT_TO_PAD 6 |
TEXT_TO_SMD 6 |
OUTLINE_TO_TRACK 6 |
OUTLINE_TO_VIA 6 |
OUTLINE_TO_PAD 6 |
OUTLINE_TO_SMD 6 |
DRILL_TO_TRACK 6 |
DRILL_TO_VIA 6 |
DRILL_TO_PAD 6 |
DRILL_TO_SMD 6 |
DRILL_TO_COPPER 6 |
SAME_NET_SMD_TO_VIA 6 |
SAME_NET_SMD_TO_CRN 6 |
SAME_NET_VIA_TO_VIA 6 |
SAME_NET_PAD_TO_CRN 6 |
SAME_NET_TRACK_TO_CRN 0 |
*END* |
*PADS-ECO-V3.0-MILS* |
*REMARK* -- SOLARNI_ROBOT.pcb -- Thu May 01 21:31:27 2003 |
*END* |
*PADS-ECO-V3.0-MILS* |
*REMARK* -- Untitled -- Sat May 03 14:04:18 2003 |
*CHGPART* |
J1 JUMP1@JUMP1 JUMP1@JUMP1A |
J14 JUMP1@JUMP1 JUMP1@JUMP1A |
J2 JUMP1@JUMP1 JUMP1@JUMP1A |
J11 JUMP1@JUMP1 JUMP1@JUMP1A |
*END* |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT.pcb -- Sat May 03 16:21:10 2003 |
*END* |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT.pcb -- Sat May 03 16:26:31 2003 |
*END* |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT_blz.eco |
---|
0,0 → 1,13 |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT_blz.pcb -- Sat May 03 16:36:13 2003 |
*CHGPART* |
J13 JUMP1@JUMP1 JUMP1@JUMP1B |
*END* |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT_blz.pcb -- Sat May 03 16:49:31 2003 |
*END* |
/roboti/solarni/2003/Dark Walker I/SOLARNI_ROBOT_blz.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/Dark Walker I/solarni_robot.opj |
---|
0,0 → 1,143 |
(ExpressProject "solarni_robot" |
(ProjectVersion "19981106") |
(ProjectType "PCB") |
(Folder "Design Resources" |
(Folder "Library") |
(NoModify) |
(File ".\solarni_robot.dsn" |
(Type "Schematic Design")) |
(BuildFileAddedOrDeleted "x") |
(CompileFileAddedOrDeleted "x") |
(DRC_Scope "0") |
(DRC_Action "0") |
(DRC_Create_Warnings "FALSE") |
(DRC_Check_Ports "FALSE") |
(DRC_Check_Off-Page_Connectors "FALSE") |
(DRC_Identical_References "TRUE") |
(DRC_Type_Mismatch "TRUE") |
(DRC_Report_Ports_and_Off-page_Connectors "FALSE") |
(DRC_SDT_Compatibility "FALSE") |
(DRC_Report_Off-grid_Objects "FALSE") |
(DRC_Check_Unconnected_Nets "TRUE") |
(DRC_Report_Netnames "FALSE") |
(DRC_View_Output "FALSE") |
(DRC_Report_File |
"D:\@KAKLIK\SCHEMATA\ROBOT\SOLARNI\NOVÁ VERZE\SOLARNI_ROBOT.DRC") |
(Netlist_TAB "7") |
(OTHER_Part_Value "{Value}") |
(OTHER_Netlist_File |
"D:\@Kaklik\schemata\robot\solarni\Upravy_KAKL\solarbot..asc") |
(OTHER_Netlist_File2 "SOLARNI_ROBOT.CMP") |
(OTHER_View_Output "FALSE") |
(OTHER_View_Output2 "FALSE") |
(OTHER_Formatter "padspcb.dll") |
(OTHER_PCB_Footprint "{Device}@{PCB Footprint}") |
(OTHER_Switch0 "FALSE") |
(OTHER_Switch1 "FALSE") |
(OTHER_Switch2 "FALSE") |
(OTHER_Switch3 "FALSE") |
(OTHER_Switch4 "FALSE") |
(OTHER_Switch5 "FALSE") |
(OTHER_Switch6 "FALSE")) |
(Folder "Outputs" |
(File ".\solarni_robot.drc" |
(Type "Report")) |
(File ".\solarni_robot.asc" |
(Type "Report")) |
(File "..\upravy_kakl\solarbot..net" |
(Type "Report")) |
(File "..\upravy_kakl\solarbot..asc" |
(Type "Report"))) |
(Folder "Referenced Projects") |
(PartMRUSelector |
("RELAY DPDT" |
(FullPartName "RELAY DPDT.Normal") |
(LibraryName "C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\DISCRETE.OLB") |
(DeviceIndex "0")) |
("MOTOR AC" |
(FullPartName "MOTOR AC.Normal") |
(LibraryName |
"C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\ELECTROMECHANICAL.OLB") |
(DeviceIndex "0")) |
(BAT-CELL |
(FullPartName "BAT-CELL.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_REST.OLB") |
(DeviceIndex "0")) |
(D-SCHOTTKY |
(FullPartName "D-SCHOTTKY.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_D.OLB") |
(DeviceIndex "0")) |
(R |
(FullPartName "R.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(C |
(FullPartName "C.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(GND |
(LibraryName "M:\ORCAD91\SYMBOLS.OLB") |
(DeviceIndex "0")) |
(JUMP1 |
(FullPartName "JUMP1.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\JUMP.OLB") |
(DeviceIndex "0")) |
(LED |
(FullPartName "LED.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_OPTO.OLB") |
(DeviceIndex "0")) |
(JUMP2 |
(FullPartName "JUMP2.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\JUMP.OLB") |
(DeviceIndex "0")) |
(ALDKW-K |
(FullPartName "ALDKW-K.Normal") |
(LibraryName "C:\LIBRARY\KAKLIK\ORCAD9X\RUZNE.OLB") |
(DeviceIndex "0")) |
(MAX809 |
(FullPartName "MAX809.Normal") |
(LibraryName "C:\LIBRARY\KAKLIK\ORCAD9X\RUZNE.OLB") |
(DeviceIndex "0")) |
(D |
(FullPartName "D.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_D.OLB") |
(DeviceIndex "0")) |
(DIP10_300 |
(FullPartName "DIP10_300.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\DECALES.OLB") |
(DeviceIndex "0")) |
(C-ELYT |
(FullPartName "C-ELYT.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(PBON |
(FullPartName "PBON.Normal") |
(LibraryName "C:\LIBRARY\ORCAD91\SWITCH.OLB") |
(DeviceIndex "0")) |
(PARAM |
(FullPartName "PARAM.Normal") |
(LibraryName |
"C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\PSPICE\SPECIAL.OLB") |
(DeviceIndex "0"))) |
(GlobalState |
(FileView |
(Path "Design Resources") |
(Path "Design Resources" |
"D:\@Kaklik\schemata\robot\solarni\Nová verze\solarni_robot.dsn") |
(Path "Design Resources" |
"D:\@Kaklik\schemata\robot\solarni\Nová verze\solarni_robot.dsn" |
"SCHEMATIC1") |
(Path "Design Resources" |
"D:\@Kaklik\schemata\robot\solarni\Nová verze\solarni_robot.dsn" |
"internet") |
(Path "Outputs") |
(Select "Design Resources" |
"D:\@Kaklik\schemata\robot\solarni\Nová verze\solarni_robot.dsn" |
"internet" "PAGE1")) |
(HierarchyView) |
(Doc |
(Type "COrCapturePMDoc") |
(Frame |
(Placement "44 2 3 -1 -1 -4 -23 0 200 0 301")) |
(Tab 0))) |
(LastUsedLibraryBrowseDirectory "C:\Program Files\OrcadLite\Capture\Library")) |
/roboti/solarni/2003/Dark Walker I/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/exibicni/ROBOT.DBK |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/exibicni/ROBOT.DSN |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2003/exibicni/robot.opj |
---|
0,0 → 1,40 |
(ExpressProject "robot" |
(ProjectVersion "19981106") |
(ProjectType "PCB") |
(Folder "Design Resources" |
(Folder "Library") |
(NoModify) |
(File ".\robot.dsn" |
(Type "Schematic Design")) |
(BuildFileAddedOrDeleted "x") |
(CompileFileAddedOrDeleted "x")) |
(Folder "Outputs") |
(Folder "Referenced Projects") |
(PartMRUSelector |
(TFDS4000 |
(FullPartName "TFDS4000.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_OPTO.OLB") |
(DeviceIndex "0")) |
(PIC16F84/SO |
(FullPartName "PIC16F84/SO.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\MICROCHIP\_WORK\PIC18PIN.OLB") |
(DeviceIndex "0"))) |
(GlobalState |
(FileView |
(Path "Design Resources")) |
(HierarchyView) |
(Doc |
(Type "COrCapturePMDoc") |
(Frame |
(Placement "44 0 1 -1 -1 -4 -23 0 200 0 301")) |
(Tab 0)) |
(Doc |
(Type "COrSchematicDoc") |
(Frame |
(Placement "44 2 3 -1 -1 -4 -23 154 800 154 482") |
(Scroll "143 255") |
(Zoom "100") |
(Occurrence "/")) |
(Path "D:\@KAKLIK\SCHEMATA\ROBOT\SOLARNI\EXIBICNI\ROBOT.DSN") |
(Schematic "SCHEMATIC1") |
(Page "PAGE1")))) |
/roboti/solarni/2003/exibicni/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT.DBK |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT.DRC |
---|
0,0 → 1,69 |
Checking Pins and Pin Connections |
-------------------------------------------------- |
Checking Schematic: SCHEMATIC1 |
-------------------------------------------------- |
Checking Electrical Rules |
Checking for Unconnected Nets |
Checking Off-Page Connections |
Checking Pin to Port Connections |
Checking for Invalid References |
Checking for Duplicate References |
Reporting Off-Grid Objects |
Reporting Ports |
Reporting Off-Page Connections |
MOTOR |
RE1A |
RE1B |
Reporting Globals |
VCC |
GND |
V rele |
Reporting Net Names |
N71247 |
N71190 |
N71133 |
N56717 |
N71304 |
DATAPROG |
CLKPROG |
N56099 |
N53363 |
N18491 |
VPP |
N61017 |
D |
N82493 |
N75382 |
N84791 |
N84888 |
N84853 |
N823450 |
N57119 |
N94399 |
N70673 |
VCC |
Alternate Name: Vcc |
N17969 |
N33483 |
MOTOR |
Alternate Name: G |
GND |
Alternate Name: S |
RE1A |
N93093 |
V RELE |
Alternate Name: V rele |
RE1B |
N92953 |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT.DSN |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT.ONL |
---|
0,0 → 1,861 |
(PCB SOLARNI_ROBOT |
(description |
(timeStamp "2004 09 07 19 40 26") |
(program "CAPTURE.EXE" (Version "9.2.448 CIS - D")) |
(source "Original data from OrCAD/CAPTURE schematic") |
(title "Dark Walker II") |
(date "Tuesday, September 07, 2004") |
(document "D:\\@KAKLIK\\SCHEMATA\\ROBOTI\\SOLARNI\\2004\\ROBOT\\SOLARNI_ROBOT.DSN") |
(revision "3") |
(organization "") |
(address1 "") |
(address2 "") |
(address3 "") |
(address4 "") |
(partvaluecombine "{Value}") |
(pcbfootprintcombine "{Device}@{PCB Footprint}")) |
(structure ) |
(placement |
(component BC807SMD |
(place Q2 |
(property |
("PCB Footprint" SOT23) |
(Device "T-BEC") |
(timestamp 00017251) |
("Source Package" BC807SMD) |
(Value BC807SMD))) |
(place Q3 |
(property |
("PCB Footprint" SOT23) |
(Device "T-BEC") |
(timestamp 0001727D) |
("Source Package" BC807SMD) |
(Value BC807SMD)))) |
(component "RELE-2SW-BISTAB" |
(place RE1 |
(property |
("PCB Footprint" RE_FTBR3) |
(Device RE_FTBR3) |
(timestamp 00014630) |
("Source Package" "RELE-2SW-BISTAB") |
(Value "FTR-B3G4.5Z")))) |
(component JUMP1 |
(place J34 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00013F2D) |
("Source Package" JUMP1) |
(Value Vrele))) |
(place J35 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00017D05) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J36 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00017D2A) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J37 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00017D42) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J38 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00017D55) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J39 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00017E0F) |
("Source Package" JUMP1) |
(Value JUMP1))) |
(place J10 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000135B7) |
("Source Package" JUMP1) |
(Value "solar sense"))) |
(place J11 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000B982) |
("Source Package" JUMP1) |
(Value "solar -"))) |
(place J12 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000B9B3) |
("Source Package" JUMP1) |
(Value "solar CPU"))) |
(place J13 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00013E8B) |
("Source Package" JUMP1) |
(Value "solar rele"))) |
(place J14 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000133D6) |
("Source Package" JUMP1) |
(Value "solar +"))) |
(place J4 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000112B1) |
("Source Package" JUMP1) |
(Value RA2))) |
(place J5 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000112C3) |
("Source Package" JUMP1) |
(Value RA3))) |
(place J21 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0001261E) |
("Source Package" JUMP1) |
(Value "motor +"))) |
(place J6 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000112D5) |
("Source Package" JUMP1) |
(Value RA4))) |
(place J22 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000125D8) |
("Source Package" JUMP1) |
(Value "motor -"))) |
(place J7 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000112E7) |
("Source Package" JUMP1) |
(Value RB1)))) |
(component FIDU |
(place M6 |
(property |
("PCB Footprint" FIDU) |
(Device FIDU) |
(timestamp 00002AC3) |
("Source Package" FIDU) |
(Value FIDU))) |
(place M7 |
(property |
("PCB Footprint" FIDU) |
(Device FIDU) |
(timestamp 00002AC5) |
("Source Package" FIDU) |
(Value FIDU)))) |
(component PIC16F84/SO |
(place U5 |
(property |
("PCB Footprint" SO18_300) |
(Device PIC16F83_84_84A__18_PIN) |
(timestamp 000119B7) |
("Source Package" PIC16F84/SO) |
(Value PIC16F84/SO)))) |
(component PUSH050x050SMD |
(place SW1 |
(property |
("PCB Footprint" PUSH050x050SMD) |
(Device PB4PIN) |
(timestamp 000118C8) |
("Source Package" PUSH050x050SMD) |
(Value RESET)))) |
(component BAT48SMD |
(place D41 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 00015BB8) |
("Source Package" BAT48SMD) |
(Value BAT48SMD))) |
(place D42 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 00015BDD) |
("Source Package" BAT48SMD) |
(Value BAT48SMD))) |
(place D43 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 00015CE4) |
("Source Package" BAT48SMD) |
(Value BAT48SMD))) |
(place D44 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 00015D58) |
("Source Package" BAT48SMD) |
(Value BAT48SMD))) |
(place D45 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 00015D9B) |
("Source Package" BAT48SMD) |
(Value BAT48SMD))) |
(place D46 |
(property |
("PCB Footprint" MINIMELF) |
(Device D) |
(timestamp 00015DDC) |
("Source Package" BAT48SMD) |
(Value BAT48SMD)))) |
(component XTAL |
(place X1 |
(property |
("PCB Footprint" XTAL010/L) |
(Device XTAL) |
(timestamp 00007334) |
("Source Package" XTAL) |
(Value 32KHz)))) |
(component PIC_ISP |
(place J1 |
(property |
("PCB Footprint" PIC_ISP) |
(Device PIC_ISP) |
(timestamp 00015B0B) |
("Source Package" PIC_ISP) |
(Value PIC_ISP)))) |
(component TSSO8_170 |
(place Q1 |
(property |
("PCB Footprint" TSSO8_170) |
(Device TSSO8_170) |
(timestamp 0001307C) |
("Source Package" TSSO8_170) |
(Value "dual N-FET/TSSO8")))) |
(component R0805 |
(place R4 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 00016CFE) |
("Source Package" R0805) |
(Value 470))) |
(place R5 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 00016D19) |
("Source Package" R0805) |
(Value 470))) |
(place R6 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0001736E) |
("Source Package" R0805) |
(Value 50K)))) |
(component C0805 |
(place C20 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 000126E9) |
("Source Package" C0805) |
(Value 47n))) |
(place C1 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 0001178A) |
("Source Package" C0805) |
(Value M1))) |
(place C31 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 00015424) |
("Source Package" C0805) |
(Value 15n)))) |
(component CROSS |
(place M3 |
(property |
("PCB Footprint" CROSS) |
(Device CROSS) |
(timestamp 00002ABD) |
("Source Package" CROSS) |
(Value CROSS))) |
(place M4 |
(property |
("PCB Footprint" CROSS) |
(Device CROSS) |
(timestamp 00002ABF) |
("Source Package" CROSS) |
(Value CROSS))) |
(place M5 |
(property |
("PCB Footprint" CROSS) |
(Device CROSS) |
(timestamp 00002AC1) |
("Source Package" CROSS) |
(Value CROSS)))) |
(component "C-ELYT-CE050X10/L" |
(place C2 |
(property |
("PCB Footprint" CE050X10/L) |
(Device "C-ELYT") |
(timestamp 00011833) |
("Source Package" "C-ELYT-CE050X10/L") |
(Value 1G/6,3V))) |
(place C30 |
(property |
("PCB Footprint" CE050X10/L) |
(Device "C-ELYT") |
(timestamp 00013ADB) |
("Source Package" "C-ELYT-CE050X10/L") |
(Value 1,2G/6,3V)))) |
(component "C-ELYT-CE075X18" |
(place C3 |
(property |
("PCB Footprint" CE075X18) |
(Device "C-ELYT") |
(timestamp 00016725) |
("Source Package" "C-ELYT-CE075X18") |
(Value 10G/10V))) |
(place C4 |
(property |
("PCB Footprint" CE075X18) |
(Device "C-ELYT") |
(timestamp 0001674A) |
("Source Package" "C-ELYT-CE075X18") |
(Value 10G/10V)))) |
(component R |
(place R1 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 000088DF) |
("Source Package" R) |
(Value 56k))) |
(place R2 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000D1B3) |
("Source Package" R) |
(Value 150))) |
(place R3 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0001247F) |
("Source Package" R) |
(Value M1))) |
(place R40 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 000141A9) |
("Source Package" R) |
(Value 1k)))) |
(component LEDSMD_0805 |
(place D47 |
(property |
("PCB Footprint" LED0805) |
(Device LED) |
(timestamp 00016977) |
("Source Package" LEDSMD_0805) |
(Value LEDSMD_0805)))) |
(component MAX809 |
(place U11 |
(property |
("PCB Footprint" SOT23) |
(Device SOT23) |
(timestamp 00015C5B) |
("Source Package" MAX809) |
(Value MAX809/SOT23)))) |
(component C |
(place C6 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 0000712C) |
("Source Package" C) |
(Value 86p))) |
(place C7 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 00007169) |
("Source Package" C) |
(Value 86p))))) |
(library |
(image JUMP1 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\JUMP.OLB) |
(Device JUMP1)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4)))) |
(image "RELE-2SW-BISTAB" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD91\\PEFI.OLB)) |
(pin 999 SW2C |
(property |
(pinname SW2C) |
(pintype 4))) |
(pin 999 SW2B |
(property |
(pinname SW2B) |
(pintype 4))) |
(pin 999 SW2A |
(property |
(pinname SW2A) |
(pintype 4))) |
(pin 999 SW1C |
(property |
(pinname SW1C) |
(pintype 4))) |
(pin 999 SW1B |
(property |
(pinname SW1B) |
(pintype 4))) |
(pin 999 SW1A |
(property |
(pinname SW1A) |
(pintype 4))) |
(pin 999 CO2 |
(property |
(pinname CO2) |
(pintype 4))) |
(pin 999 CO1 |
(property |
(pinname CO1) |
(pintype 4)))) |
(image C0805 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device C)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image XTAL |
(property |
(sourcelib C:\\LIBRARY\\KAKLIK\\ORCAD9X\\RUZNE.OLB) |
(Device XTAL)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image R |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_RLC.OLB) |
(Device R)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image PIC16F84/SO |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\MICROCHIP\\CPU_PIC16_FLASH.OLB) |
(Device PIC16F83_84_84A__18_PIN)) |
(pin 999 1 |
(property |
(pinname RA2) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname RA3) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname RA4/T0CKI) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname MCLR#) |
(pintype 4))) |
(pin 999 5 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 6 |
(property |
(pinname RB0/INT) |
(pintype 4))) |
(pin 999 7 |
(property |
(pinname RB1) |
(pintype 4))) |
(pin 999 8 |
(property |
(pinname RB2) |
(pintype 4))) |
(pin 999 9 |
(property |
(pinname RB3) |
(pintype 4))) |
(pin 999 10 |
(property |
(pinname RB4) |
(pintype 4))) |
(pin 999 11 |
(property |
(pinname RB5) |
(pintype 4))) |
(pin 999 12 |
(property |
(pinname RB6) |
(pintype 4))) |
(pin 999 13 |
(property |
(pinname RB7) |
(pintype 4))) |
(pin 999 14 |
(property |
(pinname VDD) |
(pintype 7))) |
(pin 999 15 |
(property |
(pinname CLKOUT/OSC2) |
(pintype 4))) |
(pin 999 16 |
(property |
(pinname CLKIN/OSC1) |
(pintype 4))) |
(pin 999 17 |
(property |
(pinname RA0) |
(pintype 4))) |
(pin 999 18 |
(property |
(pinname RA1) |
(pintype 4)))) |
(image R0805 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device R)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image "C-ELYT-CE050X10/L" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device "C-ELYT")) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image "C-ELYT-CE075X18" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device "C-ELYT")) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image C |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_RLC.OLB) |
(Device C)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image PIC_ISP |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\MICROCHIP\\CPU_PIC16_FLASH.OLB) |
(Device PIC_ISP)) |
(pin 999 1 |
(property |
(pinname PGC) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname PGD) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname VDD) |
(pintype 7))) |
(pin 999 5 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 6 |
(property |
(pinname MCLR#/VPP) |
(pintype 4)))) |
(image CROSS |
(property |
(sourcelib C:\\LIBRARY\\ORCAD91\\SYMBOLS.OLB) |
(Device CROSS))) |
(image BAT48SMD |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_D.OLB) |
(Device D)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image FIDU |
(property |
(sourcelib C:\\LIBRARY\\ORCAD91\\SYMBOLS.OLB) |
(Device FIDU))) |
(image LEDSMD_0805 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_OPTO.OLB) |
(Device LED)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image PUSH050x050SMD |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_SW.OLB) |
(Device PB4PIN)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image TSSO8_170 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\DECALES.OLB) |
(Device TSSO8)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname 3) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname 4) |
(pintype 4))) |
(pin 999 5 |
(property |
(pinname 5) |
(pintype 4))) |
(pin 999 6 |
(property |
(pinname 6) |
(pintype 4))) |
(pin 999 7 |
(property |
(pinname 7) |
(pintype 4))) |
(pin 999 8 |
(property |
(pinname 8) |
(pintype 4)))) |
(image BC807SMD |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_T.OLB) |
(Device "T-BEC")) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4))) |
(pin 999 B |
(property |
(pinname B) |
(pintype 0))) |
(pin 999 E |
(property |
(pinname E) |
(pintype 4)))) |
(image MAX809 |
(property |
(sourcelib C:\\LIBRARY\\KAKLIK\\ORCAD9X\\RUZNE.OLB) |
(Device SOT23)) |
(pin 999 3 |
(property |
(pinname Vcc) |
(pintype 7))) |
(pin 999 1 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 2 |
(property |
(pinname RESET#) |
(pintype 2))))) |
(network |
(net N823450 |
(pins |
R40-1 D44-A)) |
(net N93093 |
(pins |
R4-2 Q2-B)) |
(net N92953 |
(pins |
Q3-B R5-1)) |
(net N84791 |
(pins |
RE1-SW1C J39-1)) |
(net N84853 |
(pins |
J37-1 RE1-SW1B)) |
(net N84888 |
(pins |
J38-1 RE1-SW1A)) |
(net N70673 |
(pins |
RE1-SW2A J36-1 R6-1 U5-18)) |
(net N61017 |
(pins |
U5-6 D42-A)) |
(net N71133 |
(pins |
J7-1 U5-7)) |
(net N71190 |
(pins |
J6-1 U5-3)) |
(net N71247 |
(pins |
J5-1 U5-2)) |
(net N94399 |
(pins |
J13-1 D45-A)) |
(net MOTOR |
(pins |
U5-17 R3-2 Q1-5 Q1-4)) |
(net RE1A |
(pins |
C31-1 Q3-C R4-1 RE1-CO2 U5-10)) |
(net RE1B |
(pins |
C31-2 Q2-C R5-2 RE1-CO1 U5-11)) |
(net N56099 |
(pins |
D41-A U11-2 U5-8)) |
(net N56717 |
(pins |
U5-9 R2-1)) |
(net N71304 |
(pins |
J4-1 U5-1)) |
(net N57119 |
(pins |
R2-2 D47-A)) |
(net VRELE |
(property |
(nettype S)) |
(pins |
Q3-E J34-1 D45-C C30-A Q2-E)) |
(net GND |
(property |
(nettype S)) |
(pins |
C6-1 C7-2 Q1-2 J1-5 R3-1 U5-5 R1-1 RE1-SW2C C2-C |
D44-C SW1-2 D47-C U11-1 J11-1 C30-C Q1-3 Q1-6 Q1-7 |
C1-2)) |
(net N33483 |
(pins |
C6-2 X1-1 U5-16)) |
(net N17969 |
(pins |
X1-2 C7-1 U5-15)) |
(net CLKPROG |
(pins |
U5-12 J1-1)) |
(net DATAPROG |
(pins |
J1-2 U5-13)) |
(net VPP |
(pins |
R1-2 U5-4 D41-C J1-6 D42-C SW1-1)) |
(net VCC |
(property |
(nettype S)) |
(pins |
J1-3 D43-C C2-A C1-1 R6-2 U5-14)) |
(net N82493 |
(pins |
J35-1 R40-2 C3-C C4-C RE1-SW2B)) |
(net D |
(pins |
Q1-1 J22-1 D46-A C20-2 Q1-8)) |
(net N53363 |
(pins |
J10-1 U11-3)) |
(net N75382 |
(pins |
J14-1 D46-C C20-1 J21-1 C3-A C4-A)) |
(net N18491 |
(pins |
D43-A J12-1))) |
) |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT.asc |
---|
0,0 → 1,125 |
*PADS-PCB* |
*PART* |
C1 C@C0805 |
C2 C-ELYT@CE050X10/L |
C20 C@C0805 |
C3 C-ELYT@CE075X18 |
C30 C-ELYT@CE050X10/L |
C31 C@C0805 |
C4 C-ELYT@CE075X18 |
C6 C@C0805 |
C7 C@C0805 |
D41 D@MINIMELF |
D42 D@MINIMELF |
D43 D@MINIMELF |
D44 D@MINIMELF |
D45 D@MINIMELF |
D46 D@MINIMELF |
D47 LED@LED0805 |
J1 PIC_ISP@PIC_ISP |
J10 JUMP1@JUMP1 |
J11 JUMP1@JUMP1 |
J12 JUMP1@JUMP1 |
J13 JUMP1@JUMP1 |
J14 JUMP1@JUMP1 |
J21 JUMP1@JUMP1 |
J22 JUMP1@JUMP1 |
J34 JUMP1@JUMP1 |
J35 JUMP1@JUMP1 |
J36 JUMP1@JUMP1 |
J37 JUMP1@JUMP1 |
J38 JUMP1@JUMP1 |
J39 JUMP1@JUMP1 |
J4 JUMP1@JUMP1 |
J5 JUMP1@JUMP1 |
J6 JUMP1@JUMP1 |
J7 JUMP1@JUMP1 |
M3 CROSS@CROSS |
M4 CROSS@CROSS |
M5 CROSS@CROSS |
M6 FIDU@FIDU |
M7 FIDU@FIDU |
Q1 TSSO8_170@TSSO8_170 |
Q2 T-BEC@SOT23 |
Q3 T-BEC@SOT23 |
R1 R@R0805 |
R2 R@R0805 |
R3 R@R0805 |
R4 R@R0805 |
R40 R@R0805 |
R5 R@R0805 |
R6 R@R0805 |
RE1 RE_FTBR3@RE_FTBR3 |
SW1 PB4PIN@PUSH050x050SMD |
U11 SOT23@SOT23 |
U5 PIC16F83_84_84A__18_PIN@SO18_300 |
X1 XTAL@XTAL010/L |
*NET* |
*SIGNAL* N823450 |
R40.1 D44.A |
*SIGNAL* N93093 |
R4.2 Q2.B |
*SIGNAL* N92953 |
Q3.B R5.1 |
*SIGNAL* N84791 |
RE1.SW1C J39.1 |
*SIGNAL* N84853 |
J37.1 RE1.SW1B |
*SIGNAL* N84888 |
J38.1 RE1.SW1A |
*SIGNAL* N70673 |
RE1.SW2A J36.1 R6.1 U5.18 |
*SIGNAL* N61017 |
U5.6 D42.A |
*SIGNAL* N71133 |
J7.1 U5.7 |
*SIGNAL* N71190 |
J6.1 U5.3 |
*SIGNAL* N71247 |
J5.1 U5.2 |
*SIGNAL* N94399 |
J13.1 D45.A |
*SIGNAL* MOTOR |
U5.17 R3.2 Q1.5 Q1.4 |
*SIGNAL* RE1A |
C31.1 Q3.C R4.1 RE1.CO2 U5.10 |
*SIGNAL* RE1B |
C31.2 Q2.C R5.2 RE1.CO1 U5.11 |
*SIGNAL* N56099 |
D41.A U11.2 U5.8 |
*SIGNAL* N56717 |
U5.9 R2.1 |
*SIGNAL* N71304 |
J4.1 U5.1 |
*SIGNAL* N57119 |
R2.2 D47.A |
*SIGNAL* VRELE |
Q3.E J34.1 D45.C C30.A Q2.E |
*SIGNAL* GND |
C6.1 C7.2 Q1.2 J1.5 R3.1 U5.5 R1.1 RE1.SW2C |
C2.C D44.C SW1.2 D47.C U11.1 J11.1 C30.C Q1.3 |
Q1.6 Q1.7 C1.2 |
*SIGNAL* N33483 |
C6.2 X1.1 U5.16 |
*SIGNAL* N17969 |
X1.2 C7.1 U5.15 |
*SIGNAL* CLKPROG |
U5.12 J1.1 |
*SIGNAL* DATAPROG |
J1.2 U5.13 |
*SIGNAL* VPP |
R1.2 U5.4 D41.C J1.6 D42.C SW1.1 |
*SIGNAL* VCC |
J1.3 D43.C C2.A C1.1 R6.2 U5.14 |
*SIGNAL* N82493 |
J35.1 R40.2 C3.C C4.C RE1.SW2B |
*SIGNAL* D |
Q1.1 J22.1 D46.A C20.2 Q1.8 |
*SIGNAL* N53363 |
J10.1 U11.3 |
*SIGNAL* N75382 |
J14.1 D46.C C20.1 J21.1 C3.A C4.A |
*SIGNAL* N18491 |
D43.A J12.1 |
*END* |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT.eco |
---|
0,0 → 1,15 |
*PADS-ECO-V3.0-MILS* |
*REMARK* -- Untitled -- Tue Sep 07 22:57:57 2004 |
*PART* |
J2 JUMP1 |
J3 JUMP1 |
*NET* |
*SIGNAL* RE1A 20 |
J3.1 U5.10 |
*SIGNAL* RE1B 20 |
J2.1 U5.11 |
*END* |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT_blz.eco |
---|
0,0 → 1,13 |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT_blz.pcb -- Sat May 03 16:36:13 2003 |
*CHGPART* |
J13 JUMP1@JUMP1 JUMP1@JUMP1B |
*END* |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT_blz.pcb -- Sat May 03 16:49:31 2003 |
*END* |
/roboti/solarni/2004/Dark Walker II/SOLARNI_ROBOT_blz.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Dark Walker II/solarni_robot.opj |
---|
0,0 → 1,169 |
(ExpressProject "solarni_robot" |
(ProjectVersion "19981106") |
(ProjectType "PCB") |
(Folder "Design Resources" |
(Folder "Library") |
(NoModify) |
(File ".\solarni_robot.dsn" |
(Type "Schematic Design")) |
(BuildFileAddedOrDeleted "x") |
(CompileFileAddedOrDeleted "x") |
(DRC_Scope "0") |
(DRC_Action "0") |
(DRC_Create_Warnings "TRUE") |
(DRC_Check_Ports "TRUE") |
(DRC_Check_Off-Page_Connectors "TRUE") |
(DRC_Identical_References "TRUE") |
(DRC_Type_Mismatch "TRUE") |
(DRC_Report_Ports_and_Off-page_Connectors "TRUE") |
(DRC_SDT_Compatibility "FALSE") |
(DRC_Report_Off-grid_Objects "TRUE") |
(DRC_Check_Unconnected_Nets "TRUE") |
(DRC_Report_Netnames "TRUE") |
(DRC_View_Output "TRUE") |
(DRC_Report_File |
"D:\@Kaklik\schemata\roboti\solarni\2004\Robot\SOLARNI_ROBOT.DRC") |
(Netlist_TAB "7") |
(OTHER_Part_Value "{Value}") |
(OTHER_Netlist_File "SOLARNI_ROBOT.asc") |
(OTHER_Netlist_File2 "SOLARNI_ROBOT.CMP") |
(OTHER_View_Output "FALSE") |
(OTHER_View_Output2 "FALSE") |
(OTHER_Formatter "padspcb.dll") |
(OTHER_PCB_Footprint "{Device}@{PCB Footprint}") |
(OTHER_Switch0 "FALSE") |
(OTHER_Switch1 "FALSE") |
(OTHER_Switch2 "FALSE") |
(OTHER_Switch3 "FALSE") |
(OTHER_Switch4 "FALSE") |
(OTHER_Switch5 "FALSE") |
(OTHER_Switch6 "FALSE") |
(ANNOTATE_Scope "0") |
(ANNOTATE_Mode "1") |
(ANNOTATE_Action "0") |
(ANNOTATE_Reset_References_to_1 "FALSE") |
(ANNOTATE_No_Page_Number_Change "FALSE") |
(ANNOTATE_Property_Combine "{Value}{Source Package}")) |
(Folder "Outputs" |
(File ".\solarni_robot.drc" |
(Type "Report")) |
(File ".\solarni_robot.asc" |
(Type "Report"))) |
(Folder "Referenced Projects") |
(PartMRUSelector |
(JUMP1 |
(FullPartName "JUMP1.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\JUMP.OLB") |
(DeviceIndex "0")) |
(OFFPAGELEFT-R |
(LibraryName "C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\CAPSYM.OLB") |
(DeviceIndex "0")) |
(R0805 |
(FullPartName "R0805.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_RLC.OLB") |
(DeviceIndex "0")) |
(OFFPAGELEFT-L |
(LibraryName "C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\CAPSYM.OLB") |
(DeviceIndex "0")) |
(BC807SMD |
(FullPartName "BC807SMD.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_T.OLB") |
(DeviceIndex "0")) |
(VCC |
(LibraryName "C:\PROGRAM FILES\ORCAD\CAPTURE\LIBRARY\CAPSYM.OLB") |
(DeviceIndex "0")) |
(LEDSMD_0805 |
(FullPartName "LEDSMD_0805.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_OPTO.OLB") |
(DeviceIndex "0")) |
(C-ELYT-CE075X18 |
(FullPartName "C-ELYT-CE075X18.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_RLC.OLB") |
(DeviceIndex "0")) |
(BAT48SMD |
(FullPartName "BAT48SMD.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_D.OLB") |
(DeviceIndex "0")) |
(MAX809 |
(FullPartName "MAX809.Normal") |
(LibraryName "C:\LIBRARY\KAKLIK\ORCAD9X\RUZNE.OLB") |
(DeviceIndex "0")) |
(PIC_ISP |
(FullPartName "PIC_ISP.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\MICROCHIP\CPU_PIC16_FLASH.OLB") |
(DeviceIndex "0")) |
(PIC16F84/SO |
(FullPartName "PIC16F84/SO.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\MICROCHIP\CPU_PIC16_FLASH.OLB") |
(DeviceIndex "0")) |
(C1206 |
(FullPartName "C1206.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_RLC.OLB") |
(DeviceIndex "0")) |
(TSSO8_170 |
(FullPartName "TSSO8_170.Normal") |
(LibraryName "C:\LIBRARY\KAKLIK\ORCAD9X\DECALES.OLB") |
(DeviceIndex "0")) |
(C-ELYT |
(FullPartName "C-ELYT.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(SWON |
(FullPartName "SWON.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_SW.OLB") |
(DeviceIndex "0")) |
(D-ZENER |
(FullPartName "D-ZENER.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_D.OLB") |
(DeviceIndex "0")) |
(RFD8P06LESM9A/TO |
(FullPartName "RFD8P06LESM9A/TO.Normal") |
(LibraryName "C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\TRANSISTOR.OLB") |
(DeviceIndex "0")) |
("RELAY DPDT" |
(FullPartName "RELAY DPDT.Normal") |
(LibraryName "C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\DISCRETE.OLB") |
(DeviceIndex "0")) |
("MOTOR AC" |
(FullPartName "MOTOR AC.Normal") |
(LibraryName |
"C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\ELECTROMECHANICAL.OLB") |
(DeviceIndex "0")) |
(BAT-CELL |
(FullPartName "BAT-CELL.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_REST.OLB") |
(DeviceIndex "0")) |
(D-SCHOTTKY |
(FullPartName "D-SCHOTTKY.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_D.OLB") |
(DeviceIndex "0")) |
(R |
(FullPartName "R.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(C |
(FullPartName "C.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(GND |
(LibraryName "M:\ORCAD91\SYMBOLS.OLB") |
(DeviceIndex "0"))) |
(GlobalState |
(FileView |
(Path "Design Resources") |
(Path "Design Resources" |
"D:\KAKLIK\schemata\roboti\solarni\2004\Robot\solarni_robot.dsn") |
(Path "Design Resources" |
"D:\KAKLIK\schemata\roboti\solarni\2004\Robot\solarni_robot.dsn" |
"SCHEMATIC1") |
(Path "Outputs") |
(Select "Design Resources" |
"D:\KAKLIK\schemata\roboti\solarni\2004\Robot\solarni_robot.dsn" |
"SCHEMATIC1" "PAGE1")) |
(HierarchyView) |
(Doc |
(Type "COrCapturePMDoc") |
(Frame |
(Placement "44 0 1 -1 -1 -4 -30 0 200 0 301")) |
(Tab 0))) |
(LastUsedLibraryBrowseDirectory "C:\library\kaklik\orcad9x")) |
/roboti/solarni/2004/Dark Walker II/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/PRG.BAT |
---|
0,0 → 1,6 |
call picpgr stop lpt2 |
call picpgr erase pic16f84 lpt2 |
call picpgr program main.hex hex pic16f84 lpt2 |
call picpgr run lpt2 |
pause |
call picpgr stop lpt2 |
/roboti/solarni/2004/RUN.BAT |
---|
0,0 → 1,5 |
call picpgr run |
pause |
call picpgr stop |
pause |
run.bat |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT.DBK |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT.DRC |
---|
0,0 → 1,39 |
Checking Pins and Pin Connections |
-------------------------------------------------- |
Checking Schematic: SCHEMATIC1 |
-------------------------------------------------- |
Checking Electrical Rules |
Checking for Unconnected Nets |
Checking Off-Page Connections |
Checking Pin to Port Connections |
Checking for Invalid References |
Checking for Duplicate References |
Checking for Compatibility with SDT |
ERROR: [DRC0018] Pin number is not numeric D11,A |
SCHEMATIC1, PAGE1 (33.02, 106.68) |
ERROR: [DRC0018] Pin number is not numeric D11,C |
SCHEMATIC1, PAGE1 (43.18, 106.68) |
ERROR: [DRC0018] Pin number is not numeric C2,A |
SCHEMATIC1, PAGE1 (40.64, 78.74) |
ERROR: [DRC0018] Pin number is not numeric C2,C |
SCHEMATIC1, PAGE1 (40.64, 88.90) |
ERROR: [DRC0018] Pin number is not numeric D6,A |
SCHEMATIC1, PAGE1 (40.64, 60.96) |
ERROR: [DRC0018] Pin number is not numeric D6,C |
SCHEMATIC1, PAGE1 (40.64, 71.12) |
ERROR: [DRC0018] Pin number is not numeric D13,A |
SCHEMATIC1, PAGE1 (88.90, 142.24) |
ERROR: [DRC0018] Pin number is not numeric D13,C |
SCHEMATIC1, PAGE1 (88.90, 152.40) |
ERROR: [DRC0018] Pin number is not numeric D10,A |
SCHEMATIC1, PAGE1 (53.34, 129.54) |
ERROR: [DRC0018] Pin number is not numeric D10,C |
SCHEMATIC1, PAGE1 (43.18, 129.54) |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT.DSN |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT.ONL |
---|
0,0 → 1,511 |
(PCB SOLARNI_ROBOT |
(description |
(timeStamp "2004 08 18 12 48 29") |
(program "CAPTURE.EXE" (Version "9.2.448 CIS - D")) |
(source "Original data from OrCAD/CAPTURE schematic") |
(title "Dark Walker") |
(date "Wednesday, August 18, 2004") |
(document "D:\\@KAKLIK\\SCHEMATA\\ROBOTI\\SOLARNI\\2004\\UNIVERZALNI DESKA\\SOLARNI_ROBOT.DSN") |
(revision "3") |
(organization "") |
(address1 "") |
(address2 "") |
(address3 "") |
(address4 "") |
(partvaluecombine "{Value}") |
(pcbfootprintcombine "{Device}@{PCB Footprint}")) |
(structure ) |
(placement |
(component JUMP1 |
(place J10 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0001132C) |
("Source Package" JUMP1) |
(Value RB5))) |
(place J11 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000B982) |
("Source Package" JUMP1) |
(Value "solar -"))) |
(place J12 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0001133E) |
("Source Package" JUMP1) |
(Value RB4))) |
(place J14 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0000B9B3) |
("Source Package" JUMP1) |
(Value "solar +"))) |
(place J1 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0001125D) |
("Source Package" JUMP1) |
(Value Solar+))) |
(place J2 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00011274) |
("Source Package" JUMP1) |
(Value Vcc))) |
(place J4 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000112B1) |
("Source Package" JUMP1) |
(Value RA2))) |
(place J5 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000112C3) |
("Source Package" JUMP1) |
(Value RA3))) |
(place J6 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000112D5) |
("Source Package" JUMP1) |
(Value RA4))) |
(place J7 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 000112E7) |
("Source Package" JUMP1) |
(Value RB1))) |
(place J8 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 00011308) |
("Source Package" JUMP1) |
(Value RA1))) |
(place J9 |
(property |
("PCB Footprint" JUMP1) |
(Device JUMP1) |
(timestamp 0001131A) |
("Source Package" JUMP1) |
(Value RA0)))) |
(component PIC16F84/SO |
(place U5 |
(property |
("PCB Footprint" SO18_300) |
(Device PIC16F83_84_84A__18_PIN) |
(timestamp 000119B7) |
("Source Package" PIC16F84/SO) |
(Value PIC16F84/SO)))) |
(component JUMP6 |
(place J3 |
(property |
("PCB Footprint" JUMP6) |
(Device JUMP6) |
(timestamp 000006FB) |
("Source Package" JUMP6) |
(Value PROGRAMMER)))) |
(component PUSH050x050SMD |
(place SW1 |
(property |
("PCB Footprint" PUSH050x050SMD) |
(Device PB4PIN) |
(timestamp 000118C8) |
("Source Package" PUSH050x050SMD) |
(Value RESET)))) |
(component XTAL |
(place X1 |
(property |
("PCB Footprint" XTAL010/L) |
(Device XTAL) |
(timestamp 00007334) |
("Source Package" XTAL) |
(Value 32KHz)))) |
(component "D-SCHOTTKY" |
(place D10 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 0000ED80) |
("Source Package" "D-SCHOTTKY") |
(Value "D-SCHOTTKY"))) |
(place D11 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 0000ED24) |
("Source Package" "D-SCHOTTKY") |
(Value "D-SCHOTTKY"))) |
(place D6 |
(property |
("PCB Footprint" MELF) |
(Device D) |
(timestamp 00000095) |
("Source Package" "D-SCHOTTKY") |
(Value "D-SCHOTTKY")))) |
(component LED3mm |
(place D13 |
(property |
("PCB Footprint" LED3) |
(Device LED) |
(timestamp 000116DF) |
("Source Package" LED3mm) |
(Value LED3mm)))) |
(component C0805 |
(place C1 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 0001178A) |
("Source Package" C0805) |
(Value M1)))) |
(component "C-ELYT-CE050X10/L" |
(place C2 |
(property |
("PCB Footprint" CE050X10/L) |
(Device "C-ELYT") |
(timestamp 00011833) |
("Source Package" "C-ELYT-CE050X10/L") |
(Value "3 G")))) |
(component R |
(place R1 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 000088DF) |
("Source Package" R) |
(Value 56k))) |
(place R2 |
(property |
("PCB Footprint" R0805) |
(Device R) |
(timestamp 0000D1B3) |
("Source Package" R) |
(Value 150)))) |
(component C |
(place C6 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 0000712C) |
("Source Package" C) |
(Value 86p))) |
(place C7 |
(property |
("PCB Footprint" C0805) |
(Device C) |
(timestamp 00007169) |
("Source Package" C) |
(Value 86p)))) |
(component MAX809 |
(place U8 |
(property |
("PCB Footprint" SOT23) |
(Device SOT23) |
(timestamp 0001220B) |
("Source Package" MAX809) |
(Value MAX809/SOT23))))) |
(library |
(image XTAL |
(property |
(sourcelib C:\\LIBRARY\\KAKLIK\\ORCAD9X\\RUZNE.OLB) |
(Device XTAL)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image R |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_RLC.OLB) |
(Device R)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image PIC16F84/SO |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\MICROCHIP\\CPU_PIC16_FLASH.OLB) |
(Device PIC16F83_84_84A__18_PIN)) |
(pin 999 1 |
(property |
(pinname RA2) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname RA3) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname RA4/T0CKI) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname MCLR#) |
(pintype 4))) |
(pin 999 5 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 6 |
(property |
(pinname RB0/INT) |
(pintype 4))) |
(pin 999 7 |
(property |
(pinname RB1) |
(pintype 4))) |
(pin 999 8 |
(property |
(pinname RB2) |
(pintype 4))) |
(pin 999 9 |
(property |
(pinname RB3) |
(pintype 4))) |
(pin 999 10 |
(property |
(pinname RB4) |
(pintype 4))) |
(pin 999 11 |
(property |
(pinname RB5) |
(pintype 4))) |
(pin 999 12 |
(property |
(pinname RB6) |
(pintype 4))) |
(pin 999 13 |
(property |
(pinname RB7) |
(pintype 4))) |
(pin 999 14 |
(property |
(pinname VDD) |
(pintype 7))) |
(pin 999 15 |
(property |
(pinname CLKOUT/OSC2) |
(pintype 4))) |
(pin 999 16 |
(property |
(pinname CLKIN/OSC1) |
(pintype 4))) |
(pin 999 17 |
(property |
(pinname RA0) |
(pintype 4))) |
(pin 999 18 |
(property |
(pinname RA1) |
(pintype 4)))) |
(image MAX809 |
(property |
(sourcelib C:\\LIBRARY\\KAKLIK\\ORCAD9X\\RUZNE.OLB) |
(Device SOT23)) |
(pin 999 3 |
(property |
(pinname Vcc) |
(pintype 7))) |
(pin 999 1 |
(property |
(pinname GND) |
(pintype 7))) |
(pin 999 2 |
(property |
(pinname RESET#) |
(pintype 2)))) |
(image JUMP1 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\JUMP.OLB) |
(Device JUMP1)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4)))) |
(image C0805 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device C)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image "C-ELYT-CE050X10/L" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_RLC.OLB) |
(Device "C-ELYT")) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image C |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_RLC.OLB) |
(Device C)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4)))) |
(image "D-SCHOTTKY" |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\GEN_D.OLB) |
(Device D)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image JUMP6 |
(property |
(sourcelib C:\\LIBRARY\\ORCAD91\\SWITCH.OLB) |
(Device JUMP6)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4))) |
(pin 999 3 |
(property |
(pinname 3) |
(pintype 4))) |
(pin 999 4 |
(property |
(pinname 4) |
(pintype 4))) |
(pin 999 5 |
(property |
(pinname 5) |
(pintype 4))) |
(pin 999 6 |
(property |
(pinname 6) |
(pintype 4)))) |
(image LED3mm |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_OPTO.OLB) |
(Device LED)) |
(pin 999 A |
(property |
(pinname A) |
(pintype 4))) |
(pin 999 C |
(property |
(pinname C) |
(pintype 4)))) |
(image PUSH050x050SMD |
(property |
(sourcelib C:\\LIBRARY\\ORCAD9X\\COM_SW.OLB) |
(Device PB4PIN)) |
(pin 999 1 |
(property |
(pinname 1) |
(pintype 4))) |
(pin 999 2 |
(property |
(pinname 2) |
(pintype 4))))) |
(network |
(net SOLAR+ |
(pins |
J14-1 J1-1 U8-3 D6-A)) |
(net N70673 |
(pins |
U5-18 J8-1)) |
(net N61017 |
(pins |
U5-6 D10-A)) |
(net N70730 |
(pins |
U5-17 J9-1)) |
(net N70844 |
(pins |
U5-10 J12-1)) |
(net N70787 |
(pins |
U5-11 J10-1)) |
(net N71133 |
(pins |
J7-1 U5-7)) |
(net N71190 |
(pins |
J6-1 U5-3)) |
(net N71247 |
(pins |
J5-1 U5-2)) |
(net N71304 |
(pins |
J4-1 U5-1)) |
(net N56099 |
(pins |
D11-A U5-8 U8-2)) |
(net N56717 |
(pins |
R2-1 U5-9)) |
(net N57119 |
(pins |
R2-2 D13-A)) |
(net GND |
(property |
(nettype S)) |
(pins |
C6-1 J3-2 SW1-2 U5-5 R1-1 C7-2 U8-1 C2-C D13-C |
C1-2 J11-1)) |
(net N33483 |
(pins |
C6-2 X1-1 U5-16)) |
(net N17969 |
(pins |
X1-2 C7-1 U5-15)) |
(net CLKPROG |
(pins |
J3-6 U5-12)) |
(net DATAPROG |
(pins |
J3-5 U5-13)) |
(net VPP |
(pins |
R1-2 D10-C U5-4 D11-C J3-1 SW1-1)) |
(net VCC |
(property |
(nettype S)) |
(pins |
J3-4 C1-1 D6-C C2-A U5-14 J2-1))) |
) |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT.asc |
---|
0,0 → 1,73 |
*PADS-PCB* |
*PART* |
C1 C@C0805 |
C2 C-ELYT@CE050X10/L |
C6 C@C0805 |
C7 C@C0805 |
D10 D@MELF |
D11 D@MELF |
D13 LED@LED3 |
D6 D@MELF |
J1 JUMP1@JUMP1 |
J10 JUMP1@JUMP1 |
J11 JUMP1@JUMP1 |
J12 JUMP1@JUMP1 |
J14 JUMP1@JUMP1 |
J2 JUMP1@JUMP1 |
J3 JUMP6@JUMP6 |
J4 JUMP1@JUMP1 |
J5 JUMP1@JUMP1 |
J6 JUMP1@JUMP1 |
J7 JUMP1@JUMP1 |
J8 JUMP1@JUMP1 |
J9 JUMP1@JUMP1 |
R1 R@R0805 |
R2 R@R0805 |
SW1 PB4PIN@PUSH050x050SMD |
U5 PIC16F83_84_84A__18_PIN@SO18_300 |
U8 SOT23@SOT23 |
X1 XTAL@XTAL010/L |
*NET* |
*SIGNAL* SOLAR+ |
J14.1 J1.1 U8.3 D6.A |
*SIGNAL* N70673 |
U5.18 J8.1 |
*SIGNAL* N61017 |
U5.6 D10.A |
*SIGNAL* N70730 |
U5.17 J9.1 |
*SIGNAL* N70844 |
U5.10 J12.1 |
*SIGNAL* N70787 |
U5.11 J10.1 |
*SIGNAL* N71133 |
J7.1 U5.7 |
*SIGNAL* N71190 |
J6.1 U5.3 |
*SIGNAL* N71247 |
J5.1 U5.2 |
*SIGNAL* N71304 |
J4.1 U5.1 |
*SIGNAL* N56099 |
D11.A U5.8 U8.2 |
*SIGNAL* N56717 |
R2.1 U5.9 |
*SIGNAL* N57119 |
R2.2 D13.A |
*SIGNAL* GND |
C6.1 J3.2 SW1.2 U5.5 R1.1 C7.2 U8.1 C2.C |
D13.C C1.2 J11.1 |
*SIGNAL* N33483 |
C6.2 X1.1 U5.16 |
*SIGNAL* N17969 |
X1.2 C7.1 U5.15 |
*SIGNAL* CLKPROG |
J3.6 U5.12 |
*SIGNAL* DATAPROG |
J3.5 U5.13 |
*SIGNAL* VPP |
R1.2 D10.C U5.4 D11.C J3.1 SW1.1 |
*SIGNAL* VCC |
J3.4 C1.1 D6.C C2.A U5.14 J2.1 |
*END* |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT.eco |
---|
0,0 → 1,174 |
*PADS-ECO-V3.0-MILS* |
*REMARK* -- Untitled -- Thu May 01 20:48:30 2003 |
*CREATE_GENERAL_RULES* CLEARANCE |
HIERARCHY_OBJECT NET:VPP |
HIERARCHY_OBJECT NET:VCC |
HIERARCHY_OBJECT NET:N43710 |
HIERARCHY_OBJECT NET:N43635 |
HIERARCHY_OBJECT NET:N43578 |
HIERARCHY_OBJECT NET:N43434 |
HIERARCHY_OBJECT NET:N43375 |
HIERARCHY_OBJECT NET:N43307 |
HIERARCHY_OBJECT NET:N43248 |
HIERARCHY_OBJECT NET:N40418 |
HIERARCHY_OBJECT NET:N40369 |
HIERARCHY_OBJECT NET:N40321 |
HIERARCHY_OBJECT NET:N40272 |
HIERARCHY_OBJECT NET:N40224 |
HIERARCHY_OBJECT NET:N36976 |
HIERARCHY_OBJECT NET:N36828 |
HIERARCHY_OBJECT NET:N36680 |
HIERARCHY_OBJECT NET:N35905 |
HIERARCHY_OBJECT NET:N35813 |
HIERARCHY_OBJECT NET:N35721 |
HIERARCHY_OBJECT NET:N34915 |
HIERARCHY_OBJECT NET:N34577 |
HIERARCHY_OBJECT NET:N34520 |
HIERARCHY_OBJECT NET:N33483 |
HIERARCHY_OBJECT NET:N18585 |
HIERARCHY_OBJECT NET:N18313 |
HIERARCHY_OBJECT NET:N17969 |
HIERARCHY_OBJECT NET:GND |
HIERARCHY_OBJECT NET:DATAPROG |
HIERARCHY_OBJECT NET:CLKPROG |
MIN_TRACK_WIDTH 15 |
REC_TRACK_WIDTH 15 |
MAX_TRACK_WIDTH 15 |
TRACK_TO_TRACK 6 |
VIA_TO_TRACK 6 |
VIA_TO_VIA 6 |
PAD_TO_TRACK 6 |
PAD_TO_VIA 6 |
PAD_TO_PAD 6 |
SMD_TO_TRACK 6 |
SMD_TO_VIA 6 |
SMD_TO_PAD 6 |
SMD_TO_SMD 6 |
COPPER_TO_TRACK 6 |
COPPER_TO_VIA 6 |
COPPER_TO_PAD 6 |
COPPER_TO_SMD 6 |
TEXT_TO_TRACK 6 |
TEXT_TO_VIA 6 |
TEXT_TO_PAD 6 |
TEXT_TO_SMD 6 |
OUTLINE_TO_TRACK 6 |
OUTLINE_TO_VIA 6 |
OUTLINE_TO_PAD 6 |
OUTLINE_TO_SMD 6 |
DRILL_TO_TRACK 6 |
DRILL_TO_VIA 6 |
DRILL_TO_PAD 6 |
DRILL_TO_SMD 6 |
DRILL_TO_COPPER 6 |
SAME_NET_SMD_TO_VIA 6 |
SAME_NET_SMD_TO_CRN 6 |
SAME_NET_VIA_TO_VIA 6 |
SAME_NET_PAD_TO_CRN 6 |
SAME_NET_TRACK_TO_CRN 0 |
*CREATE_GENERAL_RULES* CLEARANCE |
HIERARCHY_OBJECT NET:VCC |
MIN_TRACK_WIDTH 17 |
REC_TRACK_WIDTH 17 |
MAX_TRACK_WIDTH 17 |
TRACK_TO_TRACK 6 |
VIA_TO_TRACK 6 |
VIA_TO_VIA 6 |
PAD_TO_TRACK 6 |
PAD_TO_VIA 6 |
PAD_TO_PAD 6 |
SMD_TO_TRACK 6 |
SMD_TO_VIA 6 |
SMD_TO_PAD 6 |
SMD_TO_SMD 6 |
COPPER_TO_TRACK 6 |
COPPER_TO_VIA 6 |
COPPER_TO_PAD 6 |
COPPER_TO_SMD 6 |
TEXT_TO_TRACK 6 |
TEXT_TO_VIA 6 |
TEXT_TO_PAD 6 |
TEXT_TO_SMD 6 |
OUTLINE_TO_TRACK 6 |
OUTLINE_TO_VIA 6 |
OUTLINE_TO_PAD 6 |
OUTLINE_TO_SMD 6 |
DRILL_TO_TRACK 6 |
DRILL_TO_VIA 6 |
DRILL_TO_PAD 6 |
DRILL_TO_SMD 6 |
DRILL_TO_COPPER 6 |
SAME_NET_SMD_TO_VIA 6 |
SAME_NET_SMD_TO_CRN 6 |
SAME_NET_VIA_TO_VIA 6 |
SAME_NET_PAD_TO_CRN 6 |
SAME_NET_TRACK_TO_CRN 0 |
*CREATE_GENERAL_RULES* CLEARANCE |
HIERARCHY_OBJECT NET:GND |
MIN_TRACK_WIDTH 18 |
REC_TRACK_WIDTH 18 |
MAX_TRACK_WIDTH 18 |
TRACK_TO_TRACK 6 |
VIA_TO_TRACK 6 |
VIA_TO_VIA 6 |
PAD_TO_TRACK 6 |
PAD_TO_VIA 6 |
PAD_TO_PAD 6 |
SMD_TO_TRACK 6 |
SMD_TO_VIA 6 |
SMD_TO_PAD 6 |
SMD_TO_SMD 6 |
COPPER_TO_TRACK 6 |
COPPER_TO_VIA 6 |
COPPER_TO_PAD 6 |
COPPER_TO_SMD 6 |
TEXT_TO_TRACK 6 |
TEXT_TO_VIA 6 |
TEXT_TO_PAD 6 |
TEXT_TO_SMD 6 |
OUTLINE_TO_TRACK 6 |
OUTLINE_TO_VIA 6 |
OUTLINE_TO_PAD 6 |
OUTLINE_TO_SMD 6 |
DRILL_TO_TRACK 6 |
DRILL_TO_VIA 6 |
DRILL_TO_PAD 6 |
DRILL_TO_SMD 6 |
DRILL_TO_COPPER 6 |
SAME_NET_SMD_TO_VIA 6 |
SAME_NET_SMD_TO_CRN 6 |
SAME_NET_VIA_TO_VIA 6 |
SAME_NET_PAD_TO_CRN 6 |
SAME_NET_TRACK_TO_CRN 0 |
*END* |
*PADS-ECO-V3.0-MILS* |
*REMARK* -- SOLARNI_ROBOT.pcb -- Thu May 01 21:31:27 2003 |
*END* |
*PADS-ECO-V3.0-MILS* |
*REMARK* -- Untitled -- Sat May 03 14:04:18 2003 |
*CHGPART* |
J1 JUMP1@JUMP1 JUMP1@JUMP1A |
J14 JUMP1@JUMP1 JUMP1@JUMP1A |
J2 JUMP1@JUMP1 JUMP1@JUMP1A |
J11 JUMP1@JUMP1 JUMP1@JUMP1A |
*END* |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT.pcb -- Sat May 03 16:21:10 2003 |
*END* |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT.pcb -- Sat May 03 16:26:31 2003 |
*END* |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT_blz.eco |
---|
0,0 → 1,114 |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT_blz.pcb -- Sat May 03 16:36:13 2003 |
*CHGPART* |
J13 JUMP1@JUMP1 JUMP1@JUMP1B |
*END* |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT_blz.pcb -- Sat May 03 16:49:31 2003 |
*END* |
*PADS-ECO-V3.0-METRIC* |
*REMARK* -- SOLARNI_ROBOT_blz.pcb -- Thu Aug 19 18:12:36 2004 |
*PART* |
J13 JUMP20 |
*SET_ATTRIBUTE* PARTTYPE JUMP20 |
"Value" ??? |
*SET_ATTRIBUTE* DECAL JUMP20 |
"Value" ??? |
"Description" jednorady hrebinek 20 pinu |
*PART* |
J15 JUMP20 |
J16 JUMP20 |
J17 JUMP20 |
J18 JUMP20 |
J19 JUMP20 |
J20 JUMP20 |
J21 JUMP20 |
J22 JUMP20 |
J23 JUMP20 |
J24 JUMP20 |
J25 JUMP20 |
J26 JUMP20 |
J27 JUMP20 |
J28 JUMP20 |
*END* |
*PADS-ECO-V3.0-MILS* |
*REMARK* -- SOLARNI_ROBOT_blz.pcb -- Thu Aug 19 19:10:23 2004 |
*DELPART* |
J13 JUMP20 |
J15 JUMP20 |
J16 JUMP20 |
J17 JUMP20 |
J18 JUMP20 |
J19 JUMP20 |
J20 JUMP20 |
J21 JUMP20 |
J22 JUMP20 |
J23 JUMP20 |
J24 JUMP20 |
J25 JUMP20 |
J27 JUMP20 |
J28 JUMP20 |
J26 JUMP20 |
*PART* |
J13 JUMP12 |
*SET_ATTRIBUTE* DECAL JUMP12 |
"Description" jednorady hrebinek 20 pinu |
*PART* |
J15 JUMP12 |
J16 JUMP12 |
J17 JUMP12 |
J18 JUMP12 |
J19 JUMP12 |
J20 JUMP12 |
J21 JUMP12 |
J22 JUMP12 |
J23 JUMP12 |
J24 JUMP12 |
*SET_ATTRIBUTE* DECAL JUMP12 |
"Description" jednorady hrebinek 20 pinu |
*PART* |
J25 JUMP12 |
J26 JUMP12 |
J27 JUMP12 |
J28 JUMP12 |
J29 JUMP10 |
*SET_ATTRIBUTE* PARTTYPE JUMP10 |
"Value" ??? |
*SET_ATTRIBUTE* DECAL JUMP10 |
"Value" ??? |
"Description" jednorady hrebinek 10 pinu |
*PART* |
J30 JUMP10 |
J31 JUMP15 |
*SET_ATTRIBUTE* DECAL JUMP15 |
"Description" jednorady hrebinek 20 pinu |
*PART* |
J32 JUMP15 |
*DELPART* |
J13 JUMP12 |
*END* |
/roboti/solarni/2004/Univerzalni deska/SOLARNI_ROBOT_blz.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Univerzalni deska/osazovak.PDF |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Univerzalni deska/schema.PDF |
---|
0,0 → 1,266 |
%PDF-1.3 |
%Çì¢ |
8 0 obj |
<</Length 9 0 R/Filter /FlateDecode>> |
stream |
xÕ]Y$·q~_ÑzdO ÷á72MY'¹²ô ÅäÚMR! õëHT£§ggªÞÝØØN ø |
+êKÍ£{ÎBnÝs.Í[KmÎ{îæ0¸çÖ(¸ç\YZØåæ~Z¥ðó×z8*×^í¹Á@=§ytÏùàÓ÷ÑsÁº-xn3Þs7Á=·FÁ=C»HkóÜO«~þZϧS庫=7¨ç4î¹Kþ>z.ÂZ#·;ï¹Ãà[£àV^KC*s?Rb}JϧWåú«=7xåS<ºçõåûè¹s*en3{Þs7Á=wEþ´MÝé ê± Û¬[[µ¦Ï0¤âÍÔ7ÁPlݲ]a°ÅÇ7sa±§[â£s·nB·ÅGÓl¶ÎWÎ(Ö ²'¯ªÈðWj(Wdzj(òº/67Îw\:¶É<ªsÇ}8u¡8ë¸Û Ð÷áÔq.¸ ;èÑSÐ|~O^í8(CÛD^í8zjt\#GÇ |
+¿àÌBnÜñÑTâzø}0¯%âÖï¡ÐÃo ð°©Þ!r&2D#Çxpi.DwºOO,¦Í2¾pk?üà¡Å@^ý©I9೫¡¥ýáGOvA)®¥ý'§¥¯TZÚ´Õs?ç4Ðr-íÓ'Ö±Ââå'¦±ä·¥0Òî}ÜRî#FX:sñtï6gr£´ L |
+u`^/ þ^JübïO´¿.ÒV¼ßqZ¨ Úêòþ¸Hûßï¿.~Õ¿à´ö]ÈÔñíb¨½^ÔûfÁ»ªwÕ½«¡ñÔ÷xÉ°"ï9Õ-ZÐõO÷ôx0JÜJ3ù~ÛV ÕlßÁ®f#ðçÐØ\}Kû{k,G½¿XðJCä±.Xÿ¸`}»¨ö©ð¤M#hXÒ¦/^wù»¾¿´´öãê\jðXôüÏ[ÍÁ`Ü£vÞ}Ë`O!.7.À_/DÂj@ÿ÷bp|ݪaÒ®ôs«Éð·'Þ_.ûj>,&+aÁÕ£XéËÏÅ ÿ¥'ðZO÷~ó(u×_E´zÃUUÿÖPæüX[I`'gÕ+<_=QÜÞ¤î*90§¦ü|}%%W0Wiëzj®0 |
+hMA\èH¦ºÇgJ@¿,sS¾NhùR\Ïß?åSù±¤Î;Ùó#¢ò ìù¡8§ò ìõkþfþ¾«ïü._%´üùýU¢},©y}Ò~|ûDMDè÷v3.Lù÷öa6b`7ß>MÅ°Åd«Ì8 øU£úõyÒgçÅÿ@VÛ>Á¤ÇÔØke8åÊYý÷«IßW-%×eÚAËej"°KIÀÿKu¥A½ß¢l|tþÆ?çÖ+ÁMúìZ/×Ø¥ÈÕÖÃÝZQ6þkÑ|«5æ5qh*í}È[±°`Öª ýu(΢ǶgÞ i´g4fÑ`«ÑÓ&×ÖÒ7þÐ ¦Sȶ=ô {AÖ8°;]èmíaAÐùäA*4ÓËAö 5àýKȽFäèS\áX°£ \¡ yÉ̤ÓÉ:/pÓWÈQPÞ .ý!ä)¢,(?®¶ÊÀF·ìAªA8'DÁ·öCCZ½Z@\|ïɼÎ(Âr7½nåÛòË׶µ% |
+Î8ò¢Q\ÑL%"Ùk®Ca|M. |
+¢¤Åsaö¶þ«óÑÝÛÏz Ìi³ÌG |
+ ÏQÔmáV ²@ y$JÖFáW¢ dBAä(¼ñøC£¤Fä(,Ø8sĺ¿BAä¡(2¬DZ@]S òH`3 yXä |
+°È5 |
+$Dá-¾²@zFAä¡(Èó QÔ(«ØB/¡ð>õUc%ÉÍ ^RÈ<õÒ5d+ ÃV#CòHd<¯![]Õ |
+Ùö¨{;ÜQê¸Jx©JÖEJé"~µÅµÚø'áϨ&Ã0$½¸K¶*¿¼§*á¯JýjÃze8¬ìOÛ®Xî6A_íû¯] ¬^ûTÛEch35ø0|ßðpá ï´Úiû¸5s(5çëÍüáâuWMµjæ-¶ô]ë3Æ çA²ï6xVE¼ã^ACØÂ$z¤W|aªú95Ç^\Bn%Äà9]ÂʼÚùæ± ËH5(¥Ôè~êYÍÎ_-fÆÊÕ° |
+«a½*oeÖ¯0ó ¬$ô£^òOhG¿}§1³ØæÅ% Z9²Aµ©ÙÈÆnâ I¾7T§ü»oÊQ<ó4?(uý ¿ûî³oM|o¾4=ÜMÏNÁqÞeÄvлäp¯Áö÷Lµý=Kë·c÷äVsÚ °hºê£ Opà-ÝÉø}hz¥£iM'¯¨ÅµÍ¯. Á (í=R½q÷ÈÅÍø}Èþäè7EÆ÷µÎ£¯ÝðJ#xÓéõ]#9´¹qùFPLàh÷¼£D"¥6â |
+#ïQN&^kÙêM÷n ³À¢Á.kúðÏxÔM¥©d)¥"kï.½vFGíÛ\íU«'¹~}=ðìÈÏ,Gý@@LvÈIIx¸ó¸µ©ó§/Åõü]ù:ÿFZü§|6çÛd])¥©ô¡d÷ Ô¡22©ô¦ºw}«)¿H¯nÌ".Òdõ9H,Ô.òûëÝÇ1j³±Q¬ÙA´Ø¦=-hê#ópÌÆ`E{äê¤OP(DEEàèÙCyÙÎ`®èõÑ0î:À2.@¤õ9ñ0RLûG8 .ï<Ý#Ý}Æ¢P(¿ÙX¼N¹e+=pÿæÓÁm¿ä$ÄE+ûãØ'FZc%[º+-võÜJïÿÁ¹4DÙ[f¤P%Ò²Ù»°CTa |
+CYkAH²#làñÒÍÆ°µzæò¥t@fc¼ªD"¥6ä |
+ÆØ-îcö¬no¦a¶×,ÒútµuÎ/7/ù]¶HiîqXVpDÛ ópæ߶õ*S| 8Låß´LÖ6H1J¸ 6þ-e1ŵԮpñðÐ¥?4*Þxp$G1L.÷Ý»ÝRDÿÓtD÷{;H2.íìMuèرk¨9;¬Õbâ¾1$ûò\²0QcÑB2ò|\DlµWPm·hQ<ÞX´¼ý¢U®®Xñ+Ö%GZ±Ú¼bQ,â#wUrÝ(CÂ&OdyäÇ)ÌȳüqOøÜ>L$料R ó# |
+ô*,vRû?ÎÅ81Õ¦ºS =èr-üÜïÎgÔztøy{=üCÚ{b:é2cð¶g²I¾¹\Sh¨ÄFàè}ïy &."FHöÚ«ãP4Bgú ¤÷7»t*ïÛ|¼²ò-Þ@;Õ}qË}áô6ÇùõÃ2Jâs}l5³,AÙl"Roa¶~n0ÁÜ×[{~Þ"ËrËï/òÏfÛµ1=ñ åz§ùR°Óõ;u3ÎP2©Û!ÎÞ&Óðvè]:ÌûM»8Óp |
+7cµº¥³¯ð.6_,Hm.ü¸3ÂR4¶"ù`g*C{"@AÅr |
+pÏOd)»|Íï:yCy"A,Úò#qzâì£3ú²1£×©if\jd:VÈeV~ïÚÈj¦ªyþw$Së¿p'¦¡iXòÅ¥½}ýh(;dõÑPrÈÑ÷ô©Rv¸ö|&ÏóûÑSrÈïË¡Z@׳õAû>øEdÑ¢ÙyªÚO5ç±ÎShSo/&vêv.g8q*+Í£pPÒvûOÙtË0¤ÉjD²[ÈÕmÍT';Oö<X«º©D"¥¶b QìÐl&;ÈÛ¡|¸ö)^`®büéå)Êïz¬)ÚN¤]³EÓfB1U©çhºtÅ ¥ÔÙ~âSJfBñAå ¨¸è%)µàÐÛ`!so LÞÞLÈèzào&¬Æ½ï0Úël&ðA©+f1EdoÌ¡6¢ÑîWhDl2¤|=Oãò Àa õ¼dÍàb¢È¤ÔF\Ca|Ý´zô@¾¤¢õánî_ïÎ?î|µ«%Þ_¾xÙÌBÞ9ïÞùe;!+2CÆùZrIªkY`j%OΧµÃE×Èq%E·=¹Aß.C8Ñ%¥?¾^ç}NWËz¼±ÖÒKpù.w²agG½¼H[ÄI7£/}D&ðAÜìy ö£D"¥6â |
+»zU£"@U°¹Ä;RGIU°è%2Ùjc®Cc»cn1Ó𻸬c@Ñî¦B=sÎ.em4n ÜÔÓ=0'¼xñ´~×!Ç÷jaЪvøLÐ`ð |
+Ôw9²ïÉ[£§`9Cò2"U4 &âlLáÞP¸''¡Lø{9ÕÂC¢°¬0 {oBÑRPÔï^V¢Z®9zí |
+vyÀ!«JBÖ° dhQ½D&[mÌÕq( |
+»>/¥o{þ¸®òÕu}?®<¤|}å!ç[úöaâ?Ný©ÊU¤åù¶7{_׸mV-mTåÉbG³ËæùÃQV7»Ô´ÂÅĸ½Obkº_ãn¤©%X |
+ ßæí#«V9Âw8 Ww8µÕ1ÅÕ秺uV8Vi+åï³óå$Ouõ1Ê_Åð¬î¬](DO<M+"ùqÓã"¾PL4Oô Æ£½|bQhQ=1Â(ô »PL')CG pC\ìMI¬åI¬ÂcüHC¡÷'ÿqÇò¦V!D´Ñ.Öã²k ÆüR§ü8zo¾¼/¶¶K1UÛIÐwÝ.mDnFl#y˯q±[¡ý9«< |
+$O5Õ£°ÛÏÒçÉWeeÊGÒÝbæoäØï£kϤ4`Ö±ÓÉ×'¾·Þ®ÓL³ðvRB: |
+ÔÛAéXhÚ¡ÃáRk»&ï96e¼}X?¦LþSµUè®az5w<â&Í}µÊ).XFÍ»¯òWP¸ñ5kµÈ³%ÛlÙŹ[çPW¾Ä~á®W¡e»C4v&ea·Ü`Îßß±¿¤ÃÒÄ#È0>W¾ß0¤»U¿îý(8p&*é\÷@Wø«÷ß{@ðÙÉåºóY¡¤¾Ð/¬ÏÍÍ»EUwÊW*¡ß}Nd¯2Ò¥Åús#» jÚèUõÓÕ ê<ÆÎßàÁúFëÉËôÞ?ß*Ó¹;nìüÑý àõ*E:ßï>²{¤±«Æ&çÓØ%U§Ëµ}7 |
+ªýÛóeÊß]`ÆÑÖëöCW¸-û¹_úÇêC*í8¶ºî&§4ê§ÉÜã&ûäîÍYI¦]ð/)F¢Ø=´ª6²÷îî"h¯£htk~]OóÛéÞSëËp¨+ôà騫³|nÌ8áÓ_éqóWz7WýÍÅÕÈ:åKÓ£gujRç¯îø¡®ÓèÞO¾MP.ô\R?¿»Ú«iuö¿¸¡|[ß½ÒÊV÷Õû3ë´òésPKG>ËâCðé÷ßKgGqmÃÿ»ã÷üïÇ×v |
+r¾ÂP:¨})úÌ:ß´ß·Â÷ÓûVËKµæÐ æàwiÛç;?k;éSg><!Ú[ú×Jl$xbÖE¹ýÈTsËÃï×±ëKl>H_ªrä#."FLJmt>Tp(¯ùôúsBïü7,ÞPËWCm¹6Ó!¬& ÑtÉu6.^rZÆÈt@òè¶ánr²ÕF\CaäVÿPsZî7%¡h;Õîqò»V Ñ`ÅrÔ6wénØ6¡c{ôxç ß½¬ZG-$'Zí |
+22{b'Ôôa²M-äêKT<6¸%ÒFR.(¨Á÷ |
+üý??©endstream |
+endobj |
+9 0 obj |
+7262 |
+endobj |
+7 0 obj |
+<</Type/Page/MediaBox [0 0 595 842] |
+/Rotate 90/Parent 3 0 R |
+/Resources<</ProcSet[/PDF /Text] |
+/ExtGState 16 0 R |
+/Font 17 0 R |
+>> |
+/Contents 8 0 R |
+>> |
+endobj |
+3 0 obj |
+<< /Type /Pages /Kids [ |
+7 0 R |
+] /Count 1 |
+/Rotate 90>> |
+endobj |
+1 0 obj |
+<</Type /Catalog /Pages 3 0 R |
+>> |
+endobj |
+6 0 obj |
+<</Type/ExtGState/Name/R6/TR/Identity/BG 4 0 R/UCR 5 0 R/OPM 1/SM 0.02>> |
+endobj |
+16 0 obj |
+<</R6 |
+6 0 R>> |
+endobj |
+17 0 obj |
+<</R12 |
+12 0 R/R15 |
+15 0 R>> |
+endobj |
+5 0 obj |
+<</Filter/FlateDecode |
+/FunctionType 0 |
+/Domain[0 |
+1] |
+/Range[-1 |
+1] |
+/BitsPerSample 8 |
+/Size[256]/Length 12>>stream |
+xkhÙ DÀ |
+endstream |
+endobj |
+4 0 obj |
+<</Filter/FlateDecode |
+/FunctionType 0 |
+/Domain[0 |
+1] |
+/Range[0 |
+1] |
+/BitsPerSample 8 |
+/Size[256]/Length 12>>stream |
+xc`Ù |
+endstream |
+endobj |
+11 0 obj |
+<</Type/FontDescriptor/FontName/YAYZWA+Helvetica/FontBBox[-174 -285 1001 953]/Flags 32 |
+/Ascent 953 |
+/CapHeight 741 |
+/Descent -285 |
+/ItalicAngle 0 |
+/StemV 104 |
+/MissingWidth 278 |
+/XHeight 539 |
+/CharSet(/space/numbersign/parenleft/parenright/plus/comma/hyphen/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/a/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/v/y/z) |
+/FontFile3 10 0 R>> |
+endobj |
+10 0 obj |
+<</Subtype/Type1C/Filter/FlateDecode/Length 18 0 R>>stream |
+ëÏëô³QP#¨¼rKN;ÖÃÃsFAa©F§-.ý1#k¹jÙhò²L®,(TÉÕ:/Ùl¹\¦ËËrJ¹lFBbjt|¤Ì-2>Y)WË5JYbÑb¥"K«È«µò±²LÙû!Ë*Pg+tµÖK¢eÊ´ ò,Ù$/ÉZ&<e rJ¡ÕwB+ËÕdªuòl®@¦Pg)²-×ñµNV¨) ó*2CJ,Ðê´YE¡NFnLèµQ©³Ü«UiYAY]Udñæ¯9]¦Béä%:Ë=å²l ¶PYJî%GjV´ |
+uîß·{Ê4òÜLM¶R®µkÊßþÉþáufa¡²Ôº·Àºê¯û:\ã¯P-.ÒÊfgm±²$yn2Só?géÿ7¢cCJÕYóâBË |
+²ãgÊÂrÃ5¹Ú¼¤HbvÔ9ÑËòc)3UsýÇNè!ä9y\ëoñ¾~n5r¡Ò¨* |
+óõ¼OµWCwÐo¼Õ¤¢±«zTôÏÌ( á=3`´ÿ!VLÈ!ün¿cöÄÃxOÚpsMþä9%åyhè{¨|céfvºhçêìAС{>Û¿kÇÏê¡Üä0ÄbV5ÔW==zÚÄ_¶Í»C½H|óßZܪÏàßÛy¨3æÒhØ'¥ª²F1C÷÷| @B>^s|½òËâC¹±BGzcB/]2pǶû0¨R:)´(3±Þsîà pº ÿ¡åôâÐJ©5¦pâ3oËA NÄ'p 1ÍÀ:xÙòa>¾Lð^ïNdä· |Þ`Èä6ѤÂçõôÇJSs=*#d¶\gÍXnº¡;¾ÛIü¶m0;èë]'êkWG1«É«ó·»poj*nKý,ø×ÈtãÛ,(Ñythí¾ýŪPÊ.W.-Ö¨×Î%¢ð6C±è:¼r¿Ý£Û;å½_¤+ÒªV.D, $jåZ|%úΡpÁ·Ìvôt>¨ëEð-oOÞôg´¡©SûøZñuÁa8ÌècaL×[Ñþo°tC÷ìRûÏ |
+'¿üµ³0pÚì*ÁOØÙ6-"{xMMñ¾eUKP;!#ÛMb-øÐ ¬×¬0M©<ÇáË )fð`qxhHÔEùçÕ¨ È_À¼@ø0i\µä9³Ü°M|Ñ]Rú¤ðùFØÅ:} õ綺¶»wú |
+Ú]+ïÞ,¸KaÁÈ5 |
+V·*ß |
+{)[V6ïC6IÂDë?ª¨Bì³Æãw¥&{dÚLvig¬87XKPþo3kæ;°¶Ç¹±rµ<B |
+AÜ8r÷ÖÀñÁ°ßMc°9Ëø@ò |
+ôS*åGÂnǽ§`<ßXNìÆ]I½ýÒp vaz:õàÝI´|/4¥ræ>Ly0ýùWãÑûüjË;qAé'.ú1ÛgUì^z2ù;åCBÞ®¯Þ;ȼ^àá©Y+T¥!³LïÑ×ô¤· ó89| j°Áw0 Q¸<36#¢XÃ!ÜïóàúØãI×z4zù |
+¤0d|7Ï)+nK/^£ëèTö§,QE¸¦DOß)qÍ?¯^ë$mëѪjHh@V?Õάp ³Âüiòi)ëÞò3qx§ÅYµ?/fp ~?»¥àrösÂ\ðka7Î7ëÕRXQ¾Zy";Q¯_Ü-z]1]PAþ©Gþè˵Þ[kB=ý±0zoîw%â_§dg%Ã2ýÔ\[ÖñKÌÂ6îþÙè´´Ó·OßÅçlWgO0{üËííW/)O`íw« P79¼z¬þ#ìIz¸Nª·¿6ÁDn'f¿ ¨»ÇÿuãÌêNp¥ßgÞȾwÄ¢hÝÇ`)Òån7î½ø´ÌöâТåÍ,âpëÞþñq&¦\yÞuõæ#-®ÙÍÚ,àKMq\çÑØ© yt0kù°QâP3¯9Î¥¿'AÎ¥aÀ??ú6»0G þÙñä¬ë/È5pç ½Â×7¿ÛÆò SÅÕVäò«zVÑXeZE÷r^oB]dG£uNÚ8§µ³®yÅà î"}ÊARôcú·sØ |
+¿»âªck½mG?ýGvv[íì)ê¿1OàÌ |
+endstream |
+endobj |
+18 0 obj |
+4414 |
+endobj |
+14 0 obj |
+<</Type/FontDescriptor/FontName/QHZAXA+Courier/FontBBox[-12 -237 650 811]/Flags 35 |
+/Ascent 811 |
+/CapHeight 576 |
+/Descent -237 |
+/ItalicAngle 0 |
+/StemV 148 |
+/AvgWidth 600 |
+/MaxWidth 600 |
+/MissingWidth 600 |
+/XHeight 431 |
+/CharSet(/C/I/P) |
+/FontFile3 13 0 R>> |
+endobj |
+13 0 obj |
+<</Subtype/Type1C/Filter/FlateDecode/Length 19 0 R>>stream |
+ÄÄx3Ñhbü¸aä@bâeËÁmQ¨WoóÞÿ½ßÿ½ak òlŹKÍ^IS0Rò©£5êKËdîö¶{ûå¦/SYf¸]̬}ôªJãk ññà.å.û}Æþh.457·x%9¦àè° |
+mbðGNDpT#æá&$yj+ ê0xûý{}ÝÐØíB7Âà×>B"AMvIb«XI+tàÈ(Í&4Br^h)#ó@TáE A !AçíÍ|DUÉÔGLÅDù%¢eLGg×îê0¯æ} 6e"feX |
+iùmö4Ç"©y!aLd¾&JVpa`1ºïÞ |
+òJX@¤ÀÍßÊþ~P´5/ËB¬Ð+ªöü±Jiõá!ÀYI (ª ¼òOrÿþïݱxý½sic>cefïìqc«ÜØë#KúlUR7zmõ¡ó5W÷¯ô&{þÑk¯_N'}v{®Vä*hý×OÖ^¸®,>L.8îOßLÜN¸gG»óèOêâÞÙié·-jÙø|Þ7罹¥T:ÃQ«½º>HO'¦bns¤N:ÓÙ/:]Ó-ÔCã5´ÖFm67Û×q¹-6O'2Ü«-¸Ñq[f!µô`*5ÆåÜ6·Ò9Údÿôv »Ë8Á観ô ~o,×PζþÛ±^Dâv´W¯9[ù¬q2K«²Ù¬mÕ©®º\º«a~¹jÌ |
+endstream |
+endobj |
+19 0 obj |
+717 |
+endobj |
+12 0 obj |
+<</Subtype/Type1/BaseFont/YAYZWA+Helvetica/Type/Font/Name/R12/FontDescriptor 11 0 R/FirstChar 1/LastChar 255/Widths[ 333 333 333 278 500 500 167 333 556 222 584 333 333 611 500 |
+278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 |
+278 278 355 556 556 889 667 191 333 333 389 584 278 333 278 278 |
+556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 |
+1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 |
+667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 |
+333 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 |
+556 556 333 500 278 556 500 722 500 500 500 334 260 334 584 278 |
+556 278 222 556 333 1000 556 556 333 1000 667 333 1000 278 278 278 |
+278 222 221 333 333 350 556 1000 333 1000 500 333 944 278 278 667 |
+278 333 556 556 556 556 260 556 333 737 370 556 584 278 737 333 |
+606 584 351 351 333 556 537 278 333 351 365 556 869 869 869 611 |
+667 667 667 667 667 667 1000 722 667 667 667 667 278 278 278 278 |
+722 722 778 778 778 778 778 584 778 722 722 722 722 666 666 611 |
+556 556 556 556 556 556 889 500 556 556 556 556 278 278 278 278 |
+556 556 556 556 556 556 556 584 611 556 556 556 556 500 555 500] |
+>> |
+endobj |
+15 0 obj |
+<</Subtype/Type1/BaseFont/QHZAXA+Courier/Type/Font/Name/R15/FontDescriptor 14 0 R/FirstChar 1/LastChar 255/Widths[ 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] |
+>> |
+endobj |
+2 0 obj |
+<</Producer(GNU Ghostscript 7.05) |
+/Title(PDF995PORT) |
+/Creator(PScript5.dll Version 5.2) |
+/CreationDate(3/2/2005 19:46:26) |
+/Author(Jakub)>>endobj |
+xref |
+0 20 |
+0000000000 65535 f |
+0000007597 00000 n |
+0000016464 00000 n |
+0000007528 00000 n |
+0000007954 00000 n |
+0000007806 00000 n |
+0000007645 00000 n |
+0000007367 00000 n |
+0000000015 00000 n |
+0000007347 00000 n |
+0000008539 00000 n |
+0000008101 00000 n |
+0000014145 00000 n |
+0000013322 00000 n |
+0000013060 00000 n |
+0000015309 00000 n |
+0000007733 00000 n |
+0000007763 00000 n |
+0000013039 00000 n |
+0000014125 00000 n |
+trailer |
+<< /Size 20 /Root 1 0 R /Info 2 0 R |
+>> |
+startxref |
+16616 |
+%%EOF |
/roboti/solarni/2004/Univerzalni deska/solarni_robot.opj |
---|
0,0 → 1,170 |
(ExpressProject "solarni_robot" |
(ProjectVersion "19981106") |
(ProjectType "PCB") |
(Folder "Design Resources" |
(Folder "Library") |
(NoModify) |
(File ".\solarni_robot.dsn" |
(Type "Schematic Design")) |
(BuildFileAddedOrDeleted "x") |
(CompileFileAddedOrDeleted "x") |
(DRC_Scope "0") |
(DRC_Action "1") |
(DRC_Create_Warnings "TRUE") |
(DRC_Check_Ports "TRUE") |
(DRC_Check_Off-Page_Connectors "TRUE") |
(DRC_Identical_References "TRUE") |
(DRC_Type_Mismatch "TRUE") |
(DRC_Report_Ports_and_Off-page_Connectors "FALSE") |
(DRC_SDT_Compatibility "TRUE") |
(DRC_Report_Off-grid_Objects "FALSE") |
(DRC_Check_Unconnected_Nets "TRUE") |
(DRC_Report_Netnames "FALSE") |
(DRC_View_Output "FALSE") |
(DRC_Report_File |
"D:\@Kaklik\schemata\roboti\solarni\2004\Univerzalni deska\SOLARNI_ROBOT.DRC") |
(Netlist_TAB "7") |
(OTHER_Part_Value "{Value}") |
(OTHER_Netlist_File "SOLARNI_ROBOT.asc") |
(OTHER_Netlist_File2 "SOLARNI_ROBOT.CMP") |
(OTHER_View_Output "FALSE") |
(OTHER_View_Output2 "FALSE") |
(OTHER_Formatter "padspcb.dll") |
(OTHER_PCB_Footprint "{Device}@{PCB Footprint}") |
(OTHER_Switch0 "FALSE") |
(OTHER_Switch1 "FALSE") |
(OTHER_Switch2 "FALSE") |
(OTHER_Switch3 "FALSE") |
(OTHER_Switch4 "FALSE") |
(OTHER_Switch5 "FALSE") |
(OTHER_Switch6 "FALSE")) |
(Folder "Outputs" |
(File ".\solarni_robot.drc" |
(Type "Report")) |
(File ".\solarni_robot.asc" |
(Type "Report")) |
(File "..\upravy_kakl\solarbot..net" |
(Type "Report")) |
(File "..\upravy_kakl\solarbot..asc" |
(Type "Report"))) |
(Folder "Referenced Projects") |
(PartMRUSelector |
(TITLE |
(LibraryName "C:\LIBRARY\ORCAD9X\SYMBOLS.OLB") |
(DeviceIndex "0")) |
(TITLE_FIRMA |
(LibraryName "C:\LIBRARY\ORCAD9X\SYMBOLS.OLB") |
(DeviceIndex "0")) |
(TITLE_MLAB |
(LibraryName "C:\LIBRARY\ORCAD9X\SYMBOLS.OLB") |
(DeviceIndex "0")) |
(MAX809 |
(FullPartName "MAX809.Normal") |
(LibraryName "C:\LIBRARY\KAKLIK\ORCAD9X\RUZNE.OLB") |
(DeviceIndex "0")) |
(PIC16F84/SO |
(FullPartName "PIC16F84/SO.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\MICROCHIP\CPU_PIC16_FLASH.OLB") |
(DeviceIndex "0")) |
(PUSH050x050SMD |
(FullPartName "PUSH050x050SMD.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_SW.OLB") |
(DeviceIndex "0")) |
(C-ELYT-CE050X10/L |
(FullPartName "C-ELYT-CE050X10/L.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_RLC.OLB") |
(DeviceIndex "0")) |
(C0805 |
(FullPartName "C0805.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_RLC.OLB") |
(DeviceIndex "0")) |
(LED3mm |
(FullPartName "LED3mm.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_OPTO.OLB") |
(DeviceIndex "0")) |
(JUMP1 |
(FullPartName "JUMP1.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\JUMP.OLB") |
(DeviceIndex "0")) |
(C-ELYT |
(FullPartName "C-ELYT.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(SWON |
(FullPartName "SWON.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_SW.OLB") |
(DeviceIndex "0")) |
(D-ZENER |
(FullPartName "D-ZENER.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_D.OLB") |
(DeviceIndex "0")) |
(R0805 |
(FullPartName "R0805.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\COM_RLC.OLB") |
(DeviceIndex "0")) |
(RFD8P06LESM9A/TO |
(FullPartName "RFD8P06LESM9A/TO.Normal") |
(LibraryName "C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\TRANSISTOR.OLB") |
(DeviceIndex "0")) |
("RELAY DPDT" |
(FullPartName "RELAY DPDT.Normal") |
(LibraryName "C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\DISCRETE.OLB") |
(DeviceIndex "0")) |
("MOTOR AC" |
(FullPartName "MOTOR AC.Normal") |
(LibraryName |
"C:\PROGRAM FILES\ORCADLITE\CAPTURE\LIBRARY\ELECTROMECHANICAL.OLB") |
(DeviceIndex "0")) |
(BAT-CELL |
(FullPartName "BAT-CELL.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_REST.OLB") |
(DeviceIndex "0")) |
(D-SCHOTTKY |
(FullPartName "D-SCHOTTKY.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_D.OLB") |
(DeviceIndex "0")) |
(R |
(FullPartName "R.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(C |
(FullPartName "C.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_RLC.OLB") |
(DeviceIndex "0")) |
(GND |
(LibraryName "M:\ORCAD91\SYMBOLS.OLB") |
(DeviceIndex "0")) |
(LED |
(FullPartName "LED.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\GEN_OPTO.OLB") |
(DeviceIndex "0")) |
(JUMP2 |
(FullPartName "JUMP2.Normal") |
(LibraryName "C:\LIBRARY\ORCAD9X\JUMP.OLB") |
(DeviceIndex "0")) |
(ALDKW-K |
(FullPartName "ALDKW-K.Normal") |
(LibraryName "C:\LIBRARY\KAKLIK\ORCAD9X\RUZNE.OLB") |
(DeviceIndex "0"))) |
(GlobalState |
(FileView |
(Path "Design Resources") |
(Path "Outputs")) |
(HierarchyView) |
(Doc |
(Type "COrCapturePMDoc") |
(Frame |
(Placement "44 0 1 -1 -1 -4 -30 0 200 0 301")) |
(Tab 0)) |
(Doc |
(Type "COrSchematicDoc") |
(Frame |
(Placement "44 2 3 -1 -1 -4 -30 66 756 87 414") |
(Scroll "0 475") |
(Zoom "112") |
(Occurrence "/")) |
(Path |
"D:\KAKLIK\SCHEMATA\ROBOTI\SOLARNI\2004\UNIVERZALNI DESKA\SOLARNI_ROBOT.DSN") |
(Schematic "SCHEMATIC1") |
(Page "PAGE1"))) |
(LastUsedLibraryBrowseDirectory "C:\library\ORCAD9x")) |
/roboti/solarni/2004/Univerzalni deska/spoje.PDF |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Univerzalni deska/spoje_zrcadleny.PDF |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/Univerzalni deska/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/main.BAK |
---|
0,0 → 1,66 |
/* Program pro ovladani slunecniho robota */ |
/* (chodi se zapojenim Dark Walker rev.3 */ |
/* $Header: /programy/PIC_C/robot/solarni_robot/dalsi_verze/main.c 8 7.09.03 12:35 Kaklik $ */ |
#include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h" |
#define LED PIN_B3 // LED |
#define ON_TIME 75 // Cas sepnuti rele |
#define meridlo PIN_B2 // Napetovy supervisor |
#define RESET PIN_B0 // Pridrzeni RESETu |
void rele1() // Sepnuti prvniho rele |
{ |
output_low(PIN_A1); |
output_low(PIN_B4); |
delay_ms(ON_TIME); |
output_high(PIN_A1); |
output_high(PIN_B4); |
} |
void motor() // Sepnuti motoru |
{ |
output_low(pin_A2); |
output_low(pin_B1); |
output_low(PIN_A4); |
delay_ms(ON_TIME); |
output_high(pin_A2); |
output_high(pin_B1); |
output_high(PIN_A4); |
} |
void main() |
{ |
setup_counters(RTCC_INTERNAL,WDT_18MS); |
output_high(RESET); // vypnuti resetu od supervizoru |
output_low(PIN_A2); // vypni vsechno |
output_low(PIN_A3); |
output_low(PIN_B5); |
output_high(LED); // |
delay_ms(ON_TIME); // bliknuti LED |
output_low(LED); // |
output_high(PIN_A3); |
delay_ms(3000); |
output_high(PIN_B5); |
delay_ms(10000); |
output_low(PIN_B5); |
output_high(PIN_A2); // rozjezd |
delay_ms(1000); |
output_low(PIN_A3); |
delay_ms(1000); |
output_high(PIN_B5); |
delay_ms(1500); |
output_low(PIN_A2); // vypni vsechno |
output_low(PIN_A3); |
output_low(PIN_B5); |
output_low(RESET); // zapnuti resetu od supervisoru |
} |
/roboti/solarni/2004/main.HEX |
---|
0,0 → 1,26 |
:1000000000308A0012280000103084000008031914 |
:1000100011280F2800000000000000000000800BE5 |
:100020000A28003484011F30830508308C008C1DA1 |
:10003000212807308101813084000008C0390F3841 |
:1000400080006400813084000008C0390C04800006 |
:1000500083160610831206148316051183120511E8 |
:1000600083168511831285118316861283128612D8 |
:100070008316861183128615C7308C008C0B3E28A0 |
:1000800000000000831686118312861183168511E5 |
:10009000831285150C308F00FA30900004208F0BEE |
:1000A0004C28831686128312861628308F00FA3069 |
:1000B000900004208F0B5728831686128312861215 |
:1000C0008316051183120515C8309000042083168D |
:1000D00085118312851104308F00FA3090000420BE |
:1000E0008F0B6D288316851183128515C8309000FB |
:1000F0000420831685118312851104308F00FA3095 |
:10010000900004208F0B7F28831686128312861698 |
:10011000C8309000042083168612831286120430A1 |
:100120008F00FA30900004208F0B912883168612DE |
:1001300083128616C830900004208316861283121C |
:1001400086128316051183120511831685118312F9 |
:100150008511831686128312861283160610831267 |
:040160000610630022 |
:02400E00F03F81 |
:00000001FF |
;PIC16F84 |
/roboti/solarni/2004/main.LST |
---|
0,0 → 1,274 |
CCS PCW C Compiler, Version 3.110, 15448 |
Filename: d:\@kaklik\programy\pic_c\robot\solarni_robot\2004\main.LST |
ROM used: 178 (17%) |
Largest free fragment is 846 |
RAM used: 3 (4%) at main() level |
4 (6%) worst case |
Stack: 1 locations |
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 012 |
0003: NOP |
.................... /* Program pro ovladani slunecniho robota */ |
.................... /* (chodi se zapojenim Dark Walker rev.3 */ |
.................... /* $Header: /programy/PIC_C/robot/solarni_robot/dalsi_verze/main.c 8 7.09.03 12:35 Kaklik $ */ |
.................... |
.................... #include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h" |
.................... #include <16F84.h> |
.................... //////// Standard Header file for the PIC16F84 device //////////////// |
.................... #device PIC16F84 |
.................... #list |
.................... |
.................... #use delay(clock=32768) |
0004: MOVLW 10 |
0005: MOVWF 04 |
0006: MOVF 00,W |
0007: BTFSC 03.2 |
0008: GOTO 011 |
0009: GOTO 00F |
000A: NOP |
000B: NOP |
000C: NOP |
000D: NOP |
000E: NOP |
000F: DECFSZ 00,F |
0010: GOTO 00A |
0011: RETLW 00 |
.................... #fuses LP,PUT,NOWDT |
.................... |
.................... |
.................... |
.................... #define LED PIN_B3 // LED |
.................... #define ON_TIME 75 // Cas sepnuti rele |
.................... #define meridlo PIN_B2 // Napetovy supervisor |
.................... #define RESET PIN_B0 // Pridrzeni RESETu |
.................... |
.................... void rele1() // Sepnuti prvniho rele |
.................... { |
.................... output_low(PIN_A1); |
.................... output_low(PIN_B4); |
.................... delay_ms(ON_TIME); |
.................... output_high(PIN_A1); |
.................... output_high(PIN_B4); |
.................... } |
.................... |
.................... void motor() // Sepnuti motoru |
.................... { |
.................... output_low(pin_A2); |
.................... output_low(pin_B1); |
.................... output_low(PIN_A4); |
.................... delay_ms(ON_TIME); |
.................... output_high(pin_A2); |
.................... output_high(pin_B1); |
.................... output_high(PIN_A4); |
.................... } |
.................... |
.................... |
.................... void main() |
.................... { |
0012: CLRF 04 |
0013: MOVLW 1F |
0014: ANDWF 03,F |
.................... |
.................... setup_counters(RTCC_INTERNAL,WDT_18MS); |
0015: MOVLW 08 |
0016: MOVWF 0C |
0017: BTFSS 0C.3 |
0018: GOTO 021 |
0019: MOVLW 07 |
001A: CLRF 01 |
001B: MOVLW 81 |
001C: MOVWF 04 |
001D: MOVF 00,W |
001E: ANDLW C0 |
001F: IORLW 0F |
0020: MOVWF 00 |
0021: CLRWDT |
0022: MOVLW 81 |
0023: MOVWF 04 |
0024: MOVF 00,W |
0025: ANDLW C0 |
0026: IORWF 0C,W |
0027: MOVWF 00 |
.................... |
.................... output_high(RESET); // vypnuti resetu od supervizoru |
0028: BSF 03.5 |
0029: BCF 06.0 |
002A: BCF 03.5 |
002B: BSF 06.0 |
.................... |
.................... output_low(PIN_A2); // vypni vsechno |
002C: BSF 03.5 |
002D: BCF 05.2 |
002E: BCF 03.5 |
002F: BCF 05.2 |
.................... output_low(PIN_A3); |
0030: BSF 03.5 |
0031: BCF 05.3 |
0032: BCF 03.5 |
0033: BCF 05.3 |
.................... output_low(PIN_B5); |
0034: BSF 03.5 |
0035: BCF 06.5 |
0036: BCF 03.5 |
0037: BCF 06.5 |
.................... |
.................... output_high(LED); // |
0038: BSF 03.5 |
0039: BCF 06.3 |
003A: BCF 03.5 |
003B: BSF 06.3 |
.................... delay_ms(ON_TIME); // bliknuti LED |
003C: MOVLW C7 |
003D: MOVWF 0C |
003E: DECFSZ 0C,F |
003F: GOTO 03E |
0040: NOP |
0041: NOP |
.................... output_low(LED); // |
0042: BSF 03.5 |
0043: BCF 06.3 |
0044: BCF 03.5 |
0045: BCF 06.3 |
.................... |
.................... output_high(PIN_A3); |
0046: BSF 03.5 |
0047: BCF 05.3 |
0048: BCF 03.5 |
0049: BSF 05.3 |
.................... delay_ms(3000); |
004A: MOVLW 0C |
004B: MOVWF 0F |
004C: MOVLW FA |
004D: MOVWF 10 |
004E: CALL 004 |
004F: DECFSZ 0F,F |
0050: GOTO 04C |
.................... output_high(PIN_B5); |
0051: BSF 03.5 |
0052: BCF 06.5 |
0053: BCF 03.5 |
0054: BSF 06.5 |
.................... delay_ms(10000); |
0055: MOVLW 28 |
0056: MOVWF 0F |
0057: MOVLW FA |
0058: MOVWF 10 |
0059: CALL 004 |
005A: DECFSZ 0F,F |
005B: GOTO 057 |
.................... output_low(PIN_B5); |
005C: BSF 03.5 |
005D: BCF 06.5 |
005E: BCF 03.5 |
005F: BCF 06.5 |
.................... |
.................... output_high(PIN_A2); // rozjezd |
0060: BSF 03.5 |
0061: BCF 05.2 |
0062: BCF 03.5 |
0063: BSF 05.2 |
.................... delay_ms(200); |
0064: MOVLW C8 |
0065: MOVWF 10 |
0066: CALL 004 |
.................... output_low(PIN_A3); |
0067: BSF 03.5 |
0068: BCF 05.3 |
0069: BCF 03.5 |
006A: BCF 05.3 |
.................... delay_ms(1000); |
006B: MOVLW 04 |
006C: MOVWF 0F |
006D: MOVLW FA |
006E: MOVWF 10 |
006F: CALL 004 |
0070: DECFSZ 0F,F |
0071: GOTO 06D |
.................... output_high(PIN_A3); |
0072: BSF 03.5 |
0073: BCF 05.3 |
0074: BCF 03.5 |
0075: BSF 05.3 |
.................... delay_ms(200); |
0076: MOVLW C8 |
0077: MOVWF 10 |
0078: CALL 004 |
.................... output_low(PIN_A3); |
0079: BSF 03.5 |
007A: BCF 05.3 |
007B: BCF 03.5 |
007C: BCF 05.3 |
.................... delay_ms(1000); |
007D: MOVLW 04 |
007E: MOVWF 0F |
007F: MOVLW FA |
0080: MOVWF 10 |
0081: CALL 004 |
0082: DECFSZ 0F,F |
0083: GOTO 07F |
.................... output_high(PIN_B5); |
0084: BSF 03.5 |
0085: BCF 06.5 |
0086: BCF 03.5 |
0087: BSF 06.5 |
.................... delay_ms(200); |
0088: MOVLW C8 |
0089: MOVWF 10 |
008A: CALL 004 |
.................... output_low(PIN_B5); |
008B: BSF 03.5 |
008C: BCF 06.5 |
008D: BCF 03.5 |
008E: BCF 06.5 |
.................... delay_ms(1000); |
008F: MOVLW 04 |
0090: MOVWF 0F |
0091: MOVLW FA |
0092: MOVWF 10 |
0093: CALL 004 |
0094: DECFSZ 0F,F |
0095: GOTO 091 |
.................... output_high(PIN_B5); |
0096: BSF 03.5 |
0097: BCF 06.5 |
0098: BCF 03.5 |
0099: BSF 06.5 |
.................... delay_ms(200); |
009A: MOVLW C8 |
009B: MOVWF 10 |
009C: CALL 004 |
.................... output_low(PIN_B5); |
009D: BSF 03.5 |
009E: BCF 06.5 |
009F: BCF 03.5 |
00A0: BCF 06.5 |
.................... |
.................... output_low(PIN_A2); // vypni vsechno |
00A1: BSF 03.5 |
00A2: BCF 05.2 |
00A3: BCF 03.5 |
00A4: BCF 05.2 |
.................... output_low(PIN_A3); |
00A5: BSF 03.5 |
00A6: BCF 05.3 |
00A7: BCF 03.5 |
00A8: BCF 05.3 |
.................... output_low(PIN_B5); |
00A9: BSF 03.5 |
00AA: BCF 06.5 |
00AB: BCF 03.5 |
00AC: BCF 06.5 |
.................... |
.................... output_low(RESET); // zapnuti resetu od supervisoru |
00AD: BSF 03.5 |
00AE: BCF 06.0 |
00AF: BCF 03.5 |
00B0: BCF 06.0 |
.................... } |
.................... |
00B1: SLEEP |
/roboti/solarni/2004/main.PJT |
---|
0,0 → 1,32 |
[PROJECT] |
Target=main.HEX |
Development_Mode= |
Processor=0x684A |
ToolSuite=CCS |
[Directories] |
Include=C:\PROGRAM FILES\PICC\devices\;C:\PROGRAM FILES\PICC\dr |
Library= |
LinkerScript= |
[Target Data] |
FileList=main.c; |
BuildTool=C-COMPILER |
OptionString=+FM |
AdditionalOptionString= |
BuildRequired=1 |
[main.c] |
Type=4 |
Path= |
FileList= |
BuildTool= |
OptionString= |
AdditionalOptionString= |
[mru-list] |
1=main.c |
[Windows] |
0=0000 main.c 0 0 796 451 3 0 |
/roboti/solarni/2004/main.SYM |
---|
0,0 → 1,14 |
00C @SCRATCH |
00D @SCRATCH |
00D _RETURN_ |
00F main.@SCRATCH |
010 delay_ms.P1 |
delay_us.P1 |
0004 delay_ms |
0012 main |
Project Files: |
d:\@kaklik\programy\pic_c\robot\solarni_robot\2004\main.c |
D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h |
C:\PROGRAM FILES\PICC\devices\16F84.h |
/roboti/solarni/2004/main.c |
---|
0,0 → 1,75 |
/* Program pro ovladani slunecniho robota */ |
/* (chodi se zapojenim Dark Walker rev.3 */ |
/* $Header: /programy/PIC_C/roboti/solarni/2004/main.c 1 19.09.05 20:39 Jakub $ */ |
#include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h" |
#define LED PIN_B3 // LED |
#define ON_TIME 75 // Cas sepnuti rele |
#define meridlo PIN_B2 // Napetovy supervisor |
#define RESET PIN_B0 // Pridrzeni RESETu |
void rele1() // Sepnuti prvniho rele |
{ |
output_low(PIN_A1); |
output_low(PIN_B4); |
delay_ms(ON_TIME); |
output_high(PIN_A1); |
output_high(PIN_B4); |
} |
void motor() // Sepnuti motoru |
{ |
output_low(pin_A2); |
output_low(pin_B1); |
output_low(PIN_A4); |
delay_ms(ON_TIME); |
output_high(pin_A2); |
output_high(pin_B1); |
output_high(PIN_A4); |
} |
void main() |
{ |
setup_counters(RTCC_INTERNAL,WDT_18MS); |
output_high(RESET); // vypnuti resetu od supervizoru |
output_low(PIN_A2); // vypni vsechno |
output_low(PIN_A3); |
output_low(PIN_B5); |
output_high(LED); // |
delay_ms(ON_TIME); // bliknuti LED |
output_low(LED); // |
output_high(PIN_A3); |
delay_ms(3000); |
output_high(PIN_B5); |
delay_ms(10000); |
output_low(PIN_B5); |
output_high(PIN_A2); // rozjezd |
delay_ms(200); |
output_low(PIN_A3); |
delay_ms(1000); |
output_high(PIN_A3); |
delay_ms(200); |
output_low(PIN_A3); |
delay_ms(1000); |
output_high(PIN_B5); |
delay_ms(200); |
output_low(PIN_B5); |
delay_ms(1000); |
output_high(PIN_B5); |
delay_ms(200); |
output_low(PIN_B5); |
output_low(PIN_A2); // vypni vsechno |
output_low(PIN_A3); |
output_low(PIN_B5); |
output_low(RESET); // zapnuti resetu od supervisoru |
} |
/roboti/solarni/2004/main.cod |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/2004/main.err |
---|
0,0 → 1,0 |
No Errors |
/roboti/solarni/2004/main.h |
---|
0,0 → 1,4 |
#include <16F84.h> |
#use delay(clock=32768) |
#fuses LP,PUT,NOWDT |
/roboti/solarni/2004/main.sta |
---|
0,0 → 1,28 |
ROM used: 178 (17%) |
846 (83%) including unused fragments |
1 Average locations per line |
4 Average locations per statement |
RAM used: 3 (4%) at main() level |
4 (6%) worst case |
Lines Stmts % Files |
----- ----- --- ----- |
76 44 100 d:\@kaklik\programy\pic_c\robot\solarni_robot\2004\main.c |
5 0 0 D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h |
111 0 0 C:\PROGRAM FILES\PICC\devices\16F84.h |
----- ----- |
384 88 Total |
Page ROM % RAM Functions: |
---- --- --- --- ---------- |
0 14 8 1 delay_ms |
0 160 90 1 main |
Segment Used Free |
--------- ---- ---- |
0000-0003 4 0 |
0004-03FF 174 846 |
/roboti/solarni/2004/main.tre |
---|
0,0 → 1,12 |
ÀÄmain |
ÀÄmain 0/160 Ram=1 |
ÃÄ??0?? |
ÃÄdelay_ms 0/14 Ram=1 |
ÃÄdelay_ms 0/14 Ram=1 |
ÃÄdelay_ms 0/14 Ram=1 |
ÃÄdelay_ms 0/14 Ram=1 |
ÃÄdelay_ms 0/14 Ram=1 |
ÃÄdelay_ms 0/14 Ram=1 |
ÃÄdelay_ms 0/14 Ram=1 |
ÃÄdelay_ms 0/14 Ram=1 |
ÀÄdelay_ms 0/14 Ram=1 |
/roboti/solarni/2004/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/dalsi_verze/main.BAK |
---|
0,0 → 1,64 |
/* Program pro ovladani slunecniho robota */ |
/* (chodi se zapojenim Dark Walker rev.3 */ |
/* $Header: /programy/PIC_C/robot/solarni_robot/dalsi_verze/main.c 7 14.05.03 23:21 Kaklik $ */ |
#include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h" |
#define LED PIN_B3 // LED |
#define ON_TIME 75 // Cas sepnuti rele |
#define meridlo PIN_B2 // Napetovy supervisor |
#define RESET PIN_B0 // Pridrzeni RESETu |
void rele1() // Sepnuti prvniho rele |
{ |
output_low(PIN_A1); |
output_low(PIN_B4); |
delay_ms(ON_TIME); |
output_high(PIN_A1); |
output_high(PIN_B4); |
} |
void motor() // Sepnuti motoru |
{ |
output_low(pin_A2); |
output_low(pin_B1); |
output_low(PIN_A4); |
delay_ms(ON_TIME); |
output_high(pin_A2); |
output_high(pin_B1); |
output_high(PIN_A4); |
} |
void main() |
{ |
setup_counters(RTCC_INTERNAL,WDT_18MS); |
output_high(RESET); // vypnuti resetu od supervizoru |
port_b_pullups (true); // zapnuti pullapu ,aby se poznal sepnuty |
// nebo rozepnuty kontakt |
output_high(LED); // |
delay_ms(ON_TIME); // bliknuti LED |
output_low(LED); // |
if (!input(pin_B5)) // zmereni spravneho sepnuti rele1 (spatne kdys |
{ // sepnuto) |
port_b_pullups (false); // vypnuti pullapu |
goto chyba; // kdys je uz sepnuto nemusi se znova spinat |
// ani cekat na nabiti kondenzatoru |
} |
port_b_pullups (false); // vypnuti pullapu za spravneho prubehu |
rele1(); // sepnuti rele1 |
delay_ms(28000); // cekani na nabiti kondenzatoru (casovy limit |
// pred rozjetim je 30 vterin 2 vteriny jsou |
// rezerva na nabiti kondenzatoru pro PIC) |
chyba: |
motor(); // zapnuti motoru |
output_low(RESET); // zapnuti resetu od supervisoru |
} |
/roboti/solarni/dalsi_verze/main.HEX |
---|
0,0 → 1,21 |
:1000000000308A004828000083168510831285106E |
:100010008316061283120612C7308C008C0B0E2832 |
:1000200000000000831685108312851483160612C3 |
:10003000831206167E281030840000080319282831 |
:10004000262800000000000000000000800B21288E |
:1000500083288316051183120511831686108312D7 |
:1000600086108316051283120512C7308C008C0B84 |
:10007000372800000000831605118312051583162A |
:10008000861083128614831605128312051688289B |
:1000900084011F30830508308C008C1D57280730E1 |
:1000A0008101813084000008C0390F38800064006D |
:1000B000813084000008C0390C04800083160610CB |
:1000C0008312061483168113861183128615C73096 |
:1000D0008C008C0B692800000000831686118312A7 |
:1000E0008611831686168312861A7A28831681173C |
:1000F00086288312831681178312042870308F009C |
:10010000FA3090001B288F0B802883168312292831 |
:0A0110008316061083120610630028 |
:02400E00F03F81 |
:00000001FF |
;PIC16F84 |
/roboti/solarni/dalsi_verze/main.LST |
---|
0,0 → 1,225 |
CCS PCW C Compiler, Version 3.110, 15448 |
Filename: d:\@kaklik\programy\pic_c\robot\solarni_robot\dalsi_verze\main.LST |
ROM used: 141 (14%) |
Largest free fragment is 883 |
RAM used: 3 (4%) at main() level |
4 (6%) worst case |
Stack: 1 locations |
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 048 |
0003: NOP |
.................... /* Program pro ovladani slunecniho robota */ |
.................... /* (chodi se zapojenim Dark Walker rev.3 */ |
.................... /* $Header: /programy/PIC_C/robot/solarni_robot/dalsi_verze/main.c 7 14.05.03 23:21 Kaklik $ */ |
.................... |
.................... #include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h" |
.................... #include <16F84.h> |
.................... //////// Standard Header file for the PIC16F84 device //////////////// |
.................... #device PIC16F84 |
.................... #list |
.................... |
.................... #use delay(clock=32768) |
* |
001B: MOVLW 10 |
001C: MOVWF 04 |
001D: MOVF 00,W |
001E: BTFSC 03.2 |
001F: GOTO 028 |
0020: GOTO 026 |
0021: NOP |
0022: NOP |
0023: NOP |
0024: NOP |
0025: NOP |
0026: DECFSZ 00,F |
0027: GOTO 021 |
0028: GOTO 083 (RETURN) |
.................... #fuses LP,PUT,NOWDT |
.................... |
.................... |
.................... |
.................... #define LED PIN_B3 // LED |
.................... #define ON_TIME 75 // Cas sepnuti rele |
.................... #define meridlo PIN_B2 // Napetovy supervisor |
.................... #define RESET PIN_B0 // Pridrzeni RESETu |
.................... |
.................... void rele1() // Sepnuti prvniho rele |
.................... { |
.................... output_low(PIN_A1); |
* |
0004: BSF 03.5 |
0005: BCF 05.1 |
0006: BCF 03.5 |
0007: BCF 05.1 |
.................... output_low(PIN_B4); |
0008: BSF 03.5 |
0009: BCF 06.4 |
000A: BCF 03.5 |
000B: BCF 06.4 |
.................... delay_ms(ON_TIME); |
000C: MOVLW C7 |
000D: MOVWF 0C |
000E: DECFSZ 0C,F |
000F: GOTO 00E |
0010: NOP |
0011: NOP |
.................... output_high(PIN_A1); |
0012: BSF 03.5 |
0013: BCF 05.1 |
0014: BCF 03.5 |
0015: BSF 05.1 |
.................... output_high(PIN_B4); |
0016: BSF 03.5 |
0017: BCF 06.4 |
0018: BCF 03.5 |
0019: BSF 06.4 |
001A: GOTO 07E (RETURN) |
.................... } |
.................... |
.................... void motor() // Sepnuti motoru |
.................... { |
.................... output_low(pin_A2); |
* |
0029: BSF 03.5 |
002A: BCF 05.2 |
002B: BCF 03.5 |
002C: BCF 05.2 |
.................... output_low(pin_B1); |
002D: BSF 03.5 |
002E: BCF 06.1 |
002F: BCF 03.5 |
0030: BCF 06.1 |
.................... output_low(PIN_A4); |
0031: BSF 03.5 |
0032: BCF 05.4 |
0033: BCF 03.5 |
0034: BCF 05.4 |
.................... delay_ms(ON_TIME); |
0035: MOVLW C7 |
0036: MOVWF 0C |
0037: DECFSZ 0C,F |
0038: GOTO 037 |
0039: NOP |
003A: NOP |
.................... output_high(pin_A2); |
003B: BSF 03.5 |
003C: BCF 05.2 |
003D: BCF 03.5 |
003E: BSF 05.2 |
.................... output_high(pin_B1); |
003F: BSF 03.5 |
0040: BCF 06.1 |
0041: BCF 03.5 |
0042: BSF 06.1 |
.................... output_high(PIN_A4); |
0043: BSF 03.5 |
0044: BCF 05.4 |
0045: BCF 03.5 |
0046: BSF 05.4 |
0047: GOTO 088 (RETURN) |
.................... } |
.................... |
.................... |
.................... void main() |
.................... { |
0048: CLRF 04 |
0049: MOVLW 1F |
004A: ANDWF 03,F |
.................... |
.................... setup_counters(RTCC_INTERNAL,WDT_18MS); |
004B: MOVLW 08 |
004C: MOVWF 0C |
004D: BTFSS 0C.3 |
004E: GOTO 057 |
004F: MOVLW 07 |
0050: CLRF 01 |
0051: MOVLW 81 |
0052: MOVWF 04 |
0053: MOVF 00,W |
0054: ANDLW C0 |
0055: IORLW 0F |
0056: MOVWF 00 |
0057: CLRWDT |
0058: MOVLW 81 |
0059: MOVWF 04 |
005A: MOVF 00,W |
005B: ANDLW C0 |
005C: IORWF 0C,W |
005D: MOVWF 00 |
.................... |
.................... output_high(RESET); |
005E: BSF 03.5 |
005F: BCF 06.0 |
0060: BCF 03.5 |
0061: BSF 06.0 |
.................... |
.................... port_b_pullups (true); |
0062: BSF 03.5 |
0063: BCF 01.7 |
.................... |
.................... output_high(LED); |
0064: BCF 06.3 |
0065: BCF 03.5 |
0066: BSF 06.3 |
.................... delay_ms(ON_TIME); |
0067: MOVLW C7 |
0068: MOVWF 0C |
0069: DECFSZ 0C,F |
006A: GOTO 069 |
006B: NOP |
006C: NOP |
.................... output_low(LED); |
006D: BSF 03.5 |
006E: BCF 06.3 |
006F: BCF 03.5 |
0070: BCF 06.3 |
.................... |
.................... if (!input(pin_B5)) |
0071: BSF 03.5 |
0072: BSF 06.5 |
0073: BCF 03.5 |
0074: BTFSC 06.5 |
0075: GOTO 07A |
.................... { |
.................... port_b_pullups (false); |
0076: BSF 03.5 |
0077: BSF 01.7 |
.................... goto chyba; |
0078: GOTO 086 |
0079: BCF 03.5 |
.................... } |
.................... |
.................... port_b_pullups (false); |
007A: BSF 03.5 |
007B: BSF 01.7 |
.................... rele1(); |
007C: BCF 03.5 |
007D: GOTO 004 |
.................... |
.................... delay_ms(28000); |
007E: MOVLW 70 |
007F: MOVWF 0F |
0080: MOVLW FA |
0081: MOVWF 10 |
0082: GOTO 01B |
0083: DECFSZ 0F,F |
0084: GOTO 080 |
0085: BSF 03.5 |
.................... |
.................... chyba: |
.................... motor(); |
0086: BCF 03.5 |
0087: GOTO 029 |
.................... output_low(RESET); |
0088: BSF 03.5 |
0089: BCF 06.0 |
008A: BCF 03.5 |
008B: BCF 06.0 |
.................... } |
.................... |
008C: SLEEP |
/roboti/solarni/dalsi_verze/main.PJT |
---|
0,0 → 1,32 |
[PROJECT] |
Target=main.HEX |
Development_Mode= |
Processor=0x684A |
ToolSuite=CCS |
[Directories] |
Include=C:\PROGRAM FILES\PICC\devices\;C:\PROGRAM FILES\PICC\dr |
Library= |
LinkerScript= |
[Target Data] |
FileList=main.c; |
BuildTool=C-COMPILER |
OptionString=+FM |
AdditionalOptionString= |
BuildRequired=1 |
[main.c] |
Type=4 |
Path= |
FileList= |
BuildTool= |
OptionString= |
AdditionalOptionString= |
[mru-list] |
1=main.c |
[Windows] |
0=0000 main.c 0 0 796 451 3 0 |
/roboti/solarni/dalsi_verze/main.SYM |
---|
0,0 → 1,17 |
00C @SCRATCH |
00D @SCRATCH |
00D _RETURN_ |
00F main.@SCRATCH |
010 delay_ms.P1 |
delay_us.P1 |
001B delay_ms |
0004 rele1 |
0029 motor |
0048 main |
0086 chyba |
Project Files: |
d:\@kaklik\programy\pic_c\robot\solarni_robot\dalsi_verze\main.c |
D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h |
C:\PROGRAM FILES\PICC\devices\16F84.h |
/roboti/solarni/dalsi_verze/main.c |
---|
0,0 → 1,64 |
/* Program pro ovladani slunecniho robota */ |
/* (chodi se zapojenim Dark Walker rev.3 */ |
/* $Header: /programy/PIC_C/roboti/solarni/dalsi_verze/main.c 1 19.09.05 20:39 Jakub $ */ |
#include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h" |
#define LED PIN_B3 // LED |
#define ON_TIME 75 // Cas sepnuti rele |
#define meridlo PIN_B2 // Napetovy supervisor |
#define RESET PIN_B0 // Pridrzeni RESETu |
void rele1() // Sepnuti prvniho rele |
{ |
output_low(PIN_A1); |
output_low(PIN_B4); |
delay_ms(ON_TIME); |
output_high(PIN_A1); |
output_high(PIN_B4); |
} |
void motor() // Sepnuti motoru |
{ |
output_low(pin_A2); |
output_low(pin_B1); |
output_low(PIN_A4); |
delay_ms(ON_TIME); |
output_high(pin_A2); |
output_high(pin_B1); |
output_high(PIN_A4); |
} |
void main() |
{ |
setup_counters(RTCC_INTERNAL,WDT_18MS); |
output_high(RESET); // vypnuti resetu od supervizoru |
port_b_pullups (true); // zapnuti pullapu ,aby se poznal sepnuty |
// nebo rozepnuty kontakt |
output_high(LED); // |
delay_ms(ON_TIME); // bliknuti LED |
output_low(LED); // |
if (!input(pin_B5)) // zmereni spravneho sepnuti rele1 (spatne kdyz |
{ // sepnuto) |
port_b_pullups (false); // vypnuti pullapu |
goto chyba; // kdyz je uz sepnuto nemusi se znova spinat |
// ani cekat na nabiti kondenzatoru |
} |
port_b_pullups (false); // vypnuti pullapu za spravneho prubehu |
rele1(); // sepnuti rele1 |
delay_ms(28000); // cekani na nabiti kondenzatoru (casovy limit |
// pred rozjetim je 30 vterin 2 vteriny jsou |
// rezerva na nabiti kondenzatoru pro PIC) |
chyba: |
motor(); // zapnuti motoru |
output_low(RESET); // zapnuti resetu od supervisoru |
} |
/roboti/solarni/dalsi_verze/main.cod |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/dalsi_verze/main.err |
---|
0,0 → 1,0 |
No Errors |
/roboti/solarni/dalsi_verze/main.h |
---|
0,0 → 1,4 |
#include <16F84.h> |
#use delay(clock=32768) |
#fuses LP,PUT,NOWDT |
/roboti/solarni/dalsi_verze/main.sta |
---|
0,0 → 1,30 |
ROM used: 141 (14%) |
883 (86%) including unused fragments |
1 Average locations per line |
5 Average locations per statement |
RAM used: 3 (4%) at main() level |
4 (6%) worst case |
Lines Stmts % Files |
----- ----- --- ----- |
61 28 100 d:\@kaklik\programy\pic_c\robot\solarni_robot\dalsi_verze\main.c |
5 0 0 D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h |
111 0 0 C:\PROGRAM FILES\PICC\devices\16F84.h |
----- ----- |
354 56 Total |
Page ROM % RAM Functions: |
---- --- --- --- ---------- |
0 14 10 1 delay_ms |
0 23 16 0 rele1 |
0 31 22 0 motor |
0 69 49 1 main |
Segment Used Free |
--------- ---- ---- |
0000-0003 4 0 |
0004-03FF 137 883 |
/roboti/solarni/dalsi_verze/main.tre |
---|
0,0 → 1,6 |
ÀÄmain |
ÀÄmain 0/69 Ram=1 |
ÃÄ??0?? |
ÃÄrele1 0/23 Ram=0 |
ÃÄdelay_ms 0/14 Ram=1 |
ÀÄmotor 0/31 Ram=0 |
/roboti/solarni/dalsi_verze/prg.bat |
---|
0,0 → 1,6 |
call picpgr stop |
call picpgr erase pic16f84 |
call picpgr program main.hex hex pic16f84 |
call picpgr run |
pause |
call picpgr stop |
/roboti/solarni/dalsi_verze/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/main.BAK |
---|
0,0 → 1,64 |
#include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\main.h" |
#define LED pin_B3 |
#define ON_TIME 100 // Cas sepnuti rele |
#define meridlo pin_B2 |
void rele1() // Sepnuti prvniho rele |
{ |
output_low(PIN_A1); |
output_low(PIN_B4); |
delay_ms(ON_TIME); |
output_high(PIN_A1); |
output_high(PIN_B4); |
} |
void motor() |
{ |
output_low(pin_A2); |
output_low(pin_B1); |
output_low(PIN_A4); |
delay_ms(ON_TIME); |
output_high(pin_A2); |
output_high(pin_B1); |
output_high(PIN_A4); |
} |
void rele2() |
{ |
output_low(pin_B5); |
output_low(pin_A0); |
delay_ms(ON_TIME); |
output_high(pin_A0); |
output_high(pin_B5); |
} |
void main() |
{ |
output_high(pin_B0); |
While (true) |
{ |
output_high(LED); |
delay_ms(25); //vystavni blikani |
output_low(LED); |
Delay_ms(1000); |
} |
/* rele1(); |
while (!input(meridlo)) |
delay_ms(100); |
rele2(); |
while (!input(meridlo)) |
delay_ms(100); |
motor(); |
output_low(pin_B0); |
}*/ |
/roboti/solarni/main.HEX |
---|
0,0 → 1,9 |
:1000000000308A0012280000103084000008031914 |
:1000100011280F2800000000000000000000800BE5 |
:100020000A282B2884011F308305831606108312AB |
:100030000614831686118312861542308C008C0BB1 |
:100040001F280000831686118312861104308F004A |
:0E005000FA30900004288F0B2828192863002E |
:02400E00F03F81 |
:00000001FF |
;PIC16F84 |
/roboti/solarni/main.LST |
---|
0,0 → 1,132 |
CCS PCW C Compiler, Version 3.110, 15448 |
Filename: d:\@kaklik\programy\pic_c\robot\solarni_robot\main.LST |
ROM used: 47 (5%) |
Largest free fragment is 977 |
RAM used: 3 (4%) at main() level |
4 (6%) worst case |
Stack: 1 locations |
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 012 |
0003: NOP |
.................... #include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\main.h" |
.................... #include <16F84.h> |
.................... //////// Standard Header file for the PIC16F84 device //////////////// |
.................... #device PIC16F84 |
.................... #list |
.................... |
.................... #use delay(clock=32768) |
0004: MOVLW 10 |
0005: MOVWF 04 |
0006: MOVF 00,W |
0007: BTFSC 03.2 |
0008: GOTO 011 |
0009: GOTO 00F |
000A: NOP |
000B: NOP |
000C: NOP |
000D: NOP |
000E: NOP |
000F: DECFSZ 00,F |
0010: GOTO 00A |
0011: GOTO 02B (RETURN) |
.................... #fuses LP,PUT,NOWDT |
.................... |
.................... |
.................... |
.................... #define LED pin_B3 |
.................... #define ON_TIME 100 // Cas sepnuti rele |
.................... #define meridlo pin_B2 |
.................... |
.................... void rele1() // Sepnuti prvniho rele |
.................... { |
.................... output_low(PIN_A1); |
.................... output_low(PIN_B4); |
.................... delay_ms(ON_TIME); |
.................... output_high(PIN_A1); |
.................... output_high(PIN_B4); |
.................... } |
.................... |
.................... void motor() |
.................... { |
.................... output_low(pin_A2); |
.................... output_low(pin_B1); |
.................... output_low(PIN_A4); |
.................... delay_ms(ON_TIME); |
.................... output_high(pin_A2); |
.................... output_high(pin_B1); |
.................... output_high(PIN_A4); |
.................... } |
.................... |
.................... void rele2() |
.................... { |
.................... output_low(pin_B5); |
.................... output_low(pin_A0); |
.................... delay_ms(ON_TIME); |
.................... output_high(pin_A0); |
.................... output_high(pin_B5); |
.................... } |
.................... |
.................... void main() |
.................... { |
0012: CLRF 04 |
0013: MOVLW 1F |
0014: ANDWF 03,F |
.................... output_high(pin_B0); |
0015: BSF 03.5 |
0016: BCF 06.0 |
0017: BCF 03.5 |
0018: BSF 06.0 |
.................... |
.................... While (true) |
.................... { |
.................... output_high(LED); |
0019: BSF 03.5 |
001A: BCF 06.3 |
001B: BCF 03.5 |
001C: BSF 06.3 |
.................... delay_ms(25); //vystavni blikani |
001D: MOVLW 42 |
001E: MOVWF 0C |
001F: DECFSZ 0C,F |
0020: GOTO 01F |
0021: NOP |
.................... output_low(LED); |
0022: BSF 03.5 |
0023: BCF 06.3 |
0024: BCF 03.5 |
0025: BCF 06.3 |
.................... Delay_ms(1000); |
0026: MOVLW 04 |
0027: MOVWF 0F |
0028: MOVLW FA |
0029: MOVWF 10 |
002A: GOTO 004 |
002B: DECFSZ 0F,F |
002C: GOTO 028 |
.................... } |
002D: GOTO 019 |
.................... |
.................... /* rele1(); |
.................... |
.................... while (!input(meridlo)) |
.................... |
.................... delay_ms(100); |
.................... |
.................... rele2(); |
.................... |
.................... while (!input(meridlo)) |
.................... |
.................... delay_ms(100); |
.................... |
.................... motor(); |
.................... |
.................... output_low(pin_B0); |
.................... */ |
.................... } |
.................... |
002E: SLEEP |
/roboti/solarni/main.PJT |
---|
0,0 → 1,32 |
[PROJECT] |
Target=main.HEX |
Development_Mode= |
Processor=0x684A |
ToolSuite=CCS |
[Directories] |
Include=C:\PROGRAM FILES\PICC\devices\;C:\PROGRAM FILES\PICC\dr |
Library= |
LinkerScript= |
[Target Data] |
FileList=main.c; |
BuildTool=C-COMPILER |
OptionString=+FM |
AdditionalOptionString= |
BuildRequired=1 |
[main.c] |
Type=4 |
Path= |
FileList= |
BuildTool= |
OptionString= |
AdditionalOptionString= |
[mru-list] |
1=main.c |
[Windows] |
0=0000 main.c 0 0 796 451 3 0 |
/roboti/solarni/main.SYM |
---|
0,0 → 1,14 |
00C @SCRATCH |
00D @SCRATCH |
00D _RETURN_ |
00F main.@SCRATCH |
010 delay_ms.P1 |
delay_us.P1 |
0004 delay_ms |
0012 main |
Project Files: |
d:\@kaklik\programy\pic_c\robot\solarni_robot\main.c |
D:\@Kaklik\programy\PIC_C\robot\solarni_robot\main.h |
C:\PROGRAM FILES\PICC\devices\16F84.h |
/roboti/solarni/main.c |
---|
0,0 → 1,64 |
#include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\main.h" |
#define LED pin_B3 |
#define ON_TIME 100 // Cas sepnuti rele |
#define meridlo pin_B2 |
void rele1() // Sepnuti prvniho rele |
{ |
output_low(PIN_A1); |
output_low(PIN_B4); |
delay_ms(ON_TIME); |
output_high(PIN_A1); |
output_high(PIN_B4); |
} |
void motor() |
{ |
output_low(pin_A2); |
output_low(pin_B1); |
output_low(PIN_A4); |
delay_ms(ON_TIME); |
output_high(pin_A2); |
output_high(pin_B1); |
output_high(PIN_A4); |
} |
void rele2() |
{ |
output_low(pin_B5); |
output_low(pin_A0); |
delay_ms(ON_TIME); |
output_high(pin_A0); |
output_high(pin_B5); |
} |
void main() |
{ |
output_high(pin_B0); |
While (true) |
{ |
output_high(LED); |
delay_ms(25); //vystavni blikani |
output_low(LED); |
Delay_ms(1000); |
} |
/* rele1(); |
while (!input(meridlo)) |
delay_ms(100); |
rele2(); |
while (!input(meridlo)) |
delay_ms(100); |
motor(); |
output_low(pin_B0); |
*/ |
} |
/roboti/solarni/main.cod |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/roboti/solarni/main.err |
---|
0,0 → 1,0 |
No Errors |
/roboti/solarni/main.h |
---|
0,0 → 1,4 |
#include <16F84.h> |
#use delay(clock=32768) |
#fuses LP,PUT,NOWDT |
/roboti/solarni/main.sta |
---|
0,0 → 1,28 |
ROM used: 47 (5%) |
977 (95%) including unused fragments |
0 Average locations per line |
2 Average locations per statement |
RAM used: 3 (4%) at main() level |
4 (6%) worst case |
Lines Stmts % Files |
----- ----- --- ----- |
65 24 100 d:\@kaklik\programy\pic_c\robot\solarni_robot\main.c |
5 0 0 D:\@Kaklik\programy\PIC_C\robot\solarni_robot\main.h |
111 0 0 C:\PROGRAM FILES\PICC\devices\16F84.h |
----- ----- |
362 48 Total |
Page ROM % RAM Functions: |
---- --- --- --- ---------- |
0 14 30 1 delay_ms |
0 29 62 1 main |
Segment Used Free |
--------- ---- ---- |
0000-0003 4 0 |
0004-03FF 43 977 |
/roboti/solarni/main.tre |
---|
0,0 → 1,4 |
ÀÄmain |
ÀÄmain 0/29 Ram=1 |
ÃÄ??0?? |
ÀÄdelay_ms 0/14 Ram=1 |
/roboti/solarni/prg.bat |
---|
0,0 → 1,6 |
call picpgr stop |
call picpgr erase pic16f84 |
call picpgr program main.hex hex pic16f84 |
call picpgr run |
pause |
call picpgr stop |
/roboti/solarni/vssver.scc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |