当前位置:首页 > 单片机 > 单片机
[导读]/*RS232 driver*///#include"D:\\Design\\Programming\\RS232.h" /*引用地址*/#include#define uchar unsigned char#define uint unsigned int////////////////////////用户接口///////////////////////////void RS232_

/*
RS232 driver
*/

//#include"D:DesignProgrammingRS232.h" /*引用地址*/

#include


#define uchar unsigned char

#define uint unsigned int

////////////////////////用户接口///////////////////////////

void RS232_ini(/*uint speed*/);

void RS232_send(uchar word);

uchar RS232_rec_buffer; //数据接收变量

bit RS232_rec_flag; //接受标志~需手动置0

//////////////////////////////////////////////////////////

///////串口接收中断函数,主函数必须定义一全局变量 unsigned char RS232_rec_buffer;//////////////
///////////////////////////////////////////////和 bit RS232_rec_flag; ////////////////////

void RS232_rec() interrupt 4 using 2//串口中断服务程序
{
RS232_rec_buffer=SBUF;//接收数据

delayms(1);

RS232_rec_flag=1; //接受标志~需手动置0

RI=0;
}

////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////串口发送函数/////////////////////////////////////////////////
void RS232_send(uchar word)
{
SBUF=word;
while(TI==0);
TI=0;

}
//////////////////////////////////////////////////////////////////////////////////////////////


void RS232_ini(/*uint speed*/) //速度还没有作转换
{

TMOD=0x21; // T/C1工作在方式2(8位自装入)用于产生波特率

TH1=0xF3; //波速率为2400

TL1=0xf3;

TR1=1;

EA=1;

SCON=0XD0; //0xD0=11010000 方式3,允许接收

ES=1;//串口使能中断

}


//包含LCD1602.h时 去掉 void delayms(unsigned int i) body
/*
void delayms(unsigned int i)
{
unsigned int j;
for(;i>0;i--)
for(j=200;j>0;j--);
}

*/


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭