嵌入式系统原理与设计 课件 第三讲 单片机结构_第1页
嵌入式系统原理与设计 课件 第三讲 单片机结构_第2页
嵌入式系统原理与设计 课件 第三讲 单片机结构_第3页
嵌入式系统原理与设计 课件 第三讲 单片机结构_第4页
嵌入式系统原理与设计 课件 第三讲 单片机结构_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

1单片机与嵌入式系统第三讲本次课主要内容第三章单片机原理(一)2单片机的内部结构、工作原理初步认识!单片机原理(一)1.本次课的目标2.MCS-51系列单片机概述3.MCS-51系列单片机总体结构4.89C51单片机的内部架构5.89C51单片机的运算器6.89C51单片机的控制器7.89C51单片机的存储器8.小结9.下次课准备31.本次课的目标对单片机有一个初步的认识,了解单片机的发展历史、发展趋势、应用领域。了解其内部结构,为后续单片机接口和应用的学习打下基础。难点:单片机内部结构(控制器、运算器、存储器),理解单片机工作原理。4单片机原理(一)1.本次课的目标2.MCS-51系列单片机概述3.MCS-51系列单片机总体结构4.89C51单片机的内部架构5.89C51单片机的运算器6.89C51单片机的控制器7.89C51单片机的存储器8.小结9.下次课准备52.MCS-51系列单片机概述2.1什么是单片机2.2单片机的发展2.3单片机的应用领域2.4单片机的发展方向62.1什么是单片机单片机——单片微型计算机(Single-ChipMicrocomputer)的简称1946年,世界上第一台电子数字计算机ENIAC在美国宾夕法尼亚大学研制成功。单片机内部集成如下部件:中央处理器(CentralProcessingUnit,CPU)只读存储器(ReadOnlyMemory,ROM)随机存取存储器(RandomAccessMemory,RAM)定时器/计数器及I/O(Input/Output)接口等部件。7单片机成为最重要的可编程硬件控制单元,成为微控制器的典型代表!微控制器知识回顾:嵌入式微控制器将整个计算机系统的主要硬件集成到一块芯片中。一般以微处理器内核为核心,集成ROM/EPROM、RAM、总线逻辑、定时/计数器、看门狗、串口、A/D、D/A等各种必要的功能和外设。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。82.2单片机的发展历史第一代4位单片机1970年~1974年:诞生了第一代4位的单片机。这类单片机已经具有了并行I/O接口,以及一些常用的A/D和D/A等资源。这在当时来说是非常强大的,通过灵活的控制能力,使其应用于电视机、收音机和电子玩具中。9第二代8位单片机1974年~1978年:单片机进入8位时代。这个时期以Intel公司的MCS-48系列单片机最具代表性。此时的单片机内部集成了更为强大的8位CPU内核、多个并行I/O接口、同时增加了定时器/计数器以及小容量的RAM和ROM等。10第三代高档8位单片机,典型:MCS-511978年~1983年:Intel公司的MCS-51系列为代表,标志着进入高档8位单片机时代。这个时期的单片机工作频率、硬件资源和RAM/ROM容量等都有极大的突破,创新地加入了串口通信接口及多级中断处理系统。我们现在所广泛使用的单片机都仍以该内核为基础,因此,也常称为51系列单片机。11随后,单片机市场便进入百花齐放、百家争鸣时代。各个厂商不仅在增强单片机的性能,同时还推出了不同类型的单片机。PIC系列AVR系列LPC系列……122.3单片机的应用领域家电产品,例如在电视、电话、冰箱、空调、洗衣机、家用防盗报警器等。其中,单片机主要用于功能控制。便携影音设备,例如MP3、MP4、录音笔等。其中,单片机用于系统控制和功能管理。电子玩具,例如各种电动玩具、发声玩具、玩具机器人、遥控电动车、遥控航模等。其中,单片机实现了核心功能的控制和智能人机接口。13机电一体化设备,例如车床、铣床、数控机床等。在这类设备中,单片机作为机电一体化设备的控制器,可以简化机械产品的结构设计,实现智能的生产和操作控制,并扩展原有设备的功能。数据通信,例如无线数传、大容量存储设备等。在这类设备中,单片机依靠串口、并口或者高速USB接口等,实现计算机之间、计算机与外围设备之间的控制和数据传输等。

14测控设备,例如数据采集系统、示波器、智能仪表等。在这里设备中,依靠单片机强大控制和通信能力,实现测试、测量和控制等功能。1516单片机应用

工业方面民用方面仪表方面电讯方面数据处理方面汽车方面2.4单片机的发展方向(1)高速早期的51内核只有几MHz的运行频率,现在各个公司推出的51单片机产品均能够达到几十MHz的运行频率,例如Atmel公司的AT89S系列的单片机最大运行于33MHz,还有其他一些公司的产品也都具有很高的速度。(2)缩短指令执行周期51执行一条指令的周期成为指令周期,根据指令的不同,指令周期一般需要1~4个机器周期。新的增强型51内核大大缩短了指令的执行周期,例如MAXIM的高速单片机每机器周期使用一个时钟周期。还有其他一些公司也相应提高了指令的执行时间。17(3)低功耗单片机主要应用于各种嵌入式设备中,这类设备最大的共性便是采用电池供电,需要具有出色的功耗控制。现在的单片机功耗都在逐步下降,同时还提供了丰富的低功耗模式可供选择,大大延长了电池的使用时间。(4)高度集成性现在的单片机集成了越来越多的功能,例如A/D转换、D/A转换、SPI接口、I2C接口、USART接口、USB接口、CAN接口等等。在有些设计项目中,甚至仅靠一个单片机便可以完成所有的工作,真正实现“单片”的含义。18(5)减小封装尺寸单片机在提高强度的接口功能的同时,其封装体积也在逐步减少。这样,可以减少电路板的使用面积,使最终产品小型化。19单片机原理(一)1.本次课的目标2.MCS-51系列单片机概述3.MCS-51系列单片机总体结构4.89C51单片机的内部架构5.89C51单片机的运算器6.89C51单片机的控制器7.89C51单片机的存储器8.小结9.下次课准备203.MCS-51系列单片机总体结构3.1计算机系统的硬件组成框图3.2

MCS-51单片机基本结构3.3MCS-51系列单片机的分类213.1计算机系统的硬件组成框图22运算器

存储器控制器输出设备输入设备最终结果

中间结果/最终结果数据最终结果原始数据与程序程序

单片机是一个大规模集成电路芯片,其上集成有CPU(运算器、控制器)存储器I/O口(串行口、并行口)其它辅助电路(如中断系统,定时/计数器,振荡电路及时钟电路等)。23RAM(RandomAccessMemory)1、RAM被称为随机读写存储器。2、用于存放数据。3、存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。4、具有易失性:芯片掉电后,其内的信息消失。24ROM(Read-OnlyMemory)1、ROM被称为只读存储器。2、用于存放程序。3、具有非易失性:掉电后其内的信息依然存在。2526时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器结构框图中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内部ROM:4KBFlashROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源(外部中断2个,定时/计数中断2个,串行中断1个)时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ3.2MCS-51单片机基本结构8051单片机的基本组成中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。27并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源(外中断2个,定时/计数中断2个,串行中断1个)时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ283.3MCS-51单片机的分类常用的MCS51系列单片机有2种类型的产品:8051/8751/89C51和8031。它们的结构基本相同,其主要差别反映在存储器的配置上的不同:8051内设有4KB的掩膜ROM;8751内设有4KB的EPROM;89C51内设有4KB的E2PROM

;8031内没有ROM。29单片机原理(一)1.本次课的目标2.MCS-51系列单片机概述3.MCS-51系列单片机总体结构4.89C51单片机的内部架构5.89C51单片机的运算器6.89C51单片机的控制器7.89C51单片机的存储器8.小结9.下次课准备304.89C51单片机的内部架构4.189C51单片机的内部结构4.289C51中央处理单元(CPU)4.389C51存储器4.489C51

I/O接口314.189C51单片机的内部架构32ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P3ALU4.289C51中央处理单元(CPU)CPU是单片机的核心,是单片机的控制和指挥中心;CPU由运算器、控制器组成;33运算器由ALU、暂存器TMP1和TMP2、累加器ACC、寄存器B、程序状态寄存器(PSW)构成;控制器由程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定时电路等组成。344.389C51存储器89C51片内有程序存储器、数据存储器两类;(哈佛结构)程序存储器(FlashROM),用于存放程序、表格常数;数据存储区(RAM),用于存放运算的中间结果、数据暂存以及数据缓冲等。其中也包含了32个单片机的工作寄存器和特殊功能寄存器。35第七小节详细讨论4.489C51

I/O89C51有4个与外部交换信息的8位并行接口以及一个可编程全双工串行口;4个并行口均为准双向口;4个并行口同RAM统一编址,可当做一般特殊功能寄存器来寻址。36第四讲详细讨论单片机原理(一)1.本次课的目标2.MCS-51系列单片机概述3.MCS-51系列单片机总体结构4.89C51单片机的内部架构5.89C51单片机的运算器6.89C51单片机的控制器7.89C51单片机的存储器8.小结9.下次课准备375.89C51单片机的运算器5.1算术逻辑单元ALU5.2累加器ACC5.3寄存器B5.4程序状态寄存器PSW385.1算术逻辑单元ALU算术逻辑单元(ArithmeticLogicUnit,ALU)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由“AndGate”和“OrGate”构成的算术逻辑单元,主要功能是进行二进制的算术运算和逻辑运算;39ALUATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P3ALUALU有2个输入端和2个输出端,其中一端接至累加器,接收由累加器送来的一个操作数;另一端接收TMP中的第二个操作数。参加运算的操作数在ALU中进行规定的操作运算,运算结束后,一方面将结果送至累加器,同时将操作结果的特征状态送标志寄存器。405.2累加器ACC通常用A表示,单片机在做运算时它的中间结果需要放在某个地方,这个地方就是累加器,它的名字很特殊,功能也很特殊,几乎所有的运算类指令都离不开它。41ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P3ALU1、ACC为8位寄存器。2、累加器是一个特殊的寄存器,它的字长和微处理器的字长相同,累加器具有输入/输出和移位功能,微处理器采用累加器结构可以简化某些逻辑运算。3、由于所有运算的数据都要通过累加器,故累加器在微处理器中占有很重要的位置。(演示:Project4)42Project4: a=1; b=5; c=7; d=a+b+c;//累加器用于存放中间结果,从本例中可以看出首先将1放入累加器A,和5相加后,将中间结果6放入累加器A,和7相加后,再将结果放入A435.3寄存器BB寄存器在做乘法时用来存放一个乘数,在做除法时用来存放一个除数,不做乘除法时可以作为一般的寄存器来用。1、8位寄存器。2、在进行乘除法运算时,存放参与运算的一个操作数。3、除此之外,作为一般REG使用。(演示:Project5)445.4程序状态寄存器PSWPSW非常重要!里面放了CPU工作时的很多状态,知道它就可以了解CPU当前的工作状态,它有点象平时看书用的目录,我们浏览它就可以了解一本书的内容。它是一个8位的寄存器,用到了其中的7位。格式如下:45D7D6D5D4D3D2D1D0CYACF0RS1RS0OVP461.CY:进位标志位可用PSW.7来表示;MCS-51是一种8位的单片机,它的运算结果只能表示到28(即0-255),但我们有时候的运算结果要超过255,怎么办呢?就要用CY位。例如:79H+87H(01111001+01010111)=100000000,这里的“1”就进到了CY中去了;借位也会使CY置1。(演示:Project1)CY应用举例:串行IIC通信voidWrite_A_Byte(ucharb){ uchari; for(i=0;i<8;i++) { b<<=1; SDA=CY;_nop_(); SCL=1;NOP4();SCL=0;} RACK();}47b<<=1; SDA=CY即b=b<<1;SDA=CY每次将b左移1位,CY即为移出的那一位可以通过仿真例子来演示。(演示:Project2)482.AC:半进位标志位也可用PSW.6来表示;当D3位向D4位进位/借位时,AC=1,通常用于十进制调整运算中。(演示:Project3)493.F0:用户自定义标志位也可用PSW.5来表示;由编程人员自行决定,什么时候用,什么时候不用。504.RS0和RS1也可用PSW.3和PSW.4表示;工作寄存器组选择控制位,可以用于选择哪一组工作寄存器作为当前工作寄存器组。51525.OV:溢出标志位也可用PSW.2来表示;运算结果超出范围时,产生溢出。当运算结果产生溢出时,OV=1;当运算结果没有产生溢出时,OV=0。注意溢出与进位没有必然联系演示(Project6)536.P:奇偶校验位也可用PSW.0来表示;当A中二进制数“1”的个数为奇数时,P=1;当A中二进制数“1”的个数为偶数时,P=0。例:某运算结果是58H(01011000),显然“1”的个数为奇数,所以P=1。演示(Project7)54单片机原理(一)1.本次课的目标2.MCS-51系列单片机概述3.MCS-51系列单片机总体结构4.89C51单片机的内部架构5.89C51单片机的运算器6.89C51单片机的控制器7.89C51单片机的存储器8.小结9.下次课准备556.89C51单片机的控制器控制器:扮演了一个管理者的角色,用来统一指挥和控制单片机参与工作的各个部件。566.1程序计数器PC6.2指令寄存器IR6.3指令译码器ID57ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P3ALU6.1程序计数器PC1、16位寄存器。2、存放下一条将要执行的指令地址。程序中的指令是按照顺序存放在存储器中的某个连续区域。每条指令都有自己的地址,CPU根据PC中的指令地址从存储器中取出将要执行的指令。583、具有自动加1功能,从而指向下一条将要执行的指令地址。4、PC的值可以修改,一般程序是按顺序执行指令的。若改变了的PC的值,则程序将不再按顺序执行。演示(Project8)596.2指令寄存器IRIR:用来存放当前正在执行的指令代码。606.3指令译码器IDID:用来对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号。61单片机原理(一)1.本次课的目标2.MCS-51系列单片机概述3.MCS-51系列单片机总体结构4.89C51单片机的内部架构5.89C51单片机的运算器6.89C51单片机的控制器7.89C51单片机的存储器8.小结9.下次课准备627.89C51单片机的存储器7.1存储器结构7.2程序存储器7.3寄存器的种类7.4MCS-51片内RAM的配置631

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

31302928272625242422211

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM62641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM6264

80318751805189C51片内RAM片内ROM256B(字节)4K64K64K7.1存储器结构片内程序存储器(片内ROM):4KB,物理地址为0000H~0FFFH片外程序存储器(片外ROM):64KB,物理地址为0000H~FFFFH,其中1000H~FFFFH为外部ROM片内数据存储器(片内RAM):256B,物理地址为00H~FFH片外数据存储器(片外RAM):64KB,物理地址为0000H~FFFFH66程序存储器内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序执行的起始单元,在这三个单元存放一条无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH

外部中断0定时器0中断外部中断1定时器1中断

串行口中断8位...0FFFH0FFEHEA=1EA=0程序存储器资源分布中断入口地址7.2程序存储器7.3寄存器的种类

通用寄存器:51系列单片机具有4组共32个通用寄存器R0~R7,在同一时刻只能有一组通用寄存器参与运算。4个通用寄存器区位于单片机片内RAM的00H~1FH(共32B)空间,每组共有8个8位的寄存器R0~R7。67专用寄存器:在运算时只用于特定的功能,是专门为某些功能部件而设计的。特殊功能寄存器SFR(SFR,即SpecialFunctionRegisters):专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。687.4MCS-51片内RAM的配置89C51内有256B的RAM单元,其地址范围为00H—FFH,分为两大部分:低128字节(00H~7FH)为真正的RAM区;高128字节(80H~FFH)为特殊功能寄存器区SFR。697FH

真正RAM区00HFFH

SFR区80H7FH

普通RAM区30H2FH

位寻址区20H1FH

工作寄存器区00H89C51内有256B的RAM单元,其地址范围为00H—FFH,分为两大部分:低128字节(00H~7FH)为真正的RAM区;高128字节(80H~FFH)为特殊功能寄存器区SFR。707FH

真正RAM区00HFFH

SFR区80H7FH

普通RAM区30H2FH

位寻址区20H1FH

工作寄存器区00H1、工作寄存器区是指00H~1FH区,共分4个组,每组有8个单元,共32个内部RAM单元。2、每次只能有1组作为工作寄存器使用,其它各组可以作为一般的数据缓冲区使用。3、作为工作寄存器使用的8个单元,又称为R0—R74、程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择哪一组作为工作寄存器使用。CPU通过软件修改PSW中RS0和RS1两位的状态,就可任选一个工作寄存器工作。07H0组00H0FH1组08H17H2组10H1FH3组18H

RS1、RS0与片内工作寄存器组对应关系71RS1RS0寄存器组片内PAM地址通用寄存器名称000组00H~07HR0~R7011组08H~0FHR0~R7102组10H~17HR0~R7113组18H~1FHR0~R7问题:PSW为“11H”(即00010001),则通用寄存器的地址范围是什么?72D7D6D5D4D3D2D1D0CYACF0RS1RS0OVPRS1RS0寄存器组片内PAM地址通用寄存器名称000组00H~07HR0~R7011组08H~0FHR0~R7102组10H~17HR0~R7113组18H~1FHR0~R7答案:RS1=1,RS0=0,则用到了第2组寄存器组(地址10H~17H),R0-R7即为10H~17H。7FH

真正RAM区00HFFHSFR区80H7FH

普通RAM区30H2FH

位寻址区20H1FH

工作寄存器区00H20H21H22H23H24H25H26H27H2FH1、位寻址区是指20H~2FH单元,共16个单元。2、位寻址区的每1位都可当作软件触发器,由程序直接进行位处理。3、位寻址区的16个单元(共计128位)的每1位都有一个8位表示的位地址。

如表所示。4、同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲区。

内部RAM位地址表74需要特别注意位地址为00H~7FH演示(Project9)757FH

真正RAM区00HFFH

SFR区80H1、高128B的RAM单元中有21个单元可用,称为SFR。这21个SFR分散在高128B的地址空间内,分别是A,B,PSW,SP,DPH,DPL,P0,P1,P2,P3,IP,IE,TCON,TMOD,TH0,TL0,TH1,TL1,SCON,SBUF,PCON。2、有些可以按位寻址。3、特殊功能寄存器名称、标识符、地址见表

特殊功能寄存器名称、标识符、地址一览表767778DPTR(DPH,DPL):数据指针数据指针是一个16位的寄存器,我们可以用它来访问外部RAM,也可以访问外部ROM中的表格。1、数据指针DPTR是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。792、既可作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。3、DPTR主要用来存放16位地址,当对64KB外部数据存储器空间寻址时,作为间址寄存器用。在访问程序存储器时,用作基址寄存器。80问题:为何8051支持的外部RAM最大为64K?81访问外部RAM需要使用数据指针DPTR,该指针为16位,因此:所能访问的外部数据RAM最大为64KB。SP堆栈指针1、SP称为堆栈指针,8位寄存器2、SP用来存放堆栈栈顶的地址。82关于堆栈1、堆栈是在内RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一块连续的存储区域。2、堆栈有栈顶和栈底,堆栈中没有数据时,二者重叠,SP指向最下端(栈底),向堆栈推入数据后,栈顶向上生长,SP也向上生长。833、堆栈栈顶:最后推入堆栈的数据所在的存储单元。4、SP用来指示堆栈所处的位置,在进行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址(栈底层)。84单片机原理(一)1.本次课的目标2.MCS-51系列单片机概述3.MCS-51系列单片机总体结构4.89C51单片机的内部架构5.89C51单片机的运算器6.89C51单片机的控制器7.89C51单片机的存储器8.小结9.下次课准备858.小结86870000HFFFFH(64K)内部外部数据存储器小节数据存储器00HFFH7FH80H(高128B)(低128B)RAM专用

寄存器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F7807

温馨提示

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

评论

0/150

提交评论