-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDriveTime.pre
More file actions
1071 lines (823 loc) · 20 KB
/
DriveTime.pre
File metadata and controls
1071 lines (823 loc) · 20 KB
1
2
3
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
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
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
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# 1 "C:\Users\Administrator\Desktop\pic16f73\DriveTime.c"
# 5 "C:\Users\Administrator\Desktop\pic16f73\DriveTime.h"
void DriveTime(void);
# 58 "C:\Program Files (x86)\HI-TECH Software\PICC\9.83\include\pic16f73.h"
volatile unsigned char INDF @ 0x000;
volatile unsigned char TMR0 @ 0x001;
volatile unsigned char PCL @ 0x002;
volatile unsigned char STATUS @ 0x003;
volatile bit CARRY @ ((unsigned)&STATUS*8)+0;
volatile bit DC @ ((unsigned)&STATUS*8)+1;
volatile bit ZERO @ ((unsigned)&STATUS*8)+2;
volatile bit nPD @ ((unsigned)&STATUS*8)+3;
volatile bit nTO @ ((unsigned)&STATUS*8)+4;
volatile bit IRP @ ((unsigned)&STATUS*8)+7;
volatile bit RP0 @ ((unsigned)&STATUS*8)+5;
volatile bit RP1 @ ((unsigned)&STATUS*8)+6;
volatile union {
struct {
unsigned C : 1;
unsigned DC : 1;
unsigned Z : 1;
unsigned nPD : 1;
unsigned nTO : 1;
unsigned RP : 2;
unsigned IRP : 1;
};
struct {
unsigned : 5;
unsigned RP0 : 1;
unsigned RP1 : 1;
};
} STATUSbits @ 0x003;
volatile unsigned char FSR @ 0x004;
volatile unsigned char PORTA @ 0x005;
volatile bit RA0 @ ((unsigned)&PORTA*8)+0;
volatile bit RA1 @ ((unsigned)&PORTA*8)+1;
volatile bit RA2 @ ((unsigned)&PORTA*8)+2;
volatile bit RA3 @ ((unsigned)&PORTA*8)+3;
volatile bit RA4 @ ((unsigned)&PORTA*8)+4;
volatile bit RA5 @ ((unsigned)&PORTA*8)+5;
volatile union {
struct {
unsigned RA0 : 1;
unsigned RA1 : 1;
unsigned RA2 : 1;
unsigned RA3 : 1;
unsigned RA4 : 1;
unsigned RA5 : 1;
};
} PORTAbits @ 0x005;
volatile unsigned char PORTB @ 0x006;
volatile bit RB0 @ ((unsigned)&PORTB*8)+0;
volatile bit RB1 @ ((unsigned)&PORTB*8)+1;
volatile bit RB2 @ ((unsigned)&PORTB*8)+2;
volatile bit RB3 @ ((unsigned)&PORTB*8)+3;
volatile bit RB4 @ ((unsigned)&PORTB*8)+4;
volatile bit RB5 @ ((unsigned)&PORTB*8)+5;
volatile bit RB6 @ ((unsigned)&PORTB*8)+6;
volatile bit RB7 @ ((unsigned)&PORTB*8)+7;
volatile union {
struct {
unsigned RB0 : 1;
unsigned RB1 : 1;
unsigned RB2 : 1;
unsigned RB3 : 1;
unsigned RB4 : 1;
unsigned RB5 : 1;
unsigned RB6 : 1;
unsigned RB7 : 1;
};
} PORTBbits @ 0x006;
volatile unsigned char PORTC @ 0x007;
volatile bit RC0 @ ((unsigned)&PORTC*8)+0;
volatile bit RC1 @ ((unsigned)&PORTC*8)+1;
volatile bit RC2 @ ((unsigned)&PORTC*8)+2;
volatile bit RC3 @ ((unsigned)&PORTC*8)+3;
volatile bit RC4 @ ((unsigned)&PORTC*8)+4;
volatile bit RC5 @ ((unsigned)&PORTC*8)+5;
volatile bit RC6 @ ((unsigned)&PORTC*8)+6;
volatile bit RC7 @ ((unsigned)&PORTC*8)+7;
volatile union {
struct {
unsigned RC0 : 1;
unsigned RC1 : 1;
unsigned RC2 : 1;
unsigned RC3 : 1;
unsigned RC4 : 1;
unsigned RC5 : 1;
unsigned RC6 : 1;
unsigned RC7 : 1;
};
} PORTCbits @ 0x007;
volatile unsigned char PCLATH @ 0x00A;
volatile union {
struct {
unsigned PCLATH : 5;
};
} PCLATHbits @ 0x00A;
volatile unsigned char INTCON @ 0x00B;
volatile bit RBIF @ ((unsigned)&INTCON*8)+0;
volatile bit INTF @ ((unsigned)&INTCON*8)+1;
volatile bit TMR0IF @ ((unsigned)&INTCON*8)+2;
volatile bit RBIE @ ((unsigned)&INTCON*8)+3;
volatile bit INTE @ ((unsigned)&INTCON*8)+4;
volatile bit TMR0IE @ ((unsigned)&INTCON*8)+5;
volatile bit PEIE @ ((unsigned)&INTCON*8)+6;
volatile bit GIE @ ((unsigned)&INTCON*8)+7;
volatile bit T0IF @ ((unsigned)&INTCON*8)+2;
volatile bit T0IE @ ((unsigned)&INTCON*8)+5;
volatile union {
struct {
unsigned RBIF : 1;
unsigned INTF : 1;
unsigned TMR0IF : 1;
unsigned RBIE : 1;
unsigned INTE : 1;
unsigned TMR0IE : 1;
unsigned PEIE : 1;
unsigned GIE : 1;
};
struct {
unsigned : 2;
unsigned T0IF : 1;
unsigned : 2;
unsigned T0IE : 1;
};
} INTCONbits @ 0x00B;
volatile unsigned char PIR1 @ 0x00C;
volatile bit TMR1IF @ ((unsigned)&PIR1*8)+0;
volatile bit TMR2IF @ ((unsigned)&PIR1*8)+1;
volatile bit CCP1IF @ ((unsigned)&PIR1*8)+2;
volatile bit SSPIF @ ((unsigned)&PIR1*8)+3;
volatile bit TXIF @ ((unsigned)&PIR1*8)+4;
volatile bit RCIF @ ((unsigned)&PIR1*8)+5;
volatile bit ADIF @ ((unsigned)&PIR1*8)+6;
volatile union {
struct {
unsigned TMR1IF : 1;
unsigned TMR2IF : 1;
unsigned CCP1IF : 1;
unsigned SSPIF : 1;
unsigned TXIF : 1;
unsigned RCIF : 1;
unsigned ADIF : 1;
};
struct {
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 2;
unsigned : 1;
};
} PIR1bits @ 0x00C;
volatile unsigned char PIR2 @ 0x00D;
volatile bit CCP2IF @ ((unsigned)&PIR2*8)+0;
volatile union {
struct {
unsigned CCP2IF : 1;
};
} PIR2bits @ 0x00D;
volatile unsigned char TMR1L @ 0x00E;
volatile unsigned char TMR1H @ 0x00F;
volatile unsigned int TMR1 @ 0x00E;
volatile unsigned char T1CON @ 0x010;
volatile bit TMR1ON @ ((unsigned)&T1CON*8)+0;
volatile bit TMR1CS @ ((unsigned)&T1CON*8)+1;
volatile bit nT1SYNC @ ((unsigned)&T1CON*8)+2;
volatile bit T1OSCEN @ ((unsigned)&T1CON*8)+3;
volatile bit T1INSYNC @ ((unsigned)&T1CON*8)+2;
volatile bit T1CKPS0 @ ((unsigned)&T1CON*8)+4;
volatile bit T1CKPS1 @ ((unsigned)&T1CON*8)+5;
volatile union {
struct {
unsigned TMR1ON : 1;
unsigned TMR1CS : 1;
unsigned nT1SYNC : 1;
unsigned T1OSCEN : 1;
unsigned T1CKPS : 2;
};
struct {
unsigned : 2;
unsigned T1INSYNC : 1;
unsigned : 1;
unsigned T1CKPS0 : 1;
unsigned T1CKPS1 : 1;
};
} T1CONbits @ 0x010;
volatile unsigned char TMR2 @ 0x011;
volatile unsigned char T2CON @ 0x012;
volatile bit TMR2ON @ ((unsigned)&T2CON*8)+2;
volatile bit T2CKPS0 @ ((unsigned)&T2CON*8)+0;
volatile bit T2CKPS1 @ ((unsigned)&T2CON*8)+1;
volatile bit TOUTPS0 @ ((unsigned)&T2CON*8)+3;
volatile bit TOUTPS1 @ ((unsigned)&T2CON*8)+4;
volatile bit TOUTPS2 @ ((unsigned)&T2CON*8)+5;
volatile bit TOUTPS3 @ ((unsigned)&T2CON*8)+6;
volatile union {
struct {
unsigned T2CKPS : 2;
unsigned TMR2ON : 1;
unsigned TOUTPS : 4;
};
struct {
unsigned T2CKPS0 : 1;
unsigned T2CKPS1 : 1;
unsigned : 1;
unsigned TOUTPS0 : 1;
unsigned TOUTPS1 : 1;
unsigned TOUTPS2 : 1;
unsigned TOUTPS3 : 1;
};
} T2CONbits @ 0x012;
volatile unsigned char SSPBUF @ 0x013;
volatile unsigned char SSPCON @ 0x014;
volatile bit CKP @ ((unsigned)&SSPCON*8)+4;
volatile bit SSPEN @ ((unsigned)&SSPCON*8)+5;
volatile bit SSPOV @ ((unsigned)&SSPCON*8)+6;
volatile bit WCOL @ ((unsigned)&SSPCON*8)+7;
volatile bit SSPM0 @ ((unsigned)&SSPCON*8)+0;
volatile bit SSPM1 @ ((unsigned)&SSPCON*8)+1;
volatile bit SSPM2 @ ((unsigned)&SSPCON*8)+2;
volatile bit SSPM3 @ ((unsigned)&SSPCON*8)+3;
volatile union {
struct {
unsigned SSPM : 4;
unsigned CKP : 1;
unsigned SSPEN : 1;
unsigned SSPOV : 1;
unsigned WCOL : 1;
};
struct {
unsigned SSPM0 : 1;
unsigned SSPM1 : 1;
unsigned SSPM2 : 1;
unsigned SSPM3 : 1;
};
} SSPCONbits @ 0x014;
volatile unsigned char CCPR1L @ 0x015;
volatile unsigned char CCPR1H @ 0x016;
volatile unsigned int CCPR1 @ 0x015;
volatile unsigned char CCP1CON @ 0x017;
volatile bit CCP1Y @ ((unsigned)&CCP1CON*8)+4;
volatile bit CCP1X @ ((unsigned)&CCP1CON*8)+5;
volatile bit CCP1M0 @ ((unsigned)&CCP1CON*8)+0;
volatile bit CCP1M1 @ ((unsigned)&CCP1CON*8)+1;
volatile bit CCP1M2 @ ((unsigned)&CCP1CON*8)+2;
volatile bit CCP1M3 @ ((unsigned)&CCP1CON*8)+3;
volatile union {
struct {
unsigned CCP1M : 4;
unsigned CCP1Y : 1;
unsigned CCP1X : 1;
};
struct {
unsigned CCP1M0 : 1;
unsigned CCP1M1 : 1;
unsigned CCP1M2 : 1;
unsigned CCP1M3 : 1;
};
} CCP1CONbits @ 0x017;
volatile unsigned char RCSTA @ 0x018;
volatile bit RX9D @ ((unsigned)&RCSTA*8)+0;
volatile bit OERR @ ((unsigned)&RCSTA*8)+1;
volatile bit FERR @ ((unsigned)&RCSTA*8)+2;
volatile bit CREN @ ((unsigned)&RCSTA*8)+4;
volatile bit SREN @ ((unsigned)&RCSTA*8)+5;
volatile bit RX9 @ ((unsigned)&RCSTA*8)+6;
volatile bit SPEN @ ((unsigned)&RCSTA*8)+7;
volatile bit RCD8 @ ((unsigned)&RCSTA*8)+0;
volatile bit RC9 @ ((unsigned)&RCSTA*8)+6;
volatile bit nRC8 @ ((unsigned)&RCSTA*8)+6;
volatile bit RC8_9 @ ((unsigned)&RCSTA*8)+6;
volatile union {
struct {
unsigned RX9D : 1;
unsigned OERR : 1;
unsigned FERR : 1;
unsigned : 1;
unsigned CREN : 1;
unsigned SREN : 1;
unsigned RX9 : 1;
unsigned SPEN : 1;
};
struct {
unsigned RCD8 : 1;
unsigned : 5;
unsigned RC9 : 1;
};
struct {
unsigned : 6;
unsigned nRC8 : 1;
};
struct {
unsigned : 6;
unsigned RC8_9 : 1;
};
} RCSTAbits @ 0x018;
volatile unsigned char TXREG @ 0x019;
volatile unsigned char RCREG @ 0x01A;
volatile unsigned char CCPR2L @ 0x01B;
volatile unsigned char CCPR2H @ 0x01C;
volatile unsigned int CCPR2 @ 0x01B;
volatile unsigned char CCP2CON @ 0x01D;
volatile bit CCP2Y @ ((unsigned)&CCP2CON*8)+4;
volatile bit CCP2X @ ((unsigned)&CCP2CON*8)+5;
volatile bit CCP2M0 @ ((unsigned)&CCP2CON*8)+0;
volatile bit CCP2M1 @ ((unsigned)&CCP2CON*8)+1;
volatile bit CCP2M2 @ ((unsigned)&CCP2CON*8)+2;
volatile bit CCP2M3 @ ((unsigned)&CCP2CON*8)+3;
volatile union {
struct {
unsigned CCP2M : 4;
unsigned CCP2Y : 1;
unsigned CCP2X : 1;
};
struct {
unsigned CCP2M0 : 1;
unsigned CCP2M1 : 1;
unsigned CCP2M2 : 1;
unsigned CCP2M3 : 1;
};
} CCP2CONbits @ 0x01D;
volatile unsigned char ADRES @ 0x01E;
volatile unsigned char ADCON0 @ 0x01F;
volatile bit ADON @ ((unsigned)&ADCON0*8)+0;
volatile bit GO_nDONE @ ((unsigned)&ADCON0*8)+2;
volatile bit GO @ ((unsigned)&ADCON0*8)+2;
volatile bit CHS0 @ ((unsigned)&ADCON0*8)+3;
volatile bit CHS1 @ ((unsigned)&ADCON0*8)+4;
volatile bit CHS2 @ ((unsigned)&ADCON0*8)+5;
volatile bit ADCS0 @ ((unsigned)&ADCON0*8)+6;
volatile bit ADCS1 @ ((unsigned)&ADCON0*8)+7;
volatile bit nDONE @ ((unsigned)&ADCON0*8)+2;
volatile bit GO_DONE @ ((unsigned)&ADCON0*8)+2;
volatile union {
struct {
unsigned ADON : 1;
unsigned : 1;
unsigned GO_nDONE : 1;
unsigned CHS : 3;
unsigned ADCS : 2;
};
struct {
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 3;
unsigned : 2;
};
struct {
unsigned : 2;
unsigned GO : 1;
unsigned CHS0 : 1;
unsigned CHS1 : 1;
unsigned CHS2 : 1;
unsigned ADCS0 : 1;
unsigned ADCS1 : 1;
};
struct {
unsigned : 2;
unsigned nDONE : 1;
};
struct {
unsigned : 2;
unsigned GO_DONE : 1;
};
} ADCON0bits @ 0x01F;
# 556
volatile unsigned char OPTION_REG @ 0x081;
volatile bit PSA @ ((unsigned)&OPTION_REG*8)+3;
volatile bit T0SE @ ((unsigned)&OPTION_REG*8)+4;
volatile bit T0CS @ ((unsigned)&OPTION_REG*8)+5;
volatile bit INTEDG @ ((unsigned)&OPTION_REG*8)+6;
volatile bit nRBPU @ ((unsigned)&OPTION_REG*8)+7;
volatile bit PS0 @ ((unsigned)&OPTION_REG*8)+0;
volatile bit PS1 @ ((unsigned)&OPTION_REG*8)+1;
volatile bit PS2 @ ((unsigned)&OPTION_REG*8)+2;
volatile union {
struct {
unsigned PS : 3;
unsigned PSA : 1;
unsigned T0SE : 1;
unsigned T0CS : 1;
unsigned INTEDG : 1;
unsigned nRBPU : 1;
};
struct {
unsigned PS0 : 1;
unsigned PS1 : 1;
unsigned PS2 : 1;
};
} OPTION_REGbits @ 0x081;
volatile unsigned char TRISA @ 0x085;
volatile bit TRISA0 @ ((unsigned)&TRISA*8)+0;
volatile bit TRISA1 @ ((unsigned)&TRISA*8)+1;
volatile bit TRISA2 @ ((unsigned)&TRISA*8)+2;
volatile bit TRISA3 @ ((unsigned)&TRISA*8)+3;
volatile bit TRISA4 @ ((unsigned)&TRISA*8)+4;
volatile bit TRISA5 @ ((unsigned)&TRISA*8)+5;
volatile union {
struct {
unsigned TRISA0 : 1;
unsigned TRISA1 : 1;
unsigned TRISA2 : 1;
unsigned TRISA3 : 1;
unsigned TRISA4 : 1;
unsigned TRISA5 : 1;
};
} TRISAbits @ 0x085;
volatile unsigned char TRISB @ 0x086;
volatile bit TRISB0 @ ((unsigned)&TRISB*8)+0;
volatile bit TRISB1 @ ((unsigned)&TRISB*8)+1;
volatile bit TRISB2 @ ((unsigned)&TRISB*8)+2;
volatile bit TRISB3 @ ((unsigned)&TRISB*8)+3;
volatile bit TRISB4 @ ((unsigned)&TRISB*8)+4;
volatile bit TRISB5 @ ((unsigned)&TRISB*8)+5;
volatile bit TRISB6 @ ((unsigned)&TRISB*8)+6;
volatile bit TRISB7 @ ((unsigned)&TRISB*8)+7;
volatile union {
struct {
unsigned TRISB0 : 1;
unsigned TRISB1 : 1;
unsigned TRISB2 : 1;
unsigned TRISB3 : 1;
unsigned TRISB4 : 1;
unsigned TRISB5 : 1;
unsigned TRISB6 : 1;
unsigned TRISB7 : 1;
};
} TRISBbits @ 0x086;
volatile unsigned char TRISC @ 0x087;
volatile bit TRISC0 @ ((unsigned)&TRISC*8)+0;
volatile bit TRISC1 @ ((unsigned)&TRISC*8)+1;
volatile bit TRISC2 @ ((unsigned)&TRISC*8)+2;
volatile bit TRISC3 @ ((unsigned)&TRISC*8)+3;
volatile bit TRISC4 @ ((unsigned)&TRISC*8)+4;
volatile bit TRISC5 @ ((unsigned)&TRISC*8)+5;
volatile bit TRISC6 @ ((unsigned)&TRISC*8)+6;
volatile bit TRISC7 @ ((unsigned)&TRISC*8)+7;
volatile union {
struct {
unsigned TRISC0 : 1;
unsigned TRISC1 : 1;
unsigned TRISC2 : 1;
unsigned TRISC3 : 1;
unsigned TRISC4 : 1;
unsigned TRISC5 : 1;
unsigned TRISC6 : 1;
unsigned TRISC7 : 1;
};
} TRISCbits @ 0x087;
volatile unsigned char PIE1 @ 0x08C;
volatile bit TMR1IE @ ((unsigned)&PIE1*8)+0;
volatile bit TMR2IE @ ((unsigned)&PIE1*8)+1;
volatile bit CCP1IE @ ((unsigned)&PIE1*8)+2;
volatile bit SSPIE @ ((unsigned)&PIE1*8)+3;
volatile bit TXIE @ ((unsigned)&PIE1*8)+4;
volatile bit RCIE @ ((unsigned)&PIE1*8)+5;
volatile bit ADIE @ ((unsigned)&PIE1*8)+6;
volatile union {
struct {
unsigned TMR1IE : 1;
unsigned TMR2IE : 1;
unsigned CCP1IE : 1;
unsigned SSPIE : 1;
unsigned TXIE : 1;
unsigned RCIE : 1;
unsigned ADIE : 1;
};
} PIE1bits @ 0x08C;
volatile unsigned char PIE2 @ 0x08D;
volatile bit CCP2IE @ ((unsigned)&PIE2*8)+0;
volatile union {
struct {
unsigned CCP2IE : 1;
};
} PIE2bits @ 0x08D;
volatile unsigned char PCON @ 0x08E;
volatile bit nBOR @ ((unsigned)&PCON*8)+0;
volatile bit nPOR @ ((unsigned)&PCON*8)+1;
volatile bit nBO @ ((unsigned)&PCON*8)+0;
volatile union {
struct {
unsigned nBOR : 1;
unsigned nPOR : 1;
};
struct {
unsigned nBO : 1;
};
} PCONbits @ 0x08E;
volatile unsigned char PR2 @ 0x092;
volatile unsigned char SSPADD @ 0x093;
volatile unsigned char SSPSTAT @ 0x094;
volatile bit BF @ ((unsigned)&SSPSTAT*8)+0;
volatile bit UA @ ((unsigned)&SSPSTAT*8)+1;
volatile bit R_nW @ ((unsigned)&SSPSTAT*8)+2;
volatile bit S @ ((unsigned)&SSPSTAT*8)+3;
volatile bit P @ ((unsigned)&SSPSTAT*8)+4;
volatile bit D_nA @ ((unsigned)&SSPSTAT*8)+5;
volatile bit CKE @ ((unsigned)&SSPSTAT*8)+6;
volatile bit SMP @ ((unsigned)&SSPSTAT*8)+7;
volatile bit R @ ((unsigned)&SSPSTAT*8)+2;
volatile bit D @ ((unsigned)&SSPSTAT*8)+5;
volatile bit I2C_READ @ ((unsigned)&SSPSTAT*8)+2;
volatile bit I2C_START @ ((unsigned)&SSPSTAT*8)+3;
volatile bit I2C_STOP @ ((unsigned)&SSPSTAT*8)+4;
volatile bit I2C_DATA @ ((unsigned)&SSPSTAT*8)+5;
volatile bit nW @ ((unsigned)&SSPSTAT*8)+2;
volatile bit nA @ ((unsigned)&SSPSTAT*8)+5;
volatile bit nWRITE @ ((unsigned)&SSPSTAT*8)+2;
volatile bit nADDRESS @ ((unsigned)&SSPSTAT*8)+5;
volatile bit R_W @ ((unsigned)&SSPSTAT*8)+2;
volatile bit D_A @ ((unsigned)&SSPSTAT*8)+5;
volatile bit READ_WRITE @ ((unsigned)&SSPSTAT*8)+2;
volatile bit DATA_ADDRESS @ ((unsigned)&SSPSTAT*8)+5;
volatile union {
struct {
unsigned BF : 1;
unsigned UA : 1;
unsigned R_nW : 1;
unsigned S : 1;
unsigned P : 1;
unsigned D_nA : 1;
unsigned CKE : 1;
unsigned SMP : 1;
};
struct {
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
};
struct {
unsigned : 2;
unsigned R : 1;
unsigned : 2;
unsigned D : 1;
};
struct {
unsigned : 2;
unsigned I2C_READ : 1;
unsigned I2C_START : 1;
unsigned I2C_STOP : 1;
unsigned I2C_DATA : 1;
};
struct {
unsigned : 2;
unsigned nW : 1;
unsigned : 2;
unsigned nA : 1;
};
struct {
unsigned : 2;
unsigned nWRITE : 1;
unsigned : 2;
unsigned nADDRESS : 1;
};
struct {
unsigned : 2;
unsigned R_W : 1;
unsigned : 2;
unsigned D_A : 1;
};
struct {
unsigned : 2;
unsigned READ_WRITE : 1;
unsigned : 2;
unsigned DATA_ADDRESS : 1;
};
} SSPSTATbits @ 0x094;
volatile unsigned char TXSTA @ 0x098;
volatile bit TX9D @ ((unsigned)&TXSTA*8)+0;
volatile bit TRMT @ ((unsigned)&TXSTA*8)+1;
volatile bit BRGH @ ((unsigned)&TXSTA*8)+2;
volatile bit SYNC @ ((unsigned)&TXSTA*8)+4;
volatile bit TXEN @ ((unsigned)&TXSTA*8)+5;
volatile bit TX9 @ ((unsigned)&TXSTA*8)+6;
volatile bit CSRC @ ((unsigned)&TXSTA*8)+7;
volatile bit TXD8 @ ((unsigned)&TXSTA*8)+0;
volatile bit nTX8 @ ((unsigned)&TXSTA*8)+6;
volatile bit TX8_9 @ ((unsigned)&TXSTA*8)+6;
volatile union {
struct {
unsigned TX9D : 1;
unsigned TRMT : 1;
unsigned BRGH : 1;
unsigned : 1;
unsigned SYNC : 1;
unsigned TXEN : 1;
unsigned TX9 : 1;
unsigned CSRC : 1;
};
struct {
unsigned TXD8 : 1;
unsigned : 5;
unsigned nTX8 : 1;
};
struct {
unsigned : 6;
unsigned TX8_9 : 1;
};
} TXSTAbits @ 0x098;
volatile unsigned char SPBRG @ 0x099;
volatile unsigned char ADCON1 @ 0x09F;
volatile bit PCFG0 @ ((unsigned)&ADCON1*8)+0;
volatile bit PCFG1 @ ((unsigned)&ADCON1*8)+1;
volatile bit PCFG2 @ ((unsigned)&ADCON1*8)+2;
volatile union {
struct {
unsigned PCFG : 3;
};
struct {
unsigned PCFG0 : 1;
unsigned PCFG1 : 1;
unsigned PCFG2 : 1;
};
} ADCON1bits @ 0x09F;
# 873
volatile unsigned char PMDATA @ 0x10C;
volatile unsigned char PMADR @ 0x10D;
volatile unsigned char PMDATH @ 0x10E;
volatile union {
struct {
unsigned : 6;
};
} PMDATHbits @ 0x10E;
volatile unsigned char PMADRH @ 0x10F;
volatile union {
struct {
unsigned : 5;
};
} PMADRHbits @ 0x10F;
# 908
volatile unsigned char PMCON1 @ 0x18C;
volatile bit RD @ ((unsigned)&PMCON1*8)+0;
volatile union {
struct {
unsigned RD : 1;
};
} PMCON1bits @ 0x18C;
# 27 "C:\Program Files (x86)\HI-TECH Software\PICC\9.83\include\pic.h"
#pragma inline(_nop)
extern void _nop(void);
# 80
extern unsigned int flash_read(unsigned short addr);
# 144
extern void flash_erase(unsigned short addr);
# 153
#pragma inline(_delay)
extern void _delay(unsigned long);
# 28 "C:\Users\Administrator\Desktop\pic16f73\Common.h"
enum {NoWork,WorkHW,WorkH,WorkC};
union JudgeFlag{
struct {
unsigned char Interrupt:1;
unsigned char Debug:1;
unsigned char Working:3;
unsigned char SwOnOff:1;
unsigned char AutoMode:1;
unsigned char EVW:1;
unsigned char EVH:1;
unsigned char EVC:1;
unsigned char Defog:1;
unsigned char Defoging:1;
unsigned char DefogStop:1;
};unsigned int All;
};
extern union JudgeFlag Judge;
union ErrFlag{
struct {
unsigned char TW:1;
unsigned char TH:1;
unsigned char TC:1;
unsigned char TI:1;
unsigned char TUP:1;
unsigned char TCP:1;
# 64
unsigned char P6:1;
# 71
};unsigned int All;
};
extern union ErrFlag SysErr;
union TimeCount{
struct {
unsigned char PumpRun;
unsigned int PumpStop;
unsigned char ComRun;
unsigned char ComStop;
unsigned char DefogStop;
unsigned int Defoging;
unsigned char DefogScan:6;
};double All;
};
extern union TimeCount TM;
union RelayFlag1{
struct {
unsigned char Com:1;
unsigned char Pump:1;
unsigned char Fan:1;
unsigned char Fway:1;
};char All;
};
extern union RelayFlag1 RelayS;
union RelayFlag2{
struct {
unsigned char EVW:1;
unsigned char EVH:1;
unsigned char EVC:1;
unsigned char HTW:1;
unsigned char HTH:1;
unsigned char HTS:1;
unsigned char Pump:1;
};char All;
};
extern union RelayFlag2 RelayEx;
union SWFlag{
struct {
unsigned char IP:1;
unsigned char IWT:1;
unsigned char IH:1;
unsigned char IC:1;
unsigned char IHP:1;
unsigned char I6:1;
unsigned char I7:1;
unsigned char I8:1;
unsigned char I9:1;
unsigned char I10:1;
unsigned char I11:1;
};int All;
};
extern union SWFlag SW;
enum {UP,E,W,CS,CP,XIX,XCX,ZZ};
extern int T[8];
# 4 "C:\Users\Administrator\Desktop\pic16f73\eev.h"
extern unsigned char InterTimes;
const unsigned int STEP[] ={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};
int stepcount =0;
int EEVSTEP=250;
extern void eevdriver(int);
void delay16ms(int time);
# 4 "C:\Users\Administrator\Desktop\pic16f73\DriveRelay.h"
void DriveRelay(void);
# 4 "C:\Users\Administrator\Desktop\pic16f73\DriveTime.c"
unsigned char InterTimes=61;
unsigned char Clock = 60;
unsigned char Minutes = 20;
extern union JudgeFlag Judge;
extern void UART_SendByte(unsigned char dat);
extern void delay2ms(unsigned int x);
extern void DriveEEV(void);
# 39
void CountClk(void)
{
if ((0<TM.PumpRun)&&(TM.PumpRun<30)) {TM.PumpRun++;}
if ((0<TM.PumpStop)&&(TM.PumpStop<360)) {TM.PumpStop++;}
if ((0<TM.ComRun)&&(TM.ComRun<120)) {TM.ComRun++;}
if ((0<TM.ComStop)&&(TM.ComStop<180)) {TM.ComStop++;}
if ((0<TM.DefogStop)&&(TM.DefogStop<30)) {TM.DefogStop++;}
if ((0<TM.Defoging)&&(TM.Defoging<4800)){TM.DefogStop++;}