Subversion Repositories svnkaklik

Compare Revisions

Problem with comparison.

Ignore whitespace Rev HEAD → Rev 12

/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~Ÿ_Ñz‘dO ÷á72MY'¹²ô ŊäŠÚ‘MR!…õëHT£§ggªÞÝØØN ø
+êKÍ£{ΙBˆnÝs.šÍ[KmÎ{îæ0¸çÖ(¸ç\ŽYZØå”æ~Z¥ðó×z8­*×^í¹Á@=§ytÏùàÓ÷ÑsÁº-xn3Þs7‡Á=·FÁ=C»H kóÜ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°ÅǛ7„saƒ±§[â£s·nŠ†B·ÅGÓl¶ÎW­Î‚(ŒÖ…²'¯ªÈð”Wj(‘W•dzj(òº/6™7Μw\:¶É<ª sÇ}8u¡8ë¸Û Ð÷áÔq.¸ ;ŽèÑSÐ|~O^í8(CÛD^í8zjt\#Gǝ
+¿àÌBnÜñÑT”âzø}0¯%ˆâÖï¡ÐÃo ð°’©Þ!r&”2†D#ǐxpi‹.DwºO›Oˆ,¦Í2¾pkž?ü‘‰à¡Å@˜^ý©I9೫¡¥ýáG‹OœvA)®¥ý'§¥¯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ëz j®0‘
+hMA\èH¦œºÇgJ@¿,sS¾NhùR\Ïߕ?åSù±¤Î;Ùó#¢ò…ìù¡8§ò…ìõkþfþ¾«ï—ü._%´üùýU¢},©yŸ}Ò~|ûDM•Dèƒ÷v3.–Lù÷öa6bƒ`Ÿ7ß>MÅ°Åd«Ì8 ”‘øŠU£’Œ—ŸúõyÒgçÅÿŠ“@‚Vے>Á¤ÇÔØke8å ÊYý÷«IßW-%×eÚAËe‘j"°­KIÀÿK‡u¥A½ß¢l–|tþÆ?çÖ+ÁMúì Z/×Ø¥ÈÕÖÃÝZQ6þkÑ|«5æ5 qh˜*í}È[±°`Öªˆ• ýu—(΢‹Ç˜¶g‹Þ i´g4fÑ`«ÑÓ&דքÒ7þР¦Sȶ=šô {AÖ8°;]èmíaAÐùäA*4ÓˆAö‚ 5àýKȽFäèS\áX™°‘£ \¡ yɐ̌¤ÓÉ:/ˆpÓWÈQPÞ….ý!ä)¢,(?®¶ÊÀF·ìAªA8žœ'DÁ·­‰öŒCCZ½Z@\‘|ïɼÎ(Âr7½nåÛò€Ë׶µ‰%
+‚Î8ò¢Q\ÑL%"Ùk®Ca|M.
+¢¤—Åsa‘ö“–•¶þ« óтÝۆ‘ϝ—z–Ì­i³ÌG
+ ‘Ï™QÔmáV ²™@ y$ˆJ֋FáW¢ d‘BAä(¼ñøC£¤Fä‘(,Ø8sÄŠº¿BAä¡(2¬DZ€@]S òH`3…yXä
+°È5
+$Dá-¾Š²@z­FAä¡(Èó QÔ («Ø‚B/‹¡ð>õUc%Éͅ^RȈ<õÒ5d+ ‹ÃV#CòHd<Š¯![‰]œÕ
+ِö¨{;Ü Qê¸Jx©JւEŸJé"~µÅµÚø'á––Ϩ&Ã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ó ‹¬$ô†£^ò†OhG¿}§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ùFP‰LàƒhŸ÷¼£D"¥6â
+#ïQN•ˆ&^kÙêM÷n ³À¢Á.kúðÏxÔM‘¥©d)¥"‘kï.½vFGíÛ\íU«'¹~}=ðìÈÏ,Gý@@’LvÈIIx¸ó¸µ©ó§„–/Åõü]ù:ÿFZü†§|6çÛd])¥©ô¡dŠ÷ Ô¡22©ô¦ºw}«)¿H“­¯nÌ"­.ÒdõŽ9H Œ,Ô.òûëÝÇ1›j³±Q¬ÙA´Ø¦—=-hŒ˜ê#ópÌÆ`E{äê¤OP(DEE–àèÙCyÙÎ`®èõÑ0–î: À2.@¤õ9ñ0š„RLû“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îqƒ”XVpDœÛŠ ópæ߶õ*S|…8Låß´LÖ6H’1J¸6þ-e1ŵ‡Ô®pñðÐ¥?4*Þxp$G1L.÷Ý»‹˜ÝRDÿÓtD÷{;H2.í•ìMuèرk¨9;¬™­šÕb⾌1–$ûòƒ\²0Q‰cÑB‰2ò|\DŒ™lµWP’m·hQ<ÞX´˜¼ý¢U®®Xñ+Ö%G„Z±Ú‹¼bQ,â• #wU€rÝ(CÂ&OdyäÇ)̝ȳüqOøÜ>L$料R ó#
+ô*,vRû?‹ÎÅ81Õ¦º‰S =èr-üÜïÎgÔztøy™{=üC‚™ÚŽ{‚b:é2žcðŒ‰‰¶g²ƒI¾ “¹\Sh¨ÄFàƒè}ïy & ."F‰Höڐ«ãP›4Bg˜”ú ¤÷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ž*+Í£p”PÒvûOÙtË0¤ÉjD²[”ÈÕmÍT';Oö<”X«º©D"¥¶b…QìÐl&;”țۡ|¸öš)š^`Š®büéå”)Êïz¬)ÚN¤]³EÓfB1U©çhºtÅ ¥ÔÙ~âS€JfBñA全¸ˆè%)µ—àÐÛ`!so˜ LÞÞLÈèzŽ™àžo&¬Æ½ï0Úël&ðA©+fœ1EdoÌ¡“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°¹Ä;RGIžU°™è%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í
+vˆyÀ!«JBÖ°…dhQ½D&[mÌÕq(Œ
+»>/€Œ¥“o{þ¸®òÕu}”?®<¤|}å!ç[úöaâ”?N„ý©ʗU¤å ù¶7{_׸mV-mTŒåˆÉbG³ËæùÃQV7»Ô´ÂÅĸš½ObkŽº_ãn¤©%X
+ßæí#«˜„V–9Âw8 Ww8­”µÕ1ÅՑ秺uV‡8Vi+åï³óå$Ošužõ1Ê_Åð„¬î¬](ŒDOŸ<MŸ—+„"ùqÓã"¾PL“4O“ô Æ£½|b„QhQ=1Â(ô‘…»‡PL'Ÿ)CG pC•\ìMŠI¬å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胮az‡ƒ5w<â&Í}µÊ›).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óWz–7 Wý͚ÅÕÈ:åKÓ£gujRç¯î˜ø¡®ÓèœÞO¾MP.ôŸ\R?—¿»”Ú«•iuö”¿¸¡|š‹[ß½ÒÊV÷Õû3­­ë´òésPKˆƒG>ËâCðé÷ßKgGqmÃÿ»ã÷üïÇ×v—
+r¾ÂP:¨})ú̌:ß´ß·Â÷ÓûVËK µæЋæàwiÛç;?k;é‡Sg><!Ú[ú‡×žJl$xbÖE¹ýÈTsËÃï×±ëKl>H_ªrä# ."F‰LJmt>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
+xœkhÙDÀ€
+endstream
+endobj
+4 0 obj
+<</Filter/FlateDecode
+/FunctionType 0
+/Domain[0
+1]
+/Range[0
+1]
+/BitsPerSample 8
+/Size[256]/Length 12>>stream
+xœc`Ù
+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Ë5™JYbÑb¥"K«È’«µò±²œLÙû!Ë*Pg+tŠµÖK¢•eÊ´…ò,Ù$/ɒZ&<e…rJ¡Õ’w™B+ËÕdªuòl™®@¦Pg)‹²-דñœµNV¨) ó*2CŽJ,Ðê´YE¡NFnL ‹èµQ——©³Ü«UiYAY™]Udñæ¯9]¦B­•éä%:Ë=‹å²l…¶P™YJî%GjVŠ´
+uîß·{Ê4òÜLM¶R®µžk‰ÊßþÉþáufa¡²Ôº·Àºê¯û:­\™ã¯P-.ÒÊfg’m±²$yn‘2Só?ƒgéÿ—7Š¢‚cCJÕYóâBË
+²ãgÊÂrÃ5¹Ú¼¤HbvԒ9ÑËò“c”™)3UsýÇN˜è!›ä9y\€ëoŸñ¾~n5Žr¡Ò¨*Œ
+óõ¼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¹±‡B‹GzcB/]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˜;èë]'êkWŸG—‘1«É«–ó·Ž»poj*n•Ký,œø×È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ú
+Ú]+ïÞ,¸KŠa ÁÈ5
+V·š*ß
+Œ–š{)š[V6ïC„6”IÂD•ë?ª¨Bì³Æãw¥&{dÚLvig¬87‰ XKPþo“3k æ;°¶Ç¹›±rŽµ­<B
+AÜ8r—÷ÖÀñÁ°€ßMc°›9Ëø@ò
+šôS*åˆGÂnœÇ½§ƒ`<ßXˆNìƈ]I½ƒýÒp va­z :õàÝI´|—/4¥ræ>LŠy0ýˆùWãѝûüjŒË;‰qAé'.“ú1ÛgUì^z2ù;åCBÞ®¯Þ€;ȼ^àá©Y+T‹¥!†³LïÑ×ô¤· ó89| j°Áw0…Q¸<36#¢˜XÃ!ÜïóàúØãIוz‹4zù
+¤0d|7‡Ï)œ+—n€K/^£ëèTö§‘,QE¸Ž¦DO߄˜)qÍ?¯^ë$mëѪjHh@V‹?Õ΂¬pœ…³Âüiòi)ëކò3qx§ÅYµ?/fp ~?»¥àrösŠŸÂ\ðka7‚Î7œëÕRŠXQœ¾ž•‹ZŽy";Q¯‹_Ü-z]1]PAþ©Gþ‡è˵žÞ[k‘B=ˆý±0zoîw %â_§dg%Ã2ýÔ\[֕€ñKÌÂ6îþٌˆè´Œ´Ó·›OߓŠÅçlŒWgOž”0{ü„„ËííW/)O`íw«…P79¼z¬þ#ìIz¸Nª· Ž¿6ÁDn'f¿Š¨€»Çÿuã̝êNp¥ßgÞȾwÄ¢hÝÇ`)Òåƒn7î½ø•´‡ÌöâТåÍ, â—p†ë‘Þþñq&¦\yÞuõæ#‹-®†ÙÍÚ,àKMq\“‡çÑؑ©…yt0“kù°ŠQâP3‘¯9Î¥¿'AÎ¥aÀ??ú6»0G ”þ­Ù‹ñä¬ë™/Ȉ5 p獽Â’ ×7 ¿ÛÆò SÅÕVä—ò«zVÑXeZE÷r˜^o‰B]—’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¦àè°
+m†bðGNDpT„#æá&$y‰j+ ê0‚xûý{}ÝÐØí B7‘ à׆‚>B"AM‘vIb«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¬Ð+ªöü±Jiõá‘!ÀYI” (ª ¼òOrÿ•þï݆±xý½ s˜icŽ>cef˜ïìqc«Ü؊ë†#KúlUR7œzmõ–¡ó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¹„-6•˜O'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