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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

第2章 单片机的硬件基础.docx

1、第2章 单片机的硬件基础第2章 单片机的硬件基础2.1 单片机内部结构 微型计算机的基本组成有三部分,即 CPU 存储器I / O接口。若将这些部件集成在一块芯片上,称为单片机这些部分通过内部总线连接起来,基本结构仍然是通用CPU 加上外围芯片的结构模式,但功能单元上的控制与先前相比有重大变化,采用了特殊功能寄存器(SFR )进行集中控制的方法T0 T1两个定时/计数器,用以对外部事件进行计 数,也可用作定时器时钟电路:内部时钟电路串行接口:一个串行端口,用于数据的串行通信中断系统:中断控制系统并行接口:四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出Cpu:一个8

2、位微处理器CPU内部程序存储器ROM功能寄存器SFR2.2 MCS-51单片机内部结构2.1.1 中央处理器CPU1 运算器运算器的结构 ALU:进行算术运算(加减乘除)和逻辑操作(逻辑乘,逻辑加,异或,取反)。A:指令执行前存放操作数,指令执行后存放操作结果。PSW:存放指令执行后的状态信息(如:最高位有无进位,有无溢出等等)。TMP:存放另一操作数,对用户不开放(即用户不可把它用在指令中)。 程序状态字PSW2.1.2 存储器结构微型计算机的存储器结构分为两大类型:1 ) 程序存储器和数据存储器合用一个存储空间,即统一编址,称为普林斯顿结构 2) 程序存储器和数据存储器相互独立,分开编址,

3、称为哈佛(Haward)结构 一般微机通常采用普林斯顿结构,即只有一个逻辑空间,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是 RAM,并用同类访问指令(8086/8088)。1存储原理 为了探讨计算机的存储原理,我们做一个实验:这里有两盏灯,我们知道灯只有亮和灭两种状态,我们能用0和1来代替这两种状态,规定亮为1,灭为0。现在这两盏灯总共有几种状态呢?我们列表来看一下,如图所示:P16页图2.2存储器是利用电平的高低来存放数据的。它是由大量寄存器组成的,其中每一个寄存器就称为一个存储单元。它可存放一个有独立意义的二进制代码。一个代码由若干位(bit

4、)组成,代码的位数称为位长,习惯上也称为字长。1. 单片机的存储器地址分配 8051在物理结构上设计成程序存储器与数据存储器独立分开的哈佛结构,有四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器 高于4K部分的ROM只可能有一片,EA电平的高低只确定低4K是片内/片外,当地址超过0FFFH时自动指向片外片内和片外RAM地址重叠,通过指令区别8051在逻辑上,即从用户角度上8051有三个存储空间: 片内外统一编址的程序存储, 片内外不统一编址的数据存储器 ,特殊功能寄存器(片内)访问这几个不同的逻辑空间时,采用的指令:片内外程序存储器空间-MOVC, 片内数据存储器空

5、间和SFR-MOV,片外数据存储器地址空间-MOVX2. 程序存储器程序存储器用于存放程序和表格常数。 AT89s52片内有8K字节Flash,片外用16位地址线最多可扩展64K字节ROM,两者是统一编址的。如果EA端保持高电平,执行片内前8KB Flash地址(0000H1FFFH) 中的程序。当寻址范围超过8KB(1FFFHFFFFH)时,则从片外存储器取指令。 当EA端保持低电平时,所有取指令操作均在片外程序存储器中进行,这时片外存储器可以从 0000H开始编址。6个单元具有特殊功能0000H: 8051复位后,PC0000H,程序从0000H 开始执行指令。(8086 复位后 CS=0

6、fffffh,IP=00000h)0003H:外部中断0入口。000BH:定时器0溢出中断入口。0013H:外部中断1入口。001BH:定时器1溢出中断入口。0023H:串行口中断入口。使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。 3. 数据存储器RAM低128 单元分三个区域:工作寄存器、位寻址区和数据缓冲区 P17图2.3,表2.2高128字节与特殊功能寄存器地址是重叠的,当访问高128字节时,是通过寻址方式区别的: 直接寻址-特殊功能寄存器 间接寻址-高128字节RAM寄存器区4组(32B)

7、1. 通用寄存器区(00H-1FH)由PSW中的2位RS1、RS0来决定选 哪一组为当前工作寄存器: RS1、RS0=00 选0组 RS1、RS0=01 选1组 RS1、RS0=10 选2组 RS1、RS0=11 选3组2)位寻址区 在位地址区,每一个BIT都有一个地址,共68=128位布尔处理器(位处理器)是51单片机ALU所具有的一种功能。单片机指令系统的位处理指令集(17条位操作指令),存储器中的位地址空间,以及借用程序状态寄存器PSW中的进位标志CY做为位操作“累加器”,构成了51单片机内的布尔处理器。它可对直接寻址的位(bit)变量进行位处理,这一部分空间就是布尔处理器的RAM注意字

8、节地址和位地址的区别:在程序里是通过指令来区别的,如:MOV A,20H ; 字节操作MOV C,20H ;位操作3)数据缓冲区共80个字节,作为一般的数据缓冲区并可设置堆栈区,只能字节寻址堆栈指针SP8位,堆栈是按照先进后出、后进先出的原则进行存取的RAM区域。堆栈共有两种操作:进栈和出栈。不论是数据进栈还是数据出栈,都是对堆栈的栈顶单元进行的,即对栈顶单元进行读、写操作。最后进栈的数据所在单元称为栈顶,为了指示栈顶地址,需要设置堆栈指示器,SP称为堆栈指示器,也称为堆栈指针,它具有自动加1、减1功能,它始终指向栈顶地址。 堆栈有两种类型:向上生长型和向下生长型(19页图2.4)4. 特殊功

9、能寄存器(21个字节)21 个特殊功能寄存器,又称为专用寄存器(SFR )。它们离散地分布在80H - 0FFH RAM 空间中。 21 个特殊功能寄存器地址不连续,空闲地址无意义,对用户来讲,这些单元是不存在的。 对特殊功能寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器单元地址。 11 个SFR 寄存器具有位寻址 4.特殊功能寄存器(21个字节)16到21:与定时/计数器相关的(6个):TMOD (Timer/Counter Mode Register) 定时器工作模式寄存器。TCON (Timer/Counter Control Register) 定时器控制寄存器。

10、TH0、TL0 、TH1、TL1:分别是T0、T1的记数初值寄存器。9到15:与端口相关的7个寄存器P0、P1、P2、P3: 四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。与中断相关的2个寄存器:IP (Interrupt Priority Register) IE (Interrupt Enable Register)DPTR (Data Pointer)(DPH、DPL)数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。SP (Stack Pointer): 堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H。它是加1

11、计数.注意:堆栈的位置和寄存 器组的冲突问题 PSW用于作为程序运行状态的标志。存放了CPU工作时的很多状态,借此,可以了解CPU的当前状态, 并作出相应的处理。B Register:暂存寄存器。暂存寄存器。在做乘、除法时放乘数或除数及结果。A Register (Accumulator): 累加器,通常用A或ACC表示。可字节寻址, 也可位寻址(E0HE7H), 在运算器做运算时其中一个数一定是在ACC中。5和6:与指针相关的2个寄存器1到3:与ALU相关的三个寄存器11个可位寻址的SFR2.1.3 I/O 端口结构1. 并行I/O端口8051单片机有4个I/O端口,每个端口都是8位准双向口

12、,共占32根引脚。每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0P3。在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。 8051单片机4个I/O端口线路设计的非常巧妙,学习I/O端口逻辑电路,不但有利于正确合理地使用端口,而且会给设计单片机外围逻辑电路有所启发。下面简单介绍一下输入/输出端口结构。P0 口每位由一个输出锁存器、2 个三态输入缓冲器1 个输出驱动电路和1 个输出控制电路组成。 输出驱动电路由一对FET (场效应管)

13、T1 、T2 组成。 输出控制电路由一个与门电路、1 个反相器和1 路多路开关MUX 组成P0口既可以作为I/O用,也可以作为地址/数据线用漏极开路输出,P0.X悬浮,为了使P0.X有一个高电平的状态需加一个上拉电阻输入时-分读引脚或读锁存器读引脚读引脚的条件是:先输出一个“1输入跟随外部变化,读引脚:由传送指令(MOV)实现输入被嵌位在逻辑“0”,不能实现正确的输入这时,输入口是一个带高阻悬浮态的、带缓冲的输入口,一个输出带锁存输入带缓冲的双向口当P0口作为一般I/O使用时,P0口也是一个准双向口,即输入数据时,应先向口写1,使两个FET均截止,然后方可作高阻抗输入。但在P0口连接到外部存储

14、器时,由于访问外部存储其器件,CPU会自动向P0口的锁存器写入0FFH,所以,对用户而言,P0口作地址/数据总线时则是一个真正的双向口读锁存器有些指令 如:ANL P0,A 称为“读-改-写” 指令,需要读锁存器。上面一个缓冲器用于读端口锁存器数据。准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。 P0作为地址/数据总线 看pptP1的内部结构 P1 口通常作为通用I / O 口使用,准双向口

15、。P1 口与P0口不同:不再需要MUX ;有内部上拉电阻。 P1 口与P0 口相同:作输入口时,也需先向其锁存器写入“1”。P1口的特点1 输出锁存,输出时没有条件2 输入缓冲,输入时有条件,即需要先将该口设为输入状态,先输出1 .3 工作过程中无高阻悬浮状态,也就是该口不是输入态就是输出态。具有这种特性的口不属于“真正”的双向口,而被称为“准”双向口。P2 口的功能1 作I / O口使用:P2 口为准双向口。2 作地址输出:P2 口可以输出程序存储器或片外数据存储器的高8 位地址,与P0输出的低地址一起构成16 位地址线,从而可分别寻址64KB 的程序存储器或片外数据存储器。地址线是8 位一

16、起自动输出的。P2 口上有一个多路开关,多路开关的输入有两个:一个是口输出锁存器的输出端Q ;一个是地址寄存器(PC 或DPTR)的高位输出端。多路开关的输出经反相器反相控制输出EFT 的Q0 。多路开关的切换由内部控制信号完成。P3的内部结构作为通用I/O口与P1口类似-准双向口(W=1)P3第二功能(Q=1)此时引脚部分 输入(Q=1、W=1 T截止) 输出(Q=1、W输出) 2. 串行I/O端口 P3 口是一个多功能口。可作I / O 口使用,为准双向口。既可以字节操作,也可以位操作。既可以读引脚,也可以读锁存器,实现“读一修改一输出”操作。可以使用第二功能进行输入、输出。P3第二功能各

17、引脚功能定义P3.0:RXD 串行口输入P3.1:TXD 串行口输出P3.2:INT0 外部中断0输入P3.3:INT1 外部中断1输入P3.4:T0 定时器0外部输入P3.5:T1 定时器1外部输入P3.6:WR 外部写控制P3.7:RD 外部读控制2.1.4 定时器/计数器结构8051有两个16位定时器/计数器T0和T1,分别与2个8位寄存器T0L、T0H及T1L、T1H对应。8051的定时器/计数器可以工作在定时方式或计数方式。1定时方式 定时方式实现对单片机内部的时钟脉冲或分频后的脉冲进行计数。2计数方式 实现对外部脉冲的计数,读者将对定时器/计数器将在后续章节中进行具体学习。2.1.

18、5 中断系统在单片机系统设计设计中,中断是一个必不可少的概念。 8051有5个中断源,两个中断优先级控制,可以实现两个中断服务嵌套。两个外部中断INT0、INT1,两个定时器中断T0、T1,还有一个串行口中断。 中断的控制由中断允许寄存器IE和中断优先级寄存器IP实现。关于中断的设置和实现将在后续章节进行具体讲解学习。2.2 单片机的引脚功能26页pdip图8751有片内EPROM,用户程序可以自己写入,因此,EA一般接+5V,使用片内EPROM8051有片内ROM,但由于用户程序无法自己写入,因此,片内ROM一般用不到,故,EA应接地,使用片外ROM8031无片内ROM,EA应接地,使用片外

19、ROM1.RST/VPD:复位信号 输入/备用电源输入2. 外接晶振引脚XTAL1 、 XTAL23. 电源Vcc 电源地Vss 4. -PSEN程序存储器 读选通信号5. ALE/PRG 地址锁存 允许/编程脉冲输入6. EA/Vpp访问外部 ROM控制信号 单片机的引脚除了电源、复位、时钟接入、用户I/O口外,其余引脚都是为了实现系统扩展而设置的。这些引脚构成了三总线形式。(1)地址总线(AB): 地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A0-A7);P2口直接提供高8位地(A8A15)。地址信号是由CPU发出的,故地址总线是单方向的。(2)数据总线(DB): 数据总线宽

20、度为8位,用于传送数据和指令,由P0口提供。(3)控制总线(CB): 控制总线随时掌握各种部件的状态,并根据需要向有关部件发出命令。2.3.1 时钟电路1、内部时钟方式:8051内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲2.3.1 振荡器和时钟电路2、外部时钟方式: 就是把外部已有的时钟信号引入单片机内2.3.2 时序定时单位计算机工作要有严格的时序。事实上,计算机更象一个大钟,什么时候分针动,什么时候秒针动,什么时候时针动,都有严格的规定,一点也不

21、能乱。单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。或者说是:CPU在执行指令时所需产生的时间顺序指令周期指CPU执行一条指令所需要的时间。一个指令周期通常含有14个机器周期。 通常将完成一个基本操作所需的时间称为一个机器周期。由6个S状态组成,共12拍时钟周期是振荡源信号经二分频后形成的时钟脉冲信号,称为一个S状态,由两个P组成振荡周期是单片机提供时钟信号的 振荡源的周期,又称为1拍1、拍(P):振荡脉冲的周期,用P表示。是晶体的振荡周期,或是外部振荡脉冲的周期,是MCS-51单片机中最小的时序单位。2、状态或时钟周期(S):振荡脉冲经二

22、分频后得到的时钟信号,把时钟信号的周期称为状态,用S表示。一个状态包括两个拍P1和P2(前拍和后拍)。是最基本的时间单位。3、机器周期:CPU完成一个基本操作所需的时间称为机器周期。由6个状态(12拍)组成。 4、指令周期:是执行一条指令所需要的时间。是MCS-51单片机最大的时序单位。一个指令周期通常含有14个机器周期。若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为:振荡周期1/12MHz1/12s0.0833s时钟周期1/6s0.167s机器周期1s指令周期14s2.3.3 CPU 指令的取指/执行时序 ALE 是地址锁存信号。该信号每有效一次就能对存储器进行一次

23、读指令操作。ALE 信号以振荡脉冲六分之一的频率出现。因此,在一个机器周期中,ALE 信号两次有效:第一次在S1P2 和S2P1 期间第二次在S4P2 和S5P1 期间,有效宽度为一个时钟周期1.单字节单周期指令 这类指令的执行从S1P2 开始,在S1P2 期间读入操作码并把它锁存到指令寄存器中。在S4 处虽仍有一次读操作,但由于程序计数器PC 没有加1 ,读出的是原指令,因此属于 一次无效的读操作。 2.双字节单周期指令 一条指令2 个字节,每次总线操作是8 位,需要进行2 次总线操作。对应于ALE 的两次读操作都是有效的,第一次是读指令操作码,第二次是读指令第二字节3.单字节双周期指令两个

24、机器周期内进行了四次读操作(产生4 次ALE 信号),但由于是单字节指令,故后面三次读操作无效。2.4 单片机的工作方式2.4.1 复位方式单片机运行出错或进入死循环时,可按复位键重新运行(初始化)。21个特殊功能寄存器复位后的状态为确定值,注意: 8051进入复位状态后,除SP为07H, P0P3为FFH外,其余均为0。 2.4.1 单片机的复位方式(1)简单的复位电路: 简单复位电路有上电复位和手动复位两种。不管是哪一种复位电路都要保证在RST引脚上提供10ms以上稳定的高电平。见图33页 a是常用的上电复位电路。这种上电复位利用电容器充电来实现。当加电时,电容器C充电,电路有电流流过,构

25、成回路,在电阻R上产生压降,RST引脚为高电平;当电容C充满电后,电路相当于断开,RST的电位与地相同,复位结束。可见复位的时间与充电的时间有关,充电时间越长复位时间越长。增大电容或增大电阻都可以增加复位时间。b是按键式复位电路。它的上电复位功能与(a)相同,但它还可以通过按键实现复位,按下键后,通过R1和R2形成回路,使RST端产生高电平。按键的时间决定了复位时间。单片机的复位状态复位信号高电平有效,电平持续时间应为24个时钟周期以上,才可以使单片机可靠复位。复位后P0P3可以不用输出1而直接进行输入sp复位后SP=07,栈底地址与R7相同,堆栈操作的第一个数据放入08H(第二组R0)psw

26、复位后RS0=RS1=0,寄存器选择0组,R0地址为00H,R7地址为07H,F0=0pc复位后第一条要执行指令的地址为0000HPC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H2.5 单片机的最小系统 单片机最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机 处于正常的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的核心部分,通过对其进行存储器扩展、A/D扩展等,因此51单片机最小系统的功能主要如下: 能够运行用户程序。 用户可以复位单片机。 具有相对强大的外部扩展功能。

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

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