/Designs/Tools/reflow2/SW/reflow.PJT
33,11 → 33,12
 
[Opened Files]
1=reflow.c
2=process.h
3=
4=
5=lcd.c
6=
2=reflow.h
3=C:\Program Files\PICC\devices\16F877A.h
4=process.h
5=C:\Program Files\PICC\drivers\math.h
6=lcd.c
7=
[Units]
Count=1
1=reflow (main)
/Designs/Tools/reflow2/SW/reflow.c
20,9 → 20,9
#define TL3 PIN_B1 // tlacitko S3
#define TL4 PIN_B0 // tlacitko S4
 
#define POWER_T3 PIN_A3 // ovladani optotriaku T3
#define POWER_T4 PIN_A5 // ovladani optotriaku T4
#define POWER_T5 PIN_A4 // ovladani optotriaku T5
#define POWER_T3 PIN_C4 // ovladani optotriaku T3
#define POWER_T4 PIN_C5 // ovladani optotriaku T4
#define POWER_T5 PIN_C6 // ovladani optotriaku T5
 
#define ADC_PIN PIN_A0 //info, nelze menit - pin pouzit jako input analog
#define ADC_PIN_NC PIN_A1 //info, nelze menit - pin pouzit jako input analog
64,6 → 64,7
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER2);
enable_interrupts(INT_TIMER1);
setup_adc_ports(AN0_AN1_VSS_VREF); //A0 vstup cidla, A1 nepozit, A3 - ref. 2.5V
setup_adc(ADC_CLOCK_DIV_8);
70,6 → 71,15
SET_ADC_CHANNEL(0); //AN0, PIN_A0
}
 
void heat_failure() // exception in case of heating fail
{
lcd_gotoxy(1,2);
printf(lcd_putc,"HEATING FAILURE!");
while(true);
 
}
 
unsigned int16 adc(void)
{
unsigned int16 analog;
91,7 → 101,7
 
void top_heating()
{
if (period <= top_heat_power){
if (period < top_heat_power){
output_low(POWER_T4);
output_low(POWER_T5);
}
104,7 → 114,7
void bottom_heating()
{
 
if (period <= 2*bottom_heat_power){
if (period < 2*bottom_heat_power){
output_low(POWER_T3);
}
else{
116,15 → 126,13
#int_TIMER1
void heating_control() //rizeni topnych teles pri preteceni casovace
{
top_heating();
bottom_heating();
 
top_heating();
bottom_heating();
 
if (period <= 200) period++;
else period=0;
if (period <= 200) period++;
else period=0;
}
 
 
#int_TIMER2
void Rtc(void) //40ms
{
150,26 → 158,32
{
float slope_deviation;
 
slope_deviation = (teplota() - temp_last) - ramp; // vypocet strmosti a odchylky od pozadovane strmosti
slope_deviation = (teplota() - temp_last) - ramp; // vypocet strmosti a odchylky od pozadovane strmosti
 
if(slope_deviation < 0)
{
top_heat_power= slope_deviation*(-10) + balance;
bottom_heat_power= slope_deviation*(-10);
if(slope_deviation < 0)
{
top_heat_power= 80 + balance;
bottom_heat_power= 90;
}
else{
top_heat_power=0;
bottom_heat_power=0;
}
temp_last = teplota();
}
else{
top_heat_power=0;
bottom_heat_power=0;
}
 
temp_last = teplota();
}
 
void level_control(float level) // P proporcionalni rizeni teploty
{
 
teplota();
 
if (teplota() > level)
{
top_heat_power=0;
bottom_heat_power=0;
}
else
{
top_heat_power=70;
bottom_heat_power=80;
}
}
 
 
187,8 → 201,12
void reflow_solder()
{
 
struct time process_time;
 
// preheat
nullcas(&cas);
lcd_gotoxy(1,2);
printf(lcd_putc,"PREHEAT");
 
do {
slope_control(PREHEAT_SLOPE, 0); // hlida strmost predehrevu
200,12 → 218,19
printf(lcd_putc,"%2u:%02u:%02u",cas.hod,cas.min,cas.sec);
 
delay_ms(1000);
if (cas.min>3) heat_failure();
}
while (teplota() < SOAK_TEMP);
 
// soak
nullcas(&cas);
while (cas.min*60+cas.sec <= SOAK_TIME)
process_time.min = SOAK_TIME/60;
process_time.sec = SOAK_TIME - process_time.min*60;
lcd_gotoxy(1,2);
printf(lcd_putc,"SOAK ");
 
while (process_time.sec!=0 || process_time.min!=0)
{
level_control(SOAK_TEMP);
 
212,8 → 237,13
lcd_gotoxy(1,1);
printf(lcd_putc,"%3.1f\21C ",teplota());
 
if ((process_time.sec = process_time.sec - cas.sec)<0) process_time.sec=59;
 
process_time.min = (SOAK_TIME - cas.min*60 - cas.sec)/60;
process_time.sec = (SOAK_TIME - cas.min*60 - cas.sec) - process_time.min*60;
 
lcd_gotoxy(9,1);
printf(lcd_putc,"%2u:%02u:%02u",cas.hod, SOAK_TIME/60 - cas.min, SOAK_TIME - cas.min*60 - cas.sec);
printf(lcd_putc,"%2u:%02u:%02u",cas.hod, process_time.min, process_time.sec);
delay_ms(1000);
}
234,9 → 264,7
while(true)
{
delay_ms(300);
delay_ms(300);
reflow_solder();
}
/Designs/Tools/reflow2/SW/reflow.hex
1,285 → 1,298
:1000000006308A00962E0000FF00030E8301A10037
:1000000006308A00DC2E0000FF00030E8301A100F1
:100010000A08A0008A010408A2007708A300780853
:10002000A4007908A5007A08A600831383128C30F7
:100030008400001C1D280C1834288C308400801C7F
:1000400023288C183728220884002308F700240866
:10005000F8002508F9002608FA0020088A00210E79
:100060008300FF0E7F0E09008A110A1242288A11AE
:100070000A1272280A108A100A11820728340C34D6
:10008000013406342D082B02031C4F2883168512D9
:1000900083128512831605128312051257288316C0
:1000A0008512831285168316051283120516031016
:1000B0002C0D2D0203195E28031863288316851161
:1000C00083128511672883168511831285152D08E3
:1000D000C83C031C6D28AD0A6E28AD010C108A11B6
:1000E0000A122328D5012830D400B20A3208183C5D
:1000F0000318A528B2010230540784008313551851
:100100008317800A00083B3C0318A52802305407D7
:10011000840083135518831780010130540784002D
:10012000831355188317800A00083B3C0318A52841
:100130000130540784008313551883178001540835
:100140008400831355188317800A8C108A110A12B1
:100150002328A519AE18E60843102000A519AE18EB
:10016000E60843102000063409340934063480348C
:1001700080348034803400348316851283128516CF
:100180008316051283120516831681130912831232
:100190009412A712270883168700831227162708B0
:1001A000831687008312A711270883168700013062
:1001B000831294000030831694000108C739083870
:1001C00081008530831290004830F8000638920094
:1001D000F9308316920007309C0005088500033033
:1001E000F700F70BF1281C0883120D1383169D01ED
:1001F000C03083128B0483168C141F149F101F159C
:100200009F111F1383121F179F1383169F178312AB
:100210001F140030F8001F08C73978049F008A11A6
:100220000A12B02E453084008313000803192629D2
:100230000130F800F701F70B1B29F80B1A294A3097
:10024000F700F70B21292429800B1829080008083A
:10025000F039CD004B080F394D04880007152711E0
:10026000270883168700000083120711271127082B
:100270008316870083120800C908031D41298710CF
:1002800042298714A7102708831687008312CA0EF5
:100290004A08CB002721CA0E4A08CB0027210D307F
:1002A000F700F70B51290800C830C5001221F030C3
:1002B0008316880583128710A710270883168700E6
:1002C0008312071127112708831687008312B301B1
:1002D0003308023C031C74290230C500122103308C
:1002E000CB002721B30A68290D30F700F70B7629D8
:1002F0000230CB0027210D30F700F70B7D29B30129
:100300003308023C031C902933083A20B400C90189
:100310003408CA003C210230C5001221B30A8029EA
:100320008A110A12B92E831603178C170C140000B9
:10033000000083128C080319BA290D080313B300B7
:1003400003170F080313B40003170C080313B500B9
:100350000130C9003508CA003C21330803178D005D
:100360000313340803178F008D0A03198F0A031330
:100370009329031703138A110A12C72E83168C10B0
:1003800002308312330784008313341883178001EB
:100390003308840083133418831780010130330736
:1003A0008400831334188317800183168C148312FE
:1003B00008008E30F7004108F8004008F900FA0103
:1003C000F808031DED297908F800F9010830F70253
:1003D000F808031DED29F701F5290310F81BF4298E
:1003E000F90DF80DF703ED29F81308004408031977
:1003F000662ACC0048080319662ACC070318072A86
:100400007F30CC02031C662A0319662A0B2A81302E
:10041000CC070318662A4C08F700F801F901FA0125
:100420004508D000D0174608CF004708CE00183046
:10043000CC00CD014E1C342A4B08FA07031C262A97
:10044000F90A031D262AF80A0319CD174A08F907E5
:10045000031C2D2AF80A0319CD174908C600C61730
:100460004608F8070318CD17CD0DF80CF90CFA0C57
:10047000D00CCF0CCE0C0310CC0B192A0130F7078F
:100480000318662AF81B4B2AD00DFA0DF90DF80D4A
:10049000F7030319662AD01F5C2AFA0A031D5C2A97
:1004A000F90A031D5C2AF80A031D5C2AF80CF90CF2
:1004B000FA0CF70A0319662A4508CD004908CD064B
:1004C000CD1F642AF8176A2AF8136A2AF701F8017F
:1004D000F901FA01080080308318C906CE01CF0166
:1004E0004508CD004908CD06440803195B2BCC0014
:1004F000F70048080319642BCC020319002B031CD6
:10050000BE2A4908D200D2174A08D1004B08D000B1
:10051000CF010310D20CD10CD00CCF0CCC0B882AFD
:10052000CD1F952A4E14782B4E104C104E16473086
:10053000840083138D2B4E12CD1BA82A4C1CB32A8A
:10054000D20CD10CD00CCF0CF70A0319732BB32AA1
:10055000D21BB62A0310CF0DD00DD10DD20DF7034B
:100560000319732BA82A4E17202B4E134508CD00D4
:10057000CD1FBC2AD2176C2BD2136C2B4808CC0091
:10058000F7004408CC024508D200D2174608D10033
:100590004708D000CF010310D20CD10CD00CCF0CE7
:1005A000CC0BCA2ACD1FD72ACE14782BCE104C10D4
:1005B000CE164B30840083138D2BCE12CD1BEA2A2E
:1005C0004C1CF52AD20CD10CD00CCF0CF70A031915
:1005D000732BF52AD21BF82A0310CF0DD00DD10DA5
:1005E000D20DF7030319732BEA2ACE17202BCE1353
:1005F0004908CD00CD1FFE2AD2176C2BD2136C2BCD
:100600004908D200D2174A08D1004B08D000CD1FAC
:100610000D2BD2134E15782B4E11CF014C104730B5
:10062000840083138D2BCD1B362B4508CD004C1C2D
:10063000202BD20CD10CD00CCF0CF70A0319732B42
:10064000CF1F312BD00A031D312BD10A031D312BB3
:10065000D20A031D312BD20CD10CD00CF70A03198E
:10066000732B4E1BB52ACE1BF72A552B8030D20692
:10067000D21F3E2B782B4908CD004B2B4508CD00CF
:10068000D208031D4B2BD108031D4B2BD008031D93
:100690004B2BF7016C2BD21B552B0310CF0DD00D1C
:1006A000D10DD20DF70B4B2B732BCD1F592BD2171E
:1006B0006C2BD2136C2B4808F7004908D2004A086B
:1006C000D1004B08D0006C2B4408F7004508D2003D
:1006D0004608D1004708D0005208F8005108F90038
:1006E0005008FA00AB2BF701F801F901FA01AB2B26
:1006F000CF01D009D109D209CF09CF0A031D862B1A
:10070000D00A031D862BD10A0319D20A4E18942A47
:10071000CE18D62A4E190C2B3B2B0008D007031CF1
:10072000972BD10A031D972BD20A03194C1484036B
:100730000008D107031C9F2BD20A03194C14840311
:100740000008801F803AD20703184C144E1A9B2AC7
:10075000CE1ADD2A132B0800BD01BC01BE013E08E4
:100760001F3C031CC52B1F151F19B42B83161E0815
:100770008312BC071E0803181E0FBD071030F700B8
:10078000F70BC02B0000BE0AAF2B3D0CFA003C0C4F
:10079000F900FA0CF90CFA0CF90CFA0CF90CFA0C39
:1007A000F90C0730FA057908F8007A08F900790899
:1007B000FA007808C0007908C100D9217030C7005C
:1007C0009830C6002C30C5007E30C4007A08CB00BB
:1007D0007908CA007808C9007708C800F6217708A8
:1007E000BC007808BD007908BE007A08BF00C101CE
:1007F0000408C0004110831B411483147A08C70009
:100800007908C6007808C5007708C400CD30CB0051
:100810002C30CA001330C9008730C8006B22400852
:10082000840083134118831708003D08C400410861
:10083000C406C41F202C03110310BD1B0314532C2A
:100840003D08C4004008C5003C08C50203192E2C11
:10085000C41F532C0308013A8300532C4108C500E0
:100860003D08C50203193A2CC41F532C0308013A52
:100870008300532C4208C5003E08C5020319462CCC
:10088000C41F532C0308013A8300532C4308C500AE
:100890003F08C5020319522CC41F532C0308013A08
:1008A0008300532C031008008E30F7003C08F70239
:1008B0003D08F9003E08F800F917F70803196B2CFA
:1008C0000310F908031D672CF80803196B2CF90CA9
:1008D000F80CF70B602CBD1F722CF809F909F80A07
:1008E0000319F90A080001304502C7004608023C16
:1008F000031D7C2C4030C70747088038C800C90159
:100900004808CA003C210800F701F801F901FA0182
:10091000CC01CD01CE01CF014B084A044904480463
:100920000319C22C2030D0000310C40DC50DC60D14
:10093000C70DCC0DCD0DCE0DCF0D4B084F02031DB5
:10094000AB2C4A084E02031DAB2C49084D02031D77
:10095000AB2C48084C02031CBC2C4808CC024908AC
:10096000031C490FCD024A08031C4A0FCE024B0854
:10097000031C4B0FCF020314F70DF80DF90DFA0D00
:10098000D00B942C4C3084008313080044080C3A9C
:100990000319D12C063A0319D92C073A0319DF2C75
:1009A000E42CC9010130CA003C210230C5001221EB
:1009B000F02C0130C5000230C6007324F02C013049
:1009C000C500C6007324F02C44081F3C031CEA2C0D
:1009D0000730C4050130C9004408CA003C21F02C8E
:1009E00008000408BC003B08BE000319102D3A089B
:1009F000C7003908C6003808C5003708C400CB0155
:100A0000CA012030C9008230C800F6217A08BA0035
:100A10007908B9007808B8007708B700BE0BF72C42
:100A20003A08C7003908C6003808C5003708C400AE
:100A30004408B63CC400FA014508C800C5170310B5
:100A4000C50CC60CC70CFA0CF90CF80CF70CC40B4F
:100A50001F2DC81F362DF709F809F909FA09F70AF9
:100A60000319F80A0319F90A0319FA0A7A08BA00ED
:100A70007908B9007808B8007708B700BA1F4D2D7B
:100A8000BC03BC16B709B809B909BA09B70A0319F2
:100A9000B80A0319B90A0319BA0A3B30C3009A30DD
:100AA000C200CA30C100C0010A30BE003B080319B1
:100AB000BC0A3A08C7003908C6003808C50037081C
:100AC000C4004308CB004208CA004108C9004008DE
:100AD000C80084240008B700840A0008B800840A0B
:100AE0000008B900840A0008BA00FD308407F7083E
:100AF000031D8D2D3B0A3E0203198D2D3C08031961
:100B00008F2D0F393E020319872D0318BF2DBC1BF3
:100B1000BF2D3C1B8F2D2030BB2D2030BC05BC1EB3
:100B20009D2DBC123B08031DBC037708BC002D3073
:100B3000C400C6243C08F700BC013B083E02031D6C
:100B4000AB2D7708BC002E30C400C6243C08F7004B
:100B50002030BC0500303030BC1EBB2DBC123B0821
:100B6000031DBC037708BC002D30C400C6243C081C
:100B7000F700BC013030F7077708C400C6244308EB
:100B8000C7004208C6004108C5004008C400CB01A8
:100B9000CA01C9010A30C80084247A08C300790850
:100BA000C2007808C1007708C000BE0B592D0800AC
:100BB000831603178C170C14000000000318072E6F
:100BC00083120C087F390313B80003170D080313B1
:100BD000B90003170F080313BA003808C400C6246D
:100BE000390803178D0003133A0803178F00831683
:100BF0008C170C140000000083120313B70B012E96
:100C0000042E83160317072E262E8316031783122E
:100C10000C0D0E0D7F390313B80003170D080313D5
:100C2000B90003170F080313BA003808C400C6241C
:100C3000390803178D0003133A0803178F008D0A34
:100C400003198F0A03100313B70BD82D08003808B7
:100C5000F801370203182F2E3708F7003B2EF70153
:100C60000830B900B70DF70D380877020318F70000
:100C7000F80DB90B322E080078083508B70064303B
:100C8000B80027267708B50078083030031D4F2EAE
:100C9000B61C562EB619562E361A2030522EB611C4
:100CA00036123614F8077808C400C6243508B70091
:100CB0000A30B80027267708B50078083030031DC1
:100CC000672EB6196B2E361C6B2E361A2030F8079D
:100CD0007808C400C6243030B5073508C400C624DF
:100CE0000800F701F801340803103518F707F70C6E
:100CF000F80CB518F707F70CF80C3519F707F70CCF
:100D0000F80CB519F707F70CF80C351AF707F70CBC
:100D1000F80CB51AF707F70CF80C351BF707F70CAA
:100D2000F80CB51BF707F70CF80C080084018313C7
:100D30001F3083058316861383128617AB01AC011F
:100D4000B101B001AF01AE01B20183161F149F14AF
:100D50001F159F1107309C00FF308312A700BC288D
:100D600083168512831285168316051283120516C3
:100D70005429C9014830CA003C210230C500122163
:100D8000B33003178D0000308F0003139329C9017E
:100D90000330CA003C210230C5001221B4012830C2
:100DA000B300BE210230B3009630C5001221B30B50
:0C0DB000D42E8A1500288A11D22E630070
:10100000B4012830B3008A11BE218A15B601B5019A
:10101000B4017F30B300B7018A11AC238A15770879
:10102000BC007808BD007908BE007A08BF00C10185
:101030000408C0004110831B411483147A08C700C0
:101040007908C6007808C5007708C4003108CB00CD
:101050003008CA002F08C9002E08C8008A116B2268
:101060008A15400884008313411883177708BC0051
:101070007808BD007908BE007A08BF00C3010408E3
:10108000C2004310831B431483147A08C7007908F5
:10109000C6007808C5007708C4003608CB003508BC
:1010A000CA003408C9003308C8008A116B228A15A7
:1010B000420884008313431883177A08BB00790819
:1010C000BA007808B9007708B8003B08BF003A08B2
:1010D000BE003908BD003808BC00C301C201C1010F
:1010E000C0018A1115248A15031CD5283B08C700A6
:1010F0003A08C6003908C5003808C400CB01CA0147
:10110000A030C9008230C8008A11F6218A157708FC
:10111000BC007808BD007908BE007A08BF00C10194
:101120003708C0008A11D9218A1583103F08C700EB
:101130003E08C6003D08C5003C08C4007A08CB0044
:101140007908CA007808C9007708C8008A116B229C
:101150008A157A08BF007908BE007808BD007708B4
:10116000BC008A1154248A157808AB003B08C700DC
:101170003A08C6003908C5003808C400CB01CA01C6
:10118000A030C9008230C8008A11F6218A157A0879
:10119000BF007908BE007808BD007708BC008A113E
:1011A00054248A157808AC00D728AB01AC018A1109
:1011B000AC238A157A08B1007908B0007808AF002E
:1011C0007708AE000130C500C6008A1173248A1565
:1011D0008A11AC238A157708B3007808B40079081F
:1011E000B5007A08B600023084003608BA00350827
:1011F000B9003408B8003308B7000130BB008A11C9
:10120000F1248A15AB3003178D0000308F000314D2
:1012100004300313B7008A11D8258A150930C50098
:101220000130C6008A1173248A152808B5001130D0
:10123000B6008A113C268A153A30C4008A11C624A9
:101240008A152908B5000130B6008A113C268A1596
:101250003A30C4008A11C6248A152A08B500013024
:10126000B6008A113C268A150430B300FA30C50056
:101270008A1112218A15B30B36298A11AC238A15DB
:101280007708B3007808B4007908B5007A08B6008A
:10129000BF003508BE003408BD003308BC00C301E0
:1012A000C2011630C1008630C0008A1115248A158B
:1012B00003180628B4012830B3008A11BE218A150C
:1012C0002908B4003C30B5008A1171268A152A0815
:1012D00078076E3C031CE129B601B5011630B40055
:1012E0008630B3008A11AC238A150130C500C600D0
:1012F0008A1173248A158A11AC238A157708B300E2
:101300007808B4007908B5007A08B6000230840085
:101310003608BA003508B9003408B8003308B700F9
:101320000130BB008A11F1248A15B03003178D00FB
:1013300000308F00031404300313B7008A11D8253E
:101340008A150930C5000130C6008A1173248A1538
:101350002908013CB3002908B4003C30B5008A11CB
:1013600071268A1578086E3CF8002A087802B400C5
:101370002808B5001130B6008A113C268A153A308B
:10138000C4008A11C6248A153308B5000130B6009E
:101390008A113C268A153A30C4008A11C6248A155F
:1013A0003408B5000130B6008A113C268A15043095
:1013B000B300FA30C5008A1112218A15B30BD9295E
:0813C00060298A110A12DB2EDC
:100060008300FF0E7F0E09008A110A124B288A11A5
:100070000A1285280A108A100A11820728340C34C3
:1000800001340634C822412A49274710C620492690
:100090005529C51000002B082D0203185C28A71253
:1000A00027088316870083128712271327088316D1
:1000B0008700831207136828A71227088316870072
:1000C00083128716271327088316870083120717C2
:1000D00003102C0D2D0203187428271227088316ED
:1000E0008700831207127A282712270883168700B1
:1000F000831207162D08C83C031C8028AD0A8128EE
:10010000AD010C108A110A122328D8012830D7001B
:10011000B20A3208183C0318B828B2010230570757
:100120008400831358188317800A00083B3C031887
:10013000B8280230570784008313581883178001AA
:10014000013057078400831358188317800A00086A
:100150003B3C0318B8280130570784008313581814
:100160008317800157088400831358188317800A67
:100170008C108A110A12232850294524C5205400C6
:10018000A519AE18E60843102000D327C12520107A
:1001900020100001A519AE18E6084310200006340F
:1001A0000934093406348034803480348034003497
:1001B000A71227088316870083128716271327089C
:1001C000831687008312071783168113091283127F
:1001D0009412A71227088316870083122716270870
:1001E000831687008312A711270883168700013022
:1001F000831294000030831694000108C739083830
:1002000081008530831290004830F8000638920053
:10021000F9308316920007309C00050885000330F2
:10022000F700F70B11291C0883120D1383169D018B
:10023000C03083128B0483168C140C141F149F106F
:100240001F159F111F1383121F179F1383169F17CC
:1002500083121F140030F8001F08C73978049F006C
:100260008A110A12F62E48308400831300080319FD
:1002700047290130F800F701F70B3C29F80B3B291F
:100280004A30F700F70B42294529800B392908002D
:100290000808F039D0004E080F39500488000715BF
:1002A00027112708831687000000831207112711E2
:1002B00027088316870083120800CC08031D6229D3
:1002C000871063298714A7102708831687008312D5
:1002D000CD0E4D08CE004821CD0E4D08CE00482150
:1002E0000D30F700F70B72290800C830C800332121
:1002F000F0308316880583128710A710270883160D
:10030000870083120711271127088316870083129D
:10031000B3013308023C031C95290230C800332185
:100320000330CE004821B30A89290D30F700F70BBE
:1003300097290230CE0048210D30F700F70B9E2997
:10034000B3013308023C031CB12933083A20B4003E
:10035000CC013408CD005D210230C8003321B30A3E
:10036000A1298A110A12032F831603178C170C1464
:100370000000000083128C080319DB290D08031309
:10038000B30003170F080313B40003170C0803137B
:10039000B5000130CC003508CD005D2133080317CE
:1003A0008D000313340803178F008D0A03198F0A79
:1003B0000313B429031703138A110A12112F83168A
:1003C0008C1002308312360784008313371883178A
:1003D00080013608840083133718831780010130A9
:1003E00036078400831337188317800183168C1413
:1003F0008312080001304802CA004908023C031D6C
:10040000032A4030CA074A088038CB00CC014B0889
:10041000CD005D21080047080C3A0319162A063A58
:1004200003191E2A073A0319242A292ACC0101306C
:10043000CD005D210230C8003321352A0130C800CB
:100440000230C900FA21352A0130C800C900FA215A
:10045000352A47081F3C031C2F2A0730C7050130E7
:10046000CC004708CD005D21352A0800831603170C
:100470008C170C140000000083120C087F3903193C
:100480007A2A0313B60003170D080313B7000317E6
:100490000F080313B8003608C7000B2237080317EC
:1004A0008D000313380803178F0083168C170C1464
:1004B0000000000083120C0D0E0D7F3903197A2AFB
:1004C0000313B60003170D080313B70003170F0833
:1004D0000313B8003608C7000B22370803178D0036
:1004E0000313380803178F008D0A03198F0A0313AB
:1004F000362A03170313080047080319EC2ACF0014
:100500004B080319EC2ACF0703188D2A7F30CF023E
:10051000031CEC2A0319EC2A912A8130CF07031817
:10052000EC2A4F08F700F801F901FA014808D30056
:10053000D3174908D2004A08D1001830CF00D001A3
:10054000511CBA2A4E08FA07031CAC2AF90A031DEB
:10055000AC2AF80A0319D0174D08F907031CB32A6F
:10056000F80A0319D0174C08C900C9174908F80739
:100570000318D017D00DF80CF90CFA0CD30CD20CD0
:10058000D10C0310CF0B9F2A0130F7070318EC2A78
:10059000F81BD12AD30DFA0DF90DF80DF703031945
:1005A000EC2AD31FE22AFA0A031DE22AF90A031DE4
:1005B000E22AF80A031DE22AF80CF90CFA0CF70AF1
:1005C0000319EC2A4808D0004C08D006D01FEA2AAC
:1005D000F817F02AF813F02AF701F801F901FA01E7
:1005E000080080308318CC06D101D2014808D00021
:1005F0004C08D00647080319E12BCF00F7004B0841
:100600000319EA2BCF020319862B031C442B4C0839
:10061000D500D5174D08D4004E08D300D2010310E1
:10062000D50CD40CD30CD20CCF0B0E2BD01F1B2B04
:100630005114FE2B51104F1051164A308400831371
:10064000132C5112D01B2E2B4F1C392BD50CD40C34
:10065000D30CD20CF70A0319F92B392BD51B3C2BE1
:100660000310D20DD30DD40DD50DF7030319F92BBB
:100670002E2B5117A62B51134808D000D01F422B08
:10068000D517F22BD513F22B4B08CF00F7004708F4
:10069000CF024808D500D5174908D4004A08D3002E
:1006A000D2010310D50CD40CD30CD20CCF0B502B91
:1006B000D01F5D2BD114FE2BD1104F10D1164E3010
:1006C00084008313132CD112D01B702B4F1C7B2B57
:1006D000D50CD40CD30CD20CF70A0319F92B7B2BB5
:1006E000D51B7E2B0310D20DD30DD40DD50DF703E2
:1006F0000319F92B702BD117A62BD1134C08D0005E
:10070000D01F842BD517F22BD513F22B4C08D50014
:10071000D5174D08D4004E08D300D01F932BD51306
:100720005115FE2B5111D2014F104A308400831312
:10073000132CD01BBC2B4808D0004F1CA62BD50C6B
:10074000D40CD30CD20CF70A0319F92BD21FB72BF8
:10075000D30A031DB72BD40A031DB72BD50A031DDB
:10076000B72BD50CD40CD30CF70A0319F92B511B5A
:100770003B2BD11B7D2BDB2B8030D506D51FC42B0B
:10078000FE2B4C08D000D12B4808D000D508031D03
:10079000D12BD408031DD12BD308031DD12BF70176
:1007A000F22BD51BDB2B0310D20DD30DD40DD50DA1
:1007B000F70BD12BF92BD01FDF2BD517F22BD5132D
:1007C000F22B4B08F7004C08D5004D08D4004E081A
:1007D000D300F22B4708F7004808D5004908D40099
:1007E0004A08D3005508F8005408F9005308FA00E5
:1007F000312CF701F801F901FA01312CD201D309AA
:10080000D409D509D209D20A031D0C2CD30A031D21
:100810000C2CD40A0319D50A51181A2BD1185C2BA9
:100820005119922BC12B0008D307031C1D2CD40A8D
:10083000031D1D2CD50A03194F1484030008D40787
:10084000031C252CD50A03194F1484030008801FAC
:10085000803AD50703184F14511A212BD11A632B54
:10086000992B0800C001BF01C10141081F3C031CB6
:100870004B2C1F151F193A2C83161E088312BF0715
:100880001E0803181E0FC0071030F700F70B462C88
:100890000000C10A352C400CFA003F0CF900FA0C9C
:1008A000F90CFA0CF90CFA0CF90CFA0CF90C0730EB
:1008B000FA057908F8007A08F9007908FA0078084A
:1008C000BF007A08C0008E30F7004008F8003F08EB
:1008D000F900FA01F808031D772C7908F800F901EE
:1008E0000830F702F808031D772CF7017F2C03105E
:1008F000F81B7E2CF90DF80DF703772CF8137030E8
:10090000CA009830C9002C30C8007E30C7007A0871
:10091000CE007908CD007808CC007708CB007C2287
:100920007708BF007808C0007908C1007A08C200C3
:10093000C4010408C3004410831B441483147A08C0
:10094000CA007908C9007808C8007708C700CD3008
:10095000CE002C30CD001330CC008730CB00F122FC
:100960004308840083134418831708004008C70015
:100970004408C706C71FC12C03110310C01B031472
:10098000F42C4008C7004308C8003F08C8020319F8
:10099000CF2CC71FF42C0308013A8300F42C440821
:1009A000C8004008C8020319DB2CC71FF42C030839
:1009B000013A8300F42C4508C8004108C802031915
:1009C000E72CC71FF42C0308013A8300F42C4608D7
:1009D000C8004208C8020319F32CC71FF42C0308EF
:1009E000013A8300F42C03100800F701F801F90123
:1009F000FA01CF01D001D101D2014E084D044C04BF
:100A00004B040319332D2030D3000310C70DC80D3C
:100A1000C90DCA0DCF0DD00DD10DD20D4E08520209
:100A2000031D1C2D4D085102031D1C2D4C085002A6
:100A3000031D1C2D4B084F02031C2D2D4B08CF020C
:100A40004C08031C4C0FD0024D08031C4D0FD10263
:100A50004E08031C4E0FD2020314F70DF80DF90DCA
:100A6000FA0DD30B052D4F308400831308000408C2
:100A7000BF003E08C1000319562D3D08CA003C08BE
:100A8000C9003B08C8003A08C700CE01CD0120309C
:100A9000CC008230CB007C227A08BD007908BC00F3
:100AA0007808BB007708BA00C10B3D2D3D08CA008D
:100AB0003C08C9003B08C8003A08C7004708B63CD4
:100AC000C700FA014808CB00C8170310C80CC90CAE
:100AD000CA0CFA0CF90CF80CF70CC70B652DCB1FE0
:100AE0007C2DF709F809F909FA09F70A0319F80A38
:100AF0000319F90A0319FA0A7A08BD007908BC003B
:100B00007808BB007708BA00BD1F932DBF03BF163E
:100B1000BA09BB09BC09BD09BA0A0319BB0A031902
:100B2000BC0A0319BD0A3B30C6009A30C500CA3062
:100B3000C400C3010A30C1003E080319BF0A3D08C2
:100B4000CA003C08C9003B08C8003A08C70046086C
:100B5000CE004508CD004408CC004308CB00F52466
:100B60000008BA00840A0008BB00840A0008BC0020
:100B7000840A0008BD00FD308407F708031DD32D4B
:100B80003E0A41020319D32D3F080319D52D0F3911
:100B900041020319CD2D0318052EBF1B052E3F1B47
:100BA000D52D2030012E2030BF05BF1EE32DBF12F2
:100BB0003E08031DBF037708BF002D30C7000B227E
:100BC0003F08F700BF013E084102031DF12D7708E1
:100BD000BF002E30C7000B223F08F7002030BF05B2
:100BE00000303030BF1E012EBF123E08031DBF0370
:100BF0007708BF002D30C7000B223F08F700BF0168
:100C00003030F7077708C7000B224608CA004508AE
:100C1000C9004408C8004308C700CE01CD01CC017B
:100C20000A30CB00F5247A08C6007908C500780898
:100C3000C4007708C300C10B9F2D0800831603175B
:100C40008C170C140000000003184D2E83120C08A2
:100C50007F390313BB0003170D080313BC000317F0
:100C60000F080313BD003B08C7000B223C08031705
:100C70008D0003133D0803178F0083168C170C1487
:100C80000000000083120313BA0B472E4A2E83166E
:100C900003174D2E6C2E8316031783120C0D0E0DA9
:100CA0007F390313BB0003170D080313BC000317A0
:100CB0000F080313BD003B08C7000B223C080317B5
:100CC0008D0003133D0803178F008D0A03198F0A47
:100CD00003100313BA0B1E2E08003908F80138025E
:100CE0000318752E3808F700812EF7010830BA0076
:100CF000B80DF70D390877020318F700F80DBA0B95
:100D0000782E080078083608B8006430B9006D26DF
:100D10007708B60078083030031D952EB71C9C2E3E
:100D2000B7199C2E371A2030982EB7113712371466
:100D3000F8077808C7000B223608B8000A30B90057
:100D40006D267708B60078083030031DAD2EB71930
:100D5000B12E371CB12E371A2030F8077808C7009B
:100D60000B223030B6073608C7000B220800F70107
:100D7000F801370803103818F707F70CF80CB81803
:100D8000F707F70CF80C3819F707F70CF80CB81937
:100D9000F707F70CF80C381AF707F70CF80CB81A25
:100DA000F707F70CF80C381BF707F70CF80CB81B13
:100DB000F707F70CF80C0800840183131F30830534
:100DC0008316861383128617AB01AC01B101B00103
:100DD000AF01AE01B20183161F149F141F159F119E
:100DE00007309C00FF308312A700D828A7122708DD
:100DF0008316870083128716271327088316870018
:100E0000831207177529CC014830CD005D210230CF
:100E1000C8003321CF3003178D0000308F0003133B
:100E2000B429CC010330CD005D210230C80033214C
:100E3000B7012830B600DF210230B3009630C80079
:100E40003321B30B1E2F8A1500288A111C2F630033
:10100000B7012830B6008A11DF218A150130C800E7
:101010000230C9008A11FA218A15BC3003178D00ED
:1010200000308F008A11031336228A15B901B801E6
:10103000B7017F30B600BA018A1132248A157708C9
:10104000BF007808C0007908C1007A08C200C40156
:101050000408C3004410831B441483147A08CA0094
:101060007908C9007808C8007708C7003108CE00A1
:101070003008CD002F08CC002E08CB008A11F122B9
:101080008A15430884008313441883177708BF0028
:101090007808C0007908C1007A08C200C6010408B7
:1010A000C5004610831B461483147A08CA007908C9
:1010B000C9007808C8007708C7003908CE0038088A
:1010C000CD003708CC003608CB008A11F1228A15F2
:1010D000450884008313461883177A08BE007908F0
:1010E000BD007808BC007708BB003E08C2003D0880
:1010F000C1003C08C0003B08BF00C601C501C401D7
:10110000C3018A11B6248A15031C8C2850303A0773
:10111000AB005A30AC008E28AB01AC018A113224EE
:101120008A157A08B1007908B0007808AF0077080E
:10113000AE000130C800C9008A11FA218A158A114F
:1011400032248A157708B6007808B7007908B80005
:101150007A08B900023084003908BD003808BC00A4
:101160003708BB003608BA000130BE008A113725A7
:101170008A15C23003178D0000308F00031404302D
:101180000313BA008A111E268A150930C8000130DF
:10119000C9008A11FA218A152808B6001130B70053
:1011A0008A1182268A153A30C7008A110B228A15C5
:1011B0002908B6000130B7008A1182268A153A3014
:1011C000C7008A110B228A152A08B6000130B70021
:1011D0008A1182268A150430B600FA30C8008A11B6
:1011E00033218A15B60BED282908033C0318092979
:1011F0000130C8000230C9008A11FA218A15423034
:1012000003178D0000308F008A11031336228A15D0
:1012100008298A1132248A157708B6007808B700A1
:101220007908B8007A08B900C2003808C100370848
:10123000C0003608BF00C601C5011630C4008630A4
:10124000C3008A11B6248A1503181628B70128305E
:10125000B6008A11DF218A150130B4003408B700C6
:101260003C30B8008A11B7268A1578086E3CB50064
:101270000130C8000230C9008A11FA218A15C53030
:1012800003178D0000308F008A11031336228A1550
:10129000B508031D4E29B4080319052AB901B80180
:1012A0001630B7008630B6008A1132248A157708C6
:1012B000BA007808BB007908BC007A08BD0039087C
:1012C000C2003808C1003708C0003608BF003D081A
:1012D000C6003C08C5003B08C4003A08C3008A1198
:1012E000B6248A15031C7729AB01AC017B29463053
:1012F000AB005030AC000130C800C9008A11FA219F
:101300008A158A1132248A157708B6007808B70042
:101310007908B8007A08B900023084003908BD00A5
:101320003808BC003708BB003608BA000130BE00E0
:101330008A1137258A15CC3003178D0000308F00B5
:10134000031404300313BA008A111E268A152A08D2
:10135000B5022908B7003C30B8008A11B7268A15B3
:1013600078086E3CF8002A087802B700B8003C30D4
:10137000B9008A116D268A157808B4002908B700CB
:101380003C30B8008A11B7268A1578086E3CF80000
:101390002A087802B6003408B7003C30B8008A1139
:1013A000B7268A1578083602B5000930C800013022
:1013B000C9008A11FA218A152808B6001130B70031
:1013C0008A1182268A153A30C7008A110B228A15A3
:1013D0003408B6000130B7008A1182268A153A30E7
:1013E000C7008A110B228A153508B6000130B700F4
:1013F0008A1182268A150430B600FA30C8008A1194
:1014000033218A15B60BFD2948298A110A12252F86
:02400E003A3F37
:00000001FF
;PIC16F877A
;CRC=0A83 CREATED="24-IV-11 20:43"
;CRC=0744 CREATED="25-IV-11 14:08"