学单片机的动力是什么,学单片机来做什么,需要多长时间把它学会

学单片机的动力是什么,学单片机来做什么,需要多长时间把它学会。

做什么事情没有动力都坚持不了多久,端正的学习心态,单片机学习过程是孤独寂寞的、枯燥乏味的过程,知识获取没有捷径,只有循序渐进,脚踏实地,一步一脚印踩出来,才能学到真功夫,学单片机其次还需要多动脑勤动手,单片机具有很强的实践性,是一门很注重实践动手操作的技术学科,不动手实战是很难学会单片机的,还有就是一定要虚心交流,在单片机学习过程中每个人都会遇到无数当下解决不了的问题,这个时候你需要向经验丰富的过来人虚心求教,比起一味的自己埋头摸索会少走很多弯路,节约很多时间。

单片机串行通信基础理论,收发双方波特率是一致的,这样收发双方能够解析同一个数据,比如八个数据位约定好按照4800的波特率来发,也就是说发送这一帧数据的时候是按照4800的波特率来发,接收的时候也按照4800波特率来接,才能够相互之间识别到发送的是什么数据,接收和发送的是一个数据,所以在做通讯的时候,首先需要配置的就是配置波特率,同时还要配置数据位,是一次传输的数据位的帧格式里面是八位数据位还是七位数据位,或者其它的数据位也是需要配置的,另外一个还需要约定的就是停止位,停止为一般都是一,发送完这一帧数据想再发送一帧数据,先增加一个起始位,然后是的数据位,这两帧数据之间的时间间隔是任意的,发送完这一帧,再发送另外一帧数据的时候时间间隔是不要求的,这个叫做异步。

发送这一帧数据当中的每一位之间的时间是有严格要求的,比如4800的波特率里面每一位是要同步的,里面发送这一帧数据当中的每一个位之间的时间间隔必须是1/4800,收发双方才不会出错,但是这两帧数据之间没有一个时间的要求,发送完这一帧可以间隔很长时间再去发送下一帧的数据,在发送下一帧数据的时候首先发的是70位,能够监控到总线,知道要发送数据了,就按照约定的波特率去收数据,能够得到一个正确的结果,异步是指两帧数据之间的时间是任意的,没有一个要求,但是这一帧数据当中的数据传送的时候是有要求的,并不是任意的,就这一帧数据当中每一位和每一位之间的时间,传送完这一位在传输下一位,时间是有要求的按照波特率来传,一秒钟传输4800,每一位之间的时间间隔就是四千八百分之一秒,时间是必须要一致的,收发双方才能够识别到。

除了传输的波特率之外还要有软件层的协议,协议实际上已经是一个帧格式的协议,在做串行通讯的时候需要设两个协议,一个是帧格式的协议,也就是波特率是多少,需要做具体通信的时候,还需要做软件层、应用层的协议,一个主机多个从机的时候,数据到底代表什么含义,是应用层的软件协议,要有所区分,想做通信要首先规定好这一帧数据怎么传,接下来有了能够传出这一帧一帧的数据之后,由这些帧数据可以打成一个数据包,构成一个软件层的应用协议来具体约定,比如第一个代表地址,第二个代表命令或者数据,有一个软件层的约定协议,但是协议是建立在帧的协议的基础上,实际上硬件的电路是非常简单的芯片,只需要几个简单的电容就可以完成TTL电平转换成232电平,借助电平转换芯片,可以把信号转成232电平,通过线连接到计算机一端,因为计算机本身就是在232的接口。

单片机和计算机之间的232接口进行通信的时候,笔记本电脑没有232接口,单片机端可以有转成USB信号,转成USB信号之后再和它进行通信,比如说有专门的USB转换器件,经常用单片机用串行口来下载程序的时候,就会用一个USB的下载器,电平转换芯片,它可以把的USB的信号转成的异步串口通讯信号从而来做通信,才能够把用计算机的USB口把程序通过单片机的串口下到单片机里面去,USB转uart的接口芯片,或者是USB转USB的接口芯片。

单片机和单片机之间要想做稍微距离远点的东西,比如说做到十米的左右的距离通信,TTL电平大概只能做到一米左右,电平就衰减的差不多了,要想做十几米的通信可以借助于232,增加一个232电平转换器件,单片机转成232,再转成单片机的异步串口通信,两个单片机就可以借助于232来进行通信了,距离就可以做到15米,但是具体的软件编程还是单片机的串行口的编程,只不过硬件层用了一个电平转换芯片,把TTL电平或者怎么电平转成了232电平,因为电平-3V到-15V,3V到15V之间来表示。

在工业上用的时候,经常传输距离要达几公里,可以借助于485,要想实现485的东西可以用单片机这边用一个电平转换芯片,另一边无论是计算机还是单片机,它也没有接口,可以用过485芯片,就可以通过单片机转成485信号,然后两个485之间做连接,也可以用485再转成的TCL,或者是485转成232就可以了,单片机是有232接口或者是USB可以转成485信号,然后它俩之间就可以借助硬件层来做通信,但是对于软件编程实际上最终使用了单片机这一端,还是使用了单片机的串行通信,所以无论是使用的232还是使用了485,实际上都是使用单片机的内部的串行口,只不过的硬件要借助电平转换芯片,把它的电气特性转换成485的电气特性,或者是232的电气特性。

软件层实际上都是异步串口通信,都是用到单片机的串行口,单片机的串口是异步串口通信的通信的制式,主要有单工、全双工和半双工,485就是半双工,想用查分来做全双工传输就可以用422芯片,它是全双工的通信,刚才提到的232通信实际上只能实现短距离的通信,也就是15米以内的通信,要实现一个主机对多个从机的通讯,232是没办法解决的,可以借助485,因为它是一种总线型的网络,可以实现多层的通信,很多设备都是配备485的接口,但是无论是哪种接口,最终使用单片机这边都是使用它的内部的异步串口通信接口。

对单片机感兴趣的可以查看往期分享内容希望能帮助大家在学习单片机的路上少走一些弯路想要入门单片机可以持续关注创为单片机编程,,回复“带我学习”查看更多内容分享

猜你喜欢

转载自blog.csdn.net/m0_66707146/article/details/123877347
今日推荐