教学情景一存储器.ppt
,多媒体课件大赛,张芝雨,许昌职业技术学院机电工程系,3-1.51单片机的程序存储器3-2.51单片机的数据存储器3-3.51单片机的特殊寄存器,教学情境一:单灯闪烁控制子情景三:单片机的存储器,单片机应用技术,(1)程序存储器,程序存储器,内部,外部,(PC),程序存储器资源分布,中断入口地址,单片机应用技术,3.1.3 51单片机的程序存储器管理,51系列单片机的程序存储器管理每个ROM单元(byte)对应一个唯一的16bit地址编码(Address)CPU要到某个ROM单元去取指令,是通过把地址写入一个16bit的特殊功能寄存器程序计数器PC(Program Counter)来实现,因此,51系列单片机的地址的编码范围(通常称为寻址范围):0000 0000 0000 0000B 1111 1111 1111 1111B(二进制)0 0 0 0 H F F F F H(十六进制)0 65535(十进制)通常习惯说51系列单片机的ROM寻址范围是64KPC的值是CPU根据用户程序的运行流程自动装载的,它的值代表单片机下一条要执行的指令在ROM中的存放位置,用户不能直接对PC进行操作,3.1.3 51单片机的程序存储器管理,单片机应用技术,51单片机程序存储器分配,0000H:系统的启动单元 系统复位后,单片机从此处开 始取指令开始执行0003H:外部中断0入口地址000BH:定时器/计数器0中断入口地址0013H:外部中断1入口地址001BH:定时器/计数器1中断入口地址0023H:串行中断入口地址,51系列单片机的RAM结构,单片机应用技术,51系列单片机RAM结构图,在左图中,单片机内部低128字节RAM和特殊功能寄存器区是每种51单片机都具备的,高128字节RAM和内部扩展RAM只是部分增强型单片机才具有。大多数单片机应用系统都需要片外扩展RAM,但不绝对。,3.2.2 51单片机的数据存储器管理,单片机应用技术,51系列单片机的数据存储器管理 51系列单片机对数据存储器RAM的管理是通过16bit的特殊功能寄存器DPTR(Data Pointer)来实现,每个RAM单元(byte)也对应一个特定的地址编码(Address),因此,51系列单片机的地址的编码范围(通常称为寻址范围):0000 0000 0000 0000B 1111 1111 1111 1111B(二进制)0 0 0 0 H F F F F H(十六进制)0 65535(十进制)因此51系列单片机的RAM寻址范围也是64K 51系列单片机ROM和RAM 的地址编码范围都是0000HFFFFH,但由于在寻址时硬件电路上有区别,所以不会混淆。,51单片机的数据存储器管理,单片机应用技术,51系列单片机的数据存储器管理 目前的51系列单片机视型号不同内部有128-1024byte不等的RAM空间。用户最好选择合适的单片机型号,避免外扩RAM存储器。,单片机应用技术,3.2.2 51单片机的数据存储器管理,标准51系列单片机的内部RAM所有51单片机内部都含有低128B字节RAM和特殊功能寄存器区,单片机应用技术,3.2.2 51单片机的数据存储器管理,标准51系列单片机的内部RAM低128B,32字节工作寄存器区,低端32个字节分成4个工作寄存器组,每组8个单元(R0R7)。当前工作寄存器组的机制便于快速现场保护。特殊功能寄存器PSW的RS1、RS0两位决定当前工作寄存器组号。,3.2.2 51单片机的数据存储器管理,单片机应用技术,标准51系列单片机的内部RAM 低128B,16字节位寻址区,3.2.2 51单片机的数据存储器管理,单片机应用技术,标准51系列单片机的内部RAM 低128B该区域每个单元可以作为一般RAM单元整体使用。例如:MOV 20H,#23H;将20H单元赋值为23H指令执行后:单元中每一位也可以作为独立的可寻址位单独使用。例如:20H单元的最低位可表示为20H.0存储单元地址加位例如:SETB 24H.0;将24H单元的最低位置为1 指令执行后:,20H,24H,3.2.2 51单片机的数据存储器管理,标准51系列单片机的内部RAM 低128B 位寻址区之后的30H-7FH共80个字节为通用RAM区,也称用户区,这些单元可以作为数据缓冲器使用。这一区域的操作指令非常丰富,数据处理方便灵活。在实际应用中,常需在此区设置堆栈。,单片机应用技术,3.2.2 51单片机的数据存储器管理,单片机应用技术,标准51系列单片机的内部RAM堆栈 堆栈是在RAM区中划定的一个区域,对该区域RAM单元的读写操作必须遵守特定的顺序。比如后入先出,或先入后出原则。堆栈的作用主要用在子程序的调用过程中或作为特殊的数据交换区。堆栈的开辟栈顶的位置由SP(堆栈指针)寄存器指示。复位时SP的初值为07H,在系统初始化时可以根据用户的需要重新设置。标准8051的堆栈一般设在30H7FH的范围内。,标准51系列单片机的内部RAM堆栈 堆栈的操作,3.2.2 51单片机的数据存储器管理,单片机应用技术,PUSH x PUSH YPUSH Z,POP L POP MPOP N,入栈过程,出栈过程,3.3.1 51单片机的特殊寄存器,单片机应用技术,标准51系列单片机的内部RAM SFR 51单片机内部都含有128B的特殊功能寄存器区,其地址为80HFFH。但不同的单片机内部特殊功能寄存器的个数是不等的。这些特殊功能寄存器用于存放单片机中相应功能部件的控制命令、状态或数据。,3.3.1 51单片机的特殊寄存器,单片机应用技术,标准51系列单片机的内部RAM SFR列举其中的几个:,3.3.1 51单片机的特殊寄存器,单片机应用技术,标准51系列单片机的内部RAM SFR使用方法:在这个存储区中,除了特殊功能寄存器之外剩余的空闲单元,用户不得使用;必须使用直接寻址方式进行访问,可直接使用该寄存器的名称:例如:0E0H累加器的地址 A累加器的名称只有具有位地址和位名称的寄存器才可以位寻址;例如:0D7H程序状态字最高位的位地址 CY程序状态字最高位的位名称 0D0H.7程序状态字字节地址加位 PSW.7程序状态字字节名称加位,