什么是单片机?单片机能干什么?如何学习?
很多电子方面的爱好者和一些准备进入电子行业的朋友不清楚什么是单片机,接下来跟着我一起带你走进单片机的世界,用最通俗的语言来讲解什么是单片机,单片机能干什么。欢迎大家关注趣味硬件。
1、什么是单片机
专业术语来讲,单片机就是在一块硅片上集成了微处理器、储存器以及各种输入输出接口的芯片,这样一快芯片就具有了计算机的属性,因而被称为单片微型计算机,简称单片机。简单点来说,单片机就是一块集成芯片,它具有一些特殊功能,而他这些功能的实现需要我们使用者自己编写程序来完成。我们编程的目的就是控制这块芯片的各个引脚在不同的时间输出不同的电平(高电平或者底电平),进而控制与单片机各个引脚相连接的外围电路的电气状态。编程时我们可以选择C语言或者汇编语言。根据我的经验建议大家直接选用C语言,学习快,容易理解,语法简单。51单片机的实物如下,这只是一种封装形式。
51单片机
2、单片机能干什么
单片机是一种可通过编程控制的微处理器,单片机芯片自身不能单独运用于某项工程或产品上,他必须要靠外围数字器件或模拟器件的协调才可以发挥自身的强大功能,所以我们在学习单片机知识的同时不能仅仅学习单片机的一种芯片,还要循序渐进的学习他外围的数字及模拟芯片知识,还要学习它常用的外围电路的设计与调试方法等。
单片机属于控制类数字芯片,目前应用领域已经非常广泛,例举如下:
工业自动化:如数据采集、测控技术。
智能仪器仪表:如数字示波器、数字信号源、数字万用表、感应电流表等。
消费类电子产品:如洗衣机、电冰箱、空调机、电视机、微波炉、IC卡、汽车电子设备等。
通信方面:如调制解调器、程控交换技术、手机、小灵通等。
武器装备:如飞机军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。
这些电子器件内部无一不用到单片机,而且大多数电器内部的主控芯片就是由一块单片机来控制的,可以说,凡是与控制或简单计算有关的电子设备都可以用单片机来实现,当然需要根据实际情况选择不同性能的单片机,如atmel, stc, pic, avr、凌阳、C8051及ARM等。因此,所学专业为自动化或与电子有关的理工科大学生,掌握单片机是最简单和基本的要求,如果大学四年,甚至七年、八年,你连单片机的知识都没有掌握,再别提更高级的CPLD, FPGA, DSP, ARM技术了,没有单片机知识做基本的支撑,学其他内容更是难于上青天。
51单片机开发板
3、如何学习单片机
很多单片机初学者问我的第一句话都是:怎样才能学好单片机?今天,我就结合我自己是如何开始学习单片机的,如何开始上手,又如何开始熟练等话题与大家分享。
我们现在用的比较多的是8051单片机,它的资料比较全,用的人也较多,市场也很大, 51单片机内部结构简单,非常适合初学者学习,建议初学者将51单片机作为入门级芯片。单片机属于硬件,开始的时候大家可以使用仿真软件来学习单片机,但是我可以肯定地告诉大家,使用仿真软件不是长久之计,只有把硬件摆在你面前,亲自操作它,才会有深 "刻的体会,也才能掌握它。单片机这门课是非常重视动手实践的,不能总是看书,但是也不能完全不看书,我们需要从书中大概了解一下单片机的各个功能寄存器,如果看的多了反而容易搞乱,尤其是现在市场上大多数讲单片机的书一开始就讲解较复杂的内存、地址、存储器,更让初学者感到不知所云、难以入门。简单地说,当我们使用单片机时,实际上就是用我们自己编写的软件去控制单片机的各个功能寄存器。再简单些,就是控制单片机哪些引脚的电平什么时候输出高,什么时候输出低, 由这些高、低变化的电平来控制外围电路,实现我们需要的各种功能。
关于实践,大家可以购买一款单片机开发学习板,不要求那种价钱很高,价格很贵的,对于初学者来说,你买的开发板上面有流水灯、数码管、独立键盘、矩阵键盘、AD和DA、液晶、蜂鸣器IIC总线,这些就差不多了。
后面作者会自己做一批开发板,点赞关注转发,私信我免费送哦,数量有限,大家抓紧。
也可以自己购买一款开发板,这里推荐一下郭天祥的开发板,我就是从这个板子入门的,不是打广告哦,板子上的资源初学者远远足够了。有了开发板之后就需要多加练习,先学会怎么使用编程软件,调试软件,然后从最简单的流水灯实验开始,等你能让8个流水灯按照你的意思随意流动的时候,你已经入门了,你会发现这简直太有趣了,学习知识的同时又体验到无穷的乐趣。
欢迎大家收藏转发加关注,下期教大家安装51单片机的编程软件Keil、下载软件和仿真软件的安装方法,需要软件的朋友欢迎关注私信我!!
什么是单片机?怎么学?怎么用?那请你认真看完本文(勿转载)
一、想快速入门进阶,面向工作时
先把工作中需要的东西学会,一项一项的来,比如先把GPIO弄清楚,怎么初始化,怎么输入输出,然后定时器、串口、ADC、DAC、DMA、SPI等等先把用得着的一个一个地做, 都弄明白了再往一块整合,从简单到复杂,硬件操控起来了也就算对这种单片机入门了吧,软件方面,不管用什么单片机,用什么编译器,区别不大初学的最好还是买个开发板,不 需要多高级的,有几个常用功能做出来,其它就容易了。
关于初学者是否需要弄清底层函数问题:
先玩起来再说底层函数,一般就用现成的库,绝大多数应用都没问题的,至于库里面是什么,先不管它,到了高级阶段再去看。
二、进阶步骤
会点灯-入门;
会使用各个常见中断,能把项目做出来-熟练;
会DMA、PWM各种模式,能把项目熟练完成-精通;
会CAN,USB,RS232,RS485,SPI,I2C,运动控制,电机驱动,各种滤波算法,PID算法-非常精通。
三、经验分享
自己的体会,对不对不知道哈。我自己学MCU就是大学里学的51单片机,所有功能会用算是入门槛,后来学习和工作慢慢接触其他的PIC,Freescale,STM这些,慢慢发现其实 东西都是有相通的,但是一定要动手,不管是用例程还是自己写,都要带板子跑代码,过程中肯定有问题慢慢解决,才能有提高,而且现在的片子底层驱动库都有,项目用的时候就 是参考一下手册会调用,底层驱动功能正常就可以了,很少项目里面从零开始写代码了。
四、经验分享
建议:初入STM32的学习者不用记,直接用就行了,这个玩意,实践才能进步;边学边用才是正途,关键是用,不是学。
五、经验分享
可以自己试着完成一个功能,比如简单的流水灯,逻辑肯定自己写,涉及到stm32的比如怎么初始化、怎么配置之内的不会的可以查资料,但是一定要要有自己的思想, 完成了我觉得就算入门了。
六、关于初学者是否要弄懂底层函数
初学者没必要弄懂底层函数。项目需要用到什么再去研究什么。比如你的项目只要点亮一个LED灯,那你只研究怎么配置GPIO就好了,没必要去研究什么PWM了。现在 有个神器叫STM32CubeMX,直接生成一些底层初始化代码,加上HAL库调用,哪里不会再查哪里。底层函数这玩意,你调用多了,自然会去研究怎么配置达到你要做的效果, 在项目中进击,没必要一上来就啃底层,专注你的算法才是真正有意义的事情。
七、经验和观点的分享
我也有思考,如何清晰、系统地学习 STM32,建立整个 Cortex-M 知识体系,以及相应的理论支撑,并最终应用到 Cortex-M 内核 MCU。现有的教程也都没有构建这样的 知识体系,学习、成长路线,所以很多人(包括我自己在内)都会在某个阶段遇到瓶颈。到头来发现自己依旧停留在知道这个点,也会用,会面向百度编程,但一遇到问题需要调试,需要更多的理论支撑的时候,就无从下手了。 另外,STM32 做项目的话,应该也少不了使用操作系统,所以 RTOS 还是需要学习的。RTOS 面又是比较多的,现在又有物联网操作系统的概念
(比如 RT-Thread【物联网相关的软件包非常多】,华为的 LiteOS【官方动作比较小】,阿里的 Aliosthings【WIFi 等模组支持的相对较好】)。 所以,有人能把这套内容整合出来一个学习路线和测试验证知识点,应该会非常好。
八、经验分享(什么时候可以接触项目)(指导的很多方面)
会建立工程点灯就算入门
知道各个外设的基本特性就算基本熟练(定时器 SPI UART IIC SDIO FMC,有需要再看网络和USB) 知道怎么读取、控制外围设备(采样、显示、射频一类的), 会用现有库就算精通(RTOS/UI/存储/网络)剩下的都是工程经验,代码组织、排错、调试一类的,多做就行。 会用串口,能通过示波器看懂SPI/IIC的波形、能输出想要的波形,会输出PWM波,就可以开展项目了,另外是C语言要扎实,有一点总线知识,至少要明白堆栈的含义,知道自己随手定义的变量处在什么section,熟悉数据的内存组织结构更好(这些最好是多做调试多看MDK的Call Stack+local窗口和Watch窗口,看看 数据对应的内存地址和组织方式,对你深入了解语言、CPU有很大好处)。 深入的逻辑、代码组织方式,需要你自己在实践中总结,看别人的源码也是比较不错的方式求快的话,不建议看视频,从PDF教程开始,配合官方的手册对照看。
一个月从0到会走路是没问题的。
关于学习方式:
视频的进度和内容不容易筛选,你只能跳着跳着看,或者1.5倍速完整拉完,跳着看容易遗漏看PDF方便反复查看仔细比对。先看设计大纲,自己理解一遍, 然后针对性地看自己不太理解的的地方,在具体技术细节上配合datasheet,全程都是干货。再自己拿板子跟着走一遍基本就OK了。
九、经验分享
1.芯片只是一个底层工具,当然你只有完全了解你所使用的外设工作逻辑后才可能设计出可靠的底层系统。
2.底层熟悉后,剩下的就是项目的应用问题,算法,协议,应用逻辑等,这个就是行业属性,行业积累。
3.如果说入门,至少知道配置一个外设的完整流程,不一定每一个都要用一遍,只要你知道大概流程,用的时候知道看什么地方就入门了。
十、学习心态方面(关于工作面对项目)
同意你的意见,我觉得搞技术心态很重要,就是蔑视他,不就是什么什么嘛,老子能搞定你 。 如果遇到问题就是天大的事情,感觉自己不行,搞不定。这样即使解决问题了,也只是解决这样一个问题。
本文摘抄自正点原子论坛,如侵权,请联系本人删除 原文链接文末所示
相关问答
单片机 原理及应用主要 学什么 ?单片机原理及应用是一门涵盖微处理器、嵌入式系统、电子电路理论和软件编程等多个领域的综合性学科。主要学习单片机的基本结构、内部寄存器、编程语言和应用...
如何快速 学 习和掌握 单片机 知识及应用?单片机的学习只要掌握相应的方法,而且你又一点点相应的基础是完全能够快速掌握的,你需要从下面几个方面进行切入。1.学会读单片机的数据手册,了解他的外设功...
谈谈你对 单片机 的认识?从大一的时候在大学图书馆看到关于AVR单片机的书籍,到参加竞赛、工作,我和单片机已经打了六七年的交道了吧。其间我都是在做产品的软件开发,与硬件工程师合作...
什么是 单片机什么 是上位机哪个更好一点?单片机是指将CPU\存储器\输入输出接口\定时\中断\时钟集成在一块芯片上的控制器,所以叫单片(一块芯片),上位机一般情况下是由普通的个人计算机承担,而...单片...
单片机 的基本结构有哪些呢?单片机的基本结构:运算器、控制器、主要寄存器。运算器功能:执行各种算术运算;执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。主要寄存器功...
学 好 单片机 要多久?学好单片机需要时间和努力。对于初学者来说,需要掌握基本的电子知识和编程技巧。学习过程中,需要理解单片机的原理和功能,学会使用开发工具和编程语言进行程序...
单片机 原理及应用哪些专业要 学 ?单片机原理及应用是电子工程、计算机科学与技术、机械工程等专业的必修课程之一。以下是一些具体的学习单片机原理及应用的工程专业:电子信息工程:该专业注重...
单片机 是什么意思?[回答]单片机定义单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部...
学单片机 要多久?掌握基本用法一个月左右吧。先了解基本C语言。其次了解单片机语言。然后了解单片机原理,里面的寄存器,时钟,定时器,等等等等。然后上手练习,多积累,多...
单片机 工程师需具备哪些技能,市场需求大吗?首先单片机工程师的市场需求应该是非常大的!现在基本上所有的电子产品都都用到单片机。只要有电子的地方基本上都需要有电子工程师或者单片机工程师的参与。要...