单片机串口通信程序

时间:2023-03-19作者:佚名

单片机串口通信是单片机非常好用的一项功能,可以和电脑和其他的单片机进行通信和交换数据从而达到某种效果。近期我们做了个程序:利用单片机串口通信编译一个程序在打开时向电脑发送问候语“hello”,然后电脑输入一个“start”,之后单片机将电脑输入任何字符都显示出来,除非是电脑输入为“end”。起初我们是想用字符串和数组来做这个题目的,但是在开始做的时候才发现,单片机的传输使用八位的一个一个的传输数据的,然后在传输之前还得将端口软件置零、这时候我们就选用了嵌套语句一个一个字符串的来判断,但是因为嵌套的对于单片机通信说不是很适合。如:在用五个if语句检测start是,如果其中少了一个(只有四个字符),这个程序就会卡住,不执行下一条:

#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar tang[20]="woshitangqun";
uint i,j;uint count=0;
uchar temp,qun,bao,m,n;
void t();void a();
void main()
{j=0;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
SM0=0;SM1=1;
ET0=1;
TR1=1;ES=1;
REN=1;
while(1)
{
if(j==0) //单片机问候,向电脑发送一个字符串,表示单片机已经准备好工作了
{
for(i=0;i<20;)
{
SBUF=tang[i];
while(TI==0);
i ;
TI=0;
j ;
}
}
t();
}
}
void t()
{ while(RI==0);
RI=0;
if(SBUF=='s')
{ /* SBUF='s';
while(TI==0);
TI=0;*/
while(RI==0);RI=0;
if(SBUF=='s')a(); //调用a(),是为了解决ssstart和sstart的问题
if(SBUF=='t')
{
/*SBUF='t'; //发送到屏幕
while(TI==0);TI=0;*/
while(RI==0);RI=0;
if(SBUF=='a')
{
/*SBUF='a'; //发送到屏幕
while(TI==0);
TI=0;*/
while(RI==0);RI=0; //接收字符,并用下面的if语句判断
if(SBUF=='r')
{
/*SBUF='r'; //发送到屏幕,如果想要讲命令显示在屏幕上的话,就可以将这一句用上
while(TI==0);TI=0;*/
while(RI==0);RI=0;
if(SBUF=='t')
{
/*SBUF='t'; //发送到屏幕
while(TI==0);TI=0;*/
while(1)
{n=0;

while(RI==0);RI=0;temp=SBUF; //接收一个字符,赋值给temp;
if(SBUF=='e') //判断是否是e,若否则用else输出,是则近入if语句
{
while(RI==0)
{for(m=0;m<100;m );count ;}
RI=0; //若传输完毕,则给RI赋值,
bao=SBUF; //把传入的值赋给bao

相关阅读

热销商品

连发瓦斯枪通用瓦斯射钉钢钉枪瓦斯气体高强度瓦斯射钉枪165气罐

连发瓦斯枪是一款专为高强度瓦斯射钉设计的工具,其特点在于能够连续发射瓦斯气体,适用于多种需要快速穿透和固定材料的场景。这款瓦斯枪配备了165气罐,容量足够满足...
4.5

黄铜镀镍金属电缆防水接头EWM密封格兰头HSM电线固定填料函M20M16

黄铜镀镍金属电缆防水接头EWM密封格兰头(HSM型)是一款高性能电线固定与密封装置,适用于M16和M20螺纹规格。采用优质黄铜材质并表面镀镍处理,具备优异的防腐蚀性、机械...
1.14

消防配件二氧化碳灭火器2 3 5 7KG弯头喷管24Kg干冰CO2外喷头喷嘴

二氧化碳灭火器配件中的2357KG弯头喷管与24Kg干冰CO₂外喷头喷嘴,是专业消防设备的重要组成部分。该弯头喷管采用高强度耐腐蚀材料制造,连接灵活,适用于高压CO₂灭火...
4.5

雷士照明led筒灯孔灯客厅吊顶天花灯嵌入式过道筒灯射灯桶灯家用

雷士照明LED筒灯是一款专为现代家居设计的嵌入式照明产品,适用于客厅、吊顶、过道、卧室等空间。采用高品质LED光源,光线柔和均匀,显色指数高,有效还原真实色彩,营造舒...
5.78

雷士照明嵌入式防眩筒灯射灯窄边过道灯深杯客厅无主灯天花灯米雪

雷士照明嵌入式防眩筒灯射灯——“米雪”系列,专为现代无主灯设计打造。采用窄边深杯结构,有效控制杂散光,实现精准防眩,营造舒适柔和的光环境。适用于客厅、过道、天...
25.67

网站栏目