预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(完整版)c51单片机从串口接收发送字符串(完整版)c51单片机从串口接收发送字符串(完整版)c51单片机从串口接收发送字符串c51单片机从串口接收发送字符串#include〈reg52。h>#defineucharunsignedchar#defineuintunsignedintuchardatatable[10];//暂存数组,可以将10改为你需要的数值/***********************************************串行口初始化波特率9600,定时器1,工作方式2*************************************************/voidserial_init(void){TMOD=0x20;//计时器1作为比特率发生器,方式2TH1=0xfd;TL1=0xfd;//装入初值TR1=1;//计时中断允许SM0=0;SM1=1;//串行口工作于方式2ES=1;//串行口中断允许REN=1;//接收允许EA=1;//总中断允许}/***********************************************串行口传送数据传送显示数组各字符给计算机*************************************************/voidsend(uchar*dis){while(*dis!='\0’){SBUF=*dis;dis++;while(!TI);TI=0;//软件请发送中断}}voidmain(){serial_init();//初始化while(SBUF!=0x0d);//计算机键盘按下回车键,则开始将接收到的数据回传给计算机send(table);}/***********************************************串行中断服务函数单片机接收数据,存入table数组*************************************************/voidserial()interrupt4{inti;ES=0;//关串口中断table[i++]=SBUF;//命令存到命令数组RI=0;//软件清除接收中断ES=1;//开串口中断}已经通过proteus仿真如下