导航:首页 > 操作系统 > 单片机串口

单片机串口

发布时间:2022-01-13 16:30:34

1. 单片机,什么是串行口,什么是并行口

两种接口都是用来传送二进制数据的接口形式。

串行接口,一般有一根时钟线,一根数据线,一个时钟周期传送二进制1位,要传送一个字节至少需要8个时钟周期,串行线根数少,远程传输抗干扰能力强,成本低。

并行接口,比如8位并行接口,除具备时钟线外,还有8根数据线,另外还有几根辅助信号线,一个时钟8位数据全部可传送完毕,并行线根数多,电缆成本高、容易受干扰因而距离受限(电缆长度受限)。

(1)单片机串口扩展阅读:

单片机的硬件特性:

1、主流单片机包括CPU、4KB容量的RAM、128 KB容量的ROM、 2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。

2、系统结构简单,使用方便,实现模块化。

3、单片机可靠性高,可工作到10^6 ~10^7小时无故障。

4、处理功能强,速度快。

5、低电压,低功耗,便于生产便携式产品。

6、控制功能强。

7、环境适应能力强。

2. 单片机串口通信程序

串口部分没有对,你好好看看串行口控制器SCON里面RI和TI的用法。TI=1不是启动发送,而是表示发送完毕。一般来说,发送一个数据,可以这样写:

voidSend_Char(charp)
{
SBUF=p;
while(!TI);
TI=0;
}
发送一串数据,假设是p[],那么程序代码可以这样写:
voidSend_Str(char*p)
{
chari=0;
while(p[i]!='')
{
SBUF=p[i];
while(!TI);
TI=0;
i++;
}
}

3. 怎么配置单片机串口

最近测试涉及到底层串口代码的修改。经过这次修改,突然发现其实自己对于串口的一些特性以前并不是十分清楚。
首先遇到的一些问题:
1)在使用IO的数据位的时候,没有考虑校验位所占的位数。
2)在设置串口输入的时候,使用悬空输入。
关于1),在一次使用STM32串口参数9600,N,8,1与另一个 8051MCU通信的时候发现偶校验没有问题,但是无校验通信就出现异常。但是,当将STM32与电脑通信的时候,偶校验与无校验通信又完全都是正确的。8051MCU单独与电脑通信也都是完全正确的。查看代码,还真不知道有什么不对劲的。因为这段代码,用了很长时间了。后来一个同事看代码后,提醒说对于数据位的设置,偶校验和无校验是一致的,既然没有数据位,有可能会少一位。从这点看,这段代码可以修改看看。于是在这个地方,将偶校验的时候数据位长度设置为9bit,无校验的时候设置为8bit。重新测试,发现通信正常了。

4. 简述单片机串行口的工作方式

89系列单片机的串行通信有4种工作方式:

1、方式0是同步移位寄存器方式,帧格式8位,波特率固定为fosc/12。

2、方式1是8位异步通信方式,帧格式10位,波特率可变:T溢出率/n(n= :32或16)。

3、方式2是9位异步通信方式,帧格式11位,波特率固定: fosc/n(n=32 或16)。

4、方式3是9位异步通信方式,帧格式11位,波特率可变:T溢出率(m=32或16)。

方式1、2、3的区别主要表现在帧格式及波特率两个方面。

单片机应用范围:

单片机渗透到我们生活的各个领域。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制等等。

还有自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

5. 单片机 串口

错,RI是要手动去清0的
当单片机接收完一个字节后,RI自动变为1,同时程序自动进入中断程序,再中断程序里需要将RI清0,否则中断程序退出后,即使没有再次收到字节,因为RI仍为1,会再进进入中断引起错误。
所以RI=0开始接收是不对的,什么时候开始接收你不知道的,只有接收完一个字节后你才能知道。
单片机是每收完一个字节就中断一次

6. 单片机串口通信

不就是发送两个ASCII码字符嘛,你想复杂了吧

7. 单片机串口作用

进行两线制通信,通过电平转换(MAX232)可与计算机通信
也可单片机间相互通信

8. 单片机串口通信

“比如P1=SBUF;按照常理说应该是。发送数据才对啊。通过电脑给SBUF赋值,然后在送入P1口。”
SBUF在等号右边,你什么时候见过赋值放到右边的?
这个语句实际上就是先从SBUF中读取数据(接收),之后通过P1口输出。

9. 单片机串口

把死循环里改一下:

while(1)
{
if(a==6)
{
p1=!p1;
}
else
{
p2=!p2;
}

delay(250); //250ms,变化效果明显一点
}

如果上面这样改后,还是不能通讯,你要看以下两个问题:
1、用数字示波器看单片机接收端能否接收到电脑传来的数据,判断硬件是否连接正常。电脑串口DB9上的第五脚要与单片机系统共地,这些东西都别忽略了。
2、好好看看单片机通讯设置的数据格式是否与电脑上串口调试小程序中的数据格式是否一致,不止包括波特率,还有起始位,校验位,停止位等,是否确定完全一致?如果不一致,上位机发十六进制数06,下位机接收到的就不一定是06,很可能是其它数字,这是两端通讯设置问题,往往容易出错。

10. 单片机的串口真的需要吗

单片机有独立的运算器。存储器。有一套完整的指令系统,可以单独工作,pc机只是对它装载程序用,具体操作还是单片机完成

阅读全文

与单片机串口相关的资料

热点内容
程序员真的累吗 浏览:323
学信网app为什么刷脸不了 浏览:871
天蝎vs程序员 浏览:991
单片机下载口叫什么 浏览:186
程序员的道 浏览:924
云服务器不实名违法吗 浏览:556
怎样查看文件夹图片是否重复 浏览:993
文件怎么导成pdf文件 浏览:806
打开sql表的命令 浏览:101
安卓手机如何面部支付 浏览:37
天元数学app为什么登录不上去 浏览:822
明日之后为什么有些服务器是四个字 浏览:102
安卓系统l1是什么意思 浏览:24
服务器一直崩应该用什么指令 浏览:923
cm202贴片机编程 浏览:729
php构造函数带参数 浏览:179
解压电波歌曲大全 浏览:345
为啥文件夹移到桌面成word了 浏览:860
命令符的安全模式是哪个键 浏览:760
编程中学 浏览:957