⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.i

📁 一个充电控制器的完整单片机程序
💻 I
字号:
#line 1 "display.c" /0     #line 1 "D:\KEIL\C51\INC\STRING.H" /0        typedef unsigned int size_t;       #pragma SAVE #pragma REGPARMS extern char *strcat (char *s1, char *s2); extern char *strncat (char *s1, char *s2, int n);  extern char strcmp (char *s1, char *s2); extern char strncmp (char *s1, char *s2, int n);  extern char *strcpy (char *s1, char *s2); extern char *strncpy (char *s1, char *s2, int n);  extern int strlen (char *);  extern char *strchr (const char *s, char c); extern int strpos (const char *s, char c); extern char *strrchr (const char *s, char c); extern int strrpos (const char *s, char c);  extern int strspn (char *s, char *set); extern int strcspn (char *s, char *set); extern char *strpbrk (char *s, char *set); extern char *strrpbrk (char *s, char *set); extern char *strstr  (char *s, char *sub); extern char *strtok  (char *str, const char *set);  extern char memcmp (void *s1, void *s2, int n); extern void *memcpy (void *s1, void *s2, int n); extern void *memchr (void *s, char val, int n); extern void *memccpy (void *s1, void *s2, char val, int n); extern void *memmove (void *s1, void *s2, int n); extern void *memset  (void *s, char val, int n); #pragma RESTORE  #line 4 "display.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 5 "display.c" /0   #line 1 "D:\KEIL\C51\INC\STDIO.H" /0          #line 17 "D:\KEIL\C51\INC\STDIO.H" /1   #line 19 "D:\KEIL\C51\INC\STDIO.H" /0  #line 21 "D:\KEIL\C51\INC\STDIO.H" /1    #line 24 "D:\KEIL\C51\INC\STDIO.H" /0  #pragma SAVE #pragma REGPARMS extern char _getkey (void); extern char getchar (void); extern char ungetchar (char); extern char putchar (char); extern int printf   (const char *, ...); extern int sprintf  (char *, const char *, ...); extern int vprintf  (const char *, char *); extern int vsprintf (char *, const char *, char *); extern char *gets (char *, int n); extern int scanf (const char *, ...); extern int sscanf (char *, const char *, ...); extern int puts (const char *);  #pragma RESTORE   #line 6 "display.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 "display.c" /0   #line 1 "D:\KEIL\C51\INC\STDLIB.H" /0      #line 13 "D:\KEIL\C51\INC\STDLIB.H" /1    #line 16 "D:\KEIL\C51\INC\STDLIB.H" /0  #line 18 "D:\KEIL\C51\INC\STDLIB.H" /1   #line 20 "D:\KEIL\C51\INC\STDLIB.H" /0    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 8 "display.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 9 "display.c" /0    #line 1 "CHARGER.H" /0                                    typedef union { unsigned char b[2]; unsigned int i; }word;     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 overloadctl(void); extern void init_history_buffer(void); extern void init_rate_workpoint(unsigned char n); extern unsigned char umod(unsigned int v,unsigned int c);    extern void delay(unsigned int i);     extern void firstscr(void); extern void menu(void); extern void keyrst(unsigned char m);     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 char xdata just; extern unsigned int xdata adtemp; extern char idata controlstate;    extern unsigned int idata tlong; extern unsigned int idata t50ms;    extern code unsigned char *adinhz[10]; extern code unsigned char *hishz[18]; extern code unsigned char *sethz[13];   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[12]; extern unsigned int xdata password;   #line 11 "display.c" /0       static unsigned char month_is(unsigned char *s) { unsigned char data i; code char *m[]={"Jan","Feb","Mar","Apr","May","Jun","Jnl","Aug","Sep","Oct","Nov","Dec"}; for(i=0;;i++)if((m[i][0]==s[0])&&(m[i][1]==s[1])&&(m[i][2]==s[2]))return i+1; } static void	now_is(unsigned char *s) { code unsigned char *t[]={"Jun 15 2003","14:58:31"};  s[0]=1; s[1]=atoi(t[1]+3); s[2]=atoi(t[1]);  s[3]=atoi(t[0]+4); s[4]=month_is(t[0]); s[5]=atoi(t[0]+8); }    unsigned char data bootflag; extern bit bdata boostflag;  static void init(void) { unsigned int data i; unsigned char xdata *string;    P1_6=!P1_6;;    ((unsigned char volatile xdata *) 0)[0x6003]=0x80;    ((unsigned char volatile xdata *) 0)[0x6000]=0xFF;   ((unsigned char volatile xdata *) 0)[0x6001]=0xFF;   P1_6=!P1_6;; if(bootflag!=0xAA) {  string=0xC000;   P1_6=!P1_6;; for(i=0;i<0x2000;i++)*string++=0;  P1_6=!P1_6;;  init_history_buffer();  boostflag=1;   if(sys[11]<2230||sys[11]>3230){sys[11]=0;just=0;}  if(!(sys[7]==48||sys[7]==110||sys[7]==220||sys[7]==300)) { init_rate_workpoint(2); password=8952; }   P1_6=!P1_6;;;  string=0xC400;   now_is(string);   P1_6=!P1_6;;  bootflag=0xAA; }  WC_LCD(0x30); WC_LCD(0xC);  start12887();  EX0=1;	EX1=1; IT0=1;	IT1=1;    TMOD &= 0XF0;    TMOD |= 0X1;    TL0 = 0X00;     TH0 = 0X88;      ET0 = 1;        TF0 = 0; TR0 = 1;   EA=1;	 keyrst(0);  controlstate=0x20;    P1_6=!P1_6;; }  void syserror(void) {  unsigned char data i; for(i=0;i<7;i++) if(sys[i]>400||sys[i]<30) {init_rate_workpoint(2);return;} if(!(sys[7]==48||sys[7]==110||sys[7]==220||sys[7]==300)) { init_rate_workpoint(2);  } if(sys[11]<2230||sys[11]>3230){sys[11]=0;just=0;} }    void main(void) { init();  while(1) {  P1_6=!P1_6;; syserror();  getadin();  account();  save();  control();  firstscr();  menu();  } }   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -