ImageVerifierCode 换一换
格式:DOCX , 页数:109 ,大小:1.18MB ,
资源ID:22350226      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22350226.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机原理及精华总结Word格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机原理及精华总结Word格式.docx

1、其中,中央处理器CPU和内存储器又称为计算机的主机;输入/输出设备统称为外部设备或I/O设备。2.1.1 微型计算机的基本机构 微型计算机是在中小型计算机基础上发展起来的,并以大规模集成电路技术为条件的一种新型计算机。因此,它在结构上和通用计算机十分相似,但也有独到之处。和其它计算机相比,微型计算机的最大特点是采用总线结构,其中三总线结构尤为普遍,目前已成为微型计算机的一种基本结构,如图2-2所示。图2-2 微型计算机的基本结构由图2-2可见,微处理器MPU是通过AB、DB和CD三总线同ROM存储器、RAM存储器及I/O接口相连的,虽然这个结构并不复杂,但并不好理解。为此,在分析微型计算机基本

2、工作原理前,先对图中各部件作基本介绍是十分必要的。 (1)ROM和RAM存储器 这里的R()M和RAM是半导体存储器,是一种采用大规模或超大规模集成电路工艺制成的存储器芯片。这种芯片体积小、重量轻、集成度高,现已制成包含1.4亿只晶体管的8MBDRAM芯片,并已投放市场。 ROM存储器是一种在正常工作时只能读不能写的存储器,故它通常用来存放固定程序和常数,固定程序和常数是利用特殊手段存放进去的,一旦写入便能长期保存,需要时便可读出使用。ROM种类虽然很多,但常按存储容量分类。例如:4K(1K=1024)8 ROM最多可以存放4096个8位二进制数。每片ROM上都有用于传送信号的引脚线。这些引线

3、共分四组,地址线用于输送ROM的地址码:数据线是双向的,可以为芯片传送读/写数据;控制线用于传送控制信号,以控制芯片是否工作以及是读还是写等等;电源线可以供给芯片+5V直流电源。在这些引脚线中地址线及数据线条数和芯片的存储容量有关。地址线越多,存储容量就越大;数据线越多,每个二进制数的位数就越长。 RAM存储器是一种在正常工作时既能读又能写的存储器,故它通常用来存放原始数据、中间结果、最终结果和实时数据等。RAM中存入的信息不能长久保存,停电后便立即消失,故它又称为易失性存储器。RAM存储器的规格品种也很多,如4KB、8KB、32KB、64KB、256Kb、1MB,等等。ROM和RAM的内部结

4、构大致相同,所不同的是存储每位二进制数码的基本电路不一样。ROM的基本存储电路采用特殊的FAMOS管,由FAMOS管浮栅内有电荷和无电荷表示存“0”还是存“1”;RAM的基本存储电路是触发器,用触发器的两个暂稳状态来表示存“0”或存“1”。为使读者对存储器内部结构有一个基本了解,我们在图2-3中示出了一个容量为168 RAM芯片的内部结构。图2-3 168 RAM的内部结构框图由图中可见,A3A0为地址线,共4条,传送地址码;D7D0是数据线,共8条,传送一个二进制数的八位;RD和WR为控制线,传送读/写控制信号,存储阵列是芯片的主体,它有16个地址单元,分别对应于4条地址线的16种组合,每个

5、地址单元有8个触发器,用于存储一个八位二进制数,故它可以存储16个八位二进制数。在16个地址单元中,哪一个工作是由地址译码器输出的16条地址选择线中哪一条为高电平决定的。地址译码器的译码信号由地址译码器输出的16条地址选择线中哪一条为高电平决定的。地址译码器的译码信号由地址线上地址译码经地址寄存器暂存后送来。因此,地址线条数和存储容量间关系通常为:存储容量=2n其中,n为地址线条数。数据线条数和每个地址单元中二进制数位数一一对应,并应和所有地址单元中的基本存储电路(即触发器)相通。对于一个有16条地址线和8条数据线的ROM存储器,如果它的16条地址线皆为高电平(即:地址为FFFFH),则必定选

6、中读出FFFFH号地址单元中的内容,且读出数据是送到数据线上的;如果16条地址线上的地址码为0000H(即全为低电平),则必定选中0000H单元工作。因此,一个有16条地址线的存储器,其存储器容量的地址范围为0000HFFFFH,共64KB。(2)微处理器MPU现代微处理器MPU的内部结构极其复杂,要像电子线路那样画出它的全部原理图来加以分析介绍是根本不可能的,为了弄清它的基本工作原理,现以图2-4中的模型机框图为例加以概述。(1)运算器运算器用于对二进制数进行算术运算和逻辑操作;其操作顺序是在控制器控制下进行的。运算器由算术逻辑单元ALU、累加器A、通用寄存器R0、暂存器TMP和状态寄存器P

7、SW等五部分组成。图2-4 模型MPU结构框图累加器A是一个具有输入/输出能力的移位寄存器,由8个触发器组成。累加器A在加法前用于存放一个操作数。加法操作适用于存放两数之和,以便再次累加,故因此得名。TMP为暂存器,也是一个8位寄存器,用于暂存另一操作数。ALU为算术逻辑单元,主要由加法器、移位电路和判断电路等组成,用于对累加器A和暂存器TMP中两个操作数进行四则运算和逻辑操作。PSW为程序状态宇,也由八位触发器组成,用于存放ALU操作过程中形成的状态。累加器A中的运算结果是否为零,最高位是否有进位或借位,低四位向高四位是否有进位或借位,等等,都可以记录到PSW中去。R0为通用寄存器GR,用于

8、存放操作数或运算结果。(2)控制器控制器是发布操作命令的机构,是计算机的指挥中心,相当于人脑的神经中枢、控制器由指令部件、时序部件和微操作控制部件等三部分组成。指令部件:是一种能对指令进行分析、处理和产生控制信号的逻辑部件,也是控制器的核心。通常,指令部件由程序计数器PC、指令寄存器IR和指令译码器IS等三部分组成。 指令是一种能供机器执行的控制代码,有操作码和地址码两部分,指令不同,相应的代码长度也不一样。因此,指令可分为单字节、双字节和三字节指令,等等。指令的有序组合称为程序,程序必须先放在存储器内,机器执行程序应从第一条指令开始逐条执行。这就需要有一个专门寄存器用来存放当前要执行指令的内

9、存地址,这个寄存器就是程序计数器PC。当机器根据PC中地址取出要执行指令的一个字节后,PC就自动加1,指向指令的下一字节,为机器下次取这个字节时作好准备。在8位微处理器MPU中,程序计数器通常为16位。指令寄存器IR有八位长,用于存放从存储器中取出的当前要执行指令的指令码。该指令码在IR中得到寄存和缓冲后被送到指令译码器ID中译码,指令操作码译码后就知道该指令进行哪种操作,并在时序部件帮助下去推动微操作控制部件完成指令的执行。时序部件:由时钟系统和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号。其中,时钟系统产生机器的时钟脉冲序列,脉冲分配器又称“节拍发生器”,用于产生节拍电位和节拍

10、脉冲。微操作控制部件:可以为ID输出信号配上节拍电位和节拍脉冲,也可和外部进来的控制信号组合,共同形成相应的微操作控制序列,以完成规定的操作。(3)地址总线、数据总线和控制总线所谓总线是指信息传送的公共通道,实际上是印刷电路板上的短路线,这些短路线是沟通微型计算机各种器件的桥梁。地址总线AB地址总线AB也叫地址母线,因其上仅传送MPU的地址码而得名。当微处理器MPU和存储器或外部设备交换信息时,必须指明要和哪个存储单元或哪个外部设备交换。因此,地址总线AB必须和所有存储器的地址线对应相连,也必须和所有I/O接口的设备码线相连。这样,当微处理器MPU对存储器或外设读/写数据时,只要把存储单元的地

11、址码或外部的设备码送到地址总线上便可选中它们工作,地址总线条数由所选MPU型号决定.在8位机中它通常为16条。数据总线数据总线也叫“数据母线”,因其上传送的是数据和指令码而得名。数据总线条数常和所用微处理器字长相等,但也有内部为16位运算而外部仍为8位数据总线的情况。由于MPU有时需要把数据写入存储器或从外设输出数据,有时又需要从存储器或输入设备输人数据,因此数据总线是双向的。在8位机中,数据总线通常有8条。控制总线CB控制总线也叫控制母线,用于传送各类控制信号。控制总线条数因机器而异,每条控制线最多传送两个控制信号。控制信号有两类:一类是MPU发出的控制命令,如读命令、写命令、中断响应信号等

12、;另一类是存储器或外设的状态信息,如外设的中断请求、复位、总线请求和中断请求,等等。总之,微果汁算机采用总线结构是一大特点,它使得存储器扩充和I/O接口板的增删十分方便。(4)I/O接口和外设I/O接口是架设在微处理器和外设间的桥梁,是一种过渡的大规模集成电路芯片。由于大多数外部设备部是机电型的,工作速度较慢,因此微处理器MPU通常不和它们直接相连,而是通过I/O接口缓冲后再和外设相连,以便实现速度、电平和信号性质的匹配。212 微型计算机的基本工作原理微型计算机是通过执行程序来工作的,机器执行不同程序就能完成不同的运算任务。因此,微型计算机执行程序的过程实际上也体现了微型计算机的基本工作原理

13、。为此,我们先从指令和程序谈起。(1)微处理器的指令系统和程序编制前面已经谈到,指令是一种可以供机器执行的控制代码,故它又称为指令码。指令码由操作码和地址码构成;操作码用于指示机器执行何种操作,地址码用于指示参加操作的数在哪里,其格式为:指令码的二进制形式既不便于记忆,又不便于书写,故人们通常采用助记符形式来表示。如表2-1所列。 表2-1 指令的三种形式指令的集合或指令的全体称为“指令系统”。微处理器类型不同,它的指令系统也不一样。Z82有698条,Intel8085有78条,MCS-51系列单片机有111条指令,等等。所谓程序就是采用指令系统中的指令根据题目要求排列起来的有序指令的集合。程

14、序的编制称为“程序设计”。通常,设计人员采用指令的汇编符(即助记符)形式编程的,这种程序设计称为汇编语言程序设计。显然,设计人员如果不熟悉机器的指令系统是无法编出优质高效程序的。(2)微型计算机执行程序的过程为了弄清微型计算机的工作原理,现以如下的Y=5+10求和程序来说明微型计算机的工作过程。7405H MOV A, #05H ; A05H240AH ADD A, #0AH ; A5+1080FEH SJMP $ ; 停机该程序由三条指令组成,每条指令均为双字节指令(即第一字节为操作码,第二字节为地址码)。第一条指令的含义是把05H传送到累加器A;第二条指令是加法指令,它把累加器中的5和立即

15、数10相加,结果保留到累加器A中。第三条是停机指令,机器执行后处于动态停机状态。为了说明程序的执行过程,现在假设上述程序的指令码已装入从2000H开始的存储器区域,共占用6个存储单元,程序计数器PC中也预先放入初值地址2000H,以便机器可以根据PC中地址从第一条指令处执行程序,如图2-5所示。1)第一条指令的执行过程第一条指令为双字节指令,第一字节为操作码74H,它指示机器进行传送操作,操作数05H在指令的第二字节,即:2001H内。执行步骤为:微操作控制器使程序计数器PC中初值地址2000H送入地址寄存器AR后发出读命令,同时使程序计数器PC中内容自动加1而变成2001H,以便为取指令的第

16、二字节预作准备。存储器根据地址寄存器中地址2000H,在读命令控制下完成读出操作码74H和送入数据寄存器DR中的任务。微操作控制序列继续使DR中操作码74H经指令寄存器IR缓冲后送人指令译码器ID。指令译码器1D结合时序部件产生74H操作码的微操作序列,该微操作序列把程序计数器PC中地址2001h送人AR后发出新的读命令,同时又使程序计数器PC自动加1,而变成2002H,为取第二条指令操作码24H作准备。图2-5 指令执行操作示意图存储器在新的AR中地址2001H和74H微操作序列的共同作用下,把2001H单元中05H送入数据寄存器DR。74H微操作控制序列使数据寄存器DR中05H操作数送人累

17、加器A中。至此,第一条指令的执行宣告完成。2)第二条指令的执行过程第二条指令也是双字节指令,第一字节为操作码24H,指示机器进行加法操作,两个操作数中一个在累加器A中,另一个在指令的第二字节。第一条指令执行完后,程序计数器PC中内容已变为2002H,微操作控制器也使程序计数器PC中2002H送入地址寄存器后向存储器发出读命令,同时又使PC中内容加l而变为2003H,使PC指向第二条指令的第二字节。存储器在地址寄存器AR中2002H和读命令作用下,读出操作码24H和送到数据寄存器DR中。微操作控制器发出的微操作控制序列使DR中的24H操作码送人指令寄存器IR,并通过它进入指令译码器ID。指令译码

18、器ID也结合时序部件使微操作控制器产生24H的微操作控制序列,该微操作控制序列又使程序计数器PC中2003H送入AR和发出读命令,还使PC自动加1而变为2004H,使PC指向第三条指令的第一字节地址。24H微操作控制序列把存储器读出的操作数0AH从DR送入TMP,并会同累加器A中的另一操作数05H,完成两数求和操作以及把操作结果经过内部总线送人累加器A,以完成本条指令执行。3)第三条指令的执行过程第三条指令的执行过程和第一、二两条类似,所不同的是第三条指令执行后,MPU处于动态停机状态,在此不再赘述。2.2 MCS-5l单片机结构与时序 MCS-5l是美国Intel公司的8位高档单片机系列,是

19、在MCS-48系列基础上发展而来的也是我国目前应用最广的一种单片机系列。在这个系列里,有多种机型,性能特点也各不相同。本节主要以8051为主线叙述MCS-51单片机的内部结构、引脚功能、工作方式和时序。2.2.1 MCSS51单片机内部结构在MCS-5l系列里,所有产品都是以8051为核心电路发展起来的,他们都具有8051的基本结构和软件特征。从制造工艺来看,MCS-51系列中的器件基本上可分为HMOS(High-speed MOS,高速MOS)和CMOS两类(见表2-2)。CMOS器件的特点是电流小且功耗低(掉电方式下消耗10uA电流),但对电平要求高(高电平大干4.5V,低电平小于0.45

20、V,HMOs对电平要求低(高电平大干2.0V,低电平小于0.8V),但功耗大。表2-2 MCS-51系列芯片及制造工艺8051单片机内部包含了作为微型计算机所必需的基本功能部件,各功能部件相互独立地集成在同一块芯片上。8051内部结构如图2-6所示。如果把图中ROM/EPROM这部分电路移走,则它和8031的内部结构相同。为了进一步介绍805l或8031内部结构和工作原理现把图中各功能部件划分为CPU、存储器、I/O端口、定时器/计数器和中断系统等五部分加以介绍。2.2.1.1 CPU结构 8051内部CPU是一个字长为二进制8位的中央处理单元,也就是说它对数据的处理是按字节为单位进行的。与微

21、型计算机CPU类似,8051内部CPU也是由运算器(ALU)、控制器(定时控制部件等)和专用寄存器组三部分电路构成。(1)算术逻辑部件(ALU)8051的ALU是一个性能极强的运算器,它既可以进行加、减、乘除四则运算,也可以进行与、或、非、异或等逻辑运算,还具有数据传送、移位、判断和程序转移等功能。8051 ALU为用户提供了丰富的指令系统和极快的指令执行速度,大部外指令的执行时间为1us,乘法指令可达4us。8051 ALU由一个加法器两个8位暂存器(TMP1和TMP2),和一个性能卓著的布尔处理器(图中未画出)组成。虽然TMPl和TMP2对用户并下开放,但可用来为加法器和布尔处理器暂存两个

22、8位二进制操作数。8051时钟频率可达12MHZ。(2)定时控制部件定时控制部件起着控制器的作用,由定时控制逻辑、指令寄存器和振荡器OSC等电路组成。指令寄存器IR用于存放从程序存储器中取出的指令码,定时控制逻辑用于对指令寄存器中的指令码进行译码,井在OSC的配合下产生执行指令的时序脉冲,以完成相应指令的执行。图2-6 MCS-51内部结构框图OSC(OSCillator)是控制器的心脏,能为控制器提供时钟脉冲,图2-6为HMOS型单片机内部的OSC电路图中引脚XTAL为反相放大管Q4的输入端,XTAL2为Q4的输出端。只要在引脚XTAL1和XTAL2上外接定时反馈回路,OSC就能自激振荡。

23、定时反馈回路常田石英晶振和电容组成,如图2-7所示。OSC振荡器产生矩形时钟脉冲序列,其频率是单片机的重要性能指标之一时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快;因此,不同型号的单片机所需要的时钟频率也是不相同的。(3)专用寄存器组专用寄存器组主要用来指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态等。它是任何一合计算机的CPU不可缺少的组成部件,其寄存器的多寡因机器型号的不同而异。专用寄存器组主要包括程序计数器PC累加器A、程序状态字PSW、堆栈指示器SP、数据指针DPTR和通用寄存器B等。 图2-7 HMOS型单片机内部振荡器OSC1) 程序计数器PC(Pr

24、omgram Counter)程序计数器PC是一个二进制16位的程序地址寄存器,专门用来存放下一条需要执行指令的内存地址,能自动加1。CPU执行指令时,它是先根据程序计数器PC中的地址从存储器中取出当前需要执行的指令码,并把它送给控制器分析执行随后程序计数器PC中地址码自动加1,以便为CPU取下一个需要执行的指令码作准备。当下一个指令码取出执行后,PC又自动加1。这样,程序计数器PC一次次加1,指令就被一条条地执行。所以,需要执行程序的机器码必须在程序执行前预先一条条地按序放到程序存储器中,并为程序计数器PC设置成程序第一条指令的内存地址。8051程序计数器PC由16个触发器构成,故它的编码范

25、围为0000HFFFFH,共64K。这就是说,805l对程序存储器的寻址范围为64KB。如果想为8051配置大于64KB的程序存储器就必须在制造8051器件时加长程序计数器的位数。但在实际应用中,64KB的程序存储器通常已足够了。2) 累加器A(Accumulator)累加器A又记作ACC,是一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果。在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A中便可得到运算结果。例如,在如下的3+5加法程序中MOV A, #03H ;A3ADD A, #05H ;AA+05H第一条指令是把加数3预先送入累加器A,为

26、第二条加法指令的执行作了准备。因此,第二条指令执行前累加器A中为加数3,在执行后变为两数之和8。3) 通用寄存器B(General Purpose Register)通用寄存器B是专门为乘法和除法设置的寄存器,也是一个二进制8位寄存器,由8个触发器组成该寄存器在乘法或除法前,用来存放乘数或除数,在乘法或除法完成后用于存放乘积的高8位或除法的余数。现以乘法运算为例加以说明: MOV A, #05H ;A5 MOV B, #03H ;B3 MUL AB ;BAAB=53上述程序中,前面两条是传送指令,是进行乘法前的准备指令。因此,乘法指令执行前累加器A和通用寄存器B中分别存放了两个乘数,乘法指令执

27、行完后,积的高8位自动在B中形成, 积的低8位自动在A中形成。4) 程序状态字PSW(Program Status Word)PSW是一个8位标志寄存器,用来存放指令执行后的有关状态。PSW中各位状态通常是在指令执行过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。它的各标志位定义如下:其中,PSW7为最高位,PSW0为最低位。进位行志位Cy(Carry):用于表示加减运算过程中最高位A7(累加器最高位)有无进位或借位。在加法运算时,若累加器A中最高位A7有进位,则Cy=1;否则Cy=0。在减法运算时,若A7有了借位,则Cy=1;此外,CPU在进行移位操作时也会影响这个标志位。辅助

28、进位位AC(Auxiliary Carry):用于表示加减运算时低4位(即A3)有无向高4位(即A4)进位或借位。若AC=0, 则表示加减过程中A3没有向A4进位或借位;若AC=1,则表示加减过程中A3向A4有了进位或借位。用户标志位F0(Flag zero):F0标志位的状态通常不是机器在执行指令过程中自动形成的,而是由用户根据程序执行的需要通过传送指令确定的。该标志位状态一经设定,便由用户程序直接检测,以决定用户程序的流向。寄存器选择位RS1和RS0:8051共有8个8位工作寄存器,分别命名为R0R7。工作寄存器R0R7,常常被用户用来进行程序设计,但它在RAM中的实际物理地址是可以根据需

29、要选定的。RS1和RS0就是为了这个目的提供给用户使用,用户通过改变RS1和RS0的状态可以方便地决定R0R7的实际物理地址。工作寄存器R0R7的物理地址和RS1、RS0之间的关系如表2-3所列。 表2-3 RS1、RS0对工作寄存器的选择采用8051或803l做成的单片机控制系统开机后的RS1和RS0总是为零状态,故R0-R7的物理地址为00H-07H,即R0的地址为00H,R1的地址为01H,R7的地址为07H。但若机器执行如下指令 MOV PSW,#08H ;PSW08H则RS1、RS0显然为01B,故R0-R7的物理地址变为08H-0FH。因此,用户利用这种方法可以很方便地达到保护R0-R7中数据的目的,这对用户的程序设计是非常有利的。溢出标志位OV(Overflow):可以指示运算过程中是否发生了溢

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1