📄 t.i
字号:
#line 1 "T.c" /0 #line 1 "D:\学习软件\KEIL\C51\INC\STDIO.H" /0 typedef unsigned int size_t; #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 1 "T.c" /0 #line 1 "D:\学习软件\KEIL\C51\INC\REG52.H" /0 sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; 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 IE = 0xA8; sfr IP = 0xB8; sfr SCON = 0x98; sfr SBUF = 0x99; sfr T2CON = 0xC8; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2 = 0xCC; sfr TH2 = 0xCD; sbit CY = PSW^7; sbit AC = PSW^6; sbit F0 = PSW^5; sbit RS1 = PSW^4; sbit RS0 = PSW^3; sbit OV = PSW^2; sbit P = PSW^0; sbit TF1 = TCON^7; sbit TR1 = TCON^6; sbit TF0 = TCON^5; sbit TR0 = TCON^4; sbit IE1 = TCON^3; sbit IT1 = TCON^2; sbit IE0 = TCON^1; sbit IT0 = TCON^0; sbit EA = IE^7; sbit ET2 = IE^5; sbit ES = IE^4; sbit ET1 = IE^3; sbit EX1 = IE^2; sbit ET0 = IE^1; sbit EX0 = IE^0; sbit PT2 = IP^5; sbit PS = IP^4; sbit PT1 = IP^3; sbit PX1 = IP^2; sbit PT0 = IP^1; sbit PX0 = IP^0; sbit RD = P3^7; sbit WR = P3^6; sbit T1 = P3^5; sbit T0 = P3^4; sbit INT1 = P3^3; sbit INT0 = P3^2; sbit TXD = P3^1; sbit RXD = P3^0; sbit SM0 = SCON^7; sbit SM1 = SCON^6; sbit SM2 = SCON^5; sbit REN = SCON^4; sbit TB8 = SCON^3; sbit RB8 = SCON^2; sbit TI = SCON^1; sbit RI = SCON^0; sbit T2EX = P1^1; sbit T2 = P1^0; sbit TF2 = T2CON^7; sbit EXF2 = T2CON^6; sbit RCLK = T2CON^5; sbit TCLK = T2CON^4; sbit EXEN2 = T2CON^3; sbit TR2 = T2CON^2; sbit C_T2 = T2CON^1; sbit CP_RL2 = T2CON^0; #line 2 "T.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 3 "T.c" /0 #line 1 "clock.h" /0 extern void add_second(unsigned char *clock_curent); extern void add_minite(unsigned char *clock_curent); extern void add_hour(unsigned char *clock_curent); #line 4 "T.c" /0 #line 1 "ds18b20.h" /0 #line 1 "D:\学习软件\KEIL\C51\INC\REG52.H" /0 #line 10 "D:\学习软件\KEIL\C51\INC\REG52.H" /1 #line 1 "ds18b20.h" /0#line 1 "ds18b20.h" /0 #line 1 "D:\学习软件\KEIL\C51\INC\ABSACC.H" /0 #line 10 "D:\学习软件\KEIL\C51\INC\ABSACC.H" /1 #line 2 "ds18b20.h" /0#line 2 "ds18b20.h" /0 sbit DQ = P1^0; void delay(int us); bit reset18b20(void); bit readbit18b20(void); unsigned char readbyte18b20(void); void writebit18b20(bit databit); void writebyte18b20(unsigned char databyte);#line 5 "T.c" /0 char text[] = {'I','o','L','O','V','E','u','Y','O','U',' ','I',' ','L','O','V','E',' ','Y','O','U','\n'}; char pacmanopen[] = {0x0E,0x07,0x03,0x01,0x03,0x07,0x0E,0x00,'\n'}; char pacmanshut[] = {0x00,0x0F,0x1F,0x01,0x1F,0x0F,0x00,0x00,'\n'}; unsigned char idata clock_curent[6]={1,2,3,4,0,1}; unsigned char idata half=0,updata=1,temph,templ,t,temp[6]; void wrcgchr(char *arrayptr, int offset); void wrcmd (char cmdcode); void lcd_init (); void pause(int num); void clearscreen (); void eat (); void wrdata (char ddata); void lcd_wait (); void disp(char pos,char tdata); void dispcurrenttime(void); void main(void) { unsigned int tmp; char *textptr = text,i; bit flag=0; IE=0x00; IT0=1; TMOD=0X01; IP=0X02; TL0=0XAF; TH0=0X3C; SP=0X60; IE=0x80; TR0=1; lcd_init(); while(1) { IE=0x80; do flag=reset18b20(); while(flag==1); writebyte18b20(0xcc); writebyte18b20(0x44); delay(50); do flag=reset18b20(); while(flag==1); writebyte18b20(0xcc); writebyte18b20(0xbe); templ=readbyte18b20(); temph=readbyte18b20(); for(i=0;i<6;i++) t=readbyte18b20(); tmp=temph*256+templ; temp[4]='.'; if(temph>=0xf8) { temp[0]='-'; tmp=~tmp; tmp++; } else temp[0]='+'; if(templ&0x08) temp[5]='5'; else temp[5]='0'; tmp>>=4; for(i=3;i>0;i--) { temp[i]=(tmp%10)+'0'; tmp=tmp/10; } for(i=0;i<6;i++) disp(10+i,temp[i]); IE=0X82; if(updata==1) { add_second(clock_curent); updata=0; dispcurrenttime(); } } for (;;) { textptr = text; while (*textptr!= '\n') { wrdata(*textptr++); pause(2000); } pause(5000); eat(); pause(5000); } } void dispcurrenttime(void) { if(clock_curent[5]==0) disp(0,11+'0'); else disp(0,clock_curent[5]+'0'); disp(1,clock_curent[4]+'0'); disp(2,10+'0'); disp(3,clock_curent[3]+'0'); disp(4,clock_curent[2]+'0'); disp(5,10+'0'); disp(6,clock_curent[1]+'0'); disp(7,clock_curent[0]+'0'); } void disp(char pos,char tdata) { wrcmd(0x80+pos); wrdata(tdata); } void service_second(void) interrupt 1 { TR0=0; TL0=0XAF; TH0=0X3C; TR0=1; half++; if(half==2) { updata=1; half=0; } } void eat () { int count = 0x16-1, eatflag = 0 , tmp; while (count >= 0) { wrcmd(0x80 + count); eatflag ? wrdata(0x00): wrdata(0x01); eatflag ^= 1; for (tmp = count; tmp <=0x16; ++tmp) wrdata(' '); count--; pause(4000); } clearscreen(); } void pause(int num) { while(num--) ; } void lcd_init (void) { wrcmd(0x38); wrcmd(0x08+0x04); wrcmd(0x04+0x02); wrcgchr(pacmanopen, 0); wrcgchr(pacmanshut, 8); wrcmd(0x80); } void clearscreen () { wrcmd(0x01); wrcmd(0x80); } void wrcmd (char cmdcode) { lcd_wait(); ((unsigned char volatile xdata *) 0) [0x0000]=cmdcode; } void wrdata (char ddata) { lcd_wait(); ((unsigned char volatile xdata *) 0) [0x0001]=ddata; } void wrcgchr(char *arrayptr, int offset) { wrcmd(0x40 + offset); while (*arrayptr != '\n') wrdata (*arrayptr++); } void lcd_wait () { char status; do { P0=0xff; status=P0; } while (status & 0x80); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -