单片机应用系统设计:第3章存储器和布尔处理器

上传人:夏** 文档编号:569591897 上传时间:2024-07-30 格式:PPT 页数:32 大小:1.40MB
返回 下载 相关 举报
单片机应用系统设计:第3章存储器和布尔处理器_第1页
第1页 / 共32页
单片机应用系统设计:第3章存储器和布尔处理器_第2页
第2页 / 共32页
单片机应用系统设计:第3章存储器和布尔处理器_第3页
第3页 / 共32页
单片机应用系统设计:第3章存储器和布尔处理器_第4页
第4页 / 共32页
单片机应用系统设计:第3章存储器和布尔处理器_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《单片机应用系统设计:第3章存储器和布尔处理器》由会员分享,可在线阅读,更多相关《单片机应用系统设计:第3章存储器和布尔处理器(32页珍藏版)》请在金锄头文库上搜索。

1、第3章 MCS-51存储器MCS-51MCS-51存储器存储器程序存储器程序存储器寻址系统寻址系统控制信号控制信号功能功能寻址系统寻址系统功能功能数据存储器数据存储器控制信号控制信号ROMROM用来存放始终保留的固定程序和数据用来存放始终保留的固定程序和数据RAMRAM用来存放程序运行时所需要的常数和变量用来存放程序运行时所需要的常数和变量特特殊殊功功能能寄寄存存器器 位寻址区位寻址区00H1FH20H2FH30H7FH80HFFH部部分分可可位位寻寻址址外部外部ROM内部内部ROM(EA=1)外部外部ROM(EA=0)0000H0000H0FFFH1000HFFFFH外外 部部RAM(包含包

2、含I/O口口地址地址)0000HFFFFH内部数据存储器内部数据存储器外部数据存储器空间外部数据存储器空间程序存储器空间程序存储器空间工作寄工作寄存器区存器区RAM区区3.1 3.1 程序存储器程序存储器 程序存储器程序存储器ROMROM包括片内包括片内ROMROM和片外和片外ROMROM两个部分两个部分, ,片内有片内有4K4K字字ROMROM,片外用,片外用1616位地址,两者统一编址位地址,两者统一编址1616位的程序计数器位的程序计数器PCPC为程序存储器地址指针,寻址空间为程序存储器地址指针,寻址空间为为64KB64KB,编址为:编址为:00000000FFFFHFFFFH/EA/E

3、A接高电平时,单片机启始从片内程序存储器取指令,接高电平时,单片机启始从片内程序存储器取指令,当指令地址超过片内程序存储器空间后,自动地转向片外当指令地址超过片内程序存储器空间后,自动地转向片外程序存储器取指令;程序存储器取指令;/EA/EA接低电平时,单片机直接从片外程序存储器取指令。接低电平时,单片机直接从片外程序存储器取指令。图2.5 程序存储器编址图(a) 51子系列;(b) 52子系列2程序的程序的6个特殊入口地址个特殊入口地址表表3.1 MCS-513.1 MCS-51单片机复位、中断入口地址单片机复位、中断入口地址 操作操作入口地址入口地址复位复位0000H0000H外部中断外部

4、中断0 00003H0003H定时器定时器/ /计数器计数器0 0溢出溢出000BH000BH外部中断外部中断1 10013H0013H定时器定时器/ /计数器计数器1 1溢出溢出001BH001BH串行口中断串行口中断002BH002BH通常在这些入口地址处,存放一条绝对转移指令,使程通常在这些入口地址处,存放一条绝对转移指令,使程序转移到用户安排的中断服务程序起始地址,或主程序序转移到用户安排的中断服务程序起始地址,或主程序起始地址。起始地址。3.2 3.2 内部数据存储器内部数据存储器 128128个字节,字节地址为个字节,字节地址为00H00H7FH7FH1 1、工作寄存器区(通用寄存

5、器)、工作寄存器区(通用寄存器) 工作寄存器分成工作寄存器分成4 4组,每组都有组,每组都有8 8个寄存器,用个寄存器,用R0R7R0R7来表示。来表示。 程序中每次只用程序中每次只用1 1组,其它各组不工作。使用哪一组寄存器组,其它各组不工作。使用哪一组寄存器工作由程序状态字工作由程序状态字PSWPSW中的中的PSW.3(RS0)PSW.3(RS0)和和 PSW.4(RS1)PSW.4(RS1)两位来选择,两位来选择,其对应关系如表其对应关系如表2.42.4所示。所示。 CPUCPU既能以字节地址(既能以字节地址(00H1FH00H1FH)访问它们,又能以寄存器符)访问它们,又能以寄存器符号

6、(号(R0 R7R0 R7)访问。)访问。 若程序中并不需要若程序中并不需要4 4组,那么其余的可用作一般的数据缓冲组,那么其余的可用作一般的数据缓冲器。器。PSW.4(RS1PSW.4(RS1)PSW.3(RS0PSW.3(RS0) )当前使用的工作当前使用的工作寄存器组寄存器组R0R7R0R70 00 00 0组组(00H07H)(00H07H)0 01 11 1组组(08H0FH)(08H0FH)1 10 02 2组组(10H17H)(10H17H)1 11 13 3组组(18H1FH)(18H1FH)2 2、位寻址区、位寻址区 20H2FH20H2FH单元是位寻址区。这单元是位寻址区。

7、这1616个单元个单元( (共计共计16168=1288=128位位) )的每一位都赋的每一位都赋予了一个位地址,位地址范围为予了一个位地址,位地址范围为00H7FH00H7FH。通常可以把各种程序状态标志、位。通常可以把各种程序状态标志、位控制变量存于位寻址区内。控制变量存于位寻址区内。 CPUCPU既能以字节地址(既能以字节地址(20H 2FH20H 2FH)访问它们的每一字节,又能以位地址)访问它们的每一字节,又能以位地址(00H 7FH00H 7FH)访问它们的每一位。)访问它们的每一位。 CPUCPU以字节地址访问时,对某一个字节进行处理,使用字节指令。以字节地址访问时,对某一个字节

8、进行处理,使用字节指令。 CPUCPU以位地址访问时,对某一位进行处理,使用位操作指令。以位地址访问时,对某一位进行处理,使用位操作指令。片内数据存储器中的位地址图片内数据存储器中的位地址图3.5(128个位单元)个位单元)3、数据缓冲区 30H7FH是数据缓冲区,也即用户RAM区,共80个单元。 由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。 堆栈是一组编有地址码的特殊的存储单元。第一个进栈的数堆栈是一组编有地址码的特殊的存储单元

9、。第一个进栈的数据所在的存储单元称为据所在的存储单元称为栈底栈底,最后一个进栈的数据所在的存储单,最后一个进栈的数据所在的存储单元称为元称为栈顶栈顶,栈顶的地址码由栈指针,栈顶的地址码由栈指针SPSP指示。存储单元的数目称指示。存储单元的数目称堆栈深度。堆栈单元中存放的信息称为堆栈元素。堆栈深度。堆栈单元中存放的信息称为堆栈元素。 SPSP总是指向栈顶且装有数据总是指向栈顶且装有数据堆栈元素的压入和弹出遵循堆栈元素的压入和弹出遵循“先进后出先进后出”的原则的原则压栈:压栈: 先先SP+1SP+1,后数据压栈,后数据压栈出出栈栈: 先弹出,后先弹出,后SP-1SP-1主机复位,主机复位,SP=0

10、7HSP=07H,压入数据从,压入数据从08H08H单元为起始。一般设置单元为起始。一般设置SP=2FH SP=2FH 4 4、堆栈和堆栈指针、堆栈和堆栈指针3.3 3.3 特殊功能寄存器(特殊功能寄存器(SFRSFR) 特殊功能寄存器特殊功能寄存器(SFR(SFR,即,即Special Function Registers)Special Function Registers),又,又称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/OI/O口、串行口、串行I/OI/O口、定时器口、定时器/ /计数器、中断系统等功能模块的计数器、

11、中断系统等功能模块的工作。工作。 1818个专用寄存器,占用个专用寄存器,占用2121个字节,分散在个字节,分散在80H80HFFHFFH CPU CPU访问它们既可以用字节地址,又可用寄存器符号访问它们既可以用字节地址,又可用寄存器符号 PCPC指针不包含在指针不包含在2121个专用寄存器中,个专用寄存器中,PCPC指针只有寄存器符号,指针只有寄存器符号,没有字节地址。没有字节地址。 其中有其中有1212个专用寄存器可以位寻址个专用寄存器可以位寻址 特特殊殊功功能能寄寄存存器器 位寻址区位寻址区00H1FH20H2FH30H7FH80HFFH部部分分可可位位寻寻址址内部数据存储器内部数据存储

12、器工作寄工作寄存器区存器区RAM区区SFR中的位地址分布中的位地址分布串行数据缓冲器串行数据缓冲器SBUFSBUF: 由两个独立的寄存器组成:由两个独立的寄存器组成:发送缓冲器发送缓冲器,接收缓冲器接收缓冲器 存放准备发送或已经接收到的数据,存放准备发送或已经接收到的数据,一个字节地址一个字节地址,物理,物理空间上是空间上是两个独立寄存器两个独立寄存器定时器定时器/ /计数器:计数器: 两个两个1616位定时器位定时器/ /计数器(计数器(T1T1和和T0T0) 各由两个独立的各由两个独立的8 8位寄存器组成:位寄存器组成:TH1TH1、TL1TL1、TH0TH0、TL0TL0 3.4 3.4

13、 外部数据存储器外部数据存储器 可扩展可扩展64K64K字节(扩展字节(扩展外部外部RAMRAM或扩展或扩展外部外部I/OI/O) 1 1、地址的重叠、地址的重叠 程序存储器与外部数据存储器程序存储器与外部数据存储器64K64K字节字节地址重叠地址重叠2 2、程序存储器与数据存储器在使用上是不同的,、程序存储器与数据存储器在使用上是不同的,访问片内访问片内RAMRAM用用“MOVMOV”指令,访问片外指令,访问片外RAMRAM用用“MOVXMOVX”指令。指令。3 3、外部外部数据存储区中,数据存储区中,外部外部RAMRAM与外部与外部I/OI/O端口统一编址端口统一编址 所有外部所有外部扩展

14、的扩展的I/OI/O端口地址均占用外部端口地址均占用外部RAMRAM单元地址单元地址 访问外部访问外部扩展的扩展的I/OI/O端口方式(端口方式(指令指令)与访问外部数据)与访问外部数据 存储器存储器相同相同 总结:编址与访问总结:编址与访问 用于存放运算中间结果、数据暂存和缓冲、标志位等。用于存放运算中间结果、数据暂存和缓冲、标志位等。 片内、外数据存储器是两个独立的地址空间,应分别单独编址。片内、外数据存储器是两个独立的地址空间,应分别单独编址。 片内片内256256字节字节RAMRAM,片外扩充到,片外扩充到64K64K字节字节RAMRAM。 访问片内访问片内RAMRAM用用“MOVMO

15、V”指令,访问片外指令,访问片外RAMRAM用用“MOVXMOVX”指令。指令。 片内数据存储器除片内数据存储器除128128字节字节RAMRAM块外,还有特殊功能寄存器块外,还有特殊功能寄存器(SFR)(SFR) 21 21个个CPUCPU专用寄存器分散在专用寄存器分散在80H80HFFHFFH中。中。 3.5 3.5 外部存储器工作过程外部存储器工作过程 外部外部ROM内部内部ROM(EA=1)外部外部ROM(EA=0)0000H0000H0FFFH1000HFFFFH外外 部部RAM(包含包含I/O口口地址地址)FFFFH外部数据存储器空间外部数据存储器空间程序存储器空间程序存储器空间0

16、000H1 1、以、以P2P2口口作为作为高高8 8位地址线位地址线。 2 2、以、以P0P0口口作为作为低低8 8位地址位地址/ 8/ 8位数据复用线位数据复用线。3 3、控制信号线。、控制信号线。 * *使用使用ALEALE信号作为信号作为低低8 8位地址锁存控制信号位地址锁存控制信号。 * *以以/EA/EA信号作为信号作为内、外程序存储器内、外程序存储器的的选择控制信号选择控制信号。 * *以以/PSEN/PSEN信号作为信号作为扩展程序存储器扩展程序存储器的的读选通信号读选通信号。 * *由由/RD/RD和和/WR/WR信号作为信号作为扩展数据存储器和扩展扩展数据存储器和扩展I/OI

17、/O口口 的的读选通、写选通信号读选通、写选通信号。 MCS-51MCS-51有有4 4个并行个并行I/OI/O口,共口,共3232条口线,但由于系统扩展需条口线,但由于系统扩展需要,作为要,作为I/OI/O口使用的,就剩下口使用的,就剩下P1P1口和口和P3P3口的部分口线。口的部分口线。3.6 MCS-513.6 MCS-51的寻址方式的寻址方式 寻址方式寻址方式就是在指令中就是在指令中指明操作数所在地址指明操作数所在地址的方式的方式 共共7 7种种寻址方式寻址方式一、寄存器寻址方式一、寄存器寻址方式 操作数在寄存器中操作数在寄存器中 MOV AMOV A,Rn Rn ;(;(RnRn)A

18、 A,n=0n=07 7 (表示把寄存器(表示把寄存器RnRn的内容传送给累加器的内容传送给累加器A A) 寻址范围:寻址范围: (1 1)4 4组通用工作寄存器共组通用工作寄存器共3232个工作寄存器。个工作寄存器。 (2 2)部分特殊功能寄存器,例如)部分特殊功能寄存器,例如A A、B B以及数据指针寄存器以及数据指针寄存器 DPTRDPTR等。等。二、直接寻址方式二、直接寻址方式 操作数直接以单元地址的形式给出:操作数直接以单元地址的形式给出: MOV AMOV A,40H40H (表示把内部(表示把内部RAM 40HRAM 40H中的内容传送给累加器中的内容传送给累加器A A) 寻址范

19、围:寻址范围: (1) (1) 内部内部RAMRAM的的128128个单元个单元 (2) (2) 特殊功能寄存器。除了以单元地址的形式外特殊功能寄存器。除了以单元地址的形式外, ,还可用还可用 寄存器符号的形式给出。寄存器符号的形式给出。 例如:例如:MOV AMOV A,80H80H 与与 MOV AMOV A,P0P0 是等价的是等价的。三、寄存器间接寻址方式三、寄存器间接寻址方式 寄存器中存放的是操作数的地址,寄存器前加寄存器中存放的是操作数的地址,寄存器前加“ ” MOV AMOV A,RiRi ;i=0i=0或或1 1 (如果(如果RiRi中的内容为中的内容为40H40H,把内部,把

20、内部RAM 40HRAM 40H单元内容送单元内容送A A) 寻址范围:寻址范围: (1 1)访问内部)访问内部RAMRAM和特殊功能寄存器区,其通用形式为和特殊功能寄存器区,其通用形式为RiRi (只能用(只能用R0R0或或R1R1作为间址寄存器)作为间址寄存器) (2 2)对外部内部)对外部内部RAMRAM的的64K64K字节的间接寻址字节的间接寻址 例如:例如:MOVX AMOVX A,DPTRDPTR (访问(访问外部外部RAMRAM的的256256个字节范围个字节范围时,也时,也可以用可以用R0R0或或R1R1 作为间址寄存器)作为间址寄存器) 四、立即寻址方式四、立即寻址方式 操作

21、数在指令中直接给出,操作数前面加操作数在指令中直接给出,操作数前面加“# #” MOV AMOV A,#40H#40H 五、基址寄存器加五、基址寄存器加变址变址寄存器寄存器间址寻址方式间址寻址方式 以以DPTRDPTR或或PCPC作基址寄存器,以累加器作基址寄存器,以累加器A A作为变址寄存器。作为变址寄存器。 MOVC AMOVC A,A+DPTR A+DPTR 如果如果A A中原有内容为中原有内容为05H05H,DPTRDPTR内容为内容为0400H0400H,该指令执行,该指令执行 的结果是把程序存储器的结果是把程序存储器0405H0405H单元中的内容传送给单元中的内容传送给A A 说

22、明:说明: (1 1)专门针对程序存储器的寻址方式,寻址范围达)专门针对程序存储器的寻址方式,寻址范围达64KB64KB (2 2)本寻址方式的指令只有)本寻址方式的指令只有3 3条:条: MOVC AMOVC A,A+DPTRA+DPTR MOVC A MOVC A,A+PCA+PC JMP A+DPTR JMP A+DPTR 六、相对寻址方式六、相对寻址方式 在相对寻址的转移指令中,给出了地址偏移量,以在相对寻址的转移指令中,给出了地址偏移量,以 “relrel”表示;把表示;把PCPC的当前值加上偏移量的当前值加上偏移量就构成了就构成了 程序转移的目的地址程序转移的目的地址 目的地址目的

23、地址 = = 转移指令所在的地址转移指令所在的地址 + + 该转移指令的字节该转移指令的字节 + rel+ rel 偏移量偏移量“relrel”是一带符号的是一带符号的8 8位二进制数补码位二进制数补码 范围是:范围是:128 128 +127+127 向地址增加方向最大可转移(向地址增加方向最大可转移(127+127+该转移指令字节)该转移指令字节) 个单元地址个单元地址 向地址减少方向最大可转移(向地址减少方向最大可转移(128-128-该转移指令字节)该转移指令字节) 个单元地址个单元地址010000000100000001110101011101011000H1000H1001H100

24、1H1002H1002H1077H1077H+1PCALURel=75HRel=75HPC=1002HPC=1002H1077H1077H程序存储器程序存储器例:例:C=1C=1,PC=1000HPC=1000H,REL=75HREL=75H,执行指令,执行指令JC RELJC REL七、位寻址方式七、位寻址方式 MCS-51MCS-51有有位处理位处理功能,可以对数据的位进行操作。功能,可以对数据的位进行操作。 MOV CMOV C,40H 40H (把(把位位40H40H的值送到进位位的值送到进位位C C) 寻址范围包括:寻址范围包括: (1 1)内部)内部RAMRAM中的位寻址区中的位寻

25、址区 有两种表示方法:直接位地址有两种表示方法:直接位地址40H40H;字节单元地址;字节单元地址 加上位加上位28H.028H.0,指的是,指的是28H28H字节单元中的最低位。字节单元中的最低位。 (2 2)特殊功能寄存器特殊功能寄存器中的可寻址位中的可寻址位 a a、直接使用位地址。例如:、直接使用位地址。例如:PSW.5PSW.5的位地址为的位地址为D5HD5H b b、用位名称。例如:、用位名称。例如:PSW.5PSW.5是是F0F0标志位标志位 c c、字节单元地址加位数。例如、字节单元地址加位数。例如: D0H.5: D0H.5 d d、特殊功能寄存器符号加位数。例如、特殊功能寄

26、存器符号加位数。例如: PSW.5: PSW.5 3.7 3.7 布尔(位)处理机布尔(位)处理机 布尔处理机布尔处理机( (即位处理即位处理) )是是MCS-51MCS-51单片机单片机ALUALU所具有的一种功所具有的一种功能。能。单片机指令系统中的位处理指令集单片机指令系统中的位处理指令集(17(17条位操作指令条位操作指令) );存;存储器中的位地址空间;借用程序状态寄存器储器中的位地址空间;借用程序状态寄存器PSWPSW中的进位标志中的进位标志CYCY作为位操作作为位操作“累加器累加器”;位寻址的并行;位寻址的并行I/OI/O口,构成了口,构成了MCS-51MCS-51单单片机内的布尔处理机。片机内的布尔处理机。它可对直接寻址的位它可对直接寻址的位(bit)(bit)变量进行位处变量进行位处理,如置位、清零、取反、测试转移以及逻辑理,如置位、清零、取反、测试转移以及逻辑 与与 、 或或 等位等位操作,使用户在编程时可以利用指令完成原来单凭复杂的硬件操作,使用户在编程时可以利用指令完成原来单凭复杂的硬件逻辑所完成的功能,并可方便地设置标志等。逻辑所完成的功能,并可方便地设置标志等。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号