单片机是一种可编程的器件,现在所见到的电子产品中几乎都是以单片机为核心的,根据不同的功能需求,搭建不同的电路,从8位的单片机到32位的单片机,甚至比较高大上的ARM和DSP都可以看成是高级一点的单片机。

单片机是一种工具,由于可编程,所以大大简化了设计电路的复杂程度,软件可以很轻松的完成复杂的逻辑,所以单片机在电子产品中处处可见。对于8位单片机而言,其典型的代表就是51单片机,由于51单片机资料众多,大学里也开设了51单片机的课程,所以很多初学者都把51单片机作为入门的首选。


电路设计

但实际情况是,很多公司都选用STM8、STM32、AVR、MSP430、PIC系列的单片机去设计产品,而很少选用51单片机,原因是上述单片机功能更为强大、片上资源更为丰富,而且价格也不是很贵。所以很多朋友想问,会51单片机,再去学习STM32等功能更强大的单片机,该怎么过度?


51单片机开发板

答案是很容易过度。

单片机是一门工具,不同的单片机都是相通的,学会一款型号,可以很快的入手其他型号,单片机一通百通,做好产品才是最终的目的。51单片机到STM32的过度,不困难,仅体现在单片机寄存器的配置上,下面分几个方面进行说明。

1.从外围电路层面的过度
在产品设计中,单片机往往是核心,产品的不同功能需要不同的外设电路去支撑,同一外设电路不会因为单片机的更换而发生颠覆性的改动,所在外设电路这个层面上,不同平台的单片机其外设电路基本一致,只需要考虑GPIO口的复用功能即可。STM32单片机的片上资源更加丰富,使用合适的片上资源和GPIO端口甚至可以简化电路的设计


小米扫地机器人中的STM32单片机

2.从寄存器层面的过度
STM32单片机是32位的,51单片机是8位,STM32单片机片上资源丰富,功能强大,相应的其寄存器也就越多。但是同样的功能其区别不大,仅仅是寄存器的名称和配置方法不同。所以从51单片机过度过来后,要熟悉一下STM32单片机的寄存器和配置方法。

3.从库函数层面的过度
STM32单片机提供了库函数操作,这大大降低了编程的复杂度,官方都把片上功能和相应的寄存器都配置好了,形成了函数,用户只需要调用函数就可以实现片上功能的调用,这在51单片机是没有的。所以,从51单片机过度过来需要了解一下STM32单片机的固件库的使用方法。


Arduino中的ATMEGA

4.从编程层面的过度
现在基本都用C语言进行编程,唯有区别的还是寄存器的写法,其他语法一致,即便是跨平台移植,也容易操作。所以在这个层面上不存在困难的地方。


树莓派中的ARM

其实学单片机很容易,在前期学的是心理,只有克服了心理上对单片机的恐惧,才能踏踏实实的学好单片机的功能。万事开头难,想学单片机要尽早入手把开头尽可能提前,才能学好单片机。

综上所述,单片机是相通的,学会一款单片机很容易入手其他型号,很容易过度。

单片机都是相通的,一通百通相关推荐

  1. stm32单片机实现多个闹钟_如何学习单片机:单片机都是相通的,一通百通

    单片机是一种可编程的器件,现在所见到的电子产品中几乎都是以单片机为核心的,根据不同的功能需求,搭建不同的电路,从8位的单片机到32位的单片机,甚至比较高大上的ARM和DSP都可以看成是高级一点的单片机 ...

  2. 语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程。...

    语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程. 为了将本人的python培训提高一个层次,本人最近买了很多算法的书. 这个书上的代码基本都是c语言实现的,c语言很久 ...

  3. ⑨①-成功者的路永远都是相通的

    老男孩语录⑨①-成功者的路永远都是相通的 作为国内互联网公司优秀企业家的代表,马云说: 觉得自己做得到和做不到,其实只在一念之间.自己要先看得起自己,别人才会看得起你.一切伟大的行动和思想,都有一个微 ...

  4. 现在主流单片机都有哪些?它们特点及应用范围一个一个列给你看

    单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时的4位8位发展到现在的各种高速单片机--目前已投放市场的主要单片机产品多达70 多个系列,500多个 ...

  5. plc与单片机都有什么不同?

    plc与单片机都有什么不同?PLC底层,实际就是单片机在运行,它只不过是基于单片机的基础,开发出来的一款二次应用的工业逻辑控制器,方便具有电工思维的用户来使用,所以PLC对比单片机的最大优势就是简单易 ...

  6. 现在主流单片机都有哪些

    51单片机 应用最广泛的8位单片机当然也是初学者们最容易上手学习的单片机,最早由Intel推出,由于其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为 ...

  7. keil MDK启动文件分析---基于LPC2100系列(其实都是相通的)

    转用MDK有一段时间了,越来越觉得MDK的强大,因为我之前都是用ADS1.2开发产品,所以更能体会到MDK的强大与易用性.MDK编译出来的代码与ADS1.2相比,代码量减少了很多,我的一个工程用ADS ...

  8. 刚入门学单片机都想知道的,单片机会不会淘汰,难学吗,单片机是不是落伍了,不会模拟电路能不能学单片机,如何尽快学会单片机

    林北从事单片机产品开发那么多年,涉猎过工业仪表.医疗检测设备.家用电器等,做过多年的单片机设计培训.这一期将初学者关心的问题归纳一下予以解答,希望对初学者有所帮助. 初学者关心的第一个问题,单片机是不 ...

  9. 计算机语言都是相通的,各类编程语言是不是都有互通的部分?

    满意答案 这个当然,之所以现在会有不同的编程语言,是因为不同的应用场景需要不同的语言特性,这些特性会最直接地体现在语法上. 编程语言中的很多东西,比如:数据类型int double 字符串等:if e ...

最新文章

  1. Kali Linux Web 渗透测试— 第十二课-websploit
  2. Hadoop生态圈-Hive的自定义函数之UDF(User-Defined-Function)
  3. [bzoj2055]80人环游世界[网络流,上下界网络流]
  4. mysql 优化300例_PHP+MySQL实现对一段时间内每天数据统计优化操作实例
  5. 服务器端利器--双缓冲队列
  6. 再见了微服务,DDD已成气候!
  7. 【渝粤题库】广东开放大学 现代服务学概论 形成性考核 (2)
  8. SQL2000和SQL2005和SQL2008同时安装问题
  9. 树莓派zero配置打印机
  10. 函数(定义、参数、return、变量、作用域、预解析)
  11. C++多态虚函数/纯虚函数demo
  12. MySQL InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解
  13. 地址栏js的写法(转载)
  14. spring源码:idea搭建源码环境
  15. Java算法——地图单点坐标判断是否存在于某个区域
  16. 使用PHP连接MySQL数据库的代码
  17. 医疗病案首页网上直报编码汇总
  18. 解决 winedit 打开tex文件 reading error
  19. 代码设置margintop_如何通过代码设置TextView的Margin参数?
  20. win10驱动开发4——加载/卸载驱动

热门文章

  1. python-变量作用域
  2. Keras进行人民币面额识别(三)
  3. 【bug】nginx版本号泄露
  4. Android 侧滑菜单(抽屉)的使用总结
  5. 14. 创业者寻找投资人经验分享
  6. 【C++笔记】第二十二篇 STL
  7. Jmeter 实战json提取
  8. Python比较时间大小
  9. java中判断字符串是否为汉字或其他字符
  10. HTML学习3---排版标记