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

📄 main.i

📁 以c8051f120为主控芯片,AD0采集的8路模拟信号经过简单计算处理通过Uart0发送到计算机。可以通过串口助手观察结果。通道0和1以及片上温度传感器采集的数据经过简单计算处理在Lcd上显示。
💻 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 + -