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

📄 c_main.i

📁 433.92m无线模块的接收到有效数据后
💻 I
字号:
#line 1 "c_main.c" /0    #line 1 "Reg935.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 IEN0 = 0xA8; sfr IP0  = 0xB8; sfr SCON = 0x98; sfr SBUF = 0x99;   sfr AUXR1  = 0xA2; sfr SADDR  = 0xA9; sfr SADEN  = 0xB9; sfr TL2    = 0xCC; sfr TH2    = 0xCD; sfr BRGR0  = 0xBE; sfr BRGR1  = 0xBF; sfr BRGCON = 0xBD; sfr CCCRA  = 0xEA; sfr CCCRB  = 0xEB; sfr CCCRC  = 0xEC; sfr CCCRD  = 0xED; sfr CMP1   = 0xAC; sfr CMP2   = 0xAD; sfr DEECON = 0xF1; sfr DEEDAT = 0xF2; sfr DEEADR = 0xF3; sfr DIVM   = 0x95; sfr I2ADR  = 0xDB; sfr I2CON  = 0xD8; sfr I2DAT  = 0xDA; sfr I2SCLH = 0xDD; sfr I2SCLL = 0xDC; sfr I2STAT = 0xD9; sfr ICRAH  = 0xAB; sfr ICRAL  = 0xAA; sfr ICRBH  = 0xAF; sfr ICRBL  = 0xAE; sfr IEN1   = 0xE8; sfr IP1    = 0xF8; sfr IP1H   = 0xF7; sfr KBCON  = 0x94; sfr KBMASK = 0x86; sfr KBPATN = 0x93; sfr OCRAH  = 0xEF; sfr OCRAL  = 0xEE; sfr OCRBH  = 0xFB; sfr OCRBL  = 0xFA; sfr OCRCH  = 0xFD; sfr OCRCL  = 0xFC; sfr OCRDH  = 0xFF; sfr OCRDL  = 0xFE; sfr P0M1   = 0x84; sfr P0M2   = 0x85; sfr P1M1   = 0x91; sfr P1M2   = 0x92; sfr P2M1   = 0xA4; sfr P2M2   = 0xA5; sfr P3M1   = 0xB1; sfr P3M2   = 0xB2; sfr PCONA  = 0xB5; sfr PT0AD  = 0xF6; sfr RSTSRC = 0xDF; sfr RTCCON = 0xD1; sfr RTCH   = 0xD2; sfr RTCL   = 0xD3; sfr SSTAT  = 0xBA; sfr SPCTL  = 0xE2; sfr SPSTAT = 0xE1; sfr SPDAT  = 0xE3; sfr TAMOD  = 0x8F; sfr TCR20  = 0xC8; sfr TCR21  = 0xF9; sfr TICR2  = 0xC9; sfr TIFR2  = 0xE9; sfr TISE2  = 0xDE; sfr TOR2H  = 0xCF; sfr TOR2L  = 0xCE; sfr TPCR2H = 0xCB; sfr TPCR2L = 0xCA; sfr TRIM   = 0x96; sfr WDCON  = 0xA7; sfr WDL    = 0xC1; sfr WFEED1 = 0xC2; sfr WFEED2 = 0xC3; sfr IP0H   = 0xB7;    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 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   = IEN0^7; sbit EWDRT = IEN0^6; sbit EBO   = IEN0^5; sbit ES   = IEN0^4;   sbit ESR  = IEN0^4; sbit ET1  = IEN0^3; sbit EX1  = IEN0^2; sbit ET0  = IEN0^1; sbit EX0  = IEN0^0;   sbit EADEE= IEN1^7; sbit EIEE = IEN1^7; sbit EST  = IEN1^6; sbit ECCU = IEN1^4; sbit ESPI = IEN1^3; sbit EC   = IEN1^2; sbit EKBI = IEN1^1; sbit EI2C = IEN1^0;   sbit PWDRT = IP0^6; sbit PB0  = IP0^5; sbit PS   = IP0^4;   sbit PSR  = IP0^4; sbit PT1  = IP0^3; sbit PX1  = IP0^2; sbit PT0  = IP0^1; sbit PX0  = IP0^0;    sbit SM0  = SCON^7;   sbit FE   = 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 I2EN  = I2CON^6; sbit STA   = I2CON^5; sbit STO   = I2CON^4; sbit SI    = I2CON^3; sbit AA    = I2CON^2; sbit CRSEL = I2CON^0;   sbit KB7 = P0^7;   sbit T1 = P0^7; sbit KB6 = P0^6;    sbit KB5 = P0^5; sbit KB4 = P0^4; sbit KB3 = P0^3; sbit KB2 = P0^2; sbit KB1 = P0^1; sbit KB0 = P0^0;      sbit OCC     = P1^7; sbit OCB     = P1^6; sbit RST     = P1^5; sbit INT1    = P1^4; sbit INT0    = P1^3;   sbit SDA     = P1^3; sbit T0      = P1^2;   sbit SCL     = P1^2; sbit RxD     = P1^1; sbit TxD     = P1^0;   sbit ICA     = P2^7; sbit OCA     = P2^6; sbit SPICLK  = P2^5; sbit SS      = P2^4; sbit MISO    = P2^3; sbit MOSI    = P2^2; sbit OCD     = P2^1; sbit ICB     = P2^0;   sbit XTAL1= P3^1; sbit XTAL2= P3^0;   sbit PLLEN = TCR20^7; sbit HLTRN = TCR20^6; sbit HLTEN = TCR20^5; sbit ALTCD = TCR20^4; sbit ALTAB = TCR20^3; sbit TDIR2 = TCR20^2; sbit TMOD21= TCR20^1; sbit TMOD20= TCR20^0;   sfr	ADCON0	=0x8E; sfr	ADCON1	=0x97; sfr	ADMODA	=0xC0; sfr	ADMODB	=0xA1; sfr	ADINS 	=0xA3;  sfr	AD0BH	=0xBB; sfr	AD0BL	=0xA6; sfr	AD0DAT0	=0xC5; sfr	AD0DAT1	=0xC6; sfr	AD0DAT2	=0xC7; sfr	AD0DAT3	=0xF4;  sfr	AD1BH	=0xC4; sfr	AD1BL	=0xBC; sfr	AD1DAT0	=0xD5; sfr	AD1DAT1	=0xD6; sfr	AD1DAT2	=0xD7; sfr	AD1DAT3	=0xF5;  sbit	BNDI1	=ADMODA^7; sbit	BURST1	=ADMODA^6; sbit	SCC1	=ADMODA^5; sbit	SCAN1	=ADMODA^4; sbit	BNDI0	=ADMODA^3; sbit	BURST0	=ADMODA^2; sbit	SCC0	=ADMODA^1; sbit	SCAN0	=ADMODA^0;	   #line 3 "c_main.c" /0   #line 1 "C:\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 4 "c_main.c" /0   #line 1 "cewen.h" /0      sbit LED_red   = P1^7 ; sbit LED_green = P1^6 ;  sbit RFC       = P2^0; sbit KF        = P2^7; sbit RX        = P1^0; sbit TX        = P1^1; sbit key1      = P0^0; sbit key2      = P0^5;  sbit CTRL485   = P2^4;  unsigned char BRGR1_DATA;          unsigned char BRGR0_DATA ;    unsigned char Time_M;    unsigned char Time_S;    unsigned char Time_x;    unsigned char Load_x;    unsigned char Load_M;    unsigned char Load_S;    unsigned char sdk;    unsigned char Readnum;    unsigned char kcount=0;   unsigned char botelv=0;  unsigned char WorkMode;   unsigned char idata ser_dat[60]={0};#line 5 "c_main.c" /0   #line 1 "UART2.H" /0  sbit uart2txd=P0^7;   sbit uart2rxd=P0^6;        void uart2send(unsigned char s);      unsigned char uart2read(void); #line 6 "c_main.c" /0   #line 1 "W_R_E2RAM.h" /0      void Write_Datato_E2RAM (unsigned char Count,unsigned char Addr,unsigned char *Wdata_Addr  ); void Read_Datato_E2RAM (unsigned char Count,unsigned char Addr,unsigned char *Wdata_Addr  ); void Write_Datato_00E2RAM (unsigned char Count,unsigned char Addr ); #line 7 "c_main.c" /0   unsigned char sendRQ=0; unsigned char ch=0; char text[]="response at 9600 baud";         void delayms(int i) { unsigned int k; while(i>0) { for(k=0;k<670;k++); i--; } }    void InitTimer(void) { AUXR1=0x10;   TMOD = 0x12;   TAMOD = 0x01;  TR0=0;   ET1=1; EA=1; }  void Init_Serial(void) { 			 SSTAT=0x60;				         PCON&=0x3f;                         if(WorkMode==0x01) SCON=0x50;  else               SCON=0xd0;       BRGCON=0x00;                        if(botelv==1)     BRGR1_DATA=0x17; else if(botelv==2)BRGR1_DATA=0x0b; else if(botelv==3)BRGR1_DATA=0x05; else if(botelv==4)BRGR1_DATA=0x02; BRGR0_DATA=0xf0;  BRGR1=BRGR1_DATA; BRGR0=BRGR0_DATA; BRGCON=0x03;                        EST=0; ESR=1; ES = 1;	 EA=1; }  void UART_ISR(void) interrupt 4 { RI = 0;						  TI = 0; ser_dat[ch]=SBUF;				      ch++; if(sendRQ==0)   sendRQ=1;		              }   void Send_Data(unsigned char Serial_data) { ACC=Serial_data; TB8=P;TI=0; SBUF=Serial_data; while(!TI); TI=0;          }    void sendtoPCa(void) {	int j=0; if(WorkMode==1) {while(ch--)				  { TI=0;					  SBUF=ser_dat[j];			  while (!TI);			  j++; } } else  { while(ch--)				  {Send_Data(ser_dat[j]);j++; }  } }    void Init_cpuio(void) {  P0M1=0x5e;   P0M2=0x80;    P1M1=0x3e;   P1M2=0xff;    P2M1=0x6c;   P2M2=0xff;    KF=1; RFC=1;                         uart2txd=0;                    CTRL485=1;                     LED_red=1;                     LED_green=1;                   ES = 1;	 EA=1; }     void RTC_Init() { Time_S=0; Time_M=0;                       IEN0|=0xC0;   WDCON=0xE0;   RTCH=0xE0; RTCL=0xFF;    RTCCON=0x63;   }      void Inc_time() { Time_S++; if(Time_S>59) { Time_S=0; Time_M++; if(Time_M>59) { Time_M=0; Time_x++; if(Time_x>23) Time_x=0; } } }     void RTC_ISR() interrupt 10 { EA=0; RTCCON&=0x63;   Inc_time(); EA=1; }    unsigned char Int_System(void) { unsigned char count,num=0,i;  unsigned char idata work_dat[16]={0};  Read_Datato_E2RAM(16,0,work_dat); if(work_dat[0]==0x36) { count=work_dat[1]; for(i=0;i<count+1;i++) { num+=work_dat[1+i]; } if(num==0)  { WorkMode=work_dat[3];    botelv=work_dat[8]; Readnum=work_dat[13];     return(0x01);}         else       return(0x00); } else  return(0x00); }     void Wait_Code1(void) {  unsigned char idata work_dat[16]={0};   unsigned char i1,ki1,j1; LED_red=1;                    LED_green=0; KF=0; RFC=0;                         uart2txd=0;                    delayms(100); KF=1; RFC=1; while(1){ while(1){ if(uart2read()==0x55)ki1++; else ki1=0; if(ki1>5)break; } while(1){if(uart2read()==0x36) {work_dat[0]=0x36;break;} } ki1=uart2read(); work_dat[1]=ki1; for(i1=0;i1<ki1;i1++)work_dat[i1+2]=uart2read(); j1=0;   for(i1=1;i1<ki1+2;i1++)j1+=work_dat[i1]; if(j1==0) {Write_Datato_E2RAM(16,0,work_dat); botelv=work_dat[8]; for(i1=0;i1<botelv;i1++) { LED_red=!LED_red; delayms(600); LED_red=!LED_red; delayms(600); } WorkMode=work_dat[3]; for(i1=0;i1<work_dat[3];i1++) { LED_green=!LED_green; delayms(600); LED_green=!LED_green; delayms(600); } break; }  }      }   unsigned char Wait_Code2(void) {  unsigned char idata work_dat[16]={0};   unsigned char ki1; Time_S=0; while(Time_S<3){ if(uart2read()==0x55)ki1++; else ki1=0; if(ki1>5)break; } while(Time_S<4){ if(uart2read()==0xff)break; } while(Time_S<5){ if(uart2read()==0x35) { work_dat[0]=0x35;break; } } ki1=uart2read(); if(ki1==1)return(0x01); else      return(0x00);  }  void SendDatatowless_a() {unsigned char i_3,i; for(i_3=0;i_3<3;i_3++) { LED_red=!LED_red; delayms(600); LED_red=!LED_red; uart2txd=0; RFC=0; delayms(10); for(i=0;i<10;i++)uart2send(0x55); for(i=0;i<2;i++)uart2send(0x00); uart2send(0x06);uart2send(ch); for(i=0;i<ch;i++){uart2send(ser_dat[i]);}  delayms(2);  uart2txd=0; RFC=1; delayms(15);   }                      }   void SendDatatowless_b() { Time_S=0;Time_M=0; while(Time_S>1); LED_green=!LED_green; delayms(300); LED_green=!LED_green; SendDatatowless_a();  delayms(10); uart2txd=0; RFC=1; sendRQ=0;ch=0;			      }  void Taking_overDataWelss(void) {  unsigned char i;   while(uart2read()!=0x06); ch=uart2read(); for(i=0;i<ch;i++)ser_dat[i]=uart2read();  LED_green=!LED_green; delayms(300); LED_green=!LED_green; sendtoPCa(); delayms(10); uart2txd=0; RFC=1; sendRQ=0;ch=0;    }     main() {  unsigned char ki1,ip=50;     Init_cpuio(); InitTimer(); Init_Serial(); RTC_Init(); while(1){ if(Int_System()==0x00)Wait_Code1(); else { Init_Serial(); LED_red=0;                    LED_green=1; uart2txd=0; RFC=1; CTRL485=1;RI=0; while(1) {  if(key1==0){Write_Datato_00E2RAM (16,0 );break;} if (sendRQ)SendDatatowless_b();					  while(--ip){ if(uart2read()==0x55)ki1++; else ki1=0; if(ki1>5)break; } ip=50; if(ki1>5)Taking_overDataWelss(); } } } }  

⌨️ 快捷键说明

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