//Designs/Tools/reflow2/SW/reflow.c
45,7 → 45,9
unsigned int period;
 
float temp_last=0;
float temp_slope=0;
 
 
void GeneralCpuInit() // inicializace
{
output_high(POWER_T4);
73,6 → 75,9
 
void heat_failure() // exception in case of heating fail
{
top_heat_power=0;
bottom_heat_power=0;
 
lcd_gotoxy(1,2);
printf(lcd_putc,"HEATING FAILURE!");
80,7 → 85,7
 
}
 
unsigned int16 adc(void)
unsigned int16 adc(void) // adc read and filtering
{
unsigned int16 analog;
unsigned int8 a;
94,9 → 99,9
return (analog >> 5 ); // prumer = analog/32
}
 
float teplota(void)
float teplota(void) // temperature measuring
{
return (0.674201*adc() - 294.35);
return (0.674201*adc() - 294.35); // temperature calculaton (linear aproximation)
}
 
void top_heating()
126,10 → 131,17
#int_TIMER1
void heating_control() //rizeni topnych teles pri preteceni casovace
{
float temp;
 
top_heating();
bottom_heating();
temp=teplota();
temp_slope=(temp - temp_last)*100.0; ///(4000000.0/65536.0); // vypocet strmosti narustu teploty ve stupnich/s
temp_last = temp;
 
if (period <= 200) period++;
if (period < 200) period++;
else period=0;
}
 
158,7 → 170,7
{
float slope_deviation;
 
slope_deviation = (teplota() - temp_last) - ramp; // vypocet strmosti a odchylky od pozadovane strmosti
slope_deviation = temp_slope - ramp; // vypocet strmosti a odchylky od pozadovane strmosti
 
if(slope_deviation < 0)
{
169,7 → 181,6
top_heat_power=0;
bottom_heat_power=0;
}
temp_last = teplota();
}
 
void level_control(float level) // P proporcionalni rizeni teploty
204,6 → 215,7
struct time process_time;
 
// preheat
 
nullcas(&cas);
lcd_gotoxy(1,2);
printf(lcd_putc,"PREHEAT");
214,9 → 226,12
lcd_gotoxy(1,1);
printf(lcd_putc,"%3.1f\21C ",teplota());
 
lcd_gotoxy(9,1);
printf(lcd_putc,"%2u:%02u:%02u",cas.hod,cas.min,cas.sec);
lcd_gotoxy(12,1);
printf(lcd_putc,"%02u:%02u",cas.min,cas.sec);
 
lcd_gotoxy(10,2);
printf(lcd_putc,"%1.1f\21C/s ",temp_slope);
 
delay_ms(1000);
if (cas.min>3) heat_failure();
}
//Designs/Tools/reflow2/SW/reflow.hex
1,298 → 1,309
:1000000006308A00DC2E0000FF00030E8301A100F1
:1000000008308A0000280000FF00030E8301A100D1
:100010000A08A0008A010408A2007708A300780853
:10002000A4007908A5007A08A600831383128C30F7
:100030008400001C1D280C1834288C308400801C7F
:1000400023288C183728220884002308F700240866
:10005000F8002508F9002608FA0020088A00210E79
:100060008300FF0E7F0E09008A110A124B288A11A5
:100070000A1285280A108A100A11820728340C34C3
:100060008300FF0E7F0E09008A110A12892A8A1165
:100070000A12042B0A108A100A11820728340C3441
: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
:100090005529C5100000DE01DD01DF015F081F3CAE
:1000A000031C64281F151F19532883161E0883126A
:1000B000DD071E0803181E0FDE071030F700F70BD0
:1000C0005F280000DF0A4E285E0CFA005D0CF90084
:1000D000FA0CF90CFA0CF90CFA0CF90CFA0CF90CF4
:1000E0000730FA057908F8007A08F90008008E3020
:1000F000F7005E08F8005D08F900FA01F808031D32
:100100008B287908F800F9010830F702F808031D78
:100110008B28F70193280310F81B9228F90DF80D8E
:10012000F7038B28F8130800610803190429E90074
:10013000650803190429E9070318A5287F30E90297
:10014000031C042903190429A9288130E90703188D
:1001500004296908F700F801F901FA016208ED00C5
:10016000ED176308EC006408EB001830E900EA01C1
:100170006B1CD2286808FA07031CC428F90A031D5F
:10018000C428F80A0319EA176708F907031CCB28E3
:10019000F80A0319EA176608E300E3176308F8078B
:1001A0000318EA17EA0DF80CF90CFA0CED0CEC0C3C
:1001B000EB0C0310E90BB7280130F70703180429EB
:1001C000F81BE928ED0DFA0DF90DF80DF7030319E9
:1001D0000429ED1FFA28FA0A031DFA28F90A031D5B
:1001E000FA28F80A031DFA28F80CF90CFA0CF70A99
:1001F000031904296208EA006608EA06EA1F0229D0
:10020000F8170829F8130829F701F801F901FA018C
:10021000080080308318E806ED01EE016408EC0068
:100220006808EC0663080319F929EB00F700670872
:100230000319022AEB0203199E29031C5C29680892
:10024000F100F1176908F0006A08EF00EE010310F1
:10025000F10CF00CEF0CEE0CEB0B2629EC1F332904
:100260006D14162A6D106B106D16663084008313A2
:100270002B2A6D12EC1B46296B1C5129F10CF00C3A
:10028000EF0CEE0CF70A0319112A5129F11B54291E
:100290000310EE0DEF0DF00DF10DF7030319112A08
:1002A00046296D17BE296D136408EC00EC1F5A290E
:1002B000F1170A2AF1130A2A6708EB00F70063080E
:1002C000EB026408F100F1176508F0006608EF0022
:1002D000EE010310F10CF00CEF0CEE0CEB0B6829A7
:1002E000EC1F7529ED14162AED106B10ED166A300F
:1002F000840083132B2AED12EC1B88296B1C932995
:10030000F10CF00CEF0CEE0CF70A0319112A9329EB
:10031000F11B96290310EE0DEF0DF00DF10DF70313
:100320000319112A8829ED17BE29ED136808EC007E
:10033000EC1F9C29F1170A2AF1130A2A6808F10018
:10034000F1176908F0006A08EF00EC1FAB29F11300
:100350006D15162A6D11EE016B1066308400831343
:100360002B2AEC1BD4296408EC006B1CBE29F10C71
:10037000F00CEF0CEE0CF70A0319112AEE1FCF292F
:10038000EF0A031DCF29F00A031DCF29F10A031D2F
:10039000CF29F10CF00CEF0CF70A0319112A6D1B91
:1003A0005329ED1B9529F3298030F106F11FDC2933
:1003B000162A6808EC00E9296408EC00F108031D1E
:1003C000E929F008031DE929EF08031DE929F701D0
:1003D0000A2AF11BF3290310EE0DEF0DF00DF10DBC
:1003E000F70BE929112AEC1FF729F1170A2AF11353
:1003F0000A2A6708F7006808F1006908F0006A082F
:10040000EF000A2A6308F7006408F1006508F000AD
:100410006608EF007108F8007008F9006F08FA002C
:10042000492AF701F801F901FA01492AEE01EF0919
:10043000F009F109EE09EE0A031D242AEF0A031D53
:10044000242AF00A0319F10A6D183229ED187429CB
:100450006D19AA29D9290008EF07031C352AF00ACB
:10046000031D352AF10A03196B1484030008F007F1
:10047000031C3D2AF10A03196B1484030008801F32
:10048000803AF10703186B146D1A3929ED1A7B298C
:10049000B12908004B207908FA007808DD007908B6
:1004A000DE0077207030E4009830E3002C30E2006A
:1004B0007E30E1007A08E8007908E7007808E60075
:1004C0007708E50094207708DD007808DE007908D9
:1004D000DF007A08E000E2010408E1006210831BFB
:1004E000621483147A08E6007908E5007808E400CD
:1004F0007708E300CD30EA002C30E9001330E80043
:100500008730E7000921610884008313621883178C
:1005100008002C082E0203189A2AA812280883160D
:1005200087008312871228132808831687008312F6
:100530000713A62AA8122808831687008312871695
:1005400028132808831687008312071703102D0D20
:100550002E020318B22A2812280883168700831255
:100560000712B82A28122808831687008312071654
:100570004A227A08DC007908DB007808DA0077087C
:10058000D90083145C08E6005B08E5005A08E40023
:100590005908E3003208EA003108E9003008E800B1
:1005A0002F08E70009217708DD007808DE007908C8
:1005B000DF007A08E000E4007908E3007808E20050
:1005C0007708E100E801E7014830E6008530E50002
:1005D00094207A08B6007908B5007808B400770846
:1005E000B3005C08B2005B08B1005A08B0005908BB
:1005F000AF002E08C73C031CFF2AAE0A002BAE0139
:100600000C108A110A122328DA012930D900B70AFE
:100610003708183C0318372BB701023059078400FC
:1006200083135A188317800A00083B3C0318372BA2
:1006300002305907840083135A1883178001013050
:100640005907840083135A188317800A00083B3C1B
:100650000318372B01305907840083135A18831766
:1006600080015908840083135A188317800A8C105C
:100670008A110A12232850294524C5205400A5199F
:10068000AE18E60843102000A518AE18E608C317F8
:1006900073102000D327C125201020100001A519B8
:1006A000AE18E60843102000063409340934063435
:1006B00080348034803480340034A81228088316B3
:1006C0008700831287162813280883168700831251
:1006D000071783168113091283129412A81228088F
:1006E0008316870083122816280883168700831232
:1006F000A811280883168700013083129400003067
:10070000831694000108C7390838810085308312A8
:1007100090004830F80006389200F93083169200B5
:1007200007309C00050885000330F700F70B962B77
:100730001C0883120D1383169D01C03083128B0495
:1007400083168C140C141F149F101F159F111F1358
:1007500083121F179F1383169F1783121F140030D5
:10076000F8001F08C73978049F008A150A121F284D
:100770004D308400831300080319CC2B0130F8009E
:10078000F701F70BC12BF80BC02B4A30F700F70B22
:10079000C72BCA2B800BBE2B08000808F039D500E8
:1007A00053080F39550488000715281128088316A7
:1007B000870000008312071128112808831687007C
:1007C00083120800D108031DE72B8710E82B87143C
:1007D000A8102808831687008312D20E5208D3006F
:1007E000CD23D20E5208D300CD230D30F700F70BE6
:1007F000F72B0800C830CD00B823F03083168805E9
:1008000083128710A8102808831687008312071107
:1008100028112808831687008312B8013808023C83
:10082000031C1A2C0230CD00B8230330D300CD2393
:10083000B80A0E2C0D30F700F70B1C2C0230D30039
:10084000CD230D30F700F70B232CB8013808023CFC
:10085000031C362C38083A20B900D1013908D200DF
:10086000E2230230CD00B823B80A262C8A150A12DA
:100870002E28831603178C170C1400000000831217
:100880008C080319602C0D080313B80003170F0818
:100890000313B90003170C080313BA000130D10089
:1008A0003A08D200E223380803178D0003133908F1
:1008B00003178F008D0A03198F0A0313392C0317AE
:1008C00003138A150A12422883168C1002308312F1
:1008D0003B07840083133C18831780013B08840086
:1008E00083133C188317800101303B078400831376
:1008F0003C188317800183168C1483120800013082
:100900004D02CF004E08023C031D882C4030CF071B
:100910004F088038D000D1015008D200E2230800EF
:100920004C080C3A03199B2C063A0319A32C073ADE
:100930000319A92CAE2CD1010130D200E2230230E0
:10094000CD00B823BA2C0130CD000230CE007F2478
:10095000BA2C0130CD00CE007F24BA2C4C081F3CAD
:10096000031CB42C0730CC050130D1004C08D20058
:10097000E223BA2C0800831603178C170C1400000E
:10098000000083120C087F390319FF2C0313BB00EE
:1009900003170D080313BC0003170F080313BD0052
:1009A0003B08CC0090243C0803178D0003133D083E
:1009B00003178F0083168C170C140000000083129D
:1009C0000C0D0E0D7F390319FF2C0313BB00031709
:1009D0000D080313BC0003170F080313BD003B08E9
:1009E000CC0090243C0803178D0003133D08031727
:1009F0008F008D0A03198F0A0313BB2C03170313EF
:100A000008004508CC004908CC06CC1F0C2D03116A
:100A10000310C51B03143F2D4508CC004808CD002A
:100A20004408CD0203191A2DCC1F3F2D0308013AAB
:100A300083003F2D4908CD004508CD020319262D1E
:100A4000CC1F3F2D0308013A83003F2D4A08CD00FB
:100A50004608CD020319322DCC1F3F2D0308013A61
:100A600083003F2D4B08CD004708CD0203193E2DD2
:100A7000CC1F3F2D0308013A83003F2D03100800CF
:100A8000F701F801F901FA01D401D501D601D70126
:100A9000530852045104500403197E2D2030D8000D
:100AA0000310CC0DCD0DCE0DCF0DD40DD50DD60D23
:100AB000D70D53085702031D672D52085602031D18
:100AC000672D51085502031D672D50085402031C61
:100AD000782D5008D4025108031C510FD50252083A
:100AE000031C520FD6025308031C530FD7020314E2
:100AF000F70DF80DF90DFA0DD80B502D5430840078
:100B0000831308000408C4004308C6000319A72D76
:100B1000A7018B1BA7178B134208E4004108E300D1
:100B20004008E2003F08E100E801E7012030E6006C
:100B30008230E5009420A71B8B177A08C200790841
:100B4000C1007808C0007708BF00C60B882D420896
:100B5000CF004108CE004008CD003F08CC004C0833
:100B6000B63CCC00FA014D08D000CD170310CD0CD7
:100B7000CE0CCF0CFA0CF90CF80CF70CCC0BB62DF4
:100B8000D01FCD2DF709F809F909FA09F70A031959
:100B9000F80A0319F90A0319FA0A7A08C20079084F
:100BA000C1007808C0007708BF00C21FE42DC4034D
:100BB000C416BF09C009C109C209BF0A0319C00A86
:100BC0000319C10A0319C20A3B30CB009A30CA008C
:100BD000CA30C900C8010A30C60043080319C40A54
:100BE0004208CF004108CE004008CD003F08CC00AD
:100BF0004B08D3004A08D2004908D1004808D00069
:100C000040250008BF00840A0008C000840A0008CC
:100C1000C100840A0008C200FD308407F708031DE4
:100C2000242E430A46020319242E44080319262EB3
:100C30000F39460203191E2E0318562EC41B562EBA
:100C4000441B262E2030522E2030C405C41E342EC4
:100C5000C4124308031DC4037708C4002D30CC0020
:100C600090244408F700C40143084602031D422EA5
:100C70007708C4002E30CC0090244408F7002030C0
:100C8000C40500303030C41E522EC4124308031D68
:100C9000C4037708C4002D30CC0090244408F7002A
:100CA000C4013030F7077708CC0090244B08CF0000
:100CB0004A08CE004908CD004808CC00D301D20133
:100CC000D1010A30D00040257A08CB007908CA004B
:100CD0007808C9007708C800C60BF02D08008316F5
:100CE00003178C170C140000000003189E2E8312AB
:100CF0000C087F390313C00003170D080313C1004C
:100D000003170F080313C2004008CC0090244108C9
:100D100003178D000313420803178F0083168C17E7
:100D20000C140000000083120313BF0B982E9B2E9F
:100D3000831603179E2EBD2E8316031783120C0DE8
:100D40000E0D7F390313C00003170D080313C100F4
:100D500003170F080313C2004008CC009024410879
:100D600003178D000313420803178F008D0A031920
:100D70008F0A03100313BF0B6F2E08003E08F80103
:100D80003D020318C62E3D08F700D22EF7010830A9
:100D9000BF00BD0DF70D3E0877020318F700F80DF0
:100DA000BF0BC92E080078083B08BD006430BE00A8
:100DB000BE267708BB0078083030031DE62EBC1C29
:100DC000ED2EBC19ED2E3C1A2030E92EBC113C1240
:100DD0003C14F8077808CC0090243B08BD000A308A
:100DE000BE00BE267708BB0078083030031DFE2EFB
:100DF000BC19022F3C1C022F3C1A2030F80778083F
:100E0000CC0090243030BB073B08CC009024080075
:100E1000F701F8013C0803103D18F707F70CF80C30
:100E2000BD18F707F70CF80C3D19F707F70CF80C8D
:100E3000BD19F707F70CF80C3D1AF707F70CF80C7B
:100E4000BD1AF707F70CF80C3D1BF707F70CF80C69
:0A0E5000BD1BF707F70CF80C0800B3
:10100000840183131F30830583168613831286178A
:10101000AC01AD01B201B101B001AF01B601B50142
:10102000B401B301B70183161F149F141F159F113C
:1010300007309C00FF308312A8008A115D2B8A15AF
:10104000A8122808831687008312871628132808F9
:1010500083168700831207178A11FA2B8A15D1018C
:101060004830D2008A11E2238A150230CD008A115D
:10107000B8238A15543003178D0003308F008A116E
:101080000313392C8A15D1010330D2008A11E223CF
:101090008A150230CD008A11B8238A15BC01293087
:1010A000BB008A1164248A150230B8009630CD0046
:1010B0008A11B8238A15B80B5628BC012930BB0009
:1010C0008A1164248A150130CD000230CE008A11C5
:1010D0007F248A153B3003178D0003308F008A115F
:1010E0000313BB248A15BE01BD01BC017F30BB00C8
:1010F000BF018314A7018B1BA7178B133608E600CB
:101100003508E5003408E4003308E3003E08EA004F
:101110003D08E9003C08E8003B08E7008A11092186
:101120008A15A71B8B177A08C3007908C2007808B4
:10113000C1007708C0004308C7004208C600410844
:10114000C5004008C400CB01CA01C901C8018A1109
:1011500001258A15031CB22850303F07AC005A30D5
:10116000AD00B428AC01AD010130CD00CE008A1134
:101170007F248A15A7018B1BA7178B138A114A227C
:101180008A15A71B8B177708BB007808BC00790865
:10119000BD007A08BE00023084007A08C2007908D7
:1011A000C1007808C0007708BF000130C3008A1171
:1011B00082258A15413003178D0003308F000314F8
:1011C00004300313BF008A116F268A150C30CD003E
:1011D0000130CE008A117F248A152A08BB00013015
:1011E000BC008A11D3268A153A30CC008A1190248B
:1011F0008A152B08BB000130BC008A11D3268A1542
:101200000A30CD000230CE008A117F248A15893041
:1012100084003608C2003508C1003408C000330815
:10122000BF000130C3008A1182258A15463003179A
:101230008D0003308F00031406300313BF008A11A2
:101240006F268A150430BB00FA30CD008A11B8230E
:101250008A15BB0B24292A08033C03184229AC0138
:10126000AD010130CD000230CE008A117F248A15F5
:10127000423003178D0000308F008A110313BB2406
:101280008A154129A7018B1BA7178B138A114A22A4
:101290008A15A71B8B177708BB007808BC00790854
:1012A000BD007A08BE00C7003D08C6003C08C50066
:1012B0003B08C400CB01CA011630C9008630C80003
:1012C0008A1101258A1503187328BC012930BB0037
:1012D0008A1164248A150130B9003908BC003C30F9
:1012E000BD008A1108278A1578086E3CBA000130C3
:1012F000CD000230CE008A117F248A154A300317B0
:101300008D0003308F008A110313BB248A15BA089D
:10131000031D8D29B9080319502ABE01BD011630DD
:10132000BC008630BB00A7018B1BA7178B138A114B
:101330004A228A15A71B8B177708BF007808C000C0
:101340007908C1007A08C2003E08C7003D08C600FF
:101350003C08C5003B08C4004208CB004108CA0055
:101360004008C9003F08C8008A1101258A15031CDE
:10137000BC29AC01AD01C0294630AC005030AD00F5
:101380000130CD00CE008A117F248A15A7018B1B66
:10139000A7178B138A114A228A15A71B8B17770868
:1013A000BB007808BC007908BD007A08BE00023096
:1013B00084007A08C2007908C1007808C000770864
:1013C000BF000130C3008A1182258A1551300317EE
:1013D0008D0003308F00031404300313BF008A1103
:1013E0006F268A152B08BA022A08BC003C30BD00C3
:1013F0008A1108278A1578086E3CF8002B087802B5
:10140000BC00BD003C30BE008A11BE268A1578089B
:10141000B9002A08BC003C30BD008A1108278A1593
:1014200078086E3CF8002B087802BB003908BC0035
:101430003C30BD008A1108278A1578083B02BA00A3
:101440000930CD000130CE008A117F248A15290889
:10145000BB001130BC008A11D3268A153A30CC006B
:101460008A1190248A153908BB000130BC008A110A
:10147000D3268A153A30CC008A1190248A153A086E
:10148000BB000130BC008A11D3268A150430BB0092
:10149000FA30CD008A11B8238A15BB0B482A872958
:0414A0005428630069
:02400E003A3F37
:00000001FF
;PIC16F877A
;CRC=0744 CREATED="25-IV-11 14:08"
;CRC=47D4 CREATED="28-V-11 17:06"