📄 main.c
字号:
/******************************************************************************************************************
******************************************************************************************************************/
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#include <osd.c>
#include <osd_dis_lib.c>
#include <ds1302_.c>
#include <zlg.c>
#include <code_uint2.c>
//#include <INI.C>
#include <button.c>
#include <int.c>
void timer0();
/*********************************************************************************************************
** 函数名称: timer_set
** 功能描述: timer初始化
********************************************************************************************************/
void timer_set()
{
TMOD=0x21;
TH0=-50000/256; //@24M, define clock is 10ms
TL0=-50000%256;
ET1=0;
ET0=1;
TR0=1;
TR1=0;
}
void serial_init()
{
SCON = 0x50; //mode 1: 8-bit UART, enable receiver
T2CON = 0x30;
/* Baud rate 9600(24M) */
RCAP2H = 0xFF;
RCAP2L = 0xB2;
TH2 = 0xFF;
TL2 = 0xB2;
TR2 = 1;/* Timer 2 run */
ES = 1;
}
/*******************************************************************************************************
** 函数名称: cpu_ini
** 功能描述: cpu初始化
********************************************************************************************************/
void cpu_ini()
{
timer_set();
serial_init();
menu_code = 5;
code_ctl=0; //487输入控制,此处下版本改板子
EA = 1;
}
/*********************************************************************************************************
** 函数名称: main
** 功能描述: 主函数,组织所有功能模块完成系统功能
********************************************************************************************************/
void main()
{
uchar temp1,temp2;
SP = 0xE2;
cpu_ini();//cpu初始化
// osd_mode_ini();
X_position=IRcvByte(0x410);
Delay_ms(2);
Y_position=IRcvByte(0x411);
Delay_ms(2);
cy=IRcvByte(0x412);
Delay_ms(2);
xx=IRcvByte(0x413);
Delay_ms(2);
yy=IRcvByte(0x414);
Delay_ms(2);
xj=IRcvByte(0x415);
Flag_Effective_Data=0;
Communication_Data_Counter=0;
MainScreen_Init (7); //主屏初始化
// clock_stop(0);
clock_type(1); //----1:24小时--------0:12小时
charge_sw(1); //--------1:充电
// v_Set1302(ini_time_data); // 设置1302初始值 // Burst_set_1302_T(ini_time_data);
wp24c16=0;
IRcvStr(0x400,ini_t_h,5);
dis_calendar_flag=IRcvByte(0x416);
Delay_ms(2);
dis_clock_flag=IRcvByte(0x417);
while(1)
{
read_sw(); //读跳线状态
//----------
if(chinese_en==1) //显示中文
{
if(fanti_en==1) //简体中文
{mm=0x60;
u_u=0x60;}
else //繁体中文
{mm=0x00;
u_u=0x00;}
}
else //不显示中文
mm=0x150;
if (english_en==0) //不显示英文
nn=0x70;
else //显示英文
nn=0x00;
// if (floor_def==0) //传输楼层定义表格
while(~floor_def)
row_3_text();
//正常显示信息
button_doing();
if( dis_clock_flag == 0) //显示时间
dis_clock();
else
del_time();
if( dis_calendar_flag == 0) //显示日历
dis_calendar();
else
del_calendar();
if(tn026==1 ) //收tn026码
{
ES=1;
code_ini();
dis_number(ini_t_h); //显示梯号
floor_dis_doing(); //楼层显示
code_ctrl_doing(); //运行状态
code_message_doing(); //特殊信息
}
else //收二进制码
{
ES=0;
temp1=read_j8();
Delay_ms(5);
temp2=read_j8();
if(temp1==temp2)
mc573[0]=temp1; //0:j8
Delay_ms(5);
temp1=read_j7();
Delay_ms(5);
temp2=read_j7();
if(temp1==temp2)
mc573[1]=temp1; //1:j7
Delay_ms(5);
temp1=read_j10();
Delay_ms(5);
temp2=read_j10();
if(temp1==temp2) //2:j10
mc573[2]=temp1;
Delay_ms(5);
dis_number(ini_t_h); //显示梯号
floor_dis_doing2();
code_ctrl_doing2(); //运行状态
code_message_doing2(); //特殊信息
}
row_1_text();
row_2_text();
row_3_text();
row_4_text();
row_5_text();
row_6_text();
//-------------
if(disappear_sw == 0) //消隐
{
disappear_row2();
disappear_row3();
disappear_row4();
disappear_row5();
}
//-------------
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -