Blame view

main.c 16.7 KB
7565f6e8   henyxia   C Style with doub...
1
2
3
  #include <avr/io.h>
  #include <util/delay.h>
  
9110b127   henyxia   New values
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
  
  #define	TMP0	932
  #define	TMP1	931
  #define	TMP2	929
  #define	TMP3	928
  #define	TMP4	927
  #define	TMP5	925
  #define	TMP6	924
  #define	TMP7	923
  #define	TMP8	921
  #define	TMP9	920
  #define	TMP10	918
  #define	TMP11	917
  #define	TMP12	916
  #define	TMP13	914
  #define	TMP14	913
  #define	TMP15	911
  #define	TMP16	910
  #define	TMP17	908
  #define	TMP18	907
  #define	TMP19	905
  #define	TMP20	904
  #define	TMP21	902
  #define	TMP22	900
  #define	TMP23	899
  #define	TMP24	897
  #define	TMP25	896
  #define	TMP26	894
  #define	TMP27	892
  #define	TMP28	891
  #define	TMP29	889
  #define	TMP30	887
  #define	TMP31	886
  #define	TMP32	884
  #define	TMP33	882
  #define	TMP34	880
  #define	TMP35	879
  #define	TMP36	877
  #define	TMP37	875
  #define	TMP38	873
  #define	TMP39	871
  #define	TMP40	869
  #define	TMP41	868
  #define	TMP42	866
  #define	TMP43	864
  #define	TMP44	862
  #define	TMP45	860
  #define	TMP46	858
  #define	TMP47	856
  #define	TMP48	854
  #define	TMP49	852
  #define	TMP50	850
  #define	TMP51	848
  #define	TMP52	846
  #define	TMP53	844
  #define	TMP54	842
  #define	TMP55	840
  #define	TMP56	838
  #define	TMP57	836
  #define	TMP58	834
  #define	TMP59	832
  #define	TMP60	830
  #define	TMP61	828
  #define	TMP62	825
  #define	TMP63	823
  #define	TMP64	821
  #define	TMP65	819
  #define	TMP66	817
  #define	TMP67	814
  #define	TMP68	812
  #define	TMP69	810
  #define	TMP70	808
  #define	TMP71	805
  #define	TMP72	803
  #define	TMP73	801
  #define	TMP74	799
  #define	TMP75	796
  #define	TMP76	794
  #define	TMP77	792
  #define	TMP78	789
  #define	TMP79	787
  #define	TMP80	784
  #define	TMP81	782
  #define	TMP82	780
  #define	TMP83	777
  #define	TMP84	775
  #define	TMP85	772
  #define	TMP86	770
  #define	TMP87	767
  #define	TMP88	765
  #define	TMP89	762
  #define	TMP90	760
  #define	TMP91	757
  #define	TMP92	755
  #define	TMP93	752
  #define	TMP94	750
  #define	TMP95	747
  #define	TMP96	745
  #define	TMP97	742
  #define	TMP98	740
  #define	TMP99	737
  #define	TMP100	734
  #define	TMP101	732
  #define	TMP102	729
  #define	TMP103	727
  #define	TMP104	724
  #define	TMP105	721
  #define	TMP106	719
  #define	TMP107	716
  #define	TMP108	713
  #define	TMP109	711
  #define	TMP110	708
  #define	TMP111	705
  #define	TMP112	703
  #define	TMP113	700
  #define	TMP114	697
  #define	TMP115	694
  #define	TMP116	692
  #define	TMP117	689
  #define	TMP118	686
  #define	TMP119	684
  #define	TMP120	681
  #define	TMP121	678
  #define	TMP122	675
  #define	TMP123	673
  #define	TMP124	670
  #define	TMP125	667
  #define	TMP126	664
  #define	TMP127	661
  #define	TMP128	659
  #define	TMP129	656
  #define	TMP130	653
  #define	TMP131	650
  #define	TMP132	647
  #define	TMP133	645
  #define	TMP134	642
  #define	TMP135	639
  #define	TMP136	636
  #define	TMP137	633
  #define	TMP138	631
  #define	TMP139	628
  #define	TMP140	625
  #define	TMP141	622
  #define	TMP142	619
  #define	TMP143	616
  #define	TMP144	614
  #define	TMP145	611
  #define	TMP146	608
  #define	TMP147	605
  #define	TMP148	602
  #define	TMP149	599
  #define	TMP150	596
  #define	TMP151	594
  #define	TMP152	591
  #define	TMP153	588
  #define	TMP154	585
  #define	TMP155	582
  #define	TMP156	579
  #define	TMP157	577
  #define	TMP158	574
  #define	TMP159	571
  #define	TMP160	568
  #define	TMP161	565
  #define	TMP162	562
  #define	TMP163	560
  #define	TMP164	557
  #define	TMP165	554
  #define	TMP166	551
  #define	TMP167	548
  #define	TMP168	545
  #define	TMP169	543
  #define	TMP170	540
  #define	TMP171	537
  #define	TMP172	534
  #define	TMP173	531
  #define	TMP174	529
  #define	TMP175	526
  #define	TMP176	523
  #define	TMP177	520
  #define	TMP178	518
  #define	TMP179	515
  #define	TMP180	512
  #define	TMP181	509
  #define	TMP182	506
  #define	TMP183	504
  #define	TMP184	501
  #define	TMP185	498
  #define	TMP186	495
  #define	TMP187	493
  #define	TMP188	490
  #define	TMP189	487
  #define	TMP190	485
  #define	TMP191	482
  #define	TMP192	479
  #define	TMP193	476
  #define	TMP194	474
  #define	TMP195	471
  #define	TMP196	468
  #define	TMP197	466
  #define	TMP198	463
  #define	TMP199	460
  #define	TMP200	458
  #define	TMP201	455
  #define	TMP202	453
  #define	TMP203	450
  #define	TMP204	447
  #define	TMP205	445
  #define	TMP206	442
  #define	TMP207	439
  #define	TMP208	437
  #define	TMP209	434
  #define	TMP210	432
  #define	TMP211	429
  #define	TMP212	427
  #define	TMP213	424
  #define	TMP214	422
  #define	TMP215	419
  #define	TMP216	417
  #define	TMP217	414
  #define	TMP218	412
  #define	TMP219	409
  #define	TMP220	407
  #define	TMP221	404
  #define	TMP222	402
  #define	TMP223	399
  #define	TMP224	397
  #define	TMP225	394
  #define	TMP226	392
  #define	TMP227	389
  #define	TMP228	387
  #define	TMP229	385
  #define	TMP230	382
  #define	TMP231	380
  #define	TMP232	378
  #define	TMP233	375
  #define	TMP234	373
  #define	TMP235	371
  #define	TMP236	368
  #define	TMP237	366
  #define	TMP238	364
  #define	TMP239	361
  #define	TMP240	359
  #define	TMP241	357
  #define	TMP242	355
  #define	TMP243	352
  #define	TMP244	350
  #define	TMP245	348
  #define	TMP246	346
  #define	TMP247	343
  #define	TMP248	341
  #define	TMP249	339
  #define	TMP250	337
  #define	TMP251	335
  #define	TMP252	333
  #define	TMP253	330
  #define	TMP254	328
  #define	TMP255	326
  
  
  
  
17cc306f   henyxia   Rev 1.0
265
266
267
  #define CPU_FREQ    16000000L
  #define	VAL25		895
  #define	VAL105		246
7565f6e8   henyxia   C Style with doub...
268
  
d2a71b92   henyxia   Initial serial co...
269
  void init_serial(int speed)
7565f6e8   henyxia   C Style with doub...
270
  {
d2a71b92   henyxia   Initial serial co...
271
  	UBRR0 = CPU_FREQ/(((unsigned long int)speed)<<4)-1;
7565f6e8   henyxia   C Style with doub...
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
  	UCSR0B = (1<<TXEN0 | 1<<RXEN0);
  	UCSR0C = (1<<UCSZ01 | 1<<UCSZ00);
  	UCSR0A &= (1 << U2X0);
  }
  
  void send_serial(unsigned char c)
  {
  	loop_until_bit_is_set(UCSR0A, UDRE0);
  	UDR0 = c;
  }
  
  unsigned char get_serial(void)
  {
  	loop_until_bit_is_set(UCSR0A, RXC0);
  	return UDR0;
  }
  
  void port_initio(void)
  {
  	DDRD &= 0xFC;
  	DDRD |= 0x3C;
17cc306f   henyxia   Rev 1.0
293
  	DDRC = 0x00;
7565f6e8   henyxia   C Style with doub...
294
295
296
297
  	DDRB &= 0xFE;
  	PORTD |= 0x3C;
  }
  
17cc306f   henyxia   Rev 1.0
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
  int analogRead(uint8_t pin)
  {
          uint8_t low, high;
  
          if (pin >= 14)
  			pin -= 14; // allow for channel or pin numbers
          ADMUX = (0x01 << 6) | (pin & 0x07);
  		ADCSRA|=(1<<ADSC);
          while (bit_is_set(ADCSRA, ADSC));
          low  = ADCL;
          high = ADCH;
  
          return (high << 8) | low;
  }
  
  void ad_init(unsigned char channel)   
  {   
  	ADCSRA|=(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);   
  	ADMUX|=(1<<REFS0)|(1<<ADLAR);
  	ADMUX=(ADMUX&0xf0)|channel;   
  	ADCSRA|=(1<<ADEN);
  }   
  
7565f6e8   henyxia   C Style with doub...
321
322
  int main(void)
  {
d2a71b92   henyxia   Initial serial co...
323
  	init_serial(19200);
7565f6e8   henyxia   C Style with doub...
324
  	port_initio();
17cc306f   henyxia   Rev 1.0
325
  	ad_init(PINC&0x00);
7565f6e8   henyxia   C Style with doub...
326
  	uint8_t	opto0 = 0;
d2a71b92   henyxia   Initial serial co...
327
  	uint8_t	opto1 = 0;
17cc306f   henyxia   Rev 1.0
328
329
330
331
  	unsigned char ser;
  	unsigned int temp;
  	unsigned char ftemp;
  
7565f6e8   henyxia   C Style with doub...
332
333
  	while (1)
  	{
17cc306f   henyxia   Rev 1.0
334
  		temp = analogRead(0);
9110b127   henyxia   New values
335
  		if(temp <= TMP255)
17cc306f   henyxia   Rev 1.0
336
  			ftemp = 255;
9110b127   henyxia   New values
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
  		else if(temp <= TMP254)
  			ftemp = 254;
  		else if(temp <= TMP253)
  			ftemp = 253;
  		else if(temp <= TMP252)
  			ftemp = 252;
  		else if(temp <= TMP251)
  			ftemp = 251;
  		else if(temp <= TMP250)
  			ftemp = 250;
  		else if(temp <= TMP249)
  			ftemp = 249;
  		else if(temp <= TMP248)
  			ftemp = 248;
  		else if(temp <= TMP247)
  			ftemp = 247;
  		else if(temp <= TMP246)
  			ftemp = 246;
  		else if(temp <= TMP245)
  			ftemp = 245;
  		else if(temp <= TMP244)
  			ftemp = 244;
  		else if(temp <= TMP243)
  			ftemp = 243;
  		else if(temp <= TMP242)
  			ftemp = 242;
  		else if(temp <= TMP241)
  			ftemp = 241;
  		else if(temp <= TMP240)
  			ftemp = 240;
  		else if(temp <= TMP239)
  			ftemp = 239;
  		else if(temp <= TMP238)
  			ftemp = 238;
  		else if(temp <= TMP237)
  			ftemp = 237;
  		else if(temp <= TMP236)
  			ftemp = 236;
  		else if(temp <= TMP235)
  			ftemp = 235;
  		else if(temp <= TMP234)
  			ftemp = 234;
  		else if(temp <= TMP233)
  			ftemp = 233;
  		else if(temp <= TMP232)
  			ftemp = 232;
  		else if(temp <= TMP231)
  			ftemp = 231;
  		else if(temp <= TMP230)
  			ftemp = 230;
  		else if(temp <= TMP229)
  			ftemp = 229;
  		else if(temp <= TMP228)
  			ftemp = 228;
  		else if(temp <= TMP227)
  			ftemp = 227;
  		else if(temp <= TMP226)
  			ftemp = 226;
  		else if(temp <= TMP225)
  			ftemp = 225;
  		else if(temp <= TMP224)
  			ftemp = 224;
  		else if(temp <= TMP223)
  			ftemp = 223;
  		else if(temp <= TMP222)
  			ftemp = 222;
  		else if(temp <= TMP221)
  			ftemp = 221;
  		else if(temp <= TMP220)
  			ftemp = 220;
  		else if(temp <= TMP219)
  			ftemp = 219;
  		else if(temp <= TMP218)
  			ftemp = 218;
  		else if(temp <= TMP217)
  			ftemp = 217;
  		else if(temp <= TMP216)
  			ftemp = 216;
  		else if(temp <= TMP215)
  			ftemp = 215;
  		else if(temp <= TMP214)
  			ftemp = 214;
  		else if(temp <= TMP213)
  			ftemp = 213;
  		else if(temp <= TMP212)
  			ftemp = 212;
  		else if(temp <= TMP211)
  			ftemp = 211;
  		else if(temp <= TMP210)
  			ftemp = 210;
  		else if(temp <= TMP209)
  			ftemp = 209;
  		else if(temp <= TMP208)
  			ftemp = 208;
  		else if(temp <= TMP207)
  			ftemp = 207;
  		else if(temp <= TMP206)
  			ftemp = 206;
  		else if(temp <= TMP205)
  			ftemp = 205;
  		else if(temp <= TMP204)
  			ftemp = 204;
  		else if(temp <= TMP203)
  			ftemp = 203;
  		else if(temp <= TMP202)
  			ftemp = 202;
  		else if(temp <= TMP201)
  			ftemp = 201;
  		else if(temp <= TMP200)
  			ftemp = 200;
  		else if(temp <= TMP199)
  			ftemp = 199;
  		else if(temp <= TMP198)
  			ftemp = 198;
  		else if(temp <= TMP197)
  			ftemp = 197;
  		else if(temp <= TMP196)
  			ftemp = 196;
  		else if(temp <= TMP195)
  			ftemp = 195;
  		else if(temp <= TMP194)
  			ftemp = 194;
  		else if(temp <= TMP193)
  			ftemp = 193;
  		else if(temp <= TMP192)
  			ftemp = 192;
  		else if(temp <= TMP191)
  			ftemp = 191;
  		else if(temp <= TMP190)
  			ftemp = 190;
  		else if(temp <= TMP189)
  			ftemp = 189;
  		else if(temp <= TMP188)
  			ftemp = 188;
  		else if(temp <= TMP187)
  			ftemp = 187;
  		else if(temp <= TMP186)
  			ftemp = 186;
  		else if(temp <= TMP185)
  			ftemp = 185;
  		else if(temp <= TMP184)
  			ftemp = 184;
  		else if(temp <= TMP183)
  			ftemp = 183;
  		else if(temp <= TMP182)
  			ftemp = 182;
  		else if(temp <= TMP181)
  			ftemp = 181;
  		else if(temp <= TMP180)
  			ftemp = 180;
  		else if(temp <= TMP179)
  			ftemp = 179;
  		else if(temp <= TMP178)
  			ftemp = 178;
  		else if(temp <= TMP177)
  			ftemp = 177;
  		else if(temp <= TMP176)
  			ftemp = 176;
  		else if(temp <= TMP175)
  			ftemp = 175;
  		else if(temp <= TMP174)
  			ftemp = 174;
  		else if(temp <= TMP173)
  			ftemp = 173;
  		else if(temp <= TMP172)
  			ftemp = 172;
  		else if(temp <= TMP171)
  			ftemp = 171;
  		else if(temp <= TMP170)
  			ftemp = 170;
  		else if(temp <= TMP169)
  			ftemp = 169;
  		else if(temp <= TMP168)
  			ftemp = 168;
  		else if(temp <= TMP167)
  			ftemp = 167;
  		else if(temp <= TMP166)
  			ftemp = 166;
  		else if(temp <= TMP165)
  			ftemp = 165;
  		else if(temp <= TMP164)
  			ftemp = 164;
  		else if(temp <= TMP163)
  			ftemp = 163;
  		else if(temp <= TMP162)
  			ftemp = 162;
  		else if(temp <= TMP161)
  			ftemp = 161;
  		else if(temp <= TMP160)
  			ftemp = 160;
  		else if(temp <= TMP159)
  			ftemp = 159;
  		else if(temp <= TMP158)
  			ftemp = 158;
  		else if(temp <= TMP157)
  			ftemp = 157;
  		else if(temp <= TMP156)
  			ftemp = 156;
  		else if(temp <= TMP155)
  			ftemp = 155;
  		else if(temp <= TMP154)
  			ftemp = 154;
  		else if(temp <= TMP153)
  			ftemp = 153;
  		else if(temp <= TMP152)
  			ftemp = 152;
  		else if(temp <= TMP151)
  			ftemp = 151;
  		else if(temp <= TMP150)
  			ftemp = 150;
  		else if(temp <= TMP149)
  			ftemp = 149;
  		else if(temp <= TMP148)
  			ftemp = 148;
  		else if(temp <= TMP147)
  			ftemp = 147;
  		else if(temp <= TMP146)
  			ftemp = 146;
  		else if(temp <= TMP145)
  			ftemp = 145;
  		else if(temp <= TMP144)
  			ftemp = 144;
  		else if(temp <= TMP143)
  			ftemp = 143;
  		else if(temp <= TMP142)
  			ftemp = 142;
  		else if(temp <= TMP141)
  			ftemp = 141;
  		else if(temp <= TMP140)
  			ftemp = 140;
  		else if(temp <= TMP139)
  			ftemp = 139;
  		else if(temp <= TMP138)
  			ftemp = 138;
  		else if(temp <= TMP137)
  			ftemp = 137;
  		else if(temp <= TMP136)
  			ftemp = 136;
  		else if(temp <= TMP135)
  			ftemp = 135;
  		else if(temp <= TMP134)
  			ftemp = 134;
  		else if(temp <= TMP133)
  			ftemp = 133;
  		else if(temp <= TMP132)
  			ftemp = 132;
  		else if(temp <= TMP131)
  			ftemp = 131;
  		else if(temp <= TMP130)
  			ftemp = 130;
  		else if(temp <= TMP129)
  			ftemp = 129;
  		else if(temp <= TMP128)
  			ftemp = 128;
  		else if(temp <= TMP127)
  			ftemp = 127;
  		else if(temp <= TMP126)
  			ftemp = 126;
  		else if(temp <= TMP125)
  			ftemp = 125;
  		else if(temp <= TMP124)
  			ftemp = 124;
  		else if(temp <= TMP123)
  			ftemp = 123;
  		else if(temp <= TMP122)
  			ftemp = 122;
  		else if(temp <= TMP121)
  			ftemp = 121;
  		else if(temp <= TMP120)
  			ftemp = 120;
  		else if(temp <= TMP119)
  			ftemp = 119;
  		else if(temp <= TMP118)
  			ftemp = 118;
  		else if(temp <= TMP117)
  			ftemp = 117;
  		else if(temp <= TMP116)
  			ftemp = 116;
  		else if(temp <= TMP115)
  			ftemp = 115;
  		else if(temp <= TMP114)
  			ftemp = 114;
  		else if(temp <= TMP113)
  			ftemp = 113;
  		else if(temp <= TMP112)
  			ftemp = 112;
  		else if(temp <= TMP111)
  			ftemp = 111;
  		else if(temp <= TMP110)
  			ftemp = 110;
  		else if(temp <= TMP109)
  			ftemp = 109;
  		else if(temp <= TMP108)
  			ftemp = 108;
  		else if(temp <= TMP107)
  			ftemp = 107;
  		else if(temp <= TMP106)
  			ftemp = 106;
  		else if(temp <= TMP105)
  			ftemp = 105;
  		else if(temp <= TMP104)
  			ftemp = 104;
  		else if(temp <= TMP103)
  			ftemp = 103;
  		else if(temp <= TMP102)
  			ftemp = 102;
  		else if(temp <= TMP101)
  			ftemp = 101;
  		else if(temp <= TMP100)
  			ftemp = 100;
  		else if(temp <= TMP99)
  			ftemp = 99;
  		else if(temp <= TMP98)
  			ftemp = 98;
  		else if(temp <= TMP97)
  			ftemp = 97;
  		else if(temp <= TMP96)
  			ftemp = 96;
  		else if(temp <= TMP95)
  			ftemp = 95;
  		else if(temp <= TMP94)
  			ftemp = 94;
  		else if(temp <= TMP93)
  			ftemp = 93;
  		else if(temp <= TMP92)
  			ftemp = 92;
  		else if(temp <= TMP91)
  			ftemp = 91;
  		else if(temp <= TMP90)
  			ftemp = 90;
  		else if(temp <= TMP89)
  			ftemp = 89;
  		else if(temp <= TMP88)
  			ftemp = 88;
  		else if(temp <= TMP87)
  			ftemp = 87;
  		else if(temp <= TMP86)
  			ftemp = 86;
  		else if(temp <= TMP85)
  			ftemp = 85;
  		else if(temp <= TMP84)
  			ftemp = 84;
  		else if(temp <= TMP83)
  			ftemp = 83;
  		else if(temp <= TMP82)
  			ftemp = 82;
  		else if(temp <= TMP81)
  			ftemp = 81;
  		else if(temp <= TMP80)
  			ftemp = 80;
  		else if(temp <= TMP79)
  			ftemp = 79;
  		else if(temp <= TMP78)
  			ftemp = 78;
  		else if(temp <= TMP77)
  			ftemp = 77;
  		else if(temp <= TMP76)
  			ftemp = 76;
  		else if(temp <= TMP75)
  			ftemp = 75;
  		else if(temp <= TMP74)
  			ftemp = 74;
  		else if(temp <= TMP73)
  			ftemp = 73;
  		else if(temp <= TMP72)
  			ftemp = 72;
  		else if(temp <= TMP71)
  			ftemp = 71;
  		else if(temp <= TMP70)
  			ftemp = 70;
  		else if(temp <= TMP69)
  			ftemp = 69;
  		else if(temp <= TMP68)
  			ftemp = 68;
  		else if(temp <= TMP67)
  			ftemp = 67;
  		else if(temp <= TMP66)
  			ftemp = 66;
  		else if(temp <= TMP65)
  			ftemp = 65;
  		else if(temp <= TMP64)
  			ftemp = 64;
  		else if(temp <= TMP63)
  			ftemp = 63;
  		else if(temp <= TMP62)
  			ftemp = 62;
  		else if(temp <= TMP61)
  			ftemp = 61;
  		else if(temp <= TMP60)
  			ftemp = 60;
  		else if(temp <= TMP59)
  			ftemp = 59;
  		else if(temp <= TMP58)
  			ftemp = 58;
  		else if(temp <= TMP57)
  			ftemp = 57;
  		else if(temp <= TMP56)
  			ftemp = 56;
  		else if(temp <= TMP55)
  			ftemp = 55;
  		else if(temp <= TMP54)
  			ftemp = 54;
  		else if(temp <= TMP53)
  			ftemp = 53;
  		else if(temp <= TMP52)
  			ftemp = 52;
  		else if(temp <= TMP51)
  			ftemp = 51;
  		else if(temp <= TMP50)
  			ftemp = 50;
  		else if(temp <= TMP49)
  			ftemp = 49;
  		else if(temp <= TMP48)
  			ftemp = 48;
  		else if(temp <= TMP47)
  			ftemp = 47;
  		else if(temp <= TMP46)
  			ftemp = 46;
  		else if(temp <= TMP45)
  			ftemp = 45;
  		else if(temp <= TMP44)
  			ftemp = 44;
  		else if(temp <= TMP43)
  			ftemp = 43;
  		else if(temp <= TMP42)
  			ftemp = 42;
  		else if(temp <= TMP41)
  			ftemp = 41;
  		else if(temp <= TMP40)
  			ftemp = 40;
  		else if(temp <= TMP39)
  			ftemp = 39;
  		else if(temp <= TMP38)
  			ftemp = 38;
  		else if(temp <= TMP37)
  			ftemp = 37;
  		else if(temp <= TMP36)
  			ftemp = 36;
  		else if(temp <= TMP35)
  			ftemp = 35;
  		else if(temp <= TMP34)
  			ftemp = 34;
  		else if(temp <= TMP33)
  			ftemp = 33;
  		else if(temp <= TMP32)
  			ftemp = 32;
  		else if(temp <= TMP31)
  			ftemp = 31;
  		else if(temp <= TMP30)
  			ftemp = 30;
  		else if(temp <= TMP29)
  			ftemp = 29;
  		else if(temp <= TMP28)
  			ftemp = 28;
  		else if(temp <= TMP27)
  			ftemp = 27;
  		else if(temp <= TMP26)
  			ftemp = 26;
  		else if(temp <= TMP25)
  			ftemp = 25;
  		else if(temp <= TMP24)
  			ftemp = 24;
  		else if(temp <= TMP23)
  			ftemp = 23;
  		else if(temp <= TMP22)
  			ftemp = 22;
  		else if(temp <= TMP21)
  			ftemp = 21;
  		else if(temp <= TMP20)
  			ftemp = 20;
  		else if(temp <= TMP19)
  			ftemp = 19;
  		else if(temp <= TMP18)
  			ftemp = 18;
  		else if(temp <= TMP17)
  			ftemp = 17;
  		else if(temp <= TMP16)
  			ftemp = 16;
  		else if(temp <= TMP15)
  			ftemp = 15;
  		else if(temp <= TMP14)
  			ftemp = 14;
  		else if(temp <= TMP13)
  			ftemp = 13;
  		else if(temp <= TMP12)
  			ftemp = 12;
  		else if(temp <= TMP11)
  			ftemp = 11;
  		else if(temp <= TMP10)
  			ftemp = 10;
  		else if(temp <= TMP9)
  			ftemp = 9;
  		else if(temp <= TMP8)
  			ftemp = 8;
  		else if(temp <= TMP7)
  			ftemp = 7;
  		else if(temp <= TMP6)
  			ftemp = 6;
  		else if(temp <= TMP5)
  			ftemp = 5;
  		else if(temp <= TMP4)
  			ftemp = 4;
  		else if(temp <= TMP3)
  			ftemp = 3;
  		else if(temp <= TMP2)
  			ftemp = 2;
  		else if(temp <= TMP1)
  			ftemp = 1;
7565f6e8   henyxia   C Style with doub...
845
  		else
9110b127   henyxia   New values
846
847
  			ftemp = 0;
  
17cc306f   henyxia   Rev 1.0
848
849
850
851
  		if((opto0 == 1) && ((PIND & 0x40) == 0x40))
  			PORTD &= 0xE7;
  		else
  			PORTD |= 0x18;
d2a71b92   henyxia   Initial serial co...
852
  		if((opto1 == 1) && ((PIND & 0x80) == 0x80))
7565f6e8   henyxia   C Style with doub...
853
854
855
856
  			PORTD &= 0xDB;
  		else
  			PORTD |= 0x24;
  
d2a71b92   henyxia   Initial serial co...
857
858
859
860
861
  		ser = get_serial();
  		if(ser == 'B')
  			opto0 = 1;
  		else if(ser == 'D')
  			opto0 = 0;
17cc306f   henyxia   Rev 1.0
862
863
864
865
866
867
868
869
870
871
872
873
874
  		else if(ser == 'E')
  			opto1 = 1;
  		else if(ser == 'G')
  			opto1 = 0;
  		else if(ser == 'H')
  			send_serial(ftemp);
  		else if(ser == 'F')
  		{
  			if((PINB & 0x01) == 0x01)
  				send_serial('I');
  			else
  				send_serial('K');
  		}
7565f6e8   henyxia   C Style with doub...
875
  		else
17cc306f   henyxia   Rev 1.0
876
  			send_serial('J');
7565f6e8   henyxia   C Style with doub...
877
878
879
880
  	}
  
  	return 0;
  }