这块串口通信板是当时实验室老师给我布置的作业,给大家分享一下
专栏的第一篇文章,不是串口通信有什么特别的地方,只是突然想学着别人写写博客,记录自己天天在做的事,顺便帮助后人更快的学习。虽然现在感觉写博客很有趣,但可能以后会坚持不下去,毕竟应该没多少人会看这个专栏。不过就算没人看,以后还可以给面试官看看,也算是一种履历。嗯……应该还有一年半的时间可以记录,说不定以后会补补之前学的内容呢,就当是复习了。
那,这块串口通信板是当时实验室老师给我布置的任务:
要求实现三个功能:
.利用单片机自带串口实现51单片机到51单片机的双向串行通信。
.利用单片机IO口实现51单片机到51单片机的双向高速串行通信(目前达到12万波特率)。
.通过串口,232接口,485接口实现51单片机与PC机的双向多机通信。
除这些需要实现的功能外,还需要掌握和理解SPI总线,I2C总线,CAN总线的相关内容,及掌握目前主流的通信协议和应用方法,这些以后再说。
这篇博客主要讲要求的第三点,及串口多机通信方面的内容,编程语言为51单片机的汇编语言,使用的单片机型号为:STC89C52。
实现多机通信的基本思路:
51单片机有一个自带的串口,在进行多机通信时通常将串口工作模式设置为方式3(主从模式+可调波特率)。
串口在工作方式3下,每个数据帧包含11位信号。其中包括1位起始位(低电平)、8位数据位、1位可编程位(TB8)、1位停止位(高电平)。
数据帧格式: