今天和大家聊一聊学习单片机的时候,我们到底在学习什么?

一、什么是单片机,

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。(来自百度科普中国)

单片机的种类市面上有很多种,常见的有8 bit/16bit/32bit,在8bit单片机中最常见的内核是80C51;32位单片机最常见是ARM公司的contex-M系列内核,主要有 m0、m0+、M3\M4\M7\H7\M23等。当然也有开源且完全免费的RISC-V架构,这个不是今天讨论的重点,后面有机会在详细讲解。

当我们在学习一款新的单片机的时候,我们应该从哪里入手?我个人的建议如下:

首先:根据单片机最小系统的定义(单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路),我们首先应该查看电源供电部分,最权威的讲解应该是单片机厂家提供的datasheet,根据datasheet中电器特性章节即可获取到推荐的供电电压值,一般情况下是5V或3V3,当然也可以从芯片厂家给出的相对应的单片机评估板原理图中获取到推荐的电压参考值;
其次:是最小系统中的复位部分,需要看满足单片机的复位电平是高电平还是低电平,电平的持续时间是多少?确保外部的复位电路可以让单片机正常进入复位;
关于最小系统中的晶振部分下面再详细讲述,一般情况下,单片机上电后默认启动的是单片机内部的RC振荡器,作为系统的时钟源;

最后:需要注意的是仿真接口:单片机开发和其他的上位机软件开发不一样,一般情况下都需要建立一个交叉编译环境,关于交叉编译环境简单粗暴理解就是:在电脑PC上编译单片机的代码,但是运行环境并非在你的电脑PC上。单片机程序的仿真需要通过单片机特殊的仿真接口通过仿真器和电脑PC相连,因为不同厂家的单片机仿真接口有可能不一样,所以仿真接口异常重要;

关于单片机的片上资源部分:
一、通用输入输出接口GPIO:单片机和外部设备进行信息交互都是通过其外部引脚,所有我们需要去了解各个引脚的功能;当然最简单的就是通用GPIO。通用GPIO一般有输入和输出两种形式。作为输入:引脚可以获取外部按键或者传感器开关量信号的输入;作为输出,它可以驱动LED、蜂鸣器等轻量级负载,也可以驱动三极管、MOS等开关电路,进而控制诸如电机、继电器等负载;

二、我们需要去了解单片机的时钟单元:因为时钟部分是作为单片机的心跳,这部分的重要性自然就不然而喻了。我们需要了解时钟单元的哪部分组成呢?通常情况下,最常见时钟有外部和内部两部分RC振荡器组成。分别为外部的高速和低速晶体以及内部的高速和低速的晶体振荡器。需要注意的是:在有些8位的单片机中,它仅支持内部高速RC振荡器,不支持外部的RC晶体振荡器,还有就是关于晶振的精度问题,特别是单片机内部的RC振荡器,比如有些单片机的精度是±2%室温环境,±3%全温度环境,这个都需要做一些了解,特别是在一些对时钟精度要求比较高的场合。

三、我们需要去了解一下中断机制:在不上嵌入式操作系统的情况下,一般情况下我们的单片机都是前后台系统(其中中断我们称之为前台,main()函数中的无限循环称为后台)。我们要去了解,哪些引脚可以作为外部的中断触发引脚,比如外置传感器的情况,需要外部中断引脚及时响应传感器的动作(火灾报警,汽车对行人的检测等场合)。了解可屏蔽中断,中断分组和不可屏蔽中断等;

四、我们需要去学习一些常用的通信协议,像UART、I2C、SPI等等。
五、我们还需要去了解内部的定时器部分,像基本定时器,仅仅可能作为一个定时/计数作用,没有GPIO引脚与之相连;还有高级定时器,它可以作为基本定时器使用,也可以输出PWM,还可以对外部信号进行捕获。

六、我们还需要去了解数模转换单元,比如说系统里的ADC和DAC部分,特别是ADC的模拟量采集部分,,最常用的就是对温度信号的采集和识别;DAC可以验证ADC采集的部分是否精准;

最后,有些单片机还有蜂鸣器、比较器LED或LCD驱动等模块电路;这个根据自己选择的单片机不同也会有一定的差异,可以根据自己手上的单片机针对性的学习;关于单片机的低功耗应用场合,需要注意单片机进入低功耗的要求,比如用不到的GPIO引脚不能悬空,需要做接地处理等,这个也需要根据手册要求做相应的软件配置。

好了,以上就是对单片机学习时我们应该学什么的简单描述,简单一句话就是学习其内部的模块电路;针对学习单片机我们应该学什么大家有什么不同意见或好的建议欢迎评论区留言。

学习单片机我们到底在学习什么?相关推荐

  1. 【STC单片机学习】第一课:学习介绍

    第一部分.章节目录 1.1.1.单片机适合谁来学? 1.1.2.咱们学什么? 1.1.3.我为什么要学单片机 1.1.4.为什么要从51单片机学起 1.1.5.咱们的开发板 1.1.6.学习本课程需要 ...

  2. 怎么学习单片机编程?单片机基础入门内容有哪些

    怎么学习单片机编程?其实吧,单片机学习起来不难,反而是一件比较有趣的事情,之所以新手感觉比较难是因为不知道该怎么入手,从哪里开始学起.那么要怎样才能从单片机的基础入门呢? 单片机的学习无外乎两个内容: ...

  3. 怎么学习单片机编程?粤嵌单片机基础入门内容

    怎么学习单片机编程?其实吧,单片机学习起来不难,反而是一件比较有趣的事情,之所以新手感觉比较难是因为不知道该怎么入手,从哪里开始学起.那么要怎样才能从单片机的基础入门呢? 单片机的学习无外乎两个内容: ...

  4. 51单片机 | 如何学习单片机 | 开发板功能介绍 | 开发板使用方法 | 51单片机介绍

    文章目录 一.如何学习单片机 1.学习哪种类型的单片机 2.学习单片机的最佳方法 3.学习单片机的准备工作 4.学习单片机的常见疑问 二.开发板功能及使用介绍 1.开发板功能介绍 2.开发板使用方法 ...

  5. 漫画版:如何学习单片机?

    作者:DBinary 地址:https://www.zhihu.com/question/311334042/answer/738607755 -END- 猜你喜欢该不该放弃单片机,嵌入式这条路? 学 ...

  6. 如何以学习单片机为契机,逐步成为优秀的工程师

    现状 不知道阅读本文的读者,在初学单片机时是否和我曾经一样迷茫.看到各种新的术语,疑惑不解:不知道从何学起:照着书中的例子一步一步做都没有问题,但是自己试着做东西,遇到各种问题却不会解决,向别人提问, ...

  7. 学习单片机的几点经验之谈

    1.学好电子技术基础知识,如电路基础.模拟电路.数字电路和微机原理.这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路.知道电路的设计思路和工作原理; 2.学习计算机硬件知识,如计算 ...

  8. 学习单片机,除了需要电脑以外,还需要以下的一些器材

    单片机开发不可避免会遇到很多头疼的问题,例如如何分配CPU的时间.其实到了这个阶段我们要越来越灵活的用单片机,如果什么东西都要自己做,你会累死的.你想一想你要开车,不用什么都自己弄吧,买一辆现成的就可 ...

  9. 送给学习单片机的人和迷茫的人

    郭天祥老师的大学 在哈尔滨工程大学六年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备:在与众多电子爱好者的交流中,使我学到了更多的专业知识:在学校老师们的 ...

  10. 大学生要如何去学习单片机

    相信大多数人刚进入的大学生活都是很放飞自我的,刷抖音.追剧.翘课.泡妞.打游戏已经是一种常态.好不容易考上大学,放纵也算是对自己刻苦读书12年的一个奖励.但是如果收不回来会为自己往后三四十年的职场生涯 ...

最新文章

  1. JS Nice – JavaScript 代码美化和格式化工具
  2. Beyond Compare 3.3.8 build 16340 + Key
  3. 模板:网络流(Dinic算法)
  4. html注释引用公共头部_HTML注释和引用
  5. 学计算机后悔转专业,大学转专业容易吗 会后悔吗
  6. java ReentrantLock 使用
  7. 二本非科班30岁转行架构师的老徐:站在巨人的肩膀学习才是捷径
  8. OWIN之中间件用法示例
  9. Redis3集群搭建
  10. HDU 5937 2016CCPC杭州 E: Equation(DFS)
  11. Java基础__Integer类型中的自动装箱
  12. 服装制造业信息化系统分析(一)
  13. 【SpringBoot】Bean 注入失败问题汇总
  14. linux开发者的一天
  15. Critical Reviews | 南农邹建文组综述全球农田土壤抗生素与耐药基因分布
  16. 数据结构——树和二叉树章节思维导图
  17. 第一章节: 光源种类介绍
  18. JavaScript闭包的粗浅理解
  19. MPS和MRP的区别
  20. 《端午节.呐喊》 -鲁迅 词语解释 | 经典语录

热门文章

  1. emc re 整改 超标_EMC测试及整改对策.ppt
  2. C盘清理--模拟器(夜神为例)占用空间越来越大问题解决方案(本方法适用于安装过多个APK,虽然卸载了但是占用仍然很严重的情况)
  3. OpenGL3D场景大作业制作
  4. 期货基础知识(竞价,定价,保证金计算)
  5. mybaits源码分析(八) StatementHandler的详解
  6. 使用PowerCli来创建自定义ESXi ISO镜像
  7. Qt下图片加密的两种方式
  8. android studio 报错 AAPT: error: style attribute ‘attr/colorPrimary (aka com.
  9. docke网络之bridge、host、none
  10. 自然语言处理NLP概论