收藏 分享(赏)

《单片机原理及应用》课件01-51单片机基本结构与存储器分配.ppt

上传人:bubibi 文档编号:20014223 上传时间:2023-12-02 格式:PPT 页数:29 大小:714.50KB
下载 相关 举报
《单片机原理及应用》课件01-51单片机基本结构与存储器分配.ppt_第1页
第1页 / 共29页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配.ppt_第2页
第2页 / 共29页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配.ppt_第3页
第3页 / 共29页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配.ppt_第4页
第4页 / 共29页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配.ppt_第5页
第5页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、1第第2章章 MCS-51系列单片机构成系列单片机构成本章主要介绍本章主要介绍MCS-51MCS-51系列单片机的系统结系列单片机的系统结构组成。构组成。重点:重点:MCS-51MCS-51的基本结构及特性的基本结构及特性;存储器、堆栈与特殊功能寄存器存储器、堆栈与特殊功能寄存器;单片机的时钟、复位电路、并行口单片机的时钟、复位电路、并行口.2.1 51系列单片机的内部结构系列单片机的内部结构 时钟电路时钟电路RAM ROMCPU定时定时/计数器计数器并行口并行口中断模块中断模块串口模块串口模块系系 统统 总总 线线时钟源时钟源 T0 T1P0 P1 P2 P3TXD RXD INT0 INT

2、1内中断内中断外中断外中断存储器存储器通道0驱动器通道2驱动器RAM地址锁存器RAM通道0锁存器通 道 2锁存器ROM/EPROMB寄存器程序地址寄存器程序地址寄存器缓冲器PC递增器程序计数器PCDPTR指针VCCGNDP1.0P1.7堆栈指针SPACCTMP2PSW通道3锁存器通道1锁存器通道1驱动器通道3驱动器TMP1SCON TMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中断、串行口和定时器逻辑振荡器P3.0P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定时和控制逻辑指令译码器P2.0P2.7P0.0P0.74程序计数器程序

3、计数器PC 16PC 16位寄存器位寄存器1.PC1.PC功能:始终用于存放即将要执行的下一条指令功能:始终用于存放即将要执行的下一条指令所在程序存储器的地址。单片机根据所在程序存储器的地址。单片机根据PCPC值取指令执值取指令执行程序。行程序。2.PC2.PC特点:特点:(1(1)复位后)复位后PC=0000HPC=0000H(2(2)自动化加)自动化加1 1;根据根据PCPC值值 ROMROM中取指令中取指令 PC=PC+1;PC=PC+1;(3(3)在主程序中执行转移指令时,)在主程序中执行转移指令时,PCPC将放入转移目将放入转移目 标地址值;标地址值;(4)(4)在主程序中调用子程序

4、或执行中断服务程序时,在主程序中调用子程序或执行中断服务程序时,单片机进行如下操作:单片机进行如下操作:PC当前值(断点地址)压入堆栈,子程序或中断入口当前值(断点地址)压入堆栈,子程序或中断入口 地址装入地址装入PC,去执行子程序或中断服务程序;去执行子程序或中断服务程序;执行完子程序或中断服务程序,遇到执行完子程序或中断服务程序,遇到RET或或RETI指令,指令,自动弹出堆栈中断点地址到自动弹出堆栈中断点地址到PC,回到主程序,继续执,回到主程序,继续执 行主程序流程。行主程序流程。2.2 51单片机存储器单片机存储器存储器两种结构:存储器两种结构:一般微机采用一般微机采用普林斯顿结构普林

5、斯顿结构:只有一:只有一个地址空间,个地址空间,ROM和和RAM可以随意安排在这可以随意安排在这一地址空间,一地址空间,ROM和和RAM的地址在同一个队的地址在同一个队列分配不同的地址空间。列分配不同的地址空间。51单片机采用单片机采用哈佛结构哈佛结构:物理结构上:物理结构上程序存储器空间和数据存储器空间分开。程序存储器空间和数据存储器空间分开。外部外部ROM内部内部ROM(EA=1)外部外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH一、程序存储器地址空间一、程序存储器地址空间l开开发发板板采采用用片片上上程程序序程程序序存存储储器器。EA接接线线方法?方法

6、?8中断矢量(向量):中断服务程序的入口地址中断矢量(向量):中断服务程序的入口地址 中中 断断 源源中断服务程序入口地址中断服务程序入口地址外部中断外部中断00003H定时器定时器0溢出中断溢出中断000BH外部中断外部中断10013H定时器定时器1溢出中断溢出中断001BH串行口中断串行口中断0023H中断矢量(向量)地址表中断矢量(向量)地址表 1 1、片内、片内RAMRAM 片内数据存储器:片内数据存储器:低低128B128B(00H00H7FH7FH):真正):真正RAMRAM区;区;高高128B128B(80H80H0FFH0FFH):特殊功能寄):特殊功能寄 存器(存器(SFRS

7、FR)区。)区。片内片内RAMRAM空间用空间用 MOV MOV指令访问指令访问 二、二、数据存储器地址空间数据存储器地址空间10片内地址空间:片内地址空间:RAMRAM 128B128B(00H-7FH00H-7FH)SFRSFR 128B128B(80H-FFH80H-FFH)所有的所有的RAMRAM区区(位位寻址区、工作寄寻址区、工作寄存器区)都可以存器区)都可以用于存放数据,用于存放数据,故也称为故也称为数据缓数据缓存寄存器存寄存器存储器配置(片内RAM)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH用户、用户、堆栈区堆栈区位寻址区位寻

8、址区工作寄存器区工作寄存器区128B128BRAMRAM21个个SFR分布分布在在80H-FFH83个可寻址个可寻址位位128B128BSFRSFR内部内部RAM组织结构组织结构1100H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH21个个SFR区区用户堆栈区用户堆栈区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区1工工作作寄寄存存器器区区00FH10H17H18H 片内片内RAM:RAM:00H00H1FH 1F

9、H 32Byte32Byte是是工作寄存器区工作寄存器区 存储器配置(片内RAM)工作寄存器区工作寄存器区212工作寄存器地址工作寄存器地址表表组组RS1 RS0RS1 RS0R0R0R1R1R2R2R3R3R4R4R5R5R6R6R7R70 00 00 000H00H01H01H02H02H03H03H04H04H05H05H06H06H07H07H1 10 10 108H08H09H09H0AH0AH0BH0BH0CH0CH0DH0DH0EH0EH0FH0FH2 21 01 010H10H11H11H12H12H13H13H14H14H15H15H16H16H17H17H3 31 11 1

10、18H18H19H19H1AH1AH1BH1BH1CH1CH1DH1DH1EH1EH1FH1FH存储器配置(片内RAM)1300H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24

11、23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位 位寻址区:位寻址区:20H-2FH 20H-2FH 128128个可按位寻址位。个可按位寻址位。位地址位地址:00H00H7FH 7FH 存储器配置(片内RAM)字节地址和位地址的区分:字节地址和位地址的区分:以寻址方式区分:访问位地址用位寻址,访问低以寻址方式区分:访问位地址用位寻址,

12、访问低128B128B单元用直接寻址和间接寻址。单元用直接寻址和间接寻址。具体指令:具体指令:MOV C,30H MOV C,30H;30H30H位地址位地址 MOV A,30H MOV A,30H ;30H30H字节地址字节地址 具有位寻址能力是具有位寻址能力是80518051的一个重要特点。的一个重要特点。普通普通RAM区:用户区或堆栈区区:用户区或堆栈区 地址地址:30H:30H7FH7FH 2、片外、片外RAM 片外可扩展片外可扩展片外可扩展片外可扩展64K RAM64K RAM空间,用空间,用空间,用空间,用MOVXMOVX指令指令指令指令 访问,与外部访问,与外部访问,与外部访问,

13、与外部I/OI/O端口统一编址。端口统一编址。端口统一编址。端口统一编址。三、特殊功能寄存器(三、特殊功能寄存器(SFRSFR)2121个特殊功能寄存器(个特殊功能寄存器(SFRSFR),定义在),定义在80H80H0FFH0FFH的的RAMRAM空间中。空间中。用直接寻址方式访问特殊功能寄存器。用直接寻址方式访问特殊功能寄存器。如:如:MOV AMOV A,80H;80H;访问访问P0P0口口 与与 MOV AMOV A,P0 P0 等效等效 MOV AMOV A,R0;(R0)=80HR0;(R0)=80H,访问内,访问内部部RAM 80HRAM 80H单元单元17特殊功能寄存器特殊功能寄

14、存器(SFR)(SFR)特殊功能寄存器特殊功能寄存器SFRSFR(专用寄存器)(专用寄存器)专用于专用于控制、选择、管理、存放控制、选择、管理、存放单片机内部各功能单片机内部各功能部件的部件的工作方式、条件、状态、结果工作方式、条件、状态、结果的寄存器。的寄存器。不同的不同的SFRSFR管理不同的硬件模块,负责不同的功能管理不同的硬件模块,负责不同的功能各司其职各司其职换言之:要让单片机实现预定的功能,必须有相应换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,的硬件和软件,而软件中最重要的一项工作就是对而软件中最重要的一项工作就是对SFRSFR写命令(要求)写命令(要求)。2121个

15、个特殊功能寄存器中,有特殊功能寄存器中,有1111个具有位寻个具有位寻址能力(字节地址能被址能力(字节地址能被8 8整除)。整除)。部分特殊功能寄存器介绍如下:部分特殊功能寄存器介绍如下:1 1 累加器累加器ACCACC:算术运算、逻辑运算;:算术运算、逻辑运算;2 2 辅助寄存器辅助寄存器B B:乘、除运算;:乘、除运算;一般作通用寄存器或一般作通用寄存器或RAMRAM单元使用;单元使用;3 3 程序状态字程序状态字PSWPSW:各位的含义如下:各位的含义如下:19 程序状态字寄存器程序状态字寄存器:PSWPSWCYACF0RS0OVPRS1PSW.7PSW.0CYCY(PSW.7):(PS

16、W.7):进位进位/借位标志位借位标志位。若。若ACCACC在运算过程中发生在运算过程中发生了进位或借位,则了进位或借位,则CY=1CY=1;否则;否则=0=0。它也是。它也是布尔处理器布尔处理器的的位累加器位累加器,可用于布尔操作。,可用于布尔操作。ACAC(PSW.6):(PSW.6):半进位半进位/借位标志位。借位标志位。若若ACCACC在运算过程中,在运算过程中,D3D3位向位向D4D4位发生了进位或借位,则位发生了进位或借位,则CY=1,CY=1,否则否则=0=0。机器在。机器在执行执行“DA ADA A”指令时指令时自动自动要判断这一位,可以暂时不关要判断这一位,可以暂时不关心它。

17、心它。F0 F0(PSW.5):(PSW.5):可由用户定义的标志位。可由用户定义的标志位。PSW.6PSW.520程序状态字寄存器程序状态字寄存器 PSWPSW(续)(续):CYACF0RS0OVPRS1PSW.7PSW.0RS1RS1(PSW.4)(PSW.4)、RS0RS0(PSW.3)(PSW.3):工作寄存器组选择位工作寄存器组选择位。RS1RS1,RS0=0 1 RS0=0 1 则选择了工作寄存器组则选择了工作寄存器组 1 1 区区R0R0R7R7地址为地址为08H 08H 0FH0FH单元。单元。RS1RS1,RS0=1 0 RS0=1 0 则选择了工作寄存器组则选择了工作寄存器

18、组 2 2 区区 R0R0R7R7地址为地址为10H 10H 17H17H单元。单元。RS1RS1,RS0=1 1 RS0=1 1 则选择了工作寄存器组则选择了工作寄存器组 3 3 区区R0R0R7R7地址为地址为18H 18H 1FH1FH单元。单元。PSW.4 PSW.3RS1RS1,RS0=0 0 RS0=0 0 则选择了工作寄存器组则选择了工作寄存器组 0 0 区区R0R0R7R7地址为地址为08H 08H 0FH0FH单元。单元。21 程序状态字寄存器程序状态字寄存器 PSWPSW(续)(续):CYACF0RS0OVPRS1PSW.7PSW.0OV OV(PSW.2)(PSW.2)溢

19、出标志位。溢出标志位。OV=1OV=1时特指累加器在进行带符号数时特指累加器在进行带符号数(-128(-128+127)+127)运算时出错(超出范围);运算时出错(超出范围);OV=0OV=0时未出错。时未出错。PSW.1 PSW.1 未定义未定义。P P(PSW.0)(PSW.0)奇偶标志位。奇偶标志位。P=1P=1表示累加器中表示累加器中“1 1”的个数的个数为奇数为奇数 P=0P=0表示累加器中表示累加器中“1 1”的个数的个数为偶数为偶数 CPUCPU随时监视着随时监视着ACCACC中的中的“1 1”的个数的个数,并反映在并反映在PSWPSW中!中!PSW.2PSW.122堆栈堆栈:

20、在在片内片内RAMRAM中,指定一个专门的区域来存放某中,指定一个专门的区域来存放某些些特别的特别的数据数据,它遵循它遵循先进后出先进后出和和后进先出后进先出(LIFO/FILO(LIFO/FILO)的原则的原则,这个这个RAMRAM区区叫叫堆栈堆栈。功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务时时CPUCPU自动将当前自动将当前PCPC 值值压栈保存,返回时自动将压栈保存,返回时自动将PCPC值弹栈。值弹栈。2 2)保护现场)保护现场/恢复现场恢复现场3 3)数据传输)数据传输4 4 堆栈指针堆栈指针2300H00H20H20H2FH2FH7FH7FH1FH1FH30H30H

21、80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据将存在此数据数据进栈进栈已经进栈的数已经进栈的数据存放在此据存放在此初始初始 SP复位后复位后 SP=07HSP=07H,数据进栈时:数据进栈时:首先首先SP+1SP+1指向指向08H08H单元,第一个放进堆栈单元,第一个放进堆栈的数据将放进的数据将放进08H08H单元,然后单元,然后SPSP再自再自动增动增 1 1,仍指着栈顶,仍指着栈顶堆栈区由特殊功能寄存器堆栈区由特殊功能寄存器堆栈指针堆栈指针SPSP管理管理 堆栈区

22、可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的30H30H后后的位置。的位置。24从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶,仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区

23、位寻址区工作寄存器区工作寄存器区SP-1 指向新的栈指向新的栈顶顶,也就是下一个也就是下一个将要出栈的数据将要出栈的数据数据数据出栈出栈初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。堆栈的操作:压栈堆栈的操作:压栈PUSH,出栈,出栈POP;栈低:堆栈的起始位置;栈低:堆栈的起始位置;CPU复位后复位后(SP)07H;堆栈结构:向上生长型,双向计数器。堆栈结构:向

24、上生长型,双向计数器。5.5.数据指针数据指针DPTRDPTR 16 16位寄存器,对位寄存器,对64KB64KB片外片外RAMRAM和和I/OI/O口口进行间接寻址;可分成个独立的位寄进行间接寻址;可分成个独立的位寄存器。存器。6.6.I/OI/O端口端口P0P0P3P3 可字节寻址,每一条可字节寻址,每一条I/OI/O线均可独立线均可独立用作输入用作输入/输出。输出。27FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H片内片内4KB4KB ROMROM4KB7FH00H片内片内 128B RAMFFH80H51单片机总体存储空间配置单片机总体存储空间配置数据存储器数据存储器程序存储器程序存储器 128B SFR1000H片外片外ROMROM 60KBFFFFHEA=1EA=0MOVMOVMOVXMOVXMOVCMOVC单片机单片机CPUCPU访问存储器方法:访问存储器方法:访问片内、片外访问片内、片外ROMROM用用MOVCMOVC指令;指令;访问片外访问片外RAMRAM或或I/OI/O口用口用MOVXMOVX指令;指令;访问片内访问片内RAMRAM用用MOVMOV指令。指令。答疑解惑!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 网络技术 > 前端技术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报