03.02 怎么从零学单片机?

冯忠泽


学习单片机需要具备一定的电路基础、数字电路、模拟电路、信号系统、C语言编程等相关的基础知识。单片机的学习包括硬件设计和编程设计,早期单片机用汇编编程的人比较多,现在越来越多的人用C语言进行编程。下面和大家分享一下如何快速有效的学习单片机。

1

从51单片机开始学习编程

很多人建议可以直接从STM32、ARV、MSP430等单片机开始,在做产品的时候大家可以根据具体需求选择这类单片机。但是从零基础入门的角度考虑,我还是建议单片机从51单片机开始。因为51系列单片机进入中国最早、使用人数较多、资料较多,最关键的寄存器配置比较简单。

有了数模电基础、C语言基础后,就可以买一块51单片机学习编程了。在学习编程的时候要有顺序,先从操作单片机的GPIO口开始,再学习定时器、中断、AD采样、PWM输出,最后再学习UART、IIC、SPI等通讯方式,经过上述步骤之后,对单片机就有了基本的认识。

2

学习硬件的设计

单片机编程是基于硬件基础之上的,了解了编程之后,再来学习一下单片机硬件的设计。目前的电子产品,基本都是以单片机为核心,再根据不通的需求,围绕单片机搭建不通的外设电路。在设计电路时,就要考虑好方案是不是利于编程。硬件的学习,也要从基本的电路开始,如LED灯电路的设计、继电器电路的设计、蜂鸣器电路的设计、数码管电路的设计、RS232/RS485电路的设计等,虽然都是独立的模块,但是可以通过编程联系到一起,这也是先学编程后学习设计电路的原因。

3

学习做项目

学习单片机是为了做产品。在学习阶段可能没有参与项目的机会。可以根据自己的想法去提炼一些需求,最终设计电路、写程序去实现。或者自己试着去实现一块单片机开发板,学习单片机的过程是要花钱的。如果身边有参与项目的机会,一定要把握。在项目中实践自己的所学,在项目中扩大自己的知识面。

以上就是这个问题的回答,感谢留言、评论、转发。更多电子设计、硬件设计、单片机等内容请关注本头条号:玩转嵌入式。感谢大家。


玩转嵌入式


如何从零基础学单片机是每位单片机爱好者或电子爱好者想得到的答案,我根据自己学单片机 一些经验与各位朋友们分享一下我学习单片机的经验,通过介绍我自己学习单片机的整个过程起到抛砖引玉的目的,同时希望能给单片机爱好者提供一个参考的作用。

单片机类型的选择

现在单片机种类繁多,各种类型的单片机琳琅满目尤其是对初学单片机爱好者感到无从适从,现在单片机有8位机以C51为代表、16位机以mps430为代表、32位机以STM32、ARM、DSP为代表。另外还具有支持精简指令(RISC)的单片机PIC和AVR等。在这众多类型的单片机中我建议朋友们先学一下以C51为内核的8位单片机,例如艾特梅尔(ATMEL)的和STC的,因为这种单片机的资料比较多,有很多的成功例程可以学习。这种单片机学起来上手非常快,便于我们建立对对单片机学习的信心。

学习单片机的软件的选择

我们知道单片机是一种可编程的控制器,可以很多次“烧写”程序和“擦除”程序,那么这就涉及到所用的编程软件和烧写程序的软件。我在学习单片机时常用的编程软件是KeiL μvision软件,我刚学习时所用的是KeiL μvision2,现在已经升级到KeiL μvision5版本了,能支持更多型号的单片机了,由于其出色的表现,现在这款软件我仍然在用。

关于烧写软件我用的有三款,但有的需要配备昂贵的烧写器,我建议刚学单片机的朋友用STC的烧写软件,这款软件免费,是绿色版不需要安装直接就能用,烧写时需要冷启动下载即可,操作非常方便,我现在做些小项目仍然用它来下载程序。

关于编程语言的选择现在有两种,一种是汇编语言另一种是C语言。由于汇编语言晦涩难懂指令比较多(有111条指令)不利于初者学习。我还是建议初学单片机的朋友学习C语言,它是非常重要的计算机编程语言,一些高端单片机所用的语言基本上都是以C语言为主,同时用C语言也减少了我们对单片机内部硬件结构的依赖。也为后续学习16或者32位单片机打下基础。

学习单片机硬件的选择

我们知道单片机是一门实用技术,我们学习它不是为了考试而是为了在今后能够应用给它设计出项目,其实用性很强。我对刚学习单片机的朋友建议通过自己焊接出自己的硬件电路,先从单片机最小系统开始焊接,慢慢进行拓展,比如最小系统焊完之后要焊接RS232下载电路,因为STC单片机需要通过它来下载程序。焊完之后可以焊接LED灯、数码管等等。这样我们循序渐进地编程通过软件对这些硬件进行控制。当我们通过编程对一个个单片机外设进行控制,当能都达到我们所要的结果时其喜悦心情是难以言表的,这也是我们学习单片机的动力。

如果我们没有焊接基础,那么可以购买单片机实验板来达到学习的目的。总之学习单片机就要多练习,有一句话叫“纸上得来终觉浅,绝知此事要躬行”就是这个道理。

希望刚学习单片机的朋友们都能够学会学好单片机,欢迎单片机高手们分享你学习单片机的经验,敬请关注电子及工控技术!


电子及工控技术


学习任何一件事物都是从如何认知开始的,问这个问题,相信你还是一个小白吧,或者刚刚上路。我有一个思路给到你,首先,你要把基础学好,先了解一些电子电路的基础知识,这其中就包括模拟电子与数字电子,数字电子尤其重要,还要了解C语言基础。接着,你要多多去接触用单片机在做项目的师兄、师姐们,多去实验室,把兴趣培养起来,要清楚的知道学会单片机以后能干啥。然后,就是去网上买块开发板开干吧,实践才能学懂,多看几本相关的书籍,把一些有用的视频多看几篇,这样你渐渐的才能培养起感觉,有了感觉说明你不二了,已经开始入门了。接下来就是抓紧做项目吧,搞些比较完整的项目,比如超声波测距、温度计、计时器、无人机、智能小车这些项目,做得多了你就慢慢成为大神了。


最重要的两门课

1、硬件知识

学习单片机的学生绝大多数都是学理工科的同学,可以这样讲,单片机就是偏硬件方面的课程,所以你首要的任务就是要把基础课程电子电路、模拟电子、数字电路、信号处理这些先学好,起码有个基础才行。这些知识没学好,你后面会走很多弯路的,有很多人就是因为没有这些基础,所以早早就放弃了。

现在主流的单片机主要有:51单片机、STM32单片机、PIC单片机、AVR单片机、MSP430单片机等,根据你们学校的情况先入门其中一个型号。先要学习其内部组成架构,包括里面的逻辑运算单元、存储单元、外部接口单元这些,可以不用完全懂,先有个概念。然后学习一下汇编语言,不要求全懂,也是要先有个概念吧。

1、软件知识

单片机是一个偏硬件的东西,不过它还是需要软件来驱动的。这个软件仅限于底层的软件,所以你一开始只需要学习一些基础的C语言知识就可以了,先把基础的变量、数组、语法、函数、指针这些搞懂,你就可以开始做一些小模块的编程了。等以后入门之后,再来慢慢加深C语言方面的学习,以后你要做大型的项目的时候,必须要把C语言完全掌握才可以,否则写出来的东西极有可能就是一堆BUG。

以上两点就是我所说的认知,这是必须要经历的过程。有了这个过程你后面才能够学得更有劲,才能培养起兴趣来。有些人一上来就要开始做项目,非常心急,最后没玩几天,实在搞不懂就投降缴械了。就是因为没有培养认知的这个过程。

培养动手能力

1、买一款开发板回来做实验;

2、顺便要买一个烧录器,可以烧录程序,有些还能在线仿真;

3、有一些工具还是必备的,比如USB转串口线、万用表、示波器这些;

4、多编码、多调试、多仿真、多用示波器分析信号。


总结:首先培养认知,然后注重基础知识的学习,最后最重要的就是多动手。


以上就是我的介绍,大概的给你普及了相关的知识,很多东西还没有细说,如果觉得不过瘾,可以关注我,我们一起交流探讨。

我是一名科技爱好者,有着多年的智能硬件开发经验,力求用浅显易懂的语言来解答隐晦难懂的一些技术问题,欢迎大家点赞和关注我。


智能硬件分析


1.学习数字电路模拟电路基础知识

2.了解单片机结构工作方式

3.关键是c语言或者汇编语言

在学习的过程中,最好有一块单片机开发板,从简单到复杂的学习,在学习的过程中自己动手搭建电路,自己编写程序,这样学起来会加深你的印象,还要多思考,实现一个功能,电路不止一种,编程不止一种,所以要懂得举一反三,遇到不懂的多问




智联电子DIY


这个是困惑好多新手要进入嵌入式开发领域的问题,我会什么,我要做什么,我要怎么做,前提先想清楚这几个问题,在这几个问题想清楚后,在逐步落实,分享一下我的观点!

首先,我会什么。你是什么专业毕业的,学习过模拟电路/数字电路吗?学过c语言吗,了解过哪些单片机,基本原理了解吗!

其次,我要做什么。就是你要从事的职业中,要偏向于软件,还是偏向于硬件,还是说软件/硬件全栈!

然后,我要怎么做。分别做个分析。

对于偏向软件开发,那么c语言则是重点要学习,学的越深则代码写出来的质量越好,模电/数电则了解就好,能对电路原理看懂就好,普通单片机花个3-5年时间,再转arm软件开发。

对于偏向硬件开发的,则模电/数电要重点学习,学的越深,电路设计问题就较少,c语言简单学习就好,硬件开发也要了解结构的知识(当然是上手后了[呲牙])。

对于说要全栈开发,上面都好好学,累[耶]。

弄明白了发展方向了,对于新手来说,买个51单片机开发板(建议STC开发板,支持国产哈[呲牙]),资料多,下载keil开发工具(买的时候卖家会有指导教程的,也便宜,不慌),代码就1-2文件就可以跑起来,先来个闪灯的项目试试!搞硬件的,同时下载pcb画图软件(也有很多模拟设计软件的哦),参考别人开发板(要简单的[大笑]),画画板先[呲牙],等你搞出来第一个项目,那感觉是,人生第一件大事啊。

ps,重中之重啊,一定要记住:根据自己的方向,找个工作,在工作中实验,也有可爱的大哥大姐指导你哦!钱的问题,老板敢开多少,就敢拿多少。[呲牙]

祝你好运!



小扇子的笔记


先学arduino,这个比较简单


电子爱好者小8


单片机目前已经从最早的51单片机发展到现在的arm ,stm32等高端单片机,不过原理都一样,零基础还是从51开始学,51简单,网上资料也多,当你把51精通以后,学其他的就简单了,其实原理都一样


分享到:


相關文章: