uart0.c
来自「51单片机上网的引导代码」· C语言 代码 · 共 55 行
C
55 行
#include "REG516.H"
#include "def.h"
extern WORD data Rec_length;
extern BYTE data Rec_sum;
//------------------------------
void initSERIAL(void)
{
///////////////////////////////////////////////////////////////////////////
//-if you need isd(in system debugger)you need add the list code in your main
//--------------add for serial bebug s0----------zhzhl-------
SCON = 0x50; /* enable serial uart & receiver s0,mode 1 */
PCON = PCON | 0x80;
TMOD|=0X20; //TIMER1: MODE 2, ;
TH1=247; //32.768M-->18963
TL1=247;
TR1=1; //TIMER1 START;
//-----------end of s0 initial ----------------------------
ES=1;
}
//---------------------------------------
void Uart0_print(char *p)
{
ES=0; //disabe uart0 interrupt;
TI=1;
while(*p)
while(TI)
{
TI=0;
SBUF=(*p);
++p;
}
while(!TI);
TI=0;
ES=1;
}
//--------------------------------------------------------
void INT_S0(void) interrupt 4
{
BYTE data tmp;
if(RI)
{
RI=0;
tmp=SBUF;
*((BYTE xdata *)Rec_length++)=tmp;
Rec_sum+=tmp;
// TI=0;
// SBUF=tmp;
// while(!TI);
}
else
TI=0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?