版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
作者丁向荣单片微机原理与接口技术第6章STC15F2K60S2单片机存储器的应用
6.1
STC15F2K60S2单片机的程序存储器
6.2
STC15F2K60S2单片机的基本RAM
6.3STC15F2K60S2单片机的扩展RAM(XRAM)
6.4STC15F2K60S2单片机的EEPROM(数据Flash)
6.1STC15F2K60S2单片机的程序存储器
程序存储器的主要作用是存放用户程序。程序存储器存放一些常数或表格数据(如π值、数码显示的字形数据等),供用户程序在运行中使用。这些常数当作程序一样通过ISP下载程序存放在程存储器区域。在程序运行过程中,程序存储器的内容只能读取,而不能写。存在程序存储器中的常数或表格数据,只能采用“MOVCA,@A+DPTR”或“MOVCA,@A+PC”指令进行访问。若采用C51语言编程,要存放在程序存储器中的数据存储类型要定义为“CODE”。以8只LED灯的显示控制为例,说明程序存储器的应用编程。
例6.1(点击链接)
返回目录6.2STC15F2K60S2单片机的基本RAM
1.低128字节RAM(00H~7FH)
低128字节是单片机最基本的数据存储区,可以说是“离单片机CPU最近”的数据存储区,也是功能最丰富的存储区域。整个128字节地址,即可以直接寻址,又可以寄存器间接寻址。其中,00H~1FH单元可以用作工作寄存器,20H~2FH单元具有位寻址能力。在C51编程中,若采用直接寻址访问低128字节,则变量的数据类型定义为“data”;若采用寄存器间接寻址访问低128字节,则变量的数据类型定义为“idata”
例6.2(点击链接)
返回目录STC15F2K60S2单片机的基本RAM
2.高128字节RAM(80H~FFH)和特殊功能寄存器(80H~FFH)
高128字节(80H~FFH)和特殊功能寄存器(80H~FFH)的地址是相同的,也就是地址“冲突”了。在实际应用中,是采用不同的寻址方式来区分的,高128字节RAM只能用寄存器间接寻址进行访问(读或写),而特殊功能寄存器就只能用直接寻址进行访问。若要在C51编程中采用高128字节RAM存储数据,则在定义变量时,要将变量的存储类型定义为“idata”,而特殊功能寄存器的操作是直接用寄存器名称进行存取操作即可。
例6.3(点击链接)
返回目录6.3STC15F2K60S2单片机的扩展RAM(XRAM)
STC15F2K60S2单片机的扩展RAM空间为1792B,地址范围为:0000H~06FFH。扩展RAM类似于传统的片外数据存储器,采用访问片外数据存储器的访问指令(助记符为MOVX)访问扩展RAM区域。STC15F2K60S2单片机保留了传统8051单片机片外数据存储器的扩展功能,但使用时,片内扩展RAM与片外数据存储器不能同时使用,可通过AUXR的EXTRAM控制位进行选择。扩展片外数据存储器时,要占用P0口、P2口以及ALE、/RD与/WR引脚,而使用片内扩展RAM时与它们无关。返回目录6.3STC15F2K60S2单片机的扩展RAM(XRAM)
1.内部扩展RAM的允许访问与禁止访问内部扩展RAM的允许访问与禁止访问是通过AUXR的EXTRAM控制位进行选择的。返回目录T2_地址B7B6B5B4B3B2B1B0复位值AUXR8EHT0x12T1x12UART_M0x6T2RT2x12EXTRAMS1ST2000000006.3STC15F2K60S2单片机的扩展RAM(XRAM)
EXTRAM:内部扩展RAM访问控制位。(EXTRAM)=0,允许访问,推荐使用;(EXTRAM)=1,禁止访问,当扩展了片外RAM或I/O口,使用时,应禁止访问内部扩展RAM。内部扩展RAM通过MOVX指令访问,即“MOVXA,@DPTR(或@Ri)”和“MOVX@DPTR(或@Ri),A”指令;在C语言中,可使用xdata声明存储类型即可。当超出片内地址时,自动指向片外RAM。返回目录6.3STC15F2K60S2单片机的扩展RAM(XRAM)
返回目录6.3STC15F2K60S2单片机的扩展RAM(XRAM)
2.双数据指针的使用STC15F2K60S2单片机在物理上设置了两个16位的数据指针DPTR0、DPTR1,但在逻辑上只有DPTR一个数据指针地址,在使用时通过AUXR1中的DPS控制位进行选择。DPS:数据寄存器位。(DPS)=0,选择DPTR0;(DPS)=1,选择DPTR1。返回目录地址B7B6B5B4B3B2B1B0复位值
P_SW1A2HS1_S1S1_S0CCP_S1CCP_S0SPI_S1SPI_S00DPS000000x06.3STC15F2K60S2单片机的扩展RAM(XRAM)
例6.4(点击链接)例6.5(点击链接)返回目录6.3STC15F2K60S2单片机的扩展RAM(XRAM)
3.片外扩展RAM的总线管理
当需要扩展片外扩展RAM或I/O口时,单片机CPU需要利用P0(低8位地址总线与8位数据总线分时复用,低8位地址总线通过ALE由外部锁存器锁存)、P2(高8位地址总线)和P4.2(/WR)、P4.4(/RD)、P4.5(ALE)外引总线进行扩展,STC15F2K60S2单片机是1T单片机,工作速度较高,为了提高单片机与片外扩展芯片工作速度的适应能力,增加了总线管理功能,由特殊功能寄存器BUS_SPEED进行控制。返回目录地址B7B6B5B4B3B2B1B0复位值BUS_SPEED
A1H------EXRTS[1:0]xxxxxx106.4STC15F2K60S2单片机的EEPROM(数据Flash)
STC15F2K60S2单片机的内部EEPROM是在数据Flash区通过IAP技术实现的,内部Flash擦写次数达100000次以上。程序在系统ISP程序区时可以对用户程序区、数据Flash区进行字节读、字节写和扇区擦除操作;程序在用户程序区时,只可以可以对数据Flash区进行字节读、字节写和扇区擦除操作。EEPROM可分为若干个扇区,每个扇区包含512字节,EEPROM的擦除是按扇区进行的。返回目录STC15F2K60S2单片机的EEPROM(数据Flash)
1.STC15F2K60S2单片机内部EEPROM的大小与地址
STC15F2K60S2单片机共有1KBEEPROM,与程序存储空间是分开编址的,地址范围为:0000H~03FFH,共分为2个扇区,每个扇区512字节。第一扇区的地址为0000H~01FFH,第二扇区的地址为0200H~03FFH。EEPROM除可以IAP用技术读取外,还可以用MOVC指令读取,但此时EEPROM的首地址不再是0000H,而是程序存储器空间结束地址的下一个地址,即F000H。返回目录6.4STC15F2K60S2单片机的EEPROM(数据Flash)
2.与ISP/IAP功能有关的特殊功能寄存器
返回目录地址D7D6D5D4D3D2D1D0复位状态IAP_DATAC2H1111,1111IAP_ADDRHC3H000,0000IAP_ADDRLC4H000,0000IAP_CMDC5H-----
MS1MS0xxxx,x000IAP_TRIGC6Hxxxx,xxxxIAP_CONTRC7HIAPENSWBSSWRSTCMD_FAIL-WT2WT1WT00000,x0006.4STC15F2K60S2单片机的EEPROM(数据Flash)
2.与ISP/IAP功能有关的特殊功能寄存器
(1)IAP_DATA:ISP/IAPFlash数据寄存器。它是ISP/IAP操作从Flash区中读、写数据的数据缓冲寄存器。(2)IAP_ADDRH、IAP_ADDRL:ISP/IAPFlash地址寄存器。它们是ISP/IAP操作的地址寄存器,IAP_ADDRH用于存放操作地址的高8位,IAP_ADDRL用于存放操作地址的低8位。返回目录6.4STC15F2K60S2单片机的EEPROM(数据Flash)
2.与ISP/IAP功能有关的特殊功能寄存器(3)IAP_CMD:ISP/IAPFlash命令寄存器
ISP/IAP操作命令模式寄存器,用于设置ISP/IAP的操作命令,但必须在命令触发寄存器实施触发后,方可生效。
MS1/MS0=0/0时,为待机模式,无ISP/IAP操作;
MS1/MS0=0/1时,对数据Flash(EEPROM)区进行字节读;
MS1/MS0=1/0时,对数据Flash(EEPROM)区进行字节编程;
MS1/MS0=1/1时,对数据Flash(EEPROM)区进行扇区擦除。(4)IAP_TRIG:ISP/IAPFlash命令触发寄存器。
ISP/IAP操作的命令触发寄存器,在(IAPEN)=1时,对IAP_TRIG先写入5AH,再写入A5H,ISP/IAP命令生效。返回目录6.4STC15F2K60S2单片机的EEPROM(数据Flash)
(5)IAP_CONTR:ISP/IAPFlash控制寄存器
IAPEN:ISP/IAP功能允许位。(IAPEN)=1,允许ISP/IAP操作改变数据Flash;(IAPEN)=0,禁止ISP/IAP操作改变数据Flash。SWBS、SWRST:软件复位控制位,在软件复位中已做说明。CMD_FAIL:ISP/IAPFlash命令触发失败标志。当地址非法时,会引起触发失败,CMD_FAIL标志为1,需由软件清0。WT2、WT1、WT0:ISP/IAPFlash操作时CPU等待时间的设置位。具体设置情况见表6.4所示。返回目录6.4STC15F2K60S2单片机的EEPROM(数据Flash)
3.ISP/IAP编程与应用(1)ISP/IAP特殊功能寄存器地址声明IAP_DATAEQU0C2HIAP_ADDRHEQU0C3HIAP_ADDRLEQU0C4HIAP_CMDEQU0C5HIAP_TRIGEQU0C6HIAP_CONTREQU0C7H返回目录6.4STC15F2K60S2单片机的EEPROM(数据Flash)
3.ISP/IAP编程与应用(3)字节读MOVIAP_ADDRH,#BYTE_ADDR_HIGH;送读单元的地址高字节MOVIAP_ADDRL,#BYTE_ADDR_LOW;送读单元的地址低字节MOVIAP_CONTR,#WAIT_TIME;设置等待时间ORLIAP_CONTR,#80H;允许ISP/IAP操作MOVIAP_CMD,#ISP_IAP_BYTE_READ;送字节读命令MOVIAP_TRIG,#5AH;先送5AH,后送A5H到ISP/IAP触发MOVIAP_TRIG,#0A5H;器,用于触发ISP/IAP命令。CPU等;待ISP/IAP操作,ISP/IAP动作完成后;才会继续执行程序。NOPMOVA,IAP_DATA;将读取的Flash数据取到A中.返回目录6.4STC15F2K60S2单片机的EEPROM(数据Flash)
3.ISP/IAP编程与应用(4)字节编程注意:字节编程前,必须保证编程单元内容为空,即为FFH;否则须进行扇区擦除。MOVIAP_DATA,#ONE_DATA;送字节编程数据到IAP_DATA中MOVIAP_ADDRH,#BYTE_ADDR_HIGH;送编程单元的地址高字节MOVIAP_ADDRL,#BYTE_ADDR_LOW;送编程单元的地址低字节MOVIAP_CONTR,#WAIT_TIME;设置等待时间ORLIAP_CONTR,#80H;允许ISP/IAP操作MOVIAP_CMD,#ISP_IAP_BYTE_PROGRAM;送字节编程命令MOVIAP_TRIG,#5AH;先送5AH,后送A5H到ISP/IAP触发MOVIAP_TRIG,#0A5H;器,用于触发ISP/IAP命令。CPU等;待ISP/IAP操作,ISP/IAP动作完成后;才会继续执行程序。NOP返回目录6.4STC15F2K60S2单片机的EEP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川德阳市旌阳区融媒体中心招聘3人笔试备考试题及答案解析
- 酒店公共场所突发公共卫生事件应急制度
- 2026年正德职业技术学院教师招聘考试备考试题及答案解析
- 2026新疆恒海国有资产经营有限公司招聘3人考试参考题库及答案解析
- 商品房买卖补充协议
- 积材工岗前风险评估考核试卷含答案
- 2026年绍兴市柯桥区中小学储备教师公开招聘150人考试备考题库及答案解析
- 建筑幕墙设计师岗前岗中考核试卷含答案
- 2026陕西西安经开第十九小学合同制教师招聘考试备考题库及答案解析
- 2026浙江龙游人才科创有限公司招聘热线员1人考试备考试题及答案解析
- 有限空间作业事故安全施救指南解读培训
- 面料跟单奖惩制度
- 2026年危化品经营单位安全管理人员考试题库及答案
- 2026年淮南师范学院单招综合素质考试模拟测试卷附答案
- LED显示屏使用培训
- 【《安全气囊气体发生器的结构设计案例》4500字】
- 风电场系统组成培训课件
- 2024版2026春新人教版数学二年级下册教学课件:第三单元 万以内数的认识(9课时合并)
- 智慧工地项目管理系统方案
- 蒸汽管道安装专项施工方案范本
- 【全文翻译】欧盟-GMP-附录1《无菌药品生产》智新版
评论
0/150
提交评论