首页 51单片机与PC串口通信程序及硬件电路图

51单片机与PC串口通信程序及硬件电路图

举报
开通vip

51单片机与PC串口通信程序及硬件电路图51单片机与PC串口通信程序及硬件电路图 2009-10-16 10:18 #include #define BUFFERLEGTH 10 //----------------------------------------------------------------- void UART_init(); //串口初始化函数 void COM_send(void); //串口发送函数 char str[20]; char j; //-------------------------------...

51单片机与PC串口通信程序及硬件电路图
51单片机与PC串口通信程序及硬件电路图 2009-10-16 10:18 #include #define BUFFERLEGTH 10 //----------------------------------------------------------------- void UART_init(); //串口初始化函数 void COM_send(void); //串口发送函数 char str[20]; char j; //------------------------------------------------------------------- void main(void) { unsigned char i; UART_init(); j=0; //初始化串口 for(i = 0;i < 10 ;i++) { COM_send(); //首先发送一次数据作为测试用 }; while(1); } //------------------------------------------------------------- //------------------------------------------------------------------- ------------------------------- // 函数名称: UART_init()串口初始化函数 // 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s // 串口接收中断允许,发送中断禁止 //------------------------------------------------------------------- ------------------------------- void UART_init() { //初始化串行口和波特率发生器 SCON =0x50; //选择串口工作方式1,打开接收允许 TMOD =0x20; //定时器1工作在方式2,定时器0工作在方式1 TH1 =0xfA; //实现波特率9600(系统时钟11.0592MHZ) PCON = 0x80; TR1 =1; //启动定时器T1 ET1 =0; ES=1; //允许串行口中断 PS=1; // 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 串行口中断优先级 EA =1; //单片机中断允许 } //------------------------------------------------------------ void COM_send(void) { unsigned char point = 0; for(point=0;str[point]!='\0';point++) //连续发送二十位数据 //把缓存区的数据都发送到串口 { SBUF=str[point]; while(!TI); TI=0; //str[point]='\0'; } } //-------------------------------------------------------------- //------------------------------------------------------------------- ------------------------------- // 函数名称: com_interrup()串口接收中断处理函数 // 函数功能: 接收包括起始位'S'在内的十位数据到数据缓冲区 //------------------------------------------------------------------- ------------------------------- void com_interrupt(void) interrupt 4 using 3 { unsigned char RECEIVR_buffer; bit flag=1; if(RI) //处理接收中断 { RI=0; //清除中断标志位 RECEIVR_buffer=SBUF; //接收串口数据 str[j]=SBUF; if (RECEIVR_buffer == '$') { ES=0; str[j]='\0'; SCON =0x40; //接收不允许 COM_send(); //发送数据 ES=1; j=0; flag=0; SCON=0x50; //接收允许 } if(flag) j++; } }
本文档为【51单片机与PC串口通信程序及硬件电路图】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_353097
暂无简介~
格式:doc
大小:46KB
软件:Word
页数:4
分类:互联网
上传时间:2017-10-16
浏览量:55