为什么学习嵌入式会搞单片机以及如何学习C51单片机
很多想搞嵌入式的朋友都在想,为什么搞嵌入式会学习单片机呢,两个到底有什么异同?关系又是什么?等一系列问题,根据我的理解简单的说明一下,希望能帮到初学的朋友。
一、嵌入式和单片机的关系
很多想搞嵌入式的朋友都在想,为什么搞嵌入式会学习单片机呢,两个到底有什么关系等一系列问题,根据我的理解简单的说一下,希望能帮到初学的朋友。
1、嵌入式的定义
嵌入式即嵌入式系统,IEEE(美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统;国内普遍认同的嵌入式系统定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统;
2、单片机的定义
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统
3、两者的关系以及区别
在百度搜索时,我们都会发现,嵌入式并没有给出很清晰的官方定义,就不像单片机是一个确定的东西的名词。嵌入式是一个相对较大,功能更完善,更强大的专用计算机系统,而单片机是相对小、功能较少的一个系统。但是严格来说,嵌入式包含了单片机,单片机是嵌入式的一个子集,很多嵌入式产品中被嵌入的计算机系统就是单片机,大部分家电产品中嵌入的计算机系统都是单片机,也可以说单片机是目前嵌入式的心脏,是最重要、最不可缺的部分。所以说这就是为什么搞嵌入式都需要学习单片机的原因。以前单片机包括的东西并不算多,两者的硬件区别较为明显。但是,随着半导体技术的突飞猛进,现在各种硬件功能都能被做进单片机之中。所以,嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。于是,人们倾向于在软件上进行区分。
从软件上,行业里经常把芯片中不带MMU(memory management unit,内存管理单元)从而不支持虚拟地址,只能裸奔或运行RTOS(实时操作系统,例如ucos、华为LiteOS、RT-Thread、freertos等)的system,叫做单片机(如STM32、NXP LPC系列、NXP imxRT1052系列等)。
同时,把芯片自带MMU可以支持虚拟地址,能够跑Linux、Vxworks、WinCE、Android这样的“高级”操作系统的system,叫做嵌入式。在某些时候,单片机本身已经足够强大,可以作为嵌入式系统使用。它的成本更低,开发和维护的难度相对较小,尤其是针对一些针对性更强的应用。而嵌入式系统理论上性能更强,应用更广泛,但复杂度高,开发难度大。
二、如何学习C51单片机
虽然现在大多是嵌入式都是说先学习STM32,但是无论是大学学校开课,还是你在网上寻找学习路线,都是先建议学习C51单片机,因为C51单片机曾经在很长时间里都是市面上最主流、应用最广泛的单片机,占据大量的市场份额。但是现在来说,技术已经相对落后了,但是却很简单,很适合初学者上手,了解各种芯片作用、如何对寄存器操作、如何操作单片机实现各种功能等。
首先建议先有以下基础:C/C++、数字电路、微机原理
软件:keil4或keil5、stc-isp
当然还有或不可缺的开发板,我学习使用的是STC89C52RC
然后就是完成一个项目的过程:
1、了解实现此功能需要用到的硬件、芯片
2、查看原理图与操作手册,了解芯片与硬件的功能以及使用方法
3、在keil里面编写程序
4、通过stc-isp烧录程序,功能实现
虽然看起来步骤简单,但是很多朋友都是初学者,并不能一到手就知道芯片的作用,也不会去仔细翻看操作手册,就算看到了也不懂其中的一些专业名词和实际操作方法,以及不知道怎么给各个管脚赋值、怎么对寄存器操作等。所以可以在各大视频网站找一个适合自己的教学视频,先跟着他的讲解了解基础功能与操作步骤,跟着一步步的做实验。当所有学习完成之后,自己再独立去做几个典型的做过的案例,这样我们就简单学会了对C51单片机的操作。
当然,学习的过程不像学习C/C++那样有趣,因为他们时刻都有新知识点,随便一个组合又可以创造一个功能。C51单片机基本上就是对管脚高低电平的操作,对寄存器的操作、看原理图了解各芯片的功能以及操作方法,每个实验基本上都是这三个中心,稍微简单的案例可能没有对寄存器的操作。所以学习过程就可能较枯燥,但坚持就是胜利。同时也可能会发现,某个案例很简单,下一个案例难度陡然增加,可能是芯片功能增多或者涉及到几个部件一起使用,这都是正常的,不用担心。同时,大家一定要动手操作、自己思考之后再去跟着做、自己单独的去做,这样才能将单片机变成自己的单片机。
希望这简短的文章能解决初学朋友的一些疑问。同时需要软件、案例源码的朋友可以私信我。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)