/*
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; //數(shù)據(jù)接收變量
bit RS232_rec_flag; //接受標志~需手動置0
//////////////////////////////////////////////////////////
///////串口接收中斷函數(shù),主函數(shù)必須定義一全局變量 unsigned char RS232_rec_buffer;//////////////
///////////////////////////////////////////////和 bit RS232_rec_flag; ////////////////////
void RS232_rec() interrupt 4 using 2//串口中斷服務(wù)程序
{
RS232_rec_buffer=SBUF;//接收數(shù)據(jù)
delayms(1);
RS232_rec_flag=1; //接受標志~需手動置0
RI=0;
}
////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////串口發(fā)送函數(shù)/////////////////////////////////////////////////
void RS232_send(uchar word)
{
SBUF=word;
while(TI==0);
TI=0;
}
//////////////////////////////////////////////////////////////////////////////////////////////
void RS232_ini(/*uint speed*/) //速度還沒有作轉(zhuǎn)換
{
TMOD=0x21; // T/C1工作在方式2(8位自裝入)用于產(chǎn)生波特率
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--);
}
*/