新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机初学者的常见问题

单片机初学者的常见问题

作者:时间:2013-04-11来源:网络收藏

二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称pc机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。

学习单片机是否很困难呢?应当说,对于已经具有电子电路,尤其是数字电路基本知识的读者来说,不会有太大困难,如果你对pc机有一定基础,学习单片机就更容易。为使绝大多数读者能用上单片机。我们这里将尽量按深入浅出、删繁就简、理论联系实际的原则把单片机的基本工作原理、使用方法交给读者,以达到把大家领进单片机之“门”的目的。不过,单片机和pc机一样,是实践性很强的一门技术,有人说“计算机是玩出来的”,单片机亦一样,只有多“玩”,也就是多练习、多实际操作,才能真正掌握它。因此,本讲座会提供各种练习和实验,并介绍一些适用于初学者且性价比较高的单片机和开发系统的货源。你只有认真完成成这些实践环节,才能为进一步深造,打好基础。

“入门既不难,深造也是办得到的”,只要你有恒心、有决心,跟随我们的“连载”一步步走下去,将来就一定能在单片机世界里遨游。

单片机的组成

单片机要自动完成计算,它应该具有哪些最重要的部分呢?

我们以打算盘为例计算一道算术题。例:36+163×156-166÷34。现在要进行运算,首先需要一把算盘,其次是纸和笔。我们把要计算的问题记录下来,然后第一步先算163×156,把它与36相加的结果记在纸上,然后计算166÷34,再把它从上一次结果中减去,就得到最后的结果。

现在,我们用单片机来完成上述过程,显然,它首先要有代替算盘进行运算的部件,这就是“运算器”;其次,要有能起到纸和笔作用的器件,即能记忆原始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种命令。这类器件就称为“存贮器”。此外,还需要有能代替人作用的控制器,它能根据事先给定的命令发出各种控制信号,使整个计算过程能一步步地进行。但是光有这三部分还不够,原始的数据与命令要输入,计算的结果要输出,都需要按先后顺序进行,有时还需等待。如上例中,当在计算163×156时,数字36就不能同时进入运算器。因此就需要在单片机上设置按控制器的命令进行动作的“门”,当运算器需要时,就让新数据进入。或者,当运算器得到最后结果时,再将此结果输出,而中间结果不能随便“溜出”单片机。这种对输入、输出数据进行一定管理的“门”电路在单片机中称为“口”(port)。在单片机中,基本上有三类信息在流动,一类是数据,即各种原始数据(如上例中的36、163等)、中间结果(如166÷34所得的商4、余数30等)、程序(命令的集合)等。这样要由外部设备通过“口”进入单片机,再存放在存贮器中,在运算处理过程中,数据从存贮器读入运算器进行运算,运算的中间结果要存入存贮器中,或最后由运算器经“出入口”输出。用户要单片机执行的各种命令(程序)也以数据的形式由存贮器送入控制器,由控制器解读(译码)后变为各种控制信号,以便执行如加、减、乘、除等功能的各种命令。所以,这一类信息就称为控制命令,即由控制器去控制运算器一步步地进行运算和处理,又控制存贮器的读(取出数据)和写(存入数据)等。第三类信息是地址信息,其作用是告诉运算器和控制器在何处去取命令取数据,将结果存放到什么地方,通过哪个口输入和输出信息等。

存贮器又分为只读存贮器和读写存贮器两种,前者存放调试好的固定程序和常数,后者存放一些随时有可能变动的数据。顾名思义,只读存贮器一旦将数据存入,就只能读出,不能更改(eprom、e2prom等类型的rom可通过一定的方法来更改、写入数据——编者注)。而读写存贮器可随时存入或读出数据。

实际上,人们往往把运算器和控制器合并称为中央处理单元——cpu。单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机中就设置有定时器兼计数器,其基本结构与本连载之(二)中的举例类似。到这里为止,我们已经知道了单片机的基本组成,即单片机是由中央处理器(即cpu中的运算器和控制器)、只读存贮器(通常表示为rom)、读写存贮器(又称随机存贮器通常表示为ram)、输入/输出口(又分为并行口和串行口,表示为i/o口)等等组成。实际上单片机里面还有一个时钟电路,使单片机在进行运算和控制时,都能有节奏地进行。另外,还有所谓的“中断系统”,这个系统有“传达室”的作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传达室”通报给cpu,使cpu根据外部事态的轻重缓急来采取适当的应付措施。

现在,我们已经知道了单片机的组成,余下的问题是如何将它们的各部分连接成相互关联的整体呢?实际上,单片机内部有一条将它们连接起来的“纽带”,即所谓的“内部总线”。此总线有如大城市的“干道”,而cpu、rom、ram、i/o口、中断系统等就分布在此“总线”的两旁,并和它连通。从而,一切指令、数据都可经内部总线传送,有如大城市内各种物品的传送都经过干道进行。

单片机的指令系统和汇编语言程序

前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬件。所谓硬件(hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件(software)的配合。软件主要指的是各种程序。只有将各种正确的程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(instruction)预先存入到存贮器中,单片机在cpu的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已存入存贮器后,还需要进行以下几步:   第一步:把第一个数从它的存贮单元(location)中取出来,送至运算器。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭