单片微型计算机C第4讲(机械).ppt_第1页
单片微型计算机C第4讲(机械).ppt_第2页
单片微型计算机C第4讲(机械).ppt_第3页
单片微型计算机C第4讲(机械).ppt_第4页
单片微型计算机C第4讲(机械).ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、,Microcontrollers Principle and Applications,单片机原理及应用,C,上节内容回顾,有符号数的表示方法 十进制数用二进制形式表示的编码 溢出的概念 校验码,练习,给定X=-98,Y=-73,用补码运算完成X+Y的操作。,第4-5讲教学目的和要求,【教学目标】通过讲述MCS-51单片机的硬件结构,使学生掌握单片机内部所包含的硬件资源及其功能特点和使用方法,注意几个概念:时钟周期、机器周期和指令周期的意义及它们之间的关系 。 【教学重点】单片机芯片的内部组成及存储器结构; 主要寄存器名称及含义; 【教学难点】存储器的地址重叠的问题。,第三章 MCS-51单

2、片机的硬件结构,3.1 MCS51的基本结构,MCS51:将作为控制应用所必需的基本功能部件都集成在一个尺寸有限的集成电路芯片上。所包含的硬件: 处理器CPU 数据存储器RAM 程序存储器ROM/EPROM 4个8位并行IO口(P0P3) 1个串行口 2个16位定时器/计数器 中断系统 特殊功能寄存器SFR,MCS51的片内结构,CPU,ROM,RAM,定时器/控制器,并行接口,串行接口,中断系统,T0,T1,时钟电路,内部总线,P0,P1,P2,P3,TXD,RXD,INT0,INT1,3.2 MCS51的引脚,引脚分类,MCS51的40个引脚,按照其功能分类,可分为三类: 电源及时钟引脚:

3、VCC、VSS;XTAL1、XTAL2 控制引脚:/PSEN、ALE、/EA、RST IO口引脚:P0P3四个8位并行口,共32条。,1. 主电源引脚:VCC(40)、VSS(20),2. 时钟引脚:XTAL1(19)和XTAL2(18) XTAL1:接外部晶体的一个引脚。当采用外部时钟时,对于 HMOS单片机,该引脚接地;对CHMOS单片机,该引脚接外部时钟输入 。 XTAL2:接外部晶体的另一引脚。当采用外部时钟时,对于 HMOS单片机,该引脚接外部时钟输入 ;对CHMOS单片机,该引脚应悬浮 。,(1)电源及时钟引脚,具有复用功能的引脚。 RST:复位信号输入端,高电平有效。单片机运行时

4、,该引脚出现两个机器周期的高电平将使单片机复位 。单片机正常工作时,此引脚为低电平。 VPD:VCC掉电期间,该引脚可接上备用电源,以保持内部RAM的数据。从而使单片机在复位后能继续正常运行。,(2)控制引脚,1. RST/VPD(9):复位和备用电源引脚,具有复用功能的引脚。 复位后,该引脚持续输出正脉冲。当访问外部存储器时,在ALE输出的下降沿,用于锁存地址的低8位地址; 对于EPROM型单片机,在编程期间,该引脚用于输入编程脉冲。,(2)控制引脚,2. ALE/#PROG(30):地址锁存/编程脉冲,在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿,作为读外部程序存储器的选通信号。 此

5、脚接外部程序存储器的OE(OutPut Enable)端,(2)控制引脚,3. #PSEN(29):外部程序存储器读选通信号,具有复用功能的引脚。 当/EA保持高电平时,访问内部程序存储器。但在PC值超过0FFFH(或其它内部程序存储器最高地址)时,将自动转向外部程序存储器 执行程序。 对于EPROM型单片机,在编程期间,Vpp用于施加编程电源(依据芯片类型+21V、+12V或+5V不等)。,(2)控制引脚,4. #EA/Vpp(31):内/外程序存储器选择控制端,(3)I/O引脚,1.P0.0P0.7:双向8位三态IO口P0引脚,2.P1.0P1.7:8位准双向IO口P1引脚,3.P2.0P

6、2.7:8位准双向IO口P2引脚,4.P3.0P3.7:8位准双向IO口P4引脚,四个8位并行端口的外接引脚,3.3 MCS-51单片机的片内结构,(1)运算器,运算器 算术逻辑单元ALU 累加器ACC 寄存器B PSW,ALU:可对8位变量进行逻辑“与”、“或”、“异或”、循环、求补和清零等逻辑运算操作; 进行加、减、乘、除等算术运算; 对位变量进行位处理,如置位、清0、求补、测试转移及逻辑与或操作。,(1)运算器,运算器 算术逻辑单元ALU 累加器ACC 寄存器B PSW,ACC:8位累加器,是CPU中使用最频繁的一个寄存器。 是ALU的输入数据源之一,又是运算结果的存放单元; CPU中数

7、据的传送大都通过ACC,(1)运算器,运算器 算术逻辑单元ALU 累加器ACC 寄存器B PSW,寄存器B:寄存器B 是一个8位寄存器,主要用于乘除运算,辅助ACC完成乘法除法运算,存放乘积的高八位和除法的余数。B寄存器也可以作为一般数据存储器使用。,(1)运算器,运算器 算术逻辑单元ALU 累加器ACC 寄存器B PSW,PSW:程序状态字寄存器(Program Status Word),为8位的寄存器。位于单片机的特殊功能寄存器区,字节地址为D0H。包含了程序运行状态的不同信息,初始值为00H。,PSW,Cy:进位标志位。 在执行算术运算和逻辑运算指令时,Cy可以被硬件或软件置1或清0。在

8、位运算时,作为位累加器。 AC:辅助进位标志位 BCD码运算时,用作十进制调整,同DA指令结合起来使用。 F0:用户自定义标志位 可由软件赋值,并通过程序测试控制程序流向。,PSW,RS1、RS0:工作寄存器区选择位。 用于选择4组工作寄存器区的哪一组为当前工作寄存器区。,PSW,OV:溢出标志位。 在执行算术运算时,由硬件置1或清0,用以指示运算是否产生溢出。 P:奇偶标志位 该标志位用来指示ACC中1的个数是奇数个还是偶数个。 P=1,则ACC中1的个数为奇数; P=0,则ACC中1的个数为偶数。,(2)控制器,程序计数器PC 用于存放下一条要执行指令在程序存储器中的地址,顺序执行时,程序

9、计数器自动加1。 PC中的内容决定程序的流向,PC的位数为16位,寻址空间为64K字节。 指令寄存器IR 译码及控制逻辑,3.4 MCS51的存储器组织(*),MCS51采用哈佛(Har-vard)结构,即程序存储空间与数据存储空间相互独立。其存储空间可以划分成五类: 程序存储器(ROM与EPROM):用于存放程序和常数,可分为片内和片外。 内部数据存储器(RAM):用于存放数据的存储空间。 特殊功能寄存器(SFR):状态与控制寄存器。 位地址空间:MCS51有211个可寻址位,其中RAM中128个,SFR中83个。 外部数据寄存器:RAM不够,提供给用户扩充的存储空间,最大支持64KB。,程

10、序存储器存储结构,内部ROM,外部ROM,0000H,1000H,0FFFH,0FFFFH,4KB寻址空间,60KB可扩展 的寻址空间,/EA引脚接高电平时,若PC值超出片内ROM的容量,则会自动转向片外程序存储器空间执行程序; /EA引脚接低电平时,仅能执行片外ROM的程序,数据存储器存储结构,内部RAM,特殊功能 寄存器,外部RAM,0000H,007FH,0080H,00FFH,0000H,0FFFFH,寻址空间 内部RAM:128B 特殊功能寄存器:128B 外部RAM:64KB,物理上分为:4个空间,即 片内ROM、片外ROM 片内RAM、片外RAM 逻辑上分为: 3个空间,访存时选

11、择不同的指令。 程序内存(片内、外)统一编址 MOVC 数据存储器(片内) MOV 数据存储器(片外) MOVX,存储器的访问,3.4.1 程序存储器,作用:存放用户程序和表格常数。 特殊单元 0000H:复位后从0000H开始执行程序,一般在该地址存放一条绝对转移指令。 中断入口地址:存放五个中断源的中断矢量。,每个中断源有8字节的中断服务程序空间,如果中断程序不大于8字节,可在中断矢量处开始存放。若中断程序大于8字节,则可在此空间内安排一条跳转指令。,程序的简单执行过程,复位入口 0000H,INT0中断入口 0003H,其它中断入口 地址表,T0中断入口 000BH,主程序入口 0100

12、H,2000H,其它程序或常数,主程序,其它程序或常数,中断服务程序,LJMP 0100H,中断申请,LJMP 2000H,中断服务程序,RETI,3.4.2 数据存储器,MCS51片内数据存储器共128个单元,字节地址为00H7FH。,特殊功能寄存器,特殊功能寄存器(SFR):具有特殊功能的RAM单元(状态和控制)。地址范围:80HFFH 。共21个,离散分布,有11个可以位寻址。 其中ACC(A寄存器)、B寄存器、PSW在之前已经介绍过。,堆栈指针SP:指示栈顶在内部RAM中的位置。系统复位后SP被初始化为07H,堆栈实际从08H开始(若要用到寄存器区,最好调整SP位置),SP=30H,0

13、1H,SP=31H,21H,SP=32H,堆栈的主要作用:在子程序调用和中断操作时使用。,特殊功能寄存器,数据指针(DPTR):存放16位数据地址(访问外部RAM或P口)可分为DPH和DPL单独操作。 端口P0P3:I/O端口锁存器。 其它SFR:在有关章节介绍 SBUF、SCON、TH0、TL0、TH1、TL1 IP、IE、TMOD、TCON、PCON,部分特殊功能寄存器及其地址,通用工作寄存器,通过改变PSW中的RS1(PSW.4)和RS0 (PSW.3)来切换寄存器区,可实现快速现场保护。,0区:R0-00H,R1-01H; 1区 R0-08H,R1-09H,通用工作寄存器,【例1】RS

14、1 RS0 = 01时,R7的RAM地址为 。 【例2】当单片机复位时PSW H,这时当前的工作寄存器区是 区,R4所对应的存储单元地址为 H。,位地址空间,MCS-51有功能强大的布尔处理功能,适用于开关决策、逻辑仿真、实时控制。位地址指该空间内每个二进制位均有一个地址。 其中位地址00H7FH 共128个处于内部RAM(20H2FH)中,其余83个分布于SFR中。,片内RAM详解,寄存器与存储器的映射,3.5 MCS51的时钟与复位,MCS51单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作。这个脉冲是由单片机控制器中的时序电路发出的。 MCS51常选择的时钟频率为

15、6MHZ或12MHZ。某些高速单片机时钟频率可达40MHZ以上。,时钟周期:处理操作的最基本单位。也称为节拍脉冲或者T周期,是单片机的基本时间单位。 机器周期:也称为CPU周期。每个机器周期内完成一个基本操作,一般机器的CPU周期包括取指周期、取数周期和执行周期几种。 指令周期:一条指令执行所需要的时间。包含若干机器周期。,几个概念,时钟周期,8051单片机采用的时钟频率fosc为6MHZ 频率f:1秒内的脉冲个数 6M个 周期Tosc :1/f 166.7ns,每个T状态包括:下降沿、低电平、上升沿、高电平,机器周期,CPU完成一个基本操作所需要的时间。,取指令、读或写数据。,51单片机中,

16、每12个时钟周期为一个机器周期。若fosc=6MHZ,则机器周期为: Tcy=12Tosc=12/fosc=12/6M=2us,一个机器周期的12个时钟周期中,分成6个状态S1S6,每个状态又分成两拍,P1和P2,故一个机器周期中的12个时钟周期可表示成:S1P1、S1P2、S2P1、S6P1、S6P2:,指令周期,执行一条指令所需的时间为指令周期。每条指令的功能不同,所需时间也有差异,故每条指令的指令周期不尽相同。 从指令执行的角度来看,MCS51单片机的指令周期一般分为1个机器周期、2个机器周期和4个机器周期。 一般指令均可在12个机器周期内完成,仅乘、除指令需要4个机器周期。,指令周期,一般情况下 操作仅涉及到寄存器或立即数的,为单周期指令。但操作寄存器为DPTR的,执

温馨提示

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

评论

0/150

提交评论