C51单片机串口的使用方法解析.doc

上传人:白大夫 文档编号:3250179 上传时间:2019-08-06 格式:DOC 页数:4 大小:19.50KB
返回 下载 相关 举报
C51单片机串口的使用方法解析.doc_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C51单片机串口的使用方法解析.doc》由会员分享,可在线阅读,更多相关《C51单片机串口的使用方法解析.doc(4页珍藏版)》请在三一文库上搜索。

1、C51单片机串口的使用方法解析很多朋友在使用单片机串口的时候存在着一定的问题,我根据自己的经验,给大家总结如下:串口调试经过调试,以上功能基本实现,目前可以通过上位机对单片机进行实时控制。程序如下:这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的。i ncludei ncludei nclude#define INBUF_LEN 4 /数据长度unsigned char inbuf1INBUF_LEN;unsigned char checksum,count3 , flag,temp,ch;bit

2、read_flag=0;sbit cp=P1;sbit DIR=P1;int i;unsigned int xdata *RAMDATA; /*定义RAM地址指针*/unsigned char a6 =0x11,0x22,0x33,0x44,0x55,0x66 ;void init_serialcomm(void)SCON=0x50; /在11.0592MHz下,设置串行口波特率为9600,方式1,并允许接收PCON=0x00;ES=1;TMOD=0x21; /定时器工作于方式2,自动装载方式TH0=(65536-1000)%256;TL0=(65536-1000)/256;TL1=0xfd;

3、TH1=0xfd;ET0=1;TR0=1;TR1=1;/ TI=0;EA=1;/ TI=1;RAMDATA=0x1F45;void serial () interrupt 4 using 3if(RI) RI=0;ch=SBUF;TI=1; /置SBUF空switch(ch)case 0x01 :printf(“A”); TI=0;break;case 0x02 :printf(“B”); TI=0;break;case 0x03 :printf(“C”); TI=0;break;case 0x04 :printf(“D”); TI=0;break;default :printf(“fg”);

4、 TI=0;break;/向串口发送一个字符void timer0() interrupt 1 using 3/ char i;flag+;TH0=0x00;TL0=0x00;if(flag=10)/ cp=!cp;/ for(i=0;i6;i+)P2=0x25;TI=1;temp=*RAMDATA;printf(“%c”,temp);TI=0;/ RAMDATA-;flag=0;/主程序main()init_serialcomm(); /初始化串口/向6264中送数据*RAMDATA=0x33;while(1)*RAMDATA=0x33;调试过程中遇到的问题:1.发送过程:在发送时必须保证TI=1:即发送缓冲器为空,否则将导致数据发不出去,如果想强制发送可以用:TI=1.具体发送数据:利用printf(“akjdfaklfj”);函数直接发送即可。2.接收过程:在接收时多选用中断方式,这样可以节约CPU的时间,提高效率。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1