下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 单片机串口通信程序

单片机串口通信程序.doc

单片机串口通信程序

黄杰雄
2017-10-22 0人阅读 举报 0 0 暂无简介

简介:本文档为《单片机串口通信程序doc》,可适用于综合领域

单片机串口通信程序单片机串口通信是单片机非常好用的一项功能可以和电脑和其他的单片机进行通信和交换数据从而达到某种效果。近期我们做了个程序:利用单片机串口通信编译一个程序在打开时向电脑发送问候语“hello”然后电脑输入一个“start”之后单片机将电脑输入任何字符都显示出来除非是电脑输入为“end”。起初我们是想用字符串和数组来做这个题目的但是在开始做的时候才发现单片机的传输使用八位的一个一个的传输数据的然后在传输之前还得将端口软件置零、这时候我们就选用了嵌套语句一个一个字符串的来判断但是因为嵌套的对于单片机通信说不是很适合。如:在用五个if语句检测start是如果其中少了一个(只有四个字符)这个程序就会卡住不执行下一条:#includeregh#includeintrinsh#defineucharunsignedchar#defineuintunsignedintuchartang=“woshitangqun”uinti,juintcount=uchartemp,qun,bao,m,nvoidt()voida()voidmain(){j=TMOD=xTH=xfdTL=xfdSM=SM=ET=TR=ES=REN=while(){if(j==)单片机问候向电脑发送一个字符串表示单片机已经准备好工作了{for(i=i){SBUF=tangiwhile(TI==)iTI=j}}t()}}voidt(){while(RI==)RI=if(SBUF==„s){*SBUF=„swhile(TI==)TI=*while(RI==)RI=if(SBUF==„s)a()调用a()是为了解决ssstart和sstart的问题if(SBUF==„t){*SBUF=„t发送到屏幕while(TI==)TI=*while(RI==)RI=if(SBUF==„a){*SBUF=„a发送到屏幕while(TI==)TI=*while(RI==)RI=接收字符并用下面的if语句判断if(SBUF==„r){*SBUF=„r发送到屏幕,如果想要讲命令显示在屏幕上的话就可以将这一句用上while(TI==)TI=*while(RI==)RI=if(SBUF==„t){*SBUF=„t发送到屏幕while(TI==)TI=*while(){n=while(RI==)RI=temp=SBUF接收一个字符赋值给tempif(SBUF==„e)判断是否是e若否则用else输出是则近入if语句{while(RI==){for(m=mm)count}RI=若传输完毕则给RI赋值bao=SBUF把传入的值赋给bao

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/2

单片机串口通信程序

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利