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

📄 main.c

📁 里面包含了LCD显示
💻 C
字号:
//====================力合微电子==============
//最后修改:
//修改内容:
//修改记录:
//============================================
#define  main_c
#include "io.h"
#include "key.h"
#include "main.h"
#include "interrupt.h"
#include "LME2200.h"
#include "lcd.h"
#include "ifr_ir.h"
#include "stc_eeprom.h"

uchar ddd=0;
//****************************************************
//function:发送一个数据 	
//input   :无
//output  :无
//modify  :2007-8-24 	 
//****************************************************
void send_char(uchar sdata)
  {sdata=sdata;   

   RCAP2L=TL2=0Xdc;//9600	12hz时为0Xd8
   RCAP2H=TH2=0Xff;
   T2CON=0X34;ET2=0;
   SCON= 0X50;PCON =0XF0;
   SBUF=sdata;while(!TI)wdt();
   RCAP2L=TL2=0Xdc;//50ms
   RCAP2H=TH2=0Xff;
   TF2=0;ET2=0;//T2CON=0X04;
   TI=0;  
       
   } 
//****************************************************
//function:延时子程序	
//input   :无
//output  :无
//modify  :2007-8-24 	
//****************************************************
void delay(unsigned int t)
  {
     unsigned int i;
     for(i=0;i<t;i++)wdt(); 
  }        
//****************************************************
//function:
//input   :无
//output  :无
//modify  :2007-9-17
//****************************************************
void read_lme(void)
 {
   Lme_Reg_Read(0xea,&lem_EA);
   Lme_Reg_Read(0xeb,&lem_EB);
   Lme_Reg_Read(0xf2,&lem_F2);
   Lme_Reg_Read(0xf4,&lem_F4);
   Lme_Reg_Read(0xF6,&lem_F6);
 }

//****************************************************
//function:MCU初始化	
//input   :无
//output  :无
//modify  :2007-8-24  	
//****************************************************
void mcu_initial(void)
  {   
   	
	ddd=0;bbb=0;

	rfintpin=1;
	send_char(0x88);

    fuzhi();
	AUXR=0X03;
	
//用于无线的接收和红外的接收  	 
	TMOD=0X21;
    PT0=1;
    TL0=(65536-50000)%256;
    TH0=(65536-50000)/256;
    ET0=0;
    TR0=0; 
//用于串口的接收与发送	

    SCON=0X50;
    TL1=0xfd;
    TH1=0xfd;
    PCON=0x00;
    ET1=0;
    ES=1;
    PS=1;
    TR1=1;

 //定时用	
	T2CON=0X00;
    ET2=1;			                 
    TH2=(65536-5000)/256;
    TL2=(65536-5000)%256;
    RCAP2H=(65536-5000)/256;		                     
    RCAP2L=(65536-5000)%256;
    PT2=0;

	TR2=1;
	EA=1;


	key_init();
	Init_Lme2200();
	init_1520();
	ifr_init();
	Init_Uart();
  }
  
//****************************************************
//function:主程序段  	
//input   :无
//output  :无
//modify  :2007-8-24  	 
//****************************************************
void main(void)   
  { 
	 mcu_initial();

	 zhuti();
   	 while(1)
      {
		 if(!ifr_ir)
            { 
			  ifr_irn();
			  ifr_administer();
			}
		 scan_key();
		 keyexe();
		 keyexe1();
		 password_exit();
		 key_odd();
		 key_odd1(); 
		 
		  
		  if(ddd)
		    {
			   if(rfintpin)
                 {ifr_rf();}	
		    }
	 	 
		 if(((Rece_Buf_Empt == 1))&&(serial_rece_count == 18))//数据接收
	       { 
             Lme_Data_Read(PLC_RX_BUF);//读取数据	 
       
              if(Lme_Reg_Read(RD_STA_REG,&RX_CRC) == Success)//{读取CRC数据	  
       
              if((RX_CRC & 0x01) == 0)
	            {
				  read_lme();
				  rx_led_on_off(PLC_RX_BUF);
     	        }
  	       }  
      }
  }
 
////////////////////////////////////////////////////////////////
//////////   ******  **   **  *****    /////////////////////////
//////////   **      ***  **  **  **   /////////////////////////
//////////   ******  ** * **  **   **  /////////////////////////
//////////   **      **  ***  **  **   /////////////////////////
//////////   ******  **   **  *****    /////////////////////////
////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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