?? main.i
字號:
#line 1 "Source\main.c" /0 #line 1 "SOURCE\MAIN.H" /0 #line 1 "C:\KEIL\C51\INC\CYGNAL\C8051F020.H" /0 sfr P0 = 0x80; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr P4 = 0x84; sfr P5 = 0x85; sfr P6 = 0x86; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr CKCON = 0x8E; sfr PSCTL = 0x8F; sfr P1 = 0x90; sfr TMR3CN = 0x91; sfr TMR3RLL = 0x92; sfr TMR3RLH = 0x93; sfr TMR3L = 0x94; sfr TMR3H = 0x95; sfr P7 = 0x96; sfr SCON0 = 0x98; sfr SBUF0 = 0x99; sfr SPI0CFG = 0x9A; sfr SPI0DAT = 0x9B; sfr ADC1 = 0x9C; sfr SPI0CKR = 0x9D; sfr CPT0CN = 0x9E; sfr CPT1CN = 0x9F; sfr P2 = 0xA0; sfr EMI0TC = 0xA1; sfr EMI0CF = 0xA3; sfr P0MDOUT = 0xA4; sfr P1MDOUT = 0xA5; sfr P2MDOUT = 0xA6; sfr P3MDOUT = 0xA7; sfr IE = 0xA8; sfr SADDR0 = 0xA9; sfr ADC1CN = 0xAA; sfr ADC1CF = 0xAB; sfr AMX1SL = 0xAC; sfr P3IF = 0xAD; sfr SADEN1 = 0xAE; sfr EMI0CN = 0xAF; sfr P3 = 0xB0; sfr OSCXCN = 0xB1; sfr OSCICN = 0xB2; sfr P74OUT = 0xB5; sfr FLSCL = 0xB6; sfr FLACL = 0xB7; sfr IP = 0xB8; sfr SADEN0 = 0xB9; sfr AMX0CF = 0xBA; sfr AMX0SL = 0xBB; sfr ADC0CF = 0xBC; sfr P1MDIN = 0xBD; sfr ADC0L = 0xBE; sfr ADC0H = 0xBF; sfr SMB0CN = 0xC0; sfr SMB0STA = 0xC1; sfr SMB0DAT = 0xC2; sfr SMB0ADR = 0xC3; sfr ADC0GTL = 0xC4; sfr ADC0GTH = 0xC5; sfr ADC0LTL = 0xC6; sfr ADC0LTH = 0xC7; sfr T2CON = 0xC8; sfr T4CON = 0xC9; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2 = 0xCC; sfr TH2 = 0xCD; sfr SMB0CR = 0xCF; sfr PSW = 0xD0; sfr REF0CN = 0xD1; sfr DAC0L = 0xD2; sfr DAC0H = 0xD3; sfr DAC0CN = 0xD4; sfr DAC1L = 0xD5; sfr DAC1H = 0xD6; sfr DAC1CN = 0xD7; sfr PCA0CN = 0xD8; sfr PCA0MD = 0xD9; sfr PCA0CPM0 = 0xDA; sfr PCA0CPM1 = 0xDB; sfr PCA0CPM2 = 0xDC; sfr PCA0CPM3 = 0xDD; sfr PCA0CPM4 = 0xDE; sfr ACC = 0xE0; sfr XBR0 = 0xE1; sfr XBR1 = 0xE2; sfr XBR2 = 0xE3; sfr RCAP4L = 0xE4; sfr RCAP4H = 0xE5; sfr EIE1 = 0xE6; sfr EIE2 = 0xE7; sfr ADC0CN = 0xE8; sfr PCA0L = 0xE9; sfr PCA0CPL0 = 0xEA; sfr PCA0CPL1 = 0xEB; sfr PCA0CPL2 = 0xEC; sfr PCA0CPL3 = 0xED; sfr PCA0CPL4 = 0xEE; sfr RSTSRC = 0xEF; sfr B = 0xF0; sfr SCON1 = 0xF1; sfr SBUF1 = 0xF2; sfr SADDR1 = 0xF3; sfr TL4 = 0xF4; sfr TH4 = 0xF5; sfr EIP1 = 0xF6; sfr EIP2 = 0xF7; sfr SPI0CN = 0xF8; sfr PCA0H = 0xF9; sfr PCA0CPH0 = 0xFA; sfr PCA0CPH1 = 0xFB; sfr PCA0CPH2 = 0xFC; sfr PCA0CPH3 = 0xFD; sfr PCA0CPH4 = 0xFE; sfr WDTCN = 0xFF; 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 SM00 = SCON0 ^ 7; sbit SM10 = SCON0 ^ 6; sbit SM20 = SCON0 ^ 5; sbit REN0 = SCON0 ^ 4; sbit TB80 = SCON0 ^ 3; sbit RB80 = SCON0 ^ 2; sbit TI0 = SCON0 ^ 1; sbit RI0 = SCON0 ^ 0; sbit EA = IE ^ 7; sbit ET2 = IE ^ 5; sbit ES0 = 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 BUSY = SMB0CN ^ 7; sbit ENSMB = SMB0CN ^ 6; sbit STA = SMB0CN ^ 5; sbit STO = SMB0CN ^ 4; sbit SI = SMB0CN ^ 3; sbit AA = SMB0CN ^ 2; sbit SMBFTE = SMB0CN ^ 1; sbit SMBTOE = SMB0CN ^ 0; sbit TF2 = T2CON ^ 7; sbit EXF2 = T2CON ^ 6; sbit RCLK0 = T2CON ^ 5; sbit TCLK0 = T2CON ^ 4; sbit EXEN2 = T2CON ^ 3; sbit TR2 = T2CON ^ 2; sbit CT2 = T2CON ^ 1; sbit CPRL2 = T2CON ^ 0; 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 F1 = PSW ^ 1; sbit P = PSW ^ 0; sbit CF = PCA0CN ^ 7; sbit CR = PCA0CN ^ 6; sbit CCF4 = PCA0CN ^ 4; sbit CCF3 = PCA0CN ^ 3; sbit CCF2 = PCA0CN ^ 2; sbit CCF1 = PCA0CN ^ 1; sbit CCF0 = PCA0CN ^ 0; sbit AD0EN = ADC0CN ^ 7; sbit AD0TM = ADC0CN ^ 6; sbit AD0INT = ADC0CN ^ 5; sbit AD0BUSY = ADC0CN ^ 4; sbit AD0CM1 = ADC0CN ^ 3; sbit AD0CM0 = ADC0CN ^ 2; sbit AD0WINT = ADC0CN ^ 1; sbit AD0LJST = ADC0CN ^ 0; sbit SPIF = SPI0CN ^ 7; sbit WCOL = SPI0CN ^ 6; sbit MODF = SPI0CN ^ 5; sbit RXOVRN = SPI0CN ^ 4; sbit TXBSY = SPI0CN ^ 3; sbit SLVSEL = SPI0CN ^ 2; sbit MSTEN = SPI0CN ^ 1; sbit SPIEN = SPI0CN ^ 0; #line 25 "SOURCE\MAIN.H" /0 #line 1 "SOURCE\LCD.H" /0 void LCDC_Init(void); void LCDC_CheckBusy(void); void LCDC_DisFull(unsigned char Flag); void LCDC_WrCmd(unsigned char dd); void LCDC_SetXY(unsigned char x,unsigned char y); void LCDC_WrData(unsigned char x,unsigned char y,unsigned char dd); unsigned char LCDC_RdData(unsigned char x,unsigned char y); void LCDC_DrawByte(unsigned char x,y,value); void LCDC_DispWord(unsigned char x,y,unsigned char code *p,unsigned char line,length,Flag); void LCDC_DispFWord(unsigned char x,y,unsigned char xdata *p,unsigned char line,length,Flag); #line 26 "SOURCE\MAIN.H" /0 #line 1 "SOURCE\SYS_INIT.H" /0 #line 18 "SOURCE\SYS_INIT.H" /1 #line 20 "SOURCE\SYS_INIT.H" /0 extern unsigned char code WLib_ming_32x32[]; extern unsigned char code WLib_lang_32x32[]; extern unsigned char code WLib_ke_32x32[]; extern unsigned char code WLib_ji_32x32[]; extern unsigned char code WLib_W_10x8[]; extern unsigned char code WLib_M_9x8[]; extern unsigned char code WLib_L_6x8[]; extern unsigned char code WLib_A_7x8[]; extern unsigned char code WLib_R_7x8[]; extern unsigned char code WLib_C_7x8[]; extern unsigned char code WLib_O_7x8[]; extern unsigned char code WLib_dot_4x8[]; extern unsigned char code WLib_T_6x8[]; extern unsigned char code WLib_e_5x8[]; extern unsigned char code WLib_l_4x8[]; extern unsigned char code WLib_ddot_3x8[]; extern unsigned char code WLib_line_6x8[]; extern unsigned char code WLib_1_4x8[]; extern unsigned char code WLib_2_5x8[]; extern unsigned char code WLib_3_5x8[]; extern unsigned char code WLib_4_6x8[]; extern unsigned char code WLib_5_5x8[]; extern unsigned char code WLib_6_5x8[]; extern unsigned char code WLib_7_5x8[]; extern unsigned char code WLib_8_5x8[]; extern unsigned char code WLib_9_5x8[]; extern unsigned char code WLib_0_5x8[]; extern unsigned char code WLib_Num_8x16[160]; extern unsigned char code WLib_tong_16x16[]; extern unsigned char code WLib_dao_16x16[]; extern unsigned char code WLib_wen_16x16[]; extern unsigned char code WLib_hao_16x16[]; extern unsigned char code WLib_du_16x16[]; extern unsigned char code WLib_fu_16x16[]; extern unsigned char code WLib_maohao_8x16[]; extern unsigned char code WLib_dian_8x16[]; void dis_start0 (void); void SYSCLK_Init (void); void PORT_Init (void); #line 27 "SOURCE\MAIN.H" /0 #line 1 "SOURCE\DELAY.H" /0 void Delay_us(unsigned int Times); void Delay_ms(unsigned int Times); void Delay_s(unsigned int Times); #line 28 "SOURCE\MAIN.H" /0 #line 1 "SOURCE\UART.H" /0 void Uart0_Init(unsigned char BaudRate); void Uart0_Enable(unsigned char Flag); void Uart0_SendByte(unsigned char value); void Uart0_SendString(unsigned char *pt); unsigned char Uart0_ReceiveData(void); void Uart1_Init(unsigned char BaudRate); void Uart1_Enable(unsigned char Flag); void Uart1_SendByte(unsigned char value); void Uart1_SendString(unsigned char *pt); unsigned char Uart1_ReceiveData(void); #line 29 "SOURCE\MAIN.H" /0 #line 1 "SOURCE\ADC.H" /0 static unsigned int xdata ADC0_result[9]; static unsigned int xdata ADC1_result[8]; sfr16 TMR3RL = 0x92; sfr16 TMR3 = 0x94; void ADC0_Init (void); void Timer3_Init (int counts); unsigned int ADC_Value (unsigned char Flag); void ADC0_enable(unsigned char flag); unsigned int ADC_Valud_Return (unsigned char channel); #line 30 "SOURCE\MAIN.H" /0 #line 1 "C:\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 31 "SOURCE\MAIN.H" /0 #line 27 "Source\main.c" /0 void main (void) { unsigned long voltage; unsigned long tp; int i; WDTCN = 0xde; WDTCN = 0xad; SYSCLK_Init(); PORT_Init(); LCDC_Init(); Timer3_Init(22118400/50000); ADC0_Init (); Uart0_Init(96); Uart0_SendString("www.mlarm.com\r\n"); Uart0_SendString("TeL:029-88223597-802\r\n"); LCDC_DisFull(0xff); LCDC_DisFull(0x00); dis_start0(); ADC0_enable(1); Delay_s(3); LCDC_DisFull(0x00); while (1) { Delay_ms(500); for (i=0;i<9;i++) { Delay_ms(100); EA=0; voltage = ADC_Valud_Return(i); EA=1; voltage = voltage * 2430; EA=0; switch(i) { case 0: voltage = voltage >> 16; printf ("Channel '%d' voltage Value is %ldmV\n", i, voltage); LCDC_DispWord(0,48,WLib_tong_16x16,2,16,1); LCDC_DispWord(16,48,WLib_dao_16x16,2,16,1); LCDC_DispWord(32,48,&WLib_Num_8x16[i*32],2,8,1); LCDC_DispWord(40,48,WLib_maohao_8x16,2,8,1); LCDC_DispWord(112,48,WLib_fu_16x16,2,16,1); LCDC_DispWord(64,48,&WLib_Num_8x16[voltage/1000*16],2,8,1); LCDC_DispWord(72,48,WLib_dian_8x16,2,8,1); LCDC_DispWord(80,48,&WLib_Num_8x16[voltage%1000/100*16],2,8,1); LCDC_DispWord(88,48,&WLib_Num_8x16[voltage%100%100/10*16],2,8,1); LCDC_DispWord(96,48,&WLib_Num_8x16[voltage%100%100%10*16],2,8,1); break; case 1: voltage = voltage >> 16; printf ("Channel '%d' voltage Value is %ldmV\n", i, voltage); LCDC_DispWord(0,32,WLib_tong_16x16,2,16,1); LCDC_DispWord(16,32,WLib_dao_16x16,2,16,1); LCDC_DispWord(32,32,&WLib_Num_8x16[i*16],2,8,1); LCDC_DispWord(40,32,WLib_maohao_8x16,2,8,1); LCDC_DispWord(112,32,WLib_fu_16x16,2,16,1); LCDC_DispWord(64,32,&WLib_Num_8x16[voltage/1000*16],2,8,1); LCDC_DispWord(72,32,WLib_dian_8x16,2,8,1); LCDC_DispWord(80,32,&WLib_Num_8x16[voltage%1000/100*16],2,8,1); LCDC_DispWord(88,32,&WLib_Num_8x16[voltage%100%100/10*16],2,8,1); LCDC_DispWord(96,32,&WLib_Num_8x16[voltage%100%100%10*16],2,8,1); break; case 2: voltage = voltage >> 16; printf ("Channel '%d' voltage Value is %ldmV\n", i, voltage); break; case 3: voltage = voltage >> 16; printf ("Channel '%d' voltage Value is %ldmV\n", i, voltage); break; case 4: voltage = voltage >> 16; printf ("Channel '%d' voltage Value is %ldmV\n", i, voltage); break; case 5: voltage = voltage >> 16; printf ("Channel '%d' voltage Value is %ldmV\n", i, voltage); break; case 6: voltage = voltage >> 16; printf ("Channel '%d' voltage Value is %ldmV\n", i, voltage); break; case 7: voltage = voltage >> 16; printf ("Channel '%d' voltage Value is %ldmV\n", i, voltage); break; case 8: voltage = ADC_Valud_Return (8); tp=(voltage/16-1324)*839/4096; printf ("Channel '%d' Tempreture is %ld%ld\n", i, tp/10,tp%10); LCDC_DispWord(0,16,WLib_wen_16x16,2,16,1); LCDC_DispWord(16,16,WLib_du_16x16,2,16,1); LCDC_DispWord(32,16,WLib_maohao_8x16,2,8,1); LCDC_DispWord(112,16,WLib_du_16x16,2,16,1); LCDC_DispWord(64,16,&WLib_Num_8x16[tp/10*16],2,8,1); LCDC_DispWord(80,16,&WLib_Num_8x16[tp%10*16],2,8,1); break; default: break; } EA=1; } } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -