📄 init.c
字号:
#define INIT_GLOBALS
#include "includes.h"
INIT_EXT void INIT_System (void)
{
EA = 0;
CKCON = 0xff; /*控制看门狗喂狗时间长度*/
ALU_MOD = 0; /*设置成8位运算模式*/
LCD = 0; /*不使能显示*/
WDT_RST = 0xa1;
/****串口0初始化****/
SCON0 = 0xd0; /*方式3,允许接收*/
ES0 = 1; /*允许串口0中断*/
TMOD0 |= 0x20; /*定时器1,模式2,自动重装,串口0的波特率受T1控制*/
TMOD1 |= 0x10; /*T1的时钟频率选为Fosc,平时的12倍*/
TH1 = 0x83; /*1200波特率*/
TL1 = 0x83;
TR1 = 1; /*开定时*/
RS485_Tx = 1; /*平时保持在接收状态*/
UART0_ParaInit();
/****载波初始化****/
EIE = 0x01; /*使能INT2中断*/
IT2 = 1; /*边沿触发方式*/
EIP = 0x01; /*外部中断2为高优先级*/
EXT_ADR = 0x1e;
EXT_DAT = 0x5a; /*打开写保护*/
EXT_ADR = 0x0d;
EXT_DAT = 0x00; /*选择速率为500bps,方波形式,清载波唤醒*/
EXT_ADR = 0x0c;
EXT_DAT = 0x30; /*门限值30*/
EXT_ADR = 0x1e;
EXT_DAT = 0x00; /*关闭写保护*/
PLM_SSC = 1; /*载波使能*/
PLM_RS = 0; /*接收状态*/
PLM_RST = 0xa2;
ZB_ParaInit();
/****脉冲检测初始化****/
PULSE_Init();
/****指示灯****/
LED_485 = 1;
LED_ZB = 1;
EA = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -