如何学习单片机?

把这几个功能学透,你就掌握了单片机单片机的学习绝不仅仅是对一项知识的掌握。想要学好单片机,需要从硬件结构、内部资源、外设应用等几个方面多方位入手。而要想成为一名嵌入式工程师,就要对单片机的基础非常熟悉,并且掌握C语言当中各个功能的初始化、启动、停止各类函数的编写调试。那么想要掌握单片机需要从哪几个方面入手呢?1. 数字I/O的应用在大多数的单片机实验中,跑马灯实验正是数字I/O的典型应用,也是跑马灯的实验被安排第一个的原因。

通过将单片机的I/O引脚位进行置位或清零来点亮或关闭LED灯,虽然简单,但是这就是数字电路中的逻辑功能。数学I/O应用的实验还有按键实验,当按下某键时,某LED灯被点亮。数字I/O实验教会我们单片机的编程思想,必须首先对单片机的相应寄存器进行配置,以初始化I/O引脚,这样才能使该引脚具备数字输入与输出功能。

单片机的一个内置或外置功能的使用,就是对该功能相关的寄存器进行设置,初始化,而这便是单片机编程的特点。少则4、5个函数搞定,多则十几行程序,要有耐心,别怕麻烦,所有的单片机都是这样。2. RS232串口通讯单片机都有UART接口,这个简单、古老的通讯方式可以与我们PC机的RS232接口直接连接通讯,当然,因为它们两者电平逻辑不同,必须要使用一个RS232电平转换芯片才能与PC机连接,例如Max232芯片。

UART接口的使用是非常重要的,通过这个接口,我们可以使单片机与PC机之间交换信息,“接口”概念的学习也便由此引入。使用UART接口也会学习到目前最为简单与常用的通信协议等知识。对于无法在线调试的单片机,也可以通过PC机的串口调试软件来监视到单片机实验板的数据。3. 定时器的使用学会定时器的使用,就可以利用单片机来实现典型的时序逻辑电路。

时序逻辑电路的应用是最强大、最广泛的。例如,在工业的控制中,我们让某个开关每隔1秒钟打开与关闭一次。这个方案可以通过普通的数字集成电路实现,也可以通过PLC来实现,也可以通过CPLD或FPGA来实现,但是只有单片机的实现是最简单,成本也是最经济的。定时器是单片机内部资源里最为重要的一个,更是逻辑与时间控制实现的基础。

4. 中断在单片机软件设计架构中,一段程序循环执行是其一个特点,也是一个弊端。每个操作指令的执行都需要一定的执行时间,如果程序没有执行到该指令,则该指令的动作就不会触发,这样就会忽略许多快速发生的事件,例如方波频率检测的上升沿。针对在单片机程序正常运行时能够对外部事件立即做出响应而设计了中断功能。当中断功能执行时,单片机优先处理中断程序,当中断处理完成后,再回到单片机的正常程序执行中。

中断的机理是比较容易理解的,但是什么时候打开中断,什么时候关闭、屏蔽中断,需要如何配置才能使能中断的某些功能,中断里要执行哪些程序,这些程序的要满足哪些要求就需要花些时间去理解与实践了。中断学会后,就可以编写复杂结构功能的程序,可以一边闪着小LED灯,一边扫描着按键,一边发送着数据,也可以干着多个事情……比如,中断功能可以使单片机吃着碗里的,看着锅里的。

根据传说中的8020定律,如果掌握了上面提到的这四步,那么就说明已经学会单片机80%的内容了。5. I2C,SPI通信单片机系统毕竟资源有限,而利用I2C、SPI通讯接口进行扩展外设是最常用的方法,也是非常重要的方法。这两个通讯接口都是串行通讯接口,典型的基础实验就是I2C的EEPROM实验与SPI的SD卡读写实验。

6. 比较、捕获、PWM功能比较,捕捉与PWM功能可以使单片机更加适合电机控制,信号检测,实现电机速度与步长的调节。PWM波现在又是LED调光的主要手段。这里已经初步接触了数字电路里的模拟电路部分。7. AD模数采集单片机目前基本都自带多通道A/D模数转换器,通过这些A/D转换器可以单片机获取模拟量,用于检测电压、电流等信号。

学习时要分清模拟地与数字地,参考电压,采样时间,转换速率,转换误差等重要概念。这一步学会了数字电路控制模拟电路部分,而最简单的A/D模数转换器就是电压表实验。8. 学习USB接口、TCP/IP协议、工业总线目前主流的通讯协议为:USB协——下位机与上位机高速通讯接口;TCP/IP——万能的互联网使用的通讯协议;工业总线——诸如Modbus,CANOpen等工业控制各个模块之间通讯的协议。

怎么从零学习单片机操作?

学习单片机需要具备一定的电路基础、数字电路、模拟电路、信号系统、C语言编程等相关的基础知识。单片机的学习包括硬件设计和编程设计,早期单片机用汇编编程的人比较多,现在越来越多的人用C语言进行编程。下面和大家分享一下如何快速有效的学习单片机。1从51单片机开始学习编程很多人建议可以直接从STM32、ARV、MSP430等单片机开始,在做产品的时候大家可以根据具体需求选择这类单片机。

但是从零基础入门的角度考虑,我还是建议单片机从51单片机开始。因为51系列单片机进入中国最早、使用人数较多、资料较多,最关键的寄存器配置比较简单。有了数模电基础、C语言基础后,就可以买一块51单片机学习编程了。在学习编程的时候要有顺序,先从操作单片机的GPIO口开始,再学习定时器、中断、AD采样、PWM输出,最后再学习UART、IIC、SPI等通讯方式,经过上述步骤之后,对单片机就有了基本的认识。

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

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

51单片机教程有哪些推荐?

其实网上有很多这样的教程,一般买单片机就会送一张光碟教程,这些都不算是免费的教程吧,虽然网友分享资源很多。教程很多,所以自己看着能学进去东西的才是最适合你的。不过网上号称十天就能学会单片机的教程就不用去看了,有点走马观花,对于初学者来说,基础打不牢。万丈高楼平地起,地基没打好,迟早有一天会倒的。说了这么多,还是推荐两部比较好并且完全免费的教程给大家,一部比较适合初学者,一部比较适合有基础的人群。

一、《我要自学网》出品的“51单片机视频教程”http://www.51zxw.net/study.asp?vip=12311367由专业工程师3人,博士生1人组成的四人教学团队对51单片机教学进行视频讲解。该团队致力于微控制器和处理器的在工业控制和网络通信方面的编程,具有丰富的实战经验。为了增加本视频的影响力以及弥补现在网络上鱼龙混杂的单片机教程的缺陷,因此本视频从基于Proteus软件虚拟环境和基于我要自学网定制开发板两个方面进行讲解。

每节视屏大约10~20分钟,随时随地学。教程一共分为八章:总共是涵盖了数电模电、proteus软件、C语言、单片机、PCB画图等知识点。第一章:51单片机视频教程介绍,第二章:学习51单片机准备知识,第三章:模拟电路,第四章:数字电路,第五章:Proteus软件的学习及数模电基本电路仿真,第六章:51单片机C语言漫谈,第七章:单片机内部资源编程,第八章:外部资源二、金沙滩工作室出品的“手把手教你学单片机”教程 该教程的主要核心思想是:在实践中成长 。

该视频教程的主讲老师小宋老师:我们学习单片机,我认为,最重要的就是动手操作,动手实践,在实践中体会成长,在实践中体会快乐,那么进步就会非常快了。“实践,怎么实践,说起来轻松,可是我什么都不知道,起码该看明白书,知道单片机是什么我再去做”,估计这么想的同学不在少数,而且这样想的同学单片机水平一般都不高,呵呵。

同学们有这个想法,是由于受到12年初等教育的教学模式的影响。因为初等教育,以记忆熏陶为主,不管是背诵还是计算,都是局限在课本上,几乎很少有与生活相关的实际内容。而实际技能呢,是通过不断反复试验得到的经验教训来提高自己能力的。就如同我们学开车一样,我们不懂汽车构造原理,我们不还是一样可以学会开车么,握好方向盘,脚踩离合油门刹车,不就可以开车了么。

我们主动的是开车,开车的过程,我们也会慢慢的了解汽车构造,就如同我们学单片机的编程应用,以后也会慢慢了解单片机的原理一样。所以,我的观点是赶鸭子上架,直接上手做是最快捷的学习方法。所以说此视频适合有单片机基础的学,学进去了搞懂了,你会发现你的提升会很大以下是视频教程获取方式,直接进官网就能找到零是起源写于20180728。

想学习单片机,有什么好的书籍推荐?

五年之前那是在大学期间,距离现在大约有4年了吧,教我们单片机的老师要离我们而去了,因为她要去她的城市教书去了。怎么形容她呢?那是一个风度翩翩,很有才华、做事很干练不像老师的女老师。她走的时候要搬行李,我们几个学习成绩好的一块去送的她,可能是送别的时候都爱下雨吧,那天也不例外,下起了绵绵小雨,在送老师走的时候,我问的也是这个问题:“我看我们现在的教科书如同看天书,有什么好的书籍推荐吗?”老师只是很随性的一笑,说:”我们现在用的这一本书就不错,单片机之类的书都大同小异“,当时也并没有深究,我们当时用的就是标准的规中规矩的教科书,名字叫做《XXXXX基础》,具体名字就不说了,免得被当广告。

五年之后现在想想当时老师所说的,完全就是我现在所想的,在五年之前真不晓得思想会有这样的转变,归根到底是我对51单片机深刻的理解,还有自己的工作经验和积淀,你让我推荐给学习单片机的书籍,别说几本了,就是几十本,我都能给你脱口而出,就像这道问题的另一个答主推荐的《爱上单片机》,这也是一本不错的书,但是像《爱上单片机》这一类书,实在太多了,像郭天祥的《51单片机C语言教程》,还有其他的《51单片机项目教程》、《实例解读51单片机完全学习与应用》等等、这些都是不错的单片机教程书,我也全都读过,如果你让我就给你推荐一本,那么很抱歉,我是真不知道哪一本更好一些,根本原因是这些书都是根据51单片机的官方数据手册所编写的,你以为那些作者凭空就能出书?关于单片机所有的用法数据手册上都解释清楚了,对于刚入门的同学可能不适应,但数据手册是最具有权威的参考资料,像我现在工作的书柜上关于专业的书很少有了,为什么呢?现在有哪里不清楚的都是去访问他的电子版的数据手册,关于51单片机的数据手册我也都给你们打包到云端了,私信笔者“数据手册”,收到之后秒回信息。

数据手册?至于是看书还是数据手册,这得取决于你,如果你只是想玩玩,那么从我上面推荐的书里面随便选择一本对你来说就足够了,如果你以后想从事半片机的工作,读那些作者编著的书是远远不够的,或许书上已经把你要知道的已经很清楚了,但如果换一个单片机,我敢保证你照样一头雾水,唯有我们掌握了单片机的数据手册,再去读别的单片机的数据手册,你会发现都是一个套路,比如你对51单片机的数据手册已经了然于胸,我现在让你用STM32写代码,这时候我们打开STM32的数据手册写程序对我们来说是信手沾来的。

比51更优的选择如果你是从来没有接触过单片机的新手,或许Arduino比51更适合你,为什么这么说呢?曾经带过一个要学习单片机的新人,本来他是对单片机不感兴趣的,为了让他对电子提起兴趣,我就是让他学的Arduino做的项目,不到一个星期,教会了他点亮LED、中断、红外、舵机、自动寻迹小车、WiFi小车等一系列高级项目,要知道这些在51上做出来至少得花费半年的时间。

在中国提起Arduino,更多的人对他的映像是不专业,或者建高楼于浮沙,他们这么说不是没有道理,这只是因为Arduino把软件和硬件整合的天衣无缝,比如他的单片机的引脚,还有他的库编写的简洁至极。可以这么比喻,51是手动挡的汽车的话,那么Arduino就好似全自动档的汽车,即使我们不懂各种引擎、离合依旧可以轻松驾驶,难道你们会说开自动挡的人不会开车。

STM32何尝不是呢?为什么STM32也是库函数配置,之所以人们很少说他不专业,是因为STM32的库更加的繁琐,这就是我们中国人的性情。当Arduino在全球大火的时候,在中国招致而来的确是口诛笔伐。当我在很小的时候,一直期望从事制造出电脑、手机之类的高端工作,然我的梦想实现之后,却期望着在浩瀚无垠的草原上沐浴春风,在美丽的夜空下遥望星空,感受大自然的花香鸟语,事实永远和我们期望的永远不一样,就连上个月几十年不遇的蓝月亮都没有观看,为了赶项目,我都是偷偷的在手机上看直播,想想这是何等的悲催,想想在我们工作之后又如何谁能保持初心,现在想想学习一门知识的时候那才叫幸福,等你把需要的知识学到尽头,你会发现自己走出半生,不是少年!。