📄 main.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 + -