📄 51lib.c
字号:
#include "reg52.h"
#include "51LIB.h"
#if USE_UART
#if ((Uart_MODE==1||Uart_MODE==3)&&(TimeX==1||TimeX==2))
void Init_Uart(unsigned char Th,unsigned char Tl)
{PCON|=0x80;
SCON|=(Uart_MODE<<6)|((unsigned char)En_Mutiple<<5)|((unsigned char)En_Receive<<4);
if(TimeX==1)
{TMOD|=0x20;
TH1=Th;
TL1=Tl;
TR1=1;
}
else if(TimeX==2)
{T2CON = 0x3C;
RCAP2L = Tl;
RCAP2H = Th;
TL2 = Tl;
TH2 = Th;
TR2 = 1;
}
if(En_Interrupt)
ES = 1;
EA=1;
}
#else
#error Please check MODE or TimeX setup of Uart
#endif
#if USE_UART_LIB
char putchar (char c) {
REN=TI = 0;
SBUF = c;
while (!TI);
TI = 0;
if (c == '\r') {
SBUF = '\n';
while (!TI);
TI = 0;
}
if (c == '\b') {
SBUF = ' ';
while (!TI);
TI = 0;
SBUF = '\b';
while (!TI);
TI = 0;
}
REN=1;
return SBUF;
}
#else
char putchar (char c)
{c=c;return 0;}
#endif
#endif
#if USE_TIME
void Init_TCX(unsigned char TC_PORT,unsigned char TC_MODE,unsigned char th,unsigned char tl,bit TC )
{if(TC==0)
{if(TC_PORT==0)
{TMOD&=0xf0;TMOD|=TC_MODE;
TH0=th;TL0=tl;ET0=1;TR0=1;
}
else if(TC_PORT==1)
{TMOD&=0x0f;TMOD|=TC_MODE<<4;
TH1=th;TL1=tl;ET1=1;TR1=1;
}
EA=1;
}
else
{if(TC_PORT==0)
{TMOD&=0xf0;TMOD|=(TC_MODE|(unsigned char)TC<<2);
TH0=0;TL0=0;TR0=1;
}
else if(TC_PORT==1)
{TMOD&=0x0f;TMOD|=((TC_MODE<<4)|(unsigned char)TC<<2);
TH1=0;TL1=0;TR1=1;
}
EA=1;
}
}
#if USE_TIME_LIB
void Close_TC(unsigned char port)
{if(port==0)TR0=0;
else if(port==1)TR1=0;
}
unsigned int Read_TC(unsigned char port)
{unsigned int value=0;
if(port==0){value=(unsigned int)((TH0&0xff)<<8|TL0);TH0=TL0=TR0=0;}
else if(port==1){value=(unsigned int)((TH1&0xff)<<8|TL1);TH1=TL1=TR1=0;}
return value;
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -