单片机基础知识_第1页
单片机基础知识_第2页
单片机基础知识_第3页
单片机基础知识_第4页
单片机基础知识_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.单片机简介:亦称微控制器,顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控 机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时 工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能微电脑型”,如智能型热水器等。学习单片机是否很困难呢?应当说,对于已经具有电子电路,尤其是数字电 路基本知识的读者来说,不会有太大困难,如果你对PC机有一定基础,学习单 片机就更容易。为使绝大多数读

2、者能用上单片机。我们这里将尽量按深入浅出、理论联系实际的原则把单片机的基本工作原理、使用方法交给读者,以达到把大家领 进单片机之“门”的目的。不过,单片机和PC机一样,是实践性很强的一门技术,有人说“计算机是玩出来的”,单片机亦一样,只有 多“玩”,也就是多练习、多实际操作,才能真正掌握它。因此,本讲座会提供各种练习和实验,并介绍一些适用于初学者且性价比较高的单片机和开发系 统的货源。你只有认真完成成这些实践环节,才能为进一步深造,打好基础。只要你有恒心、有决心,跟随我们的“连载”一步步走下去,将来就一定能在单片机世界里遨游。 单片机的组成: 单片机要自动完成计算,它应该具有哪些最重要的部分呢

3、? 我们以打算盘为例计算一道算术题。例:11110918819932。现在要进行运算,首先需要一把算盘,其次是纸和笔。我们把要计算的问 题记录下来,然后第一步先算109188,把它与111相加的结果记在纸上,然后计算19932,再把它从上一次结果中减去,就得到最后的结果。 现在,我们用单片机来完成上述过程,显然,它首先要有代替算盘进行运算的部件,这就是“运算器”;其次,要有能起到纸和 笔作用的器件,即能记忆原始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种命令。这类器件就称为“存贮器”。此外,还需要有能代替 人作用的控制器,它能根据事先给定的命令发出各种控制信号,使整个计

4、算过程能一步步地进行。但是光有这三部分还不够,原始的数据与命令要输入,计算的结果 要输出,都需要按先后顺序进行,有时还需等待。如上例中,当在计算109188时,数字111就不能同时进入运算器。因此就需要在单片机上设置按控制器的命令进行 动作的“门”,当运算器需要时,就让新数据进入。或者,当运算器得到最后结果时,再将此结果输出,而中间结果不能随便“溜出”单片机。这种对输入、输 出数据进行一定管理的“门”电路在单片机中称为“口”(Port)。在单片机中,基本上有三类信息在流动,一类是数据,即各种原始数 据(如上例中的111、109等)、中间结果(如19932所得的商6、余数7等)、程序(命令的集

5、合)等。这样要由外部设备通过“口”进入单片机,再存放在存贮器中,在运算处理过程中,数据从存贮器读入运算器进行运算,运算的中间结果要存入存贮器中,或最后由运算器经“出入口”输出。用户要单片机执行 的各种命令(程序)也以数据的形式由存贮器送入控制器,由控制器解读(译码)后变为各种控制信号,以便执行如加、减、乘、除等功能的各种命令。所以,这一 类信息就称为控制命令,即由控制器去控制运算器一步步地进行运算和处理,又控制存贮器的读(取出数据)和写(存入数据)等。第三类信息是地址信息,其作用 是告诉运算器和控制器在何处去取命令取数据,将结果存放到什么地方,通过哪个口输入和输出信息等。半导体存储器的工作原理

6、存贮器又分为只读存贮器和读写存贮器两种,前者 存放调试好的固定程序和常数,后者存放一些随时有可能变动的数据。顾名思义,只读存贮器一旦将数据存入,就只能读出,不能更改(EPROM、E2PROM等类型的ROM可通过一定的方法来更改、写入数据编者注)。而读写存贮器可随时存入或读出数据.1 存储器的内部构造 看下面 的图这就是半导体存储器的结构简图 (图中有4个字节)2 存储器的工作原理 存储器就是用来存放数据的地方它其实是利 用电平的高或低来存放数据的也就是说它实际上存放的是电平的高或低的状态而不是我们所习惯上认为的有了这么一个构造我们就可以开始存放数据了比如我们要放 进一个数据1234这样的数字那

7、它是如何工作的呢看上面的图这就是存储器的内部结构示意 图一个存储器就象一个小抽屉一个小抽屉里有8个也就是单片机的8位小盒子每个小盒子用来存放1位电荷电 荷通过与它相连的电线传进来或释放掉至于电荷在小盒子里是怎样存放的这就不用我们操心了您可以把电线想象成水管小盒子里的电荷就象是水那就好理解了存储器 中的1个小抽屉我们把它称之为1个单元相当于1个字节而1个小盒子就相当于1位我们只要把第2号第4号和第5号小盒子里存满电荷而其它小盒子里的电荷给放掉就行了可是问题又出来了一个存储器有好多相同的单元线是并联着 的看D7-D0在放入电荷的时候会将电荷放入所有的字节单元中而释放电荷的时候会把每 个单元中的电荷

8、都放掉这样的话不管存储器有多少个字节单元都只能放同一个数这当然不是我们所希望的因此我们要在结构上稍作变化看上面的图在每个单元上有根 线与译码器相连我想要把数据放进哪个单元就通过译码器给哪个单元发一个信号由译码器通过这根线把相应的开关打开这样电荷就可以自由地进出了那么这样是不是 就能随意地向存储器写入或者读出数据了呢其实还不能继续看上面的图与D7-D0相 连的还有一个控制器它是用来干什么的呢这根线叫写入/读出控制线当我们向存储 器写入数据时必须先把这个开关切换到写入端而要读出数据时就得先把开关切换到读出端而片选端则是为了区分不同的存储器设置的这里没搞明白没关系后面还有介 绍先让我们来看看译码器是

9、如何工作的3 半导体存储器的译码 简单介绍一下我们知道1根线可以代表2种状态2根线可以代表4种状态3根线可以代表8种256种状态又需要几根线代表自己想一下是不是8根线4 存储器的选片及总线的概念 至此译码的问题解决了让我们再来关注另外 一个问题送入每个字节的8根线又是从什么地方来的呢它就是从单片机的外部引脚上接过来的一般这8根线除了接一个存储器之外还要接其它的器件这样问题又来了这8根线既然不是存储器和单片机之间专用的如果总是将某个单元接在这8根线上就不行了比如这个存储器单元中的数值是另一个存储器的单元是那么这根 线到底是处于高电平还是低电平所以我们必须让它们分离办法当然也简单当外面的线接到集成

10、电路的引脚上来后不直接接到各单元去而是在中间加一组开关这组开关 就是前面提到的控制器看前面的图平时我们让开关打开着如果确实是要向这个存储器中写入数据或要从存储器中读出数据再让开关切换到相应的位置就行了这组开关 由三根引线选择读控制端写控制端和片选端要将数据写入先由控制器选中该片然后发出相应的写信号开关切换到相应的位置并将传过来的数据电荷写入片中如果要读 信号先选中该片然后发出读信号开关也切换到相应的位置上数据就被送出去了另外读和写信号还同时受到译码器的控制由于片选端的不同所以虽有读或写信号但没有 片选信号所以另一个存储器就不会误会而开门造成冲突那么会不会同时选中两个存储器呢只要是设计好的系统就

11、不会如果真的出现同时选中两个存储器的话那就是电 路出故障了8根线并不是专用的而是很多器件大家共用的所以我们把它们称之为数据总线 总线英文名为BUS即公交车道谁都可以走而16根地址线51单片机共有16根地址线这些以后会讲解这里不必死记硬背也是连在一起的我们把它们称之为地址总线看上面的图 如此看来存储器要想写入或者读出数据还真是不容易不过好在这些都是由计 算机自动完成的不需要我们去操心从上面的介绍中我们已经看到用来传递数据的 单片机的主要处理中心CPU实际上,人们往往把运算器和控制器合并称为中央处理单元CPU。 单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机中就设置有

12、定时器兼计数器。到这里为止,我们已经知道了单片机的基本组 成,即单片机是由中央处理器(即CPU中的运算器和控制器)、只读存贮器(通常表示为ROM)、读写存贮器(又称随机存贮器通常表示为RAM)、输入/输出口(又分为并行口和 串行口,表示为I/O口)等等组成。实际上单片机里面还有一个时钟电路,使单片机在进行运 算和控制时,都能有节奏地进行。另外,还有所谓的“中断系统”,这个系统有“传达室”的作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传达室”通报给CPU,使CPU根据外部事态的轻重缓急来采取适当的应付措施。现在,我们已经知道了单片机的组成,余下的问题是如何将它们的各部分连

13、接成相互关联的整体呢?实际上,单片机内部有一条将它们连接起来的“纽带”,即所谓的“内部总线”。此总线有如大城市的“干道”,而CPU、ROM、RAM、I/O口、中断系统等就分布在此“总线”的两旁,并和它连通。从而,一切指令、数据都可经内部总线传送,有如大城市内各种物品的传送都经过干道进行。单片机的指令系统和汇编语言程序:前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬 件。所谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实 现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程

14、序。只有将各种正确的程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一 步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已 存入存贮器后,还需要进行以下几步:第一步:把第一个数从它的存贮单元(Location)中取出来,送至运算器。 第二步:把第二个数从它所在的存贮单元中取出来,送至运算器;第三步:相加;第四 步:把相加完的结果,送至存贮器中指定的单元。所有这些取数、送数、相加、存数等等都是

15、一种操作(Operation),我们把要求计算机执行的各种操作用命令的形式写下来,这就是指令。 但是怎样才能辨别和执行这些操作呢?这是在设计单片机时由设计人员赋予它的指令系统所决定的。一条指令,对应着一种基本操作;单片机所能执行的全部指令, 就是该单片机的指令系统(IustructionSet),不同种类的单片机,其指令系统亦不同。下面重点讲一下数据、地址、指令的区别初学时特不易区分:数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一 样的数字,或者说都是一串0和1组成的序列。换言 之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着

16、严格的一一对应关系,不可以由单片机的开发者更改。 地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定, 但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有 这么几种情况:1地址(如MOVDPTR,#1000H),即地址1000H(相当于门牌号)送入DPTR。2方式字或控制字(如MOVTMOD,#03H),3即是控制字。3常数(如MOVTH0,#10H)10H即定时常数(16进制)。4实际输出值 (如P1口接彩灯

17、,要灯全亮,则执行指令:MOVP1,#0FFH,要灯全暗,则执行指令:MOVP1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把 数据当成指令来执行了。2单 片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大 部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外 存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的 单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。 单

18、片机也被称为微控制器(Microcontroler),是因为它最早被用在工业 控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的 8031,因为简 单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始

19、出现了16位单片机,但因 为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应 用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也 得到了飞速提高,处理能力比起80年代提高了数百 倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使 用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌 上电脑和

20、手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器最适合应用于嵌 入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子 和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩 具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算 的综合,甚至比人类的数量还要多。单片机介绍: 单片机又称单片微控制器,它不是完成某一个逻

21、辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块 芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单 片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑 弱很多,不过价钱也是低的,一般不超过10元即可.用它 来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、 VCD等等的家电里面都可以看到它的身影!.它主 要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在

22、线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这 也是和离线式计算机的(比如家用PC)的主要区别。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功 能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列 这些纯硬件来搞定的话,电路一定是一块大PCB 板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别! 只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治 地位的

23、软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像 硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一 个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把 巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不 了的。 可以说,二十世纪跨越了三个“电”的时代,即电气时 代

24、、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成(如图1所示)。还有一类计算机,大多数人却不怎么熟悉。这种计 算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算 机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装 置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这 种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”

25、,如智能型洗衣 机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不 是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机的应用领域: 目前单片机渗透到我们生活的各个领域,几 乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿 车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开

26、发与应用将造就一批计算机应用 与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积 小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪 器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。 例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以

27、构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控 制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、 其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用 提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从 手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电

28、话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例 如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教 育,国防航空航天等领域都有着十分广泛的用途。单片机学习: 目前,很多人对汇编语言并不认可。可以说,掌握用C语言单片机编程 很重要,可以大大提高开发的效率。 不过初学者如果不了解一下单片机的汇编语言,在单片机领域是比较致命的。 如 果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决! 可 以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者 因 为单片机的C

29、语言虽然是高级语言,但是它不同于台式机个人电脑上的VC+什么的 单 片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在台式PC上写程序 毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题。初识单片机记得在我们网站的论坛里,曾经有一位网友问了一 个问题,什么是单片机?单片机是怎样的一个东东?单片机可以实现些什么功能?它主要应用在哪些领域?在我们单片机自学网的网上课堂的第一节课,我们就上面 的这些问题与大家先做一个初步的探讨。在进入课程的讲解之前,大家先一起来看看单片机吧。下图是一片40脚的89C51及一片20脚的89C2051的单片机。 单片机的外形从上图中我们已初步认识了,

30、那么什么叫单片机呢? 所谓单片机,通俗的来讲,就是把中央处理器CPU(CentralProcessingUnit),存储器(memory),定时器,I/O(Input/Output) 接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。单片机又称为“微控制器MCU”。中文“单片机”的称呼是由英文名称“SingleChipMicrocomputer”直接翻译而来的。单片机的主要分类:1、按应用领域可分为:家电类,工控类,通信类,个人信息终端类等等;2、按通用性可分为:通用型和专用型。通用型单片机的主要特点是:内部资源比较丰富,性能全面,而且通用性 强,可履盖多种应用要求。所谓

31、资源丰富就是指功能强。性能全面通用性强就是指可以应用在非常广泛的领域。通用型单片机的用途很广泛,使用不同的接口电路及 编制不同的应用程序就可完成不同的功能。小到家用电器仪器仪表,大到机器设备和整套生产线都可用单片机来实现自动化控制。专用型单片机的主要特点是:针对某一种产品或某一种控制应用而专门设计 的,设计时已使结构最简,软硬件应用最优,可靠性及应用成本最佳。专用型单片机用途比较专一,出厂时程序已经一次性固化好,不能再修该的单片机。例如电子 表里的单片机就是其中的一种。其生产成本很低。在 我们的这个网上课堂中,介绍的是MCS-51系列单片机,MCS-51单片机也是一种通用单片机,其结构及原理对

32、所有的单片机都适用。3、按总线结构可分为总线型和非总线型。如我们常常见到的89C51单 片机就是总线结构,在后面讲解单片机的内部结构时,我们就可以看到,89C51单 片机内部有数据总线,地址总线,还有控制总线(WR,RD,EA,ALE等)。从上图中看到的20引脚的89C2051单片机,就 是一种非总线型的。其外部的引脚很少,可使成本降低。单片机特 点:(1)受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;(2)内RAM:256KB以内。(3)可靠性高(4)易扩展(5)控制功能强(6)易于开发单片机的发展过程:1971年intel公司研制出世界上第一个4位的微处理器;1973年int

33、el公司研制出8位的微处理器8080;1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。80年代初,intel公司在MCS-48单片机基础上,推出了MCS-51单片机。也就是说,51单片机最早的出现是在80年代初微处理器与单片机:微处理器:计算机系统核心部件(CPU)并不是一台完整的计算机单片机:将CPU和其它接口电路集成在一个芯片之中,使其具有计算机的基本功能。从上面的描述可知,微处理器只是一个CPU,而 单片机则是由CPU与其它的接口电路组合而成的,所以CPU不等于单片计算机。也可以这样说,CPU只是计算机其中的一个部件而已。主要的单 片机厂商:我国目前最常用

34、的单片机有如下几家:Intel-(MCS51系列,MCS96系列)Atmel-(AT89系列,MCS51内核)Microchip-(PIC系列)Motorola-(68HCXX系列)Zilog-(Z86系列)Philips-(87,80系列,MCS51内核)Siemens-(SAB80系列,MCS51内核)NEC-(78系列)Epson-(系列)在 我们网站的论坛,同时在其它网站我看到很多朋友都在讨论一个问题:学8位的51单片机有前途吗?是的,在现今的单片机领域中,单片机的种类层出不穷,功能也越来越强,从表层看来好象学8位的51单片机已不符合现在的 发展需求。让人感觉到“没有前途”。做过单片机

35、开发的朋友都知道,其实在大部份的工控或测控设备中,8位的51单片机还能足够满足大 部份的控制要求,加之51单片机的价格优势。这就使8位的51单片机在以后很长的一 段时间内还有存在的空间,也就是说还是单片机应用的一个主流。试想一下,在战场上,原本可以用高炮实现打击的目标我们可能会用导弹去打吗?再者,如果把51单片机学好了,以后转行去学习或应用其它的单片机,也就是一个了解及熟悉的过程了。因为MCS-51单片机是一个通用的单片机,其内部的结构及工作原理与其它的单片机都是 相通的。MCS-51单片机简述MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系

36、列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为 核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就 是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。以后我们将用89C51、89S51来完成一系列的实

37、验。MCS-51系列单片机MCS-51系列单片机分为两大系列,即51子系列与52子系列。51子系列:基本型,根据片内ROM的配置,对应的芯片为8031、8051、8751、895152子系列:增强型,根据片内ROM的配置,对应的芯片为8032、8052、8752、8952这两大系列单片机的主要硬件特性如下表:片内ROM型式ROM大小RAM大小寻址范围I/O特性中断源数量无ROMEPROM计数器并行口8031805187514KB128B64KB2*164*8580C3180C5187C514KB128B64KB2*164*858032805287528KB256B64KB3*164*8680C

38、3280C5287C528KB256B64KB3*164*86 从上表中可以看到,8031、8031、8032、80C32片内是没有ROM的,对应着上表看,我们可以发现,51系列的单片机的RAM大小为128B,52系列的RAM大小为256B,51系列的计数器为两个16位的,52系列的计数器为三个16位计数 器。51系列的中断源为5个,52系列的中断源为6个。8051与80C51的区别:80C51单片机是在8051的基础上发展起来的,也就是说在单片机的发展过程中是先有8051,然后才有80C51的。8051单片机与80C51单片机从外形看 是完全一样的,其指令系统、引脚信号、总线等完全一致(完全

39、兼容),也就是说在8051下开发的软件完全可以在80C51上应用,反过来,在89C51下开发的软件也可以在8051上应用。这两种单片机是完全可移植的。既然这两种单片机外形及内部结构都一样,那它们之间的主要差别在哪里 呢?8051与80C51单片机的主要差别就在于芯片的制造工艺上。80C51的制造工艺是在8051基础上进行了改进。8051系列单片机采用的是HMOS工艺:高速度、高密度;80C51系列单片机采用的是CHMOS工艺:高速度、高密度、低功耗;也就是说80C51单片机是一种低功耗单片机。经常有网友问我们,我想学单片机,但单片机的类型很多,我该学哪种型号 的单片机呢?这里我提点我自已的想法

40、,个人认为,初学单片机最好从8051开始,因为51单片机是一种通用型的单片机,性价比较高,虽然是8位的单片机,但现在应用的量及范围还很大。同时,因51单片机发展的历史长,学习的资料相对较多而且较完善。致于用哪个具体型号的单片机?你可以用89C51来做实验,也可以用89S51或者2051来做实验,这个就不太重要了,前面说了,51单片机是一种通用型单 片机,即然是通用,那么它的指令系统都是一样的,不同的是它的制造工艺及内部资源有点差别,这个是结合实际需要选型的问题了。所以,学习单片机,你可以只 选择一种型号,例如AT89S51或者AT89C2051。思考题:1、MCS-51系列单片机各种芯片的配置

41、有何不同?2、MCS-51单片机内部程序存储器ROM和内部数据存储器RAM的空 量分别是多少?3、8051与80C51的差别在哪里?单片机相关常用名词解释总线:指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通 信。地址总线(AB):地址总线是单向的,用于传送地址信息。地址总线的宽度为16位,因此基外部存储器直接寻址64K,16位地址总线由P0口经地址锁存器提供低8位地址(A0A7),P2口直接提供高8位地址(A8A15)。数据总线(DB):一般为双向,用于CPU与存储器,CPU与外设、或外设与外 设之间传送数据信息(包括实际意义的数据和指令码)。数据总线宽度为8位,由P0口提

42、供。控制总线(CB):是计算机系统中所有控制信号的总称,在控制总线中传送的是控制信息。由P3口的第二功能状态和4根独立的 控制总线,RESET、EA、ALE、PSEN组成。存储器:用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最 终结果等。只读存储器(ROM):只读存 储器在使用时,只能读出而不能写入,断电后ROM中的信息不会丢失。因此一般用来存放一些固定程序,如监控程序、子程 序、字库及数据表等。ROM按存储信息的方法又可分为以下几种1、掩膜ROM:掩膜ROM也称固定ROM,它是由厂家编好程序写入ROM(称固化)供用户使用,用户不能更改内部程序,其特点是价格便宜。2、可编程

43、的只读存储器(PROM):它的内容可由用户根据自已所编程序一次性写入,一旦写入,只能读出,而不能再进行更改,这类存储器现在也称为OTP(OnlyTimeProgrammable)。3、可改写的只读存储器EPROM:前两种ROM只能进行一次性写入,因而用户较少使用,目前较为流行的ROM芯片 为EPROM。因为它的内容可以通过紫外线照射而彻底擦除,擦除后又可重新写入新的 程序。4、可电改写只读存储器(EEPROM):EEPROM可用电的方法写入和清除其内容,其编程电压和清除电压均与微机CPU的5V工作电压相同,不需另 加电压。它既有与RAM一样读写操作简便,又有数据不会因掉电而丢失的优点,因而使用

44、极为方 便。现在这种存储器的使用最为广泛。随机存储器(RAM):这种存储 器又叫读写存储器。它不仅能读取存放在存储单元中的数据,还能随时写入新的数据,写入后原来的数据就丢失了。断电后RAM中的信息全部丢失。因些,RAM常用 于存放经常要改变的程序或中间计算结果等信息。RAM按 照存储信息的方式,又可分为静态和动态两种。1、静态SRAM:其特点是只要有电源加于存储器,数据就能长期保存。2、动态DRAM:写入的信息只能保存若干ms时间,因此,每隔一定时间必须重新写入一次,以保持原来的信息不变。可现场改写的非易失性存储器:这种存储器的特点是:从原理上看,它们属于ROM型存储器,从功能上看,它们又可以

45、随时改写信息,作用又相当于RAM。所以,ROM、RAM的定义和划分已逐渐的失去意义。1、快擦写存储器(FLASH)这种存储器是在EPROM和EEPROM的制造基础上产生的一种非易失性存储器。其集成度高,制造成本低于DRAM,既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后可不丢失信息的特点,所以发展迅速。2、铁电存储器FRAM它是利用铁电材料极化方向来存储数据的。它的特点是集成度高,读写速度 快,成本低,读写周期短。时钟周期:计算机在时钟信号的作用下,以节拍方式工作。因此必须有一 个时钟发生电路,输入微处理器的时钟信号的周期称为时钟周期。机器周 期:机器完成一个动作所需的时间称

46、为机器周期,一般由一个或一个以上的时钟周期组成。在我们讲述的MCS-51系列单片机中,一个机器周期由12个时钟周期组成。指令周 期:执行一条指令(如“MOVA,#34H”,该指令的含义是将立即数34H传送到微处理器内的累加器A中)所需时间称为指令周期,它由一个到数个机器周期组成。指令周期的长短取决于指令的类型,即指令将要进行的 操作步聚及复杂程度。汇编:是能完成一定任务的机器指令的集合。二进制数:只有0和1两个数码,基数为二。16进制数:采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16个数码,其中A-F相应的十进数为10-15,基数是16。指令:是计算机所能执行的一种基

47、本操作的描述,是计算机软件的基本单元。字节:8位二进制数组成一个字节,在存储器中以字节为单位存储信息。字:2个字节组成一个字。双字:2个字组成一个双字。补码:机器数可用不同的码制来表示,补码表示法是最常用的一种,正数 采用符号绝对值表示,即数的最高有效位为0,数的其余部分则表示数的绝对值;负数的表示要麻烦一些,先写出与该 负数相对应的正数的补码表示,然后将其按位求反,最后在末位加1,就可以得到该负数的 补码表示了。段地址:8086CPU将1MB的存储器空间分成许多逻辑段,每个段最大限制为64KB, 段地址就是逻辑段在主存中的起始位置。为了能用16位寄存器表示段地址,8086规定段地址必须是模1

48、6地址,即为xxxx0H形式,省略低4位0,段地址就可以用16位数据表示,它通常被保存在16位的段 寄存器中。偏移地址:存单元距离段起始位置的偏移量简称偏移地址,由于限定每段 不超过64KB,所以偏移地址也可以用16位数据表示。物理地 址:在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址,把段地址左移4位再加上偏移地址就形成物理地址。代码段:程序员在编制程序时要把存储器划分成段,代码段用来存放程序的指令序列,代码段的段地址存放在CS中,指令指针寄存器IP指示代 码段中指令的偏移地址,处理器利用CS:IP取得下一条要执行的指令。数据段:数据段存放当前运行程序

49、所用的数据,数据段的段地址存放在DS中。附加段: 附加段是附加的数据段,也用于数据的保存,另外,串操作指令将附加段作为其目的操作数的存放区域。附加段的段地址存放在ES中。堆栈段: 堆栈段是堆栈所在的主存区域,堆栈段的段地址存放在SS中,堆栈指针寄存器SP指示堆栈栈顶的偏移地址,处理器利用SS:SP操作堆栈中的数据。堆栈:堆栈是一个后进先出的主存区域,位于堆栈段 中,使用SS段寄存器记录其段地址。它只有一个出入口,即当前栈顶,栈顶是地址较小 的一端(低端),它用堆栈指针寄存器SP指定。堆栈有两种以字为单位的基本操作,对应两条基本指令:进栈指令PUSH和出栈指令POP。伪指令: 汇编语言程序的语句

50、除指令外还包括伪指令和宏指令,伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇 编期间由汇编程序处理的操作,完成诸如数据定义、分配存储区、指示程序结束等功能。宏指令:宏是源程序中一段有独立功能的程序代码,它只需要在源程序中定义一次,就可以多次调用,调用时只需要用一个宏指令语句就可以 了。宏指令是用户自定义的指令,在编程时将多次使用的功能用一条宏指令来代替。子程序:子程序又称为过程,它相当于高级语言中的过程和函数。在一个程序的不同部分,往往要用到类似的程序段,这些程序段 的功能和结构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段写成子程

51、序形式,以便需要时可以调用它;某些常用的特定功能的程序段也可编制成 子程序的形式供用户使用。中断:中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作,这些引起中断的事件称为中断源,它们可能是来自外设的输入输 出请求,也可能是计算机的一些异常事故或其它内部原因。中断处理 程序:当中断发生时,处理器中止当前正在运行的程序,而转到处理特殊事件的程序段中去执行,这种处理中断的子程序就是中断处理程序,又称为中断服务程序。 中断处理程序的入口地址被安排在中断向量表中。BIOS中 断:在存储器系统中,从地址0FE000H开始的8KROM中装有BIOS(BasicInput/OutputSystem

52、)例行程序。驻留在ROM中的基本输入输出程序BIOS提 供了系统加电自检、引导装入、主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。BIOS中断给程序员编程带来很大方便,程序员不必了解硬件I/O接口的特性,可直接用指令设置参数,然后中断调用BIOS中的程序。暂存器:用来暂存由数据总线或通用寄存器送来的操作数,并把它作为另一个操作数。中断:中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或 外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又 返回被中断的程序处,继续执行下去。掉电保护:指在正常供电电源掉电

53、时,迅速用备用直流电源供电,以保证在一段时间内信息不会丢失,当主电源恢复供电时,又 自动切换为主电源供电。寄存器寻址:操作数在寄存器中,由指令操作码中的rrr三位的值和PSW中RS1及RS0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操 作。波特率:即每秒钟传送二进制数的位数,波特率越 高,数据传输的速度越快。D/A转换:即将二进制数量转换成与其量值成正比的电流信号或电压信号。A/D转换:即将模拟量转换成相应的数字量,然而送计算机处理。串行方式:指数据的各位分时传送,只需一条数据线,外加一条公共信号地线和若干条控制信号线。并行方式:指数据的各位同时传送,每一条数据都需要一条传输线。伪指令:用于告诉汇编程序如何进行汇编的指令,它既不控制机器的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。SLEEPMODI睡觉模式:保证程序内部运行,但与外部的传输等动作已停止的一种运行模式。linking连接:把编译后生成的*.obj文件与其它*.obj文件合并成机器能识别的机器文件。I²C:输入与输出共用一条传输线,而时钟由另一条线控制的一种串行传输方 式。SFR特殊功能寄存器区:8051把CPU中的专用寄存器、并行端口锁存器、串行口与定时器/计数器内 的控制寄存器集

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论