欢迎您光临机械网,如有问题请及时联系我们。

如何学习单片机?怎样学单片机

作者:机械网
文章来源:本站

  

如何学习单片机?怎样学单片机

  

如何学习单片机?怎样学单片机

  把这几个功能学透,你就掌握了单片机

  单片机的学习绝不仅仅是对一项知识的掌握。想要学好单片机,需要从硬件结构、内部资源、外设应用等几个方面多方位入手。而要想成为一名嵌入式工程师,就要对单片机的基础非常熟悉,并且掌握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等工业控制各个模块之间通讯的协议。这些都会应用在未来的项目里,集成入单片机里的固件,并且也是当前产品开发的一个发展方向。

  欢迎关注头条号“玩转嵌入式”,获取更多电子设计知识。

  单片机学习是很难的,不能速成,你必须承认这一点,有些号称能帮你从入门到精通,那些大多都是牛皮膏药,基本上讲的都是些入门的东西,市面上的讲单片机的书本内容基本上八九成是一样的。学习单片机的视频,八九成一样,不同的人讲的,主讲人的水平高低不同。

  而正真高深的单片机程序处理,你在网上基本上找不到,偶尔能有那么一两个高手把自己的一点点心得分享出来,也许你半天都不能领悟其真谛。

  正真的高手是这么炼成的?唯有自己日积月累,不断坚持、思考读成熟的程序,加上自己对程序的悟性,等到2到3年方可有所造诣。

  1、首先我们来谈谈C 基础,单片机程序开发,基本上用的是C 语言,你的 语言学的怎么样了,对于关键词的使用是否已经融会贯通了,对于语法规则是否已经掌握。这是一门实践行的知识,没有实践你的C 语言等于0,他的功能可不是书上那些例子,输个数做个加减乘除把结果输出。利用他的关键字及语法规则,勾画出无限的生产力。对于C 语言的基础知识你要达到那种水平了,当你的想法出现的时候,功能要求已有,你能立刻用C 语言描绘出来。C 语言只是工具,实现我们的想法的工具,对于工具的使用要信手拈来,例如:把一个字节数据高底位一一兑换、把脉冲数转换为时间及检测出按键的连续两次按下等等,看到问题的时候具体的实现代码在老海呈现了没。

  2、工具用熟了以后,我们该学习什么了了?对语法熟练以后就应该重点学习程序设计的方法,请大家分清两个概念,C 语言只是工具,会C 语言并代表你会设计程序,程序设计能力可分为,首先是能将复杂的功能要求拆分为若干个细小功能,用C 语言描述实现,再将这些小功能用你的C 语言工具串起来组成我们所需要的复杂功能。整个过程下来C 语言都只是实现你想法的工具。看到这里你是否还敢用“玩”、“精通”来形容单片机吗,当真正进入单片机殿堂的时候你会感觉这是一个浩瀚无边的宇宙,你会越发感觉自己的渺小,只有更好,没有最好。

  总结几点个人的学习的经验:

  C语言与程序设计的学习是相辅相成的,他们共同进步,就如同你的两只脚,谁都不能超过谁很远。学习单片机之前请先学习C 语言,请不要相信什么零基础也能学好,至少20天,要把基础知识掌握,在进入单片机学习,视频网上一大把,学会操作基础模块,在这个阶段你可以在网上寻找知识学习,将你开发板的模块程序都练一遍。

  当你开发板学完了, 这个时候该这么办了,这就是我今天重点要的。

  如果你就是浅尝辄止,那么你可以说自己入门了,如果你想有所造诣那么你还远着了,对于走过了这个阶段以后,我对我的学生的要求就是“背程序”,就如同别人学习英语背文章增强语感。我说所的“背程序”,并非死记硬背,属于一种重复强化训练,围绕几个主题,①、按键读取;②、数码管显示(重复计算显示代码) ;③、LCD1602液晶显示;④、AT24C02读写;⑤、DS1302读写;⑥、D S18B20读写。每个项目从建工程到下载成功在20分钟以内,最好练到在10分钟左右。对于代码需要精简而又有内涵,当你做好以后能增强你的语感及常规程序设计能力。最后以同样的方式训练一个综合项目——多功能数字钟,这个项目可能需要一个上午才能做好。这个过程的目的很简单,增强C 语言工具的使用能力,在单片机编程这块,对于基础模块的程序设计能力,完成从感觉自己什么都懂,可要写点什么东西时又不知如何下手到实现一些简单功能程序能迅速写出来的转变。这个方式枯燥乏味但是效果还可以,可以借鉴借鉴。

  完成了上述工作,紧接着多练习综合项目,这个时候这能靠自己,学程序没有别的,只能多练,多想。用你的开发板编写:计算器、电子日历、电子密码等各类能把你开发板上的资源综合起来用的程序。假想就是在做项目,要对自己提出苛刻的功能要求,切记不多说差不多了,要做到完美。

  再往下走,完美要回过头学习单片机原理,去学习汇编,学习单片机的运行原理对你编程有极大的帮助,再把你的C 语言书拿出来,细细的看前几章节,是时候该去看看指针了。在程序中简单的使用指针。

  就这样往下练吧,估计至少得年吧时间。

  再往下走,你应该去研究指针了,将指针应用到你的程序当中,它可以给你解决以往你所遇到的很棘手的问题。

  讲到指针,该想到结构体了,我们应该去学习链表了,我们要将简单数据结构应用到单片机了。这个期间你如果能去学习在操作系统上的编程是很有必要的。如在VC 上做简单功能界面,Linux 系统编程。这可以让你看看别人优秀代码,从中吸取经验,就算看不到源代码,也可以从别人的函数所具备的功能上思考的自己的函数设计,改善自己的函数,我的很多函数功能设计方式就是这么来的。

  差不多又是一年时间过去了。真心希望你坚持下来了,到这个时候你基本上已经能独立解决很多问题了。

  这个时候我们该去学习什么了了,该去学习“易经经”——C 语言描述数据结构与算法分析。在程序的世界里,它就是最高的内功心法,能在里面学的一招半式,就可以行走江湖了。这本书目前我也只是研究过几个章节,在这里面你会看到操作系统的具体实现,文件系统的设计思想等等,各类大型程序设计设计思想。

  关于单片机学习,内容远不止这些,上述只讲了单片机的程序设计方面,依据单片机的特片还硬件这一块极为重要,不理解硬件也设计不好程序,下次再谈谈如何学习硬件。对于8位单片机你是否想过, 给它装上一个操作系统,这是我最近一直在思考的问题

  希望能帮到你!

  学习单片机之前,需要有一些基础知识的准备,例如元器件知识、模拟电路、数字电路、C语言等这些知识需要知道一点。这些知识有一个直观的概念就行了,具体的更深入的知识,可以在单片机学习中逐步加深理解和学习。

  然后,需要根据所选的单片机,了解该单片机的主要功能、熟悉其对应的开发环境;

  最后,要有相应的单片机电路板和相应的仿真、编程工具,把单片机程序“烧录”到电路板上的单片机内,根据设计功能,观察电路板的运行是否符合设计初衷。

  知道基础元器件的功能和用法,例如要知道电阻的功能主要是限流、分压,电阻在电路中有串联、并联、混联的接法,知道电容的功能是“隔直通交”,在单片机电路中,有很多滤波电容。

  二极管、三极管的基本电路,了解单片机的电源电路、复位电路、晶振电路的工作原理。

  这个最好多学一些,因为单片机本身就是一个数字器件,其运行原理主要是数字电路原理。了解各种门电路,最好能够熟悉IC数字芯片的真值表,了解串行通信,IIC通信,SPI通信等。

  现在单片机开发绝大多数都使用C语言开发,需要简单了解C语言的基本语法、算术和逻辑运算符,基本程序结构(顺序、选择、循环等),尤其要知道各种数据类型所表示的数值范围,这个会在单片机编程里面很有用。

  现在很多人说学单片机可以直接从cortex m0或m3学起,我觉得,如果基础较弱的话,还是从STC 51单片机开始,还可以选择AVR单片机。

  为什么推荐这两种单片机,因为一个单片机环境要想真正运行起来,最终还是需要有专用的编程工具(很多人称为烧录工具)将程序“烧录”到单片机内部,这样才能真正让单片机按照程序设计流程运行。而这个专门工具是特制的,现在STC的51单片机只需要一根U转串的线就可以将程序“烧录”到单片机内,而AVR单片机的编程工具非常容易自制,并且成本不超过20块钱,至于其它单片机,它们的烧录工具一是不容易自制,二是价格较高,所以部特别推荐。

  另外就是51单片机和AVR单片机的开发资料,学习教程在网上最多,这样当学习中遇到问题的时候,可以在网上获取很多经验。

  基本上每种单片机都有各自特色的开发环境,但是这些开发环境基本都是各自为战,很少有一种开发环境能够支持多种单片机的开发。

  在这里推荐2个开发环境,

  一是51单片机的KEIL开发环境,二是IAR开发环境,IAR开发环境是目前功能最为强大,支持单片机种类最多的一种开发环境(IAR支持51单片机,AVR,PIC,MSP430,ARM等几乎所有主流单片机,但是对每一种单片机都有一套开发包,不过基本开发配置和流程大体相近)。

  51单片机的开发环境,不用说肯定是首选keil,这个是最早,也是功能最强的51单片机开发环境,另外,熟悉了KEIL后,对于后续开发MDK也会有一个很快的熟悉过程,因为MDK就是脱胎于KEIL的。

  AVR单片机的开发环境很多,目前用的较为普及的是GCC、ICC AVR,以及AVR STDUIO,这三种的使用教程在网上较多,所以还是推荐这三种。

  目前有三种方式学单片机,一种是通过真正的单片机学习板,现在这种学习板很多,并且板载的功能也非常多,这是一个途径,还有就是通过单片机仿真软件学习,目前有proteus(支持51,AVR,MSP430,CORTEX等),还有电路仿真软件multisim也可以仿真51单片机的运行过程。第三就是自己从零开始搭建学习板,我当年学AVR的时候,就是自己买的洞洞板,一步一步焊接出来一个学习板的。

  这种方式可以不用过多关注硬件电路,直接熟悉单片机编程技能,当然,学习板上的电路一般都是经过验证的,比较实用,所以可以直接学到相应电路的工作原理以及电路设计;

  目前这个软件普及度已经很高了,并且网上相关的教程也很多,用这个软件学习单片机的一个好处是不用买学习板以及配套的编程工具,还有就是可以自己同时学习电路设计和编程技能,但是缺点就是这个软件的电路设计只是功能上的,具体到电路性能指标和各种参数,这个软件不能准确的模拟出来。不过作为入门以及基础原理的学习,这个软件还是很好的。

  我当时学习AVR单片机的时候,就是买的洞洞板和各种器件,从单片机最小系统开始搭建,最后焊成了一个包含串口,串转并,并转串,AD转换,SPI、IIC总线,LCD液晶、数码管显示等各种电路。

  这种方式有多种优点既可以学习编程,还学会了电路设计,又锻炼了动手能力,甚至还学会了基础的电路故障检查和维修。

  不过这种方法需要很大的耐心和毅力。

  1、学会开发环境的使用

  2、熟悉单片机最小系统的工作原理

  3、熟悉单片机编程的基本结构、流程、语法

  朋友们好,我是电子及工控技术,我来回答这个问题。对于单片机这项技术如何学习,很多朋友都说出了学习的方法。下面我想根据我学习单片机的一些体会和朋友们分享一下我是如何学习单片机的。

  我们都知道单片机技术是一个理论加实际操作都很强的技术,我在学单片机前就已经在学校里学过了模拟电路和数字电路的基本知识,尤其是数字电路知识在学单片机时非常重要,这是因为单片机就是一个数字芯片,这个单片机引脚在程序“指挥”下只能输出数字信号或者高电平和低电平,我们只有学习了基本的数字电路知识才能更好地理解单片机与它的外设之间之间的关系。

  另外,由于单片机是需要在程序的驱动下才能完成相应控制功能,单片机的程序就像我们人类的“思想灵魂”一样,如果没有程序单片机是“寸步难行”的,什么也控制不了。所以,我们还要有编程语言的知识,我在学习单片机时是先学习了汇编语言,因为在学习汇编语言时就顺带把单片机的基本结构掌握了,比如各种寄存器、单片机工作原理等。然后再学习C语言知识,这样我们在学习单片机前就有了一个相对完整的知识储备了。

  单片机是一个“软硬”结合的控制器,所以学习单片机时就要先准备一些必要的软件,比如编程软件,我们最常用的是Keil软件,另外还要有下载软件,这也是学习单片机必不可少的,我常用的是一种STC的程序下载软件。

  我认为学好单片机就需要动手,当我们具备了一些单片机基础知识后,动手操作才是关键。我在学习单片机时是自己先按照前辈们的单片机电路原理图自己焊接一块单片机实验板,在实验板上焊接有RS232串口、DS1302时钟芯片、DS18B20温度传感器、数码管、矩阵键盘、A/D芯片、LCD1206液晶显示屏接口、红外接收头等等。

  因为单片机技术是一个软硬结合的技术,所用编程语言编写的程序我们也叫底层驱动程序,因此我们在编写程序前就要知道单片机硬件电路的一些来龙去脉,当我们通过自己动手焊接单片机电路板后,在编写程序的时候就会做到了心里有数了,在这里我强烈建议想学习单片机朋友们最好自己动手焊接一个电路板,做到“自给自足,丰衣足食”,这样会给你的单片机学习之路带来很好的体验。

  最后我要想说的就是学习单片机要有一个高效的学习方法,我的学习方法是:以动手操作实践为主,再辅以适当的理论,按照“三七开”的分配原则,就是用三分时间精力去学习理论,用七分时间精力去实践操作。学习编程时要先模仿后自己独立编写,这样会少走弯路,在学习资料上我认为单片机数据手册就是最好的介绍材料,我们完全可以利用,比如在数据手册里可以学到I/O口的应用、定时器和中断的使用、I2C,SPI通信总线等知识。因此学习单片机没有一条放之四海而皆准的方法,只有找到适合自己的才是最好的方法。

  以上就是我对这个问题的看法。欢迎朋友们参与讨论,敬请关注电子及工控技术,感谢点赞。

  如何学习单片机?对于这个问题,芯片哥作为过来人,希望能给到一些中肯的建议。

  这种“如何学习单片机”的类似问题,相信应该是一个想入门,但又不知如何下手的小白提出来的。那芯片哥就认为你是单片机小白的身份,去解释回答了。

  单片机,作为一种微处理的类型,虽然它属于硬件电路,但它的功能却是由软件开发完成的。对于这点,需要对单片机做个整体性的概念认识。

  只有对单片机的电路特点认识清楚了,我们才能去学好单片机,才会知道如何去学习单片机,而不是像个丈二的和尚、摸不着头脑,到处一片迷茫。

  OK,了解完单片机的功能,它是由软件开发完成的之后,接下来学习的重点就非常清晰明了了。芯片哥总结为3个方面。

  学习单片机,肯定是需要学习单片机的内部结构,尽管它的外表只有一些封装好的引脚。单片机的外部引脚,只是内部电路的延伸,只起到电路连接的作用。

  单片机的内部电路,都需要学习哪些内容呢?

  主要包括ADC采集电路、定时器电路、时钟电路、通信电路、IO引脚电路、中断电路、电源电路、存储电路、看门狗电路和复位电路等等。

  学习这些,是为了掌握单片机的每个内部电路的功能,以及它们都是可以做些什么的。举例说明

  当然,每个型号的单片机内部电路不尽相同,作为初学入门者,是不是需要将所有型号的单片机都需要学习一遍呢?

  答案是否定的。

  不管什么型号的单片机,它都是万变不离其宗的。无非是引脚个数多一些少一些,内部电路功能简单一些复杂一些罢了,其核心的本质是没有区别的。

  基于此,芯片哥向单片机的初学者,建议开始学习单片机,应当首选51系列型号的单片机。原因是51系列的单片机,功能虽然简单,但齐全。

  俗话说,麻雀虽小,但五脏俱全。

  放到单片机领域,也同样适合51系列型号的单片机。这或许也是大中专院校为什么选择51系列型号的单片机作为教材的原因之一吧。

  了解完单片机的基本电路功能,相当于进入单片机的大门了。但这还远远不够,之所以想学习单片机,关键还是在于学习单片机的软件开发。

  软件开发,才是学习单片机的核心。

  C语言作为单片机软件编程领域的首选语言,这个主要是因为它易学且易懂,更重要的是学习C语言,根本不需要任何基础。芯片哥可以毫不夸张地负责任告诉你

  只要认识26个英文字母abcde.....,会计算10以内的加减乘除,就可以学习单片机的C语言。

  真的有这么简单?

  它真的有这么简单,一学就会。对于入门初学者,C语言真的非常适合,这也是C语言流行的原因之一。

  学习单片机的电路和C语言软件编程,这些都是停留在理论层面上,距离项目的开发,还有很长的一段路程。

  毕竟学习单片机是为了能够实际地开发设计项目,而不是仅仅停留在纸上谈兵。

  具体怎么做呢?

  芯片哥送你6个字,那就是“勤练习,多开发”。

  勤练习,多开发,就是告诉单片机的初学者,切勿天天抱着一本单片机的书籍,或者看一些网络上的视频教程。就是只看不练习,不去动手自己写代码,没日没夜似地看这个书,请教那个人,看网络学习的视频,这些都是徒劳无益。

  只有动手去参与单片机有关的项目,切身地去体会单片机的软件编程,经常性地练习,遇到问题再去查找资料,这样经过一段时间后,少则3个月,多则半年时间,单片机的学习就可以告一段落了。

  剩下的就是在工作中,通过项目开发的实践,不断积累单片机的开发能力。

  按照芯片哥给出的方法,先学习单片机的内部电路(硬件)和C语言的软件编程,有了相关理论基础之后,就可以“勤练习,多开发”了,这样就能较好地完成对单片机系统地学习了。

  最后芯片哥希望,学习完单片机后,能够收获一门技术能力的同时,也能收获一份高薪稳定的工作。

  本文由【芯片哥】原创撰写,喜欢就关注芯片哥,后面会定期更新有关于电子元器件和芯片,包括一些电子产品项目开发案例的相关内容。

  #单片机# #芯片#

  我大学毕业已经有年头了,在大学期间就就开始学习使用单片机,以下一些学习的心得供大家讨论参考,个人理解或认识原因,不当之处敬请原谅

  一、首先讲讲单片机在现实中的境况和发展前景

  毋庸置疑,现实生活中早已经离不开“电”了,家用电器已经非常普及,据有关咨询机构调查,中国平均每个家庭的家用电器大约20—30个,而国外发达国家更是高达40—50个以上。每一个电器都需要“控制”,随着人们生活质量的提高,“自动化”、“智能化”控制的需求更是越来越旺盛。

  单片机就是最好的实现这种控制的最好方式,事实上,目前稍微具有一些自动化控制的电器里面至少都有一个单片机(电磁炉,微波炉,电饭锅,抽油烟机,热水器。。。)。目前正火的物联网,智能硬件,智能家居等应用,每一个终端控制节点一般都是一个单片机在做控制。可见单片机的发展控制历史久远,源远流长。

  二、单片机学习从“0”开始

  学习单片机就像小孩子刚入学一样,一切都必须从头开始,一切都必须扎扎实实打好基础。

  1、 必要的相关学科知识当然是必须要首先掌握的:数字电路,模拟电路,电路学,数学(这个可以不用说,是基础的基础),英语(因为所有的编程语言都可以理解为英语,用不同的语法实现)。

  2、 寻找一种市场上最流行的单片机系列(品牌),如51,PIC,ST等等,非常多,任何一种都可以,一门通百理融。

  3、 确定好单片机品牌后(市面上使用越普及的越好,因为参考资料多),挑选一本对应的书,最好是带讲解也有例程的那种,如“xxx单片机入门与精通”。

  4、 准备一块对应单片机的开发板,最好是学习入门级的学习评估板,网上,或者代理商,原厂那里都有,这样就可以边看书,边对照例程实际演练,容易理解也掌握得快。

  5、 对应的开发工具,仿真器,烧写器(一般仿真器和烧写器选择二合一那种所谓的调试器,比较方便操作,简化操作)。

  6、 按照以上步骤,遵从书本里讲解的过程,一遍下来基本就能掌握可七七八八。书本里的例子也都是从最简单的IO口控制,LED灯闪烁等等这样最简单最基本的问题开始的。所以,基本没有难度。

  三、单片机学习也需要注重“算法”的理解、研究和掌握

  等到初步掌握单片机的特性和用法后,想真正独立开发项目,必须学习“算法”。

  就是说,单片机毕竟只能理解为一个工具,第一步我们先掌握如何使用这个工具。第二步就需要学习用自己的方法使用单片机。这里讲的“自己的方法”就是所谓的算法。因为单片机里面执行的程序都是我们自己事先编写进去的,就像我们事先安排好的步骤,第一步怎么做,第二步怎么做,遇到什么情况怎么做,无非就是这样的一系列过程。这些控制过程我们必须要有足够的能力自己编写,并且越严谨,越可靠,越精简,越不容易出故障。切记,在这方面只有参考,只有类似围棋里面的“定式”,没有标准答案,必须自己掌握,融会贯通。这才是学习单片机最难的地方,很多人多少年停滞不前,就是始终无法越过这个坎。

  四、继续深造需要与时俱进

  如果你已经克服第二步,要想再达到更高层次,那就必须继续学习。学习嵌入式,学习Linux,学习Android,软件工程,学习程序架构,学习人工智能。。。说实话,单片机在现在的时代已经在很多领域不能胜任了(芯片资源,运算速度等等)。例如我们可能最熟悉的智能手机,就是一个高大上的Android系统.当然还有智能硬件,智能家居,物联网系统,语音识别。。。都是单片机可望而不可即的。

  五、总结

  学好单片机大概在10—15年前非常“吃香”,当然现在也大有用武之地。关键是看我们每一个人的发展目标和发展方向,以单片机为基础再向更深入的技术方向拓展深度和广度,以上方法谨慎乐观推荐给大家。

  单片机的学习无外乎两方便.一,电路 。二,编程语言。

  先说电路,说到电路不得不提三本书。模电,数电,电路。可以说这三本书是学习电路的必经之路,学好这些,即使你不学单片机也可以找到一份薪资满意的工作。当然现在大公司工作都是分工明确的,做电路的就做电路。单片机编程的就做编程。不过能进大公司的还是少数。大部分小公司要求你全能,也就是说一个项目你要从芯片的选型,到外围电路的搭建,最后I/O口的定义,程序的编译调试,最后PCB板的制作,焊接,调试等等,你都要掌握。当然你的工资也是客观的。我的意思是学习单片机最好是要学习电路。

  接下来学编程语言,单片机的编程语言是结构化的C语言。C语言的学习也不是那么容易的,至少指针就够你迷糊一段时间的。学习C你可以先系统的学习一段时间,做一些练习,不用着急去将它应用到单片机上。

  前面是基础,到你拿到第一个开发版的时候,你的单片机生涯就此展开了。

  接下来介绍两款工具。

  1.keil。单片机的编程软件,它可以帮你搭建一个编译环境,并且为你编译程序提供一个界面。最主要的是可以生成.hex文件,供下载使用。

  2.protues。这是一个仿真软件,可以仿真你的电路,也可以仿真你的单片机程序,前期没有开发板时,可以用着软件来学习。

  最后给自己买一个开发板,认真学习里面的例程。一块接着一块的学。

  个人观点。

  应用领域:

  消费电子:洗衣机、电冰箱、空调机、IC卡、电子设备等。

  通讯方面:调制解调器、交换机等。

  工业自动化:数据采集和测控。

  武器设备:军舰、导弹、航天飞机,飞机等。

  仪器:示波器、信号源、万用表等。

  C语言,汇编

  深入了解计算机系统

  微机原理

  数字电路

  模拟电路

  单片机原理及应用

  C和指针

  1.首先把常见的基础知识通一遍,第一遍不需要理解的很明白,第二遍或者第三遍的时候开始深耕细作,开始全面的实践学习,这个阶段C语言基础要弄牢固。

  2.单片机常见的术语以及编译的环境开始涉猎,未开展的实际项目做准备

  3.开始找一款常用的单片机实践,串口通讯,IO操作,终端控制,这些常见的控制模式都可以着手去做,可以在网上买开发板自己尝试在里面填写代码,寻找编写代码的感觉。

  无论进行到那一步持之以恒的坚持,傻傻的坚持才是决定你最后能不能真正做到单片机的编程。

  有编程疑惑可以关注大学生编程指南,一起学习编程,互相监督学习

  这个问题菜农还是很有发言权的,因为菜农可谓搞单片机的“革命先烈”。

  要自学单片机最好先从51单片机开始入门。

  由于嵌入式领域的编程和PC端编程不同,它必须要有开发板辅助,而且要有一定的硬件知识,例如门电路、定时器、看门狗、I2C、SPI、串口、并口、LED、LCD等等知识,否则很难入门和进步。

  软件调试先从keill开始,编程语言要略知汇编语句,建议用C语言编写程序。还要学习CRC校验和一些通讯协议。当然最好会画板子布线等。

  最好到嵌入式技术论坛去学习,看大家在某个问题的解决方法和经验。

  建议到中国电子网21IC,它是国内最大的工程师网站之一。

  当然你也会在那里找到菜农早期的文章和论据。有不会的可向菜农或站内高人请教。

  对于单片机学习,不要想太多,最主要的是有单片机可以练习,和操作电脑是一个道理。

  如果只给你一本电脑操作的书,没有电脑可以操作,到头来还是学不到多少东西,看到有一个有趣的新闻是在非洲老师教同学们关于微软office系列软件的使用,只是将界面在黑板上画出来,没有实际的电脑操作,效果可想而知。

  现在的单片机很便宜,如果你没有的话可以在网上买一个,网上相关东西太多了,随便搜索一下,都是各种教程,你买单片机开发板会赠送你各种和该开发板有关的资料,有电子的、还有各种视频。

  这是在淘宝上搜到的,里边包含简单的如CS51系列单片机,也有STM32系列单片机,

  如果你是初学者可以从51单片机开始入手,这种单片机外设比较少,学起来比较简单,可以先拿这个练手,一般包含如GPIO、UART、定时器等等,可以先从类似跑马灯这种简单的程序入手,在逐步学习定时器、串口操作,后期可以学习相应的中断操作。

  至于说编程语言建议你就直接用C语言就好了,不像我当初学单片机还是汇编语言呢。

  现在一般开发环境可以用keil,现在版本为keil5,这个需要破解一下,注意别用在商业用途就可以了。

  如果想多接触一些单片机外设比如USB接口、以太网接口、CAN接口等等,可以继续学STM32系列单片机,这个比较好的是它把底层驱动库给你进行了封装,这样你就不用想MCS51系列单片机那样操作底层接口。

  如果有什么问题可以随时交流。

来源:文章来源于网络,如有侵权请联系我们及时删除。本文由机械网转载编辑,欢迎分享本文!