📄 init.h
字号:
#define timer0_13bit TMOD&=0xf0;
#define timer0_16bit TMOD&=0xf0;//TMOD|=0x01;
#define timer0_auto_reload TMOD&=0xf0;//TMOD|=0x02;
#define timer1_13bit TMOD&=0x0f;
#define timer1_16bit TMOD&=0x0f;//TMOD|=0x10;
#define timer1_auto_reload TMOD&=0x0f;//TMOD|=0x20
#define timer2_auto_reload CP_RL=0;
#define timer2_capture CP_RL=1;
#define timer2_extern_enable EXEN2=1;
#define timer2_extern_disable EXEN2=0;
#define timer0_stop TR0=0
#define timer1_stop TR1=0
#define timer2_stop TR2=0;
#define timer0_start TR0=1
#define timer1_start TR1=1
#define timer2_start TR2=1;
#define enable() EA=1
#define disable() EA=0
#define int_timer0() TF0=1
#define int_timer1() TF1=1
#define int_timer2() TF2=1
#define int1_priority_high PX1=1
#define int1_priority_low PX1=0
#define int0_priority_high PX0=1
#define int0_priority_low PX0=0
#define serial_priority_high PS=1
#define serial_priority_low PS=0
#define serial1_priority_high PS1=1
#define serial1_priority_low PS1=0
#define timer0_priority_high PT0=1
#define timer0_priority_low PT0=0
#define timer2_priority_high PT2=1
#define timer2_priority_low PT2=0
#define int0_falling_edge IT0=1
#define int1_falling_edge IT1=1
#define int0_int_enable EX0=1
#define int1_int_enable EX1=1
#define timer0_int_enable ET0=1
#define timer1_int_enable ET1=1
#define timer2_int_enable ET2=1
#define serial_int_enable ES=1
#define serial1_int_enable ES1=1
#define int0_int_disable EX0=0
#define int1_int_disable EX1=0
#define timer0_int_disable ET0=0
#define timer1_int_disable ET1=0
#define timer2_int_disable ET2=0
#define serial_int_disable ES=0
#define serial1_int_disable ES1=0
//定义波特率
#define serial_baud_double PCON=PCON|0x80;
#define serial_baud_1200 TMOD&=0x0f;TMOD|=0x20;TH1=0xe8;TR1=1;
#define serial_baud_2400 TMOD&=0x0f;TMOD|=0x20;TH1=0xf4;TR1=1;
#define serial_baud_4800 TMOD&=0x0f;TMOD|=0x20;TH1=0xfa;TR1=1;
#define serial_baud_9600 TMOD&=0x0f;TMOD|=0x20;TH1=0xfd;TR1=1;
#define serial_baud_19200
#define TMOD&=0x0f;
#define TMOD|=0x20;
#define TH1=0xfd;
#define TR1=1;
#define PCON=PCON|0x80;
#define serial0_baud_1200 T2CON=0x34;RCAP2H=0xfe;RCAP2L=0xe0
#define serial0_baud_2400 T2CON=0x34;RCAP2H=0xff;RCAP2L=0x70
#define serial0_baud_4800 T2CON=0x34;RCAP2H=0xff;RCAP2L=0xb8
#define serial0_baud_9600 T2CON=0x34;RCAP2H=0xff;RCAP2L=0xdc
#define serial0_baud_19200 T2CON=0x34;RCAP2H=0xff;RCAP2L=0xee
#define serial1_baud_1200 TMOD&=0x0f;TMOD|=0x20;TH1=0xe8;TR1=1
#define serial1_baud_2400 TMOD&=0x0f;TMOD|=0x20;TH1=0xf4;TR1=1
#define serial1_baud_4800 TMOD&=0x0f;TMOD|=0x20;TH1=0xfa;TR1=1
#define serial1_baud_9600 TMOD&=0x0f;TMOD|=0x20;TH1=0xfd;TR1=1
#define serial1_baud_19200
TMOD&=0x0f;
TMOD|=0x20;
TH1=0xfd;
TR1=1;
WDCON=WDCON|0x80
#define serial_uart8 SM0=0;SM1=1;SM2=0
#define serial0_uart8 SM0=0;SM1=1;SM2=0
#define serial1_uart8 SM0_1=0;SM1_1=1;SM2_1=0
#define serial_uart9 SM0=1;SM1=1;TR1=1
#define serial_receive_enable REN=1
#define serial0_receive_enable REN=1
#define serial1_receive_enable REN_1=1
#define timer2_speed_3 CKCON|=0x20
#define timer1_speed_3 CKCON|=0x10
#define timer0_speed_3 CKCON|=0x08
#define use_inter_SRAM PMR|=0x01
#define use_extern_PORT PMR&=(0x01^0xff)
#define movx_ins_9 CKCON|=0x03;
void IntTH0(void) interrupt 3
{
#if BAUD_RATE==2400
RELOAD(TH0,0x80);
#endif
if(tSmpCnt-- == 0)
{
tSmpCnt=2;
if(tTI) return;
switch(TxdCnt++)
{
case 0:
tTXD=0;
break;
case 9:
tTXD=1;
tTI=1;
TxdCnt=0;
break;
default:
tTXD=tSBUF&0x01;
tSBUF>>=1;
break;
}
}
}
void RxdInt0(void) interrupt 0
{
#if BAUD_RATE==2400
TL0=0xef;
#else
TL0=0xaf;
#endif
TF0=0;
rSmpCnt=1;
}
void IntTL0(void) interrupt 1
{
#if BAUD_RATE==2400
RELOAD(TL0,1);
#endif
if(rSmpCnt-- == 0)
{
rSmpCnt=2;
switch(RxdCnt++)
{
case 0:
if(rRXD==1) RxdCnt=0;
break;
default:
if(RxdCnt>9){ RxdCnt=0;return;}
rSBUF0>>=1;
rSBUF0|=rRXD?0x80:0;
break;
case 9:
RxdCnt=0;
if(rRXD==0) return;
rSBUF=rSBUF0;
rRI=1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -