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

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

单片机串行通信基础理论,收发双方波特率是一致的,这样收发双方能够解析同一个数据,比如八个数据位约定好按照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的接口,但是无论是哪种接口,最终使用单片机这边都是使用它的内部的异步串口通信接口。

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

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

  1. 学计算机的能做近视手术吗,长时间盯着电脑,还能做近视手术吗?医生给你正解...

    原标题:长时间盯着电脑,还能做近视手术吗?医生给你正解 说实话,在这个数字化时代,有非常非常多的工作需要面对着电脑进行.即使不用对着电脑,手机也是离不开的工作沟通工具.好多想做近视手术的朋友回头一看自 ...

  2. 单片机要学多久才能自己开发?学单片机以后做什么?

    大家好,我是无际单片机编程的徐工. 要说学多久才能自己开发,不妨我给大家分享一下我的单片机学习之路. 我学习单片机一方面是因为大一的时候进入了学校电子大赛实验室,另一方面是因为我从中学开始就对电子比较 ...

  3. 单片机独立式按键c语言程序,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询)...

    (原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询) /************************************************************ ...

  4. 矩阵键盘逐行扫描C语言,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之矩阵键盘(逐行扫描法).pdf...

    (原创)51单片机C语言程序设计--速学教程实例(入门篇)之矩阵键盘(逐行扫描法).pdf /***************************************************** ...

  5. 零基础学c语言要多久,零基础学习单片机编程需要多长时间?

    单片机自学要多长时间 学习单片机就是学习单片机的硬件结构,内部资源与外设的应用.在C语言中(极少量的汇编)掌握各种功能的初始化,启动与停止,实现各种功能函数的编写与调试. 下面咱们就来分步骤看一下对于 ...

  6. 学单片机有前途吗?学单片机先学什么?

    大家好,我是无际单片机编程的徐工,今天和大家聊一下关于单片机的前景. 随着科技的不断的进步,我们的生活都发生了翻天覆地的变化,我毕业就一直深圳上班,老家在西安那边. 刚毕业的那会,每次回家要么坐飞机, ...

  7. 单片机学c语言还是python好_单片机开发用哪种语言最好?

    在过去的几十年中,单片机的规格变化不大,但是语言和支持软件的扩展为应用程序开发开辟了许多途径.多年来,对单片机进行编程涉及到两种语言的选择:C语言和汇编语言.但是随着现在可用于微处理器的新语言,用户在 ...

  8. hc05与单片机连接图_小白学单片机:单片机烧写器及烧写软件的使用

    一.为什么叫烧写 早期一般是将调试好的单片机程序写入到ROM.EPROM中,这种操作就像刻制光盘一样,实在高电压方式下写入,PROM是一次性写入,存储内部发生变化,有些线路或元件就被烧断,不可再恢复, ...

  9. 从零开始学单片机c语言 pdf,从零开始学习单片机.pdf

    从零开始学习单片机从零开始学习单片机 单片机 DIY 设计 1. 手把手教你用 51 单片机 DIY 音乐频谱显示(成品图+电路图+源代码) /diagram/3972_4112/102030.htm ...

  10. 单片机和嵌入式哪个好?单片机会被嵌入式取代吗?

    很多初学者都搞不清楚单片机和嵌入式的区别. 今天就和大家来聊一聊这个话题. 嵌入式和单片机,我喜欢用老爸和儿子的关系来区分它们. 嵌入式开发细分很多方向,而单片机就是其中一个方向. 除了单片机以外,还 ...

最新文章

  1. HDU2255 奔小康赚大钱(km模板题)
  2. NTU -SCSE-orientation
  3. 5、学MySQL前必须要了解的数据库专业术语
  4. 在“软件工程:研究与实践”研讨会上关于UML Use-Case的开放空间讨论
  5. Netty @Sharable的使用
  6. PHP进行图片下载的时候,出现图片损坏,无法打开(实质原因,多输出了一个空白字符ZWNBSP )
  7. C++面向对象类的实例题目一
  8. oracle入门很简单豆瓣,Oracle入门经典
  9. tf.GraphKeys,tf.add_to_collection() 与 tf.get_collection()
  10. 深度学习:batch_size和学习率 及如何调整
  11. 5.Linux/Unix 系统编程手册(上) -- 深入探究文件IO
  12. virtualbox安装Windows 7 64位旗舰版 (包含镜像文件)
  13. 阿里巴巴 Java面经
  14. 明翰英语教学系列之PTE与多邻国篇V1.1
  15. 20190131 Ubuntu18.10连接Android蓝牙串口助手
  16. 图像边缘检测之Prewitt算子
  17. sqlite并发访问
  18. unix编程艺术读书笔记
  19. 运动会加油稿计算机学院150字,学生150字运动会加油稿
  20. pythonarray去除inf_Python中的inf与nan

热门文章

  1. pyhton中常用的基础模块
  2. nginx下根据指定路由重定向
  3. 【做题】agc002D - Stamp Rally——整体二分的技巧
  4. Java动态绑定与多态
  5. 基于W5500+Yeelink的远程灯光控制设计
  6. 传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(day01~day10)(2015年11月17日20:47:22)...
  7. 多表连接的三种方式 HASH MERGE NESTED
  8. 未将对象引用设置到对象实例(转)
  9. FormBorderStyle 枚举
  10. HCIE Security DS V-P-N 备考笔记(幕布)