📄 define data struct.i
字号:
#line 1 "define data struct.c" /0 #line 1 "D:\KEIL\C51\INC\ABSACC.H" /0 #line 24 "D:\KEIL\C51\INC\ABSACC.H" /1 #line 29 "D:\KEIL\C51\INC\ABSACC.H" /0 #line 4 "define data struct.c" /0 #line 1 "D:\KEIL\C51\INC\STDLIB.H" /0 typedef unsigned int size_t; typedef char wchar_t; #pragma SAVE #pragma REGPARMS extern int abs (int val); extern long labs (long val); extern float atof (char *s1); extern long atol (char *s1); extern int atoi (char *s1); extern int rand (); extern void srand (int); extern float strtod (char *, char **); extern long strtol (char *, char **, unsigned char); extern unsigned long strtoul (char *, char **, unsigned char); extern int init_mempool (void xdata *p, unsigned int size); extern void xdata *malloc (unsigned int size); extern void free (void xdata *p); extern void xdata *realloc (void xdata *p, unsigned int size); extern void xdata *calloc (unsigned int size, unsigned int len); #pragma RESTORE #line 5 "define data struct.c" /0 #line 1 "D:\KEIL\C51\INC\ATMEL\AT89X52.H" /0 sfr P0 = 0x80; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr P1 = 0x90; sfr SCON = 0x98; sfr SBUF = 0x99; sfr P2 = 0xA0; sfr IE = 0xA8; sfr P3 = 0xB0; sfr IP = 0xB8; sfr T2CON = 0xC8; sfr T2MOD = 0xC9; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2 = 0xCC; sfr TH2 = 0xCD; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; sbit P0_0 = 0x80; sbit P0_1 = 0x81; sbit P0_2 = 0x82; sbit P0_3 = 0x83; sbit P0_4 = 0x84; sbit P0_5 = 0x85; sbit P0_6 = 0x86; sbit P0_7 = 0x87; sbit IT0 = 0x88; sbit IE0 = 0x89; sbit IT1 = 0x8A; sbit IE1 = 0x8B; sbit TR0 = 0x8C; sbit TF0 = 0x8D; sbit TR1 = 0x8E; sbit TF1 = 0x8F; sbit P1_0 = 0x90; sbit P1_1 = 0x91; sbit P1_2 = 0x92; sbit P1_3 = 0x93; sbit P1_4 = 0x94; sbit P1_5 = 0x95; sbit P1_6 = 0x96; sbit P1_7 = 0x97; sbit T2 = 0x90; sbit T2EX = 0x91; sbit RI = 0x98; sbit TI = 0x99; sbit RB8 = 0x9A; sbit TB8 = 0x9B; sbit REN = 0x9C; sbit SM2 = 0x9D; sbit SM1 = 0x9E; sbit SM0 = 0x9F; sbit P2_0 = 0xA0; sbit P2_1 = 0xA1; sbit P2_2 = 0xA2; sbit P2_3 = 0xA3; sbit P2_4 = 0xA4; sbit P2_5 = 0xA5; sbit P2_6 = 0xA6; sbit P2_7 = 0xA7; sbit EX0 = 0xA8; sbit ET0 = 0xA9; sbit EX1 = 0xAA; sbit ET1 = 0xAB; sbit ES = 0xAC; sbit ET2 = 0xAD; sbit EA = 0xAF; sbit P3_0 = 0xB0; sbit P3_1 = 0xB1; sbit P3_2 = 0xB2; sbit P3_3 = 0xB3; sbit P3_4 = 0xB4; sbit P3_5 = 0xB5; sbit P3_6 = 0xB6; sbit P3_7 = 0xB7; sbit RXD = 0xB0; sbit TXD = 0xB1; sbit INT0 = 0xB2; sbit INT1 = 0xB3; sbit T0 = 0xB4; sbit T1 = 0xB5; sbit WR = 0xB6; sbit RD = 0xB7; sbit PX0 = 0xB8; sbit PT0 = 0xB9; sbit PX1 = 0xBA; sbit PT1 = 0xBB; sbit PS = 0xBC; sbit PT2 = 0xBD; sbit CP_RL2= 0xC8; sbit C_T2 = 0xC9; sbit TR2 = 0xCA; sbit EXEN2= 0xCB; sbit TCLK = 0xCC; sbit RCLK = 0xCD; sbit EXF2 = 0xCE; sbit TF2 = 0xCF; sbit P = 0xD0; sbit FL = 0xD1; sbit OV = 0xD2; sbit RS0 = 0xD3; sbit RS1 = 0xD4; sbit F0 = 0xD5; sbit AC = 0xD6; sbit CY = 0xD7; sbit BUSYFLAG = ACC^7; #line 6 "define data struct.c" /0 #line 1 "D:\KEIL\C51\INC\INTRINS.H" /0 extern void _nop_ (void); extern bit _testbit_ (bit); extern unsigned char _cror_ (unsigned char, unsigned char); extern unsigned int _iror_ (unsigned int, unsigned char); extern unsigned long _lror_ (unsigned long, unsigned char); extern unsigned char _crol_ (unsigned char, unsigned char); extern unsigned int _irol_ (unsigned int, unsigned char); extern unsigned long _lrol_ (unsigned long, unsigned char); extern unsigned char _chkfloat_(float); #line 7 "define data struct.c" /0 #line 1 "charger.h" /0 typedef struct { unsigned char ah; unsigned char al; }word; union bitseg { word byte; unsigned int i; }; struct workdata { unsigned char date[3]; unsigned int work[18]; struct workdata xdata *next; struct workdata xdata *up; }; typedef struct workdata daydata; typedef daydata xdata *link ; struct rate { unsigned int volatage; unsigned int temperature; unsigned int discharge; unsigned int charge; }; extern void getadin(void); extern void account(void); extern void save(void); extern void control(void); extern void init_system_work_point(void); extern void init_rate(void); extern void delay(unsigned int i); extern void menu(void); extern unsigned int tlc1543(unsigned char port); extern void setup12887(unsigned char *p); extern void read12887(unsigned char *p); extern void start12887(void); void text(unsigned char sta,unsigned char *string); void WD_LCD(unsigned char ch); void WC_LCD(unsigned char comand); void clear(void); extern unsigned int xdata adin[10]; extern daydata xdata today; extern unsigned int xdata sys[13]; extern struct rate xdata crate; extern unsigned int bdata tlong,t50ms; extern code unsigned char *adinhz[10]; extern code unsigned char *hishz[18]; extern code unsigned char *sethz[12]; extern code unsigned int stab[5][4]; extern code unsigned int dtab[4][7]; extern code unsigned char *unit[4]; extern code unsigned char uadin[9]; extern code unsigned char uhis[18]; extern code unsigned char uset[11]; #line 9 "define data struct.c" /0 #line 1 "mylib.h" /0 extern void text(unsigned char sta,unsigned char *string); extern void WD_LCD(unsigned char ch); extern void WC_LCD(unsigned char comand); extern void clear(void); extern void delay(unsigned int i); extern unsigned int tlc1543(unsigned char port); extern void setup12887(unsigned char *p); extern void read12887(unsigned char *p); extern void start12887(void); #line 10 "define data struct.c" /0 static bit bdata boostflag=1; static unsigned char idata switchchar=0x3f; static daydata xdata looplink[0xa0] _at_ 0xC500; void init_system_work_point(void) { unsigned char idata i; for(i=0;i<12;i++) { if(i<7) { sys[i]=dtab[2][i]; } else { sys[i]=stab[i-7][2]; } } sys[12]=0; for(i=0;i<0xa0-1;i++) { looplink[i].next=&looplink[i+1]; looplink[i+1].up=&looplink[i]; } looplink[0xa0-1].next=&looplink[0]; looplink[0].up=&looplink[0xa0-1]; today.next=&looplink[0]; today.up=&looplink[0xa0-1]; init_rate(); } void init_rate(void) { unsigned int data i; i=5*10; crate.temperature = i*100; crate.volatage = i*sys[11]; crate.discharge = i*sys[8]; crate.charge = i*sys[9]; } void getadin(void) { unsigned char data i; unsigned long data tmp; for(i=0;i<6;i++) { tmp=tlc1543(i);tmp*=crate.charge; tmp /= 1024; adin[i]=tmp; } tmp=tlc1543(6);tmp*=crate.discharge; tmp /= 1024; adin[6]=tmp; tmp=tlc1543(8);tmp*=crate.temperature; tmp /= 1024; adin[7]=tmp; tmp=tlc1543(9);tmp*=crate.volatage; tmp /= 1024; adin[8]=tmp; } void account(void) { if(tlong%60==0) {char i; for(i=0;i<9;i++) { if(i<7) { today.work[i*2+1]+=(today.work[i*2+1]+adin[i])/(60*2); } else { if(adin[i]>today.work[i*2+1])today.work[i*2+1]=adin[i]; else if(adin[i]<today.work[2*i])today.work[i*2]=adin[i]; } if(adin[i]>today.work[2*i])today.work[i*2]=adin[i]; } } } #pragma DISABLE static void controlswitch (unsigned char i) { _nop_();_nop_();_nop_(); ((unsigned char volatile xdata *) 0)[0x6001]=~i; _nop_();_nop_();_nop_(); ((unsigned char volatile xdata *) 0)[0x6001]=~i; } static void alarm_overload() { } void control(void) { if(today.work[13]>sys[6])alarm_overload(); if(adin[8] > sys[0]*10) { switchchar=0x0; controlswitch(switchchar); boostflag=0; } else if(boostflag) { if(adin[8] > sys[1]*10); else { switchchar=0x3f; controlswitch(switchchar); boostflag=1; if(adin[8] > sys[4]*10); else { switchchar=0x7f; controlswitch(switchchar); if(adin[8] >sys[5] *10); else {switchchar=0xff;controlswitch(switchchar);} } } } else { if(adin[8] >sys[2]*10) { switchchar &= 0x3f; switchchar>>=1; controlswitch(switchchar); } else { if(adin[8] >sys[3] *10); else {switchchar=0x3f;controlswitch(switchchar);} } } } void save(void) { static unsigned char data day; unsigned char data i; link p; i=today.date[2]; if(i!=day) { p=today.next; for(i=0;i<18;i++) { if(i<3)p->date[i]=today.date[i]; p->work[i]=today.work[i]; } today.next=p->next; today.up=p; } day= i; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -