📄 init.c
字号:
// MCU initializtion
#include "init.h"
#include "W77E58.h"
void McuInit(void)
{
//(CD1,CD0,SWB,-,XTOFF,ALE-OFF,-,DEM0)
PMR = 0x45; //=01000101 可访问片上SRAM
//WD1,WD0,T2M,T1M,T0M,MD2,MD1,MD0)
CKCON = 0xC1; //11 000 100
DPS = 0; //Use: DPTR0
TMOD = 0x21;
T2MOD = 0x00; //INT2~5 Flag is Auto Clean
PCON = 0x00; //SET SMOD=1
SMOD_1= 0; //SET SMOD1=1 系统将串口模式1,2,3的波特率加倍
IE = 0x52; //52H=01010010B(EA,ET2,ET1=0)
EIE = 0x00; //01H=00010000B(Only EWDI=1 看门狗中断开)
TH0 = 0x00; //9216*τo=10mS
TL0 = 0x00; //τo=(12/11.0592)uS
//串口二波率发生器T1:
TH1 = 0xFD; //19200 bps of 11.0592MHz
TL1 = 0xFD;
//串口一波特率发生器T2:
T2CON = 0x34; //0011 0100B
TH2 = 0xFF; //S0
TL2 = 0xDC; //9600 bps of 11.0592MHz
RCAP2H= 0xFF; //S0
RCAP2L= 0xDC; //9600 bps of 11.0592MHz
SCON0 = 0x50; //01010000B
SCON1 = 0x50; //01010000B
TA=0xAA;
TA=0x55;
WDCON = 0x42; //看门狗定时器设置
EA = 1; //全局中断使能
TR0 = 1; //定时器0启动
TR1 = 1; //定时器1启动
TR2 = 1; //定时器2启动
ES1 = 0; //串行口1中断使能
ES = 0; //串行口0中断使能
ET0 = 1; //定时器0中断使能
// TA=0xAA;
// TA=0x55;
// EWDI = 1; //看门狗定时器中断使能
TI = 0;
TI1 = 0;
PT0 = 1;
PS0 = 1;
PS1 = 0;
}
void initdata(void)
{
PDAMACAdd[0][0] = '0';
PDAMACAdd[0][1] = '0';
PDAMACAdd[0][2] = '0';
PDAMACAdd[0][3] = '2';
PDAMACAdd[0][4] = 'C';
PDAMACAdd[0][5] = '7';
PDAMACAdd[0][6] = '3';
PDAMACAdd[0][7] = 'E';
PDAMACAdd[0][8] = 'B';
PDAMACAdd[0][9] = 'A';
PDAMACAdd[0][10] = 'B';
PDAMACAdd[0][11] = 'E';
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -