欢迎来到天天文库
浏览记录
ID:57395562
大小:177.50 KB
页数:2页
时间:2020-08-15
《uart发送和接收字符串(可proteus仿真).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//此程序主要用于uart发送字符和字符串(proteus终端不能显示汉字,但串口助手可以),输入换行符结束#includevoiduart_init(void);//串行口初始化unsignedchargetbyte(void);voidsendbyte(unsignedcharc);voidsendstring(unsignedchar*string);voidgetstring(unsignedchar*string);intmain(void){unsignedcharc,string[100];uart_init();while(1){//发
2、送字符c=getbyte();sendbyte(c);//换两行sendbyte('r');//'r'为终端换行符sendbyte('r');//发送字符串getstring(string);sendstring(string);}return0;}voiduart_init(void){TMOD=0x20;//即00100000,定时器/计数器1,工作方式2TH1=0xfd;//设置波特率为9600TL1=0xfd;TR1=1;//启动定时器/计数器1SCON=0x50;//01010000.串口工作方式1,允许串行控制PCON=0x00;//设置SMOD=0I
3、E=0X90;//CPU允许中断,串行允许中断}voidsendbyte(unsignedcharc){SBUF=c;while(!TI);//等待发送完成TI=0;}unsignedchargetbyte(void){unsignedcharc;while(!RI);//等待接收器不忙c=SBUF;RI=0;returnc;}voidsendstring(unsignedchar*string)//此处*string相当于数组{while(*string!=' ')//判断是否到字符串末尾{sendbyte(*string);string++;}}voidgetst
4、ring(unsignedchar*string)//读取字符串存入string中{while((*string=getbyte())!='r')//换行符结束输入{string++;}}下面是proteus仿真图(虚拟终端不能发送和显示汉字,但串口助手可以)
此文档下载收益归作者所有