单片机技术C51串口输出输入函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机技术C51串口输出输入函数

*51 串口输出输入函数外部声明ComFun.h----------------------------------------*/#include

//串口初始化晶振为11.0592M方式1 波特率300-57600void InitCom(unsigned char BaudRate){unsigned char THTL;switch (BaudRate){case 1: THTL = 64; break; //波特率300case 2: THTL = 160; break; //600case 3: THTL = 208; break; //1200case 4: THTL = 232; break; //2400case 5: THTL = 244; break; //4800case 6: THTL = 250; break; //9600case 7: THTL = 253; break; //19200case 8: THTL = 255; break; //57600default: THTL = 208;}SCON = 0x50; //串口方式1,允

许接收TMOD = 0x20; //定时器1 定时方式2TCON = 0x40; //设定时器1 开始计

数TH1 = THTL;TL1 = THTL;PCON = 0x80; //波特率加倍控制,SMOD 位RI = 0;

//清收发标志TI = 0;TR1 = 1; //启动定时器}

//向串口输出一个字符(非中断方式)void ComOutChar(unsigned char OutData) {SBUF = OutData; //输出字符while(!TI); //空语句判断字符是否发完TI = 0; //清

TI}

//向串口输出一个回车换行void ComOutEnter(void){SBUF = 0x00;while(!TI);

TI = 0;SBUF = 0x0A;while(!TI);TI = 0;}

//向串口输出一个字符串(非中断方式)void ComOutStr(unsigned char *Str) {while(*Str != 0x00) //判断是否到了字符串的尾部{SBUF = *Str; //输出字符

while(!TI); //空语句判断字符是否发完TI = 0; //清TIStr++; //字符串指针加一}}

//从串口接收一个字符(非中断方式)unsigned char ComInChar(){unsigned char InData;while(!RI); //空语句判断字符是否收完InData = SBUF; //保存COM 缓冲

字符RI = 0; //清RIreturn (InData); //返回收到的字符}

相关文档
最新文档