技术热线: 4007-888-234

简单看懂什么是单片机编程与嵌入式系统

更新时间: 2019-10-23
阅读量:5455

什么是嵌入式编程?对于嵌入式系统,许多人很容易将它与单片机编程混淆。其实,嵌入式编程指的是在我们生活中的房屋、汽车、工作场所中的计算机编程设备,嵌入式系统便是运行于其中。需要指出的是,所有单片机编程都是嵌入式编程,但并非所有嵌入式编程都是单片机编程。有时,这些术语可以互换使用,但是本教程系列的重点始终是单片机。

QQ截图20191023181745.png

对于你使用的每台台式机、笔记本电脑或平板电脑,这些设备可能会有十几个或更多单片机悄悄地在执行其嵌入式任务,而对于这些设备,许多人甚至没有意识到,单片机是一台微型计算机中的微型计算机。那些程序必须编写在单片机上,比如控制充电、放电之类,这就是为什么世界需要嵌入式程序的原因。单片机为无数的设备和系统增加了智能,使这些设备和系统可以更好、更快、更安全、更有效、更方便、更有用地运行,并且在许多情况下允许存在无法构建的设备和系统。

环顾四周所有电器,你会发现有很多使用单片机的电器和电子产品。最重要的是,包括我在内的许多人发现,单片机编程是编程特别引人入胜的分支,我们喜欢对嵌入式系统进行编程。在从方式大多数台式机或大型机编程非常不同,嵌入式程序做的东西做的东西,到嵌入式程序员,东西做的东西是无止境凉爽。

什么是嵌入式系统?这个问题没有完美的答案,因为每个答案都会有一些例外。但是,出于本文的目的,让我们先声明,嵌入式系统是使用一个或多个微型计算机(即小型到非常非常小的计算机),运行定制专用程序并连接到专用硬件以执行一组专用功能的嵌入式系统。这可以与通用计算机(如熟悉的台式机或笔记本电脑)形成对比,后者不能设计为仅运行带有一组专用硬件的专用程序。很绕口,而且也不是一个完美的定义,但这可以成为你认识单片机和嵌入式系统的一个开始。 

目前,嵌入式系统应用很广泛,这里列举一些使用案例:

1.报警或安全系统;
2.汽车巡航控制;
3.空调温控器;
4.微波炉;
5.防抱死制动控制器;
6.红绿灯控制器;
7.自动售货机;
8.加油站;
9.掌上游戏;
10.灌溉系统控制器。

这里所列出的例子并不复杂,因为这毕竟是一个入门教程。在本教程系列结束之前,你应该大致了解如何对这些应用程序中的大多数进行编程,以及大致而言它们将需要哪种I/O,定时,中断以及通信硬件和功能。 

有几件事值得注意,尽管许多嵌入式系统使用相当传统的用户输入输出设备(键盘,显示器),但许多其他系统却没有。而且,许多嵌入式系统都直接与人互动,而其他系统则没有这功能。

嵌入式编程有何不同?嵌入式程序必须与构成硬件的专用组件和自定义电路紧密配合。与在全功能操作系统之上进行编程不同(在硬件上,尽可能多地从程序员的注意和控制中删除硬件细节),大多数嵌入式编程直接在硬件上或在硬件上起作用。这不仅包括CPU的硬件,还包括构成系统所有外围设备(片上和片外)的硬件。因此,嵌入式程序员必须至少具有硬件方面的知识,至少与编写与该硬件正确交互并对其进行操作的软件有关。这些知识通常会扩展到指定硬件的关键组件(单片机,存储设备,I/O设备等),在较小的组织中,有时甚至会去设计和布局(作为印刷电路板)硬件。嵌入式程序员还需要对调试设备有很好的了解,例如万用表,示波器,逻辑分析仪等。

与通用计算机的另一个不同之处在于,与前者相比大多数嵌入式系统非常有限。嵌入式系统中使用的微型计算机可能具有几千到几十万字节的程序存储器大小,而不是台式机中的千兆字节,并且通常具有比程序存储器更少的数据(RAM)存储器。此外,CPU通常是较小的8位和16位设备,而不是台式机中的32位和较大的设备(尽管现在,中型的32位小型单片机的价格不到1美元,这令人惊讶地惊人)。较小的CPU字长意味着,与在较大字长的CPU上运行的等效程序相比,程序将需要更多指令(因而需要更多时钟周期)。

最后,较小的单片机的运行速度远小于PC的运行速度。典型的较小的单片机时钟频率在1到200 MHz之间,而不是PC的GHz频率。