⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.c

📁 用51单片机开发的GSM报警程序
💻 C
字号:
#include <REG51.h>



#define uchar_code unsigned char code
#define uchar unsigned char 
#define SELInt_on() ES=1       //串行口中断允许
#define SELInt_off() ES=0      //串行口中断禁止

void Ser_Init(void)
{
	TMOD=0x20;             //定时器1为8位自动加载
	TH1=0xfd;              //波特率为9600
	TL1=0xfd;
	TR1=1;                //启动定时器
	SCON|=0x50;
	PCON&=0x7f;           //波特率为1倍
	ES=1;                 //串行口中断允许
	EX0=1;              // INT0中断开
	IT0=1;              // INT0下降沿触发(为0则为低电平触发)
	EA=1;                  //总中断打开
}

void Ser_TxDchar(uchar ch)     // 串口发送字符
{
	SELInt_off();
	TI=0;
 	SBUF=ch;
 	while(!TI);
 	TI=0;
	SELInt_on();
}



void Ser_TXDstring(uchar *p,uchar lenth)  //串口发送字符串
{
	while(lenth--)
	Ser_TxDchar(*p++);
}

/*
Ser_Revchar(void)        //串口接收字符
{
	SELInt_off();
	if(RI==1)
	RI=0;
	return SBUF;
	SELInt_on();
}

Ser_Revsting(void)
{
	Rev_Buf[Rev_count++]=Ser_Revchar();
}

*/
/*
void Ser_Rev(void) interrupt 4 using 1//中断接收
{
	SELInt_off();
  	RI=0;
	Rev_Buf[Rev_count++]=SBUF;
	if(Rev_count=Rev_BufSIZE)
	{
		Rev_count=0;
	}
	SELInt_on();
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -