51单片机存储空间2

上传人:夏** 文档编号:557514575 上传时间:2023-10-17 格式:DOC 页数:9 大小:63.50KB
返回 下载 相关 举报
51单片机存储空间2_第1页
第1页 / 共9页
51单片机存储空间2_第2页
第2页 / 共9页
51单片机存储空间2_第3页
第3页 / 共9页
51单片机存储空间2_第4页
第4页 / 共9页
51单片机存储空间2_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《51单片机存储空间2》由会员分享,可在线阅读,更多相关《51单片机存储空间2(9页珍藏版)》请在金锄头文库上搜索。

1、深层次分析05单片机存储空间结构 来源:元器件交易网 日期:2011年0月1日 引言 单片机以它的廉价、体积小、可塑性强、稳定性高的特性,有着广阔的市场前景。在用开关电源模块单片机开发产品时,虽然许多厂家设计了可编程S单片机,但是从安全与便捷方面考虑,单片机仿真器仍然是开发人员不可或缺的工具。单片机仿真器在产品开发阶段可用来替代MTD202单片机进行软硬件调试,从而迅速发现、纠正程序中的错误,大大缩短开关电源模块单片机开发的周期.但实际中仿真器过于昂贵,因此,设计制作出一款廉价且实用的MT02仿真器有着广泛的市场。 传统的开关电源模块单片机仿真器硬件系统一般有三种实现方法。一、采用专用仿真的单

2、片机。二、采用两套单片机,一个单片机用于仿真,并完成诸如通讯,中断等功能;另一个单片机则用于目标单片机,这样其资源不会被占用。三、用目标单片机作为仿真器,单片机即仿真器也作目标机的单片机用,其实质是一种ROM监控器.第三种方法会占用单片机的部分资源,但结构简单,对于特定的开发者来说,实用性强,性价比高,且易于自行制作。本文开发设计的仿真器正是基于第三种原理,巧妙实现了数据空间与程序空间的互换,设计出一款实用廉价的仿真器,工程实践性强。 原理及系统结构 仿真器工作时,要把程序从开关电源模块PC机下载到仿真器的存储器中。在此先详细分析51单片的存储器结构和寻址方法,再分析片外存储器的扩展,最后给出

3、设计原理并分析系统结构。 图1 存储空间分布 51单片机存储器结构分析 开关电源模块805单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:MTD00片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。这种程序存储和数据存储分开的结构形式被称为哈佛结构。但从用户的角度,81存储器地址空间可分为3类:片内、片外统一编址0000HFFH的64程序存储器地址空间(用16位地址);64片外数据存储器地址空间,地址也从0000HFF(用6位地址)编址;2B片内数据存储器地址空间(用8位地址)。 上述个存储空间地址是重叠的,如图所示.051的指令系统设计了不

4、同的数据传送指令以区别这4个不同的逻辑空间:PU访问片内、片外M指令用MOV,访问片外AM指令用OVX,访问片内AM指令用O. 程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB.这使得指令能在4KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。 实际上,当引脚EA接高电平时,开关电源模块051的程序计数器PC执行片内RM中的程序,当指令地址超过片内ROM地址时,就自动转向片外RM中去取指令。当引脚EA接低电平(接地)时,8051片内OM不起作用,CPU只能从片外OM中取指令,地址可以从0000H开始编址.81从片内程序存储器和片

5、外程序存储器取指时的执行速度相同。存储器外扩用口作地址/数据复用总线,用口的口线作高位地址线,最多可以扩展开关电源模块64B的存储器。控制信号线包括:使用AL作为地址锁存的选通信号,以实现低8位地址的锁存;以PN信号作为扩展程序存储器的读选通信号;以E信号作为内、外程序存储器的选择信号;以A和作为扩展数据存储器和I/O端口的读、写选通信号。执行MVX指令时,D和WR信号分别自动有效。片外数据存储器R的读和写由01的RD(P37)和R(.6)信号控制,而片外程序存储器的输出允许(OE)由读选通SEN信号控制。尽管片外数据存储器和片外程序存储器共处同一地址空间,但由于控制信号及使用的数据传送指令不

6、同,故不会发生总线冲突. 图2 仿真器原理图仿真器原理与结构由于现在以85为内核的单片机几乎都带有内部的LAH程序存储器。如本设计中要用到的开关电源模块9C或AT8951均自带4B的FLS程序存储器,有的单片机带有2KB甚至更大容量的程序存储器。因此在单片机开发中,很少用专门的程序存储器芯片来扩展外部程序存储器,通常也没有必要。基于以上这些因素,下面分析本文中的MTD2002仿真器实现的原理. 下载程序时,EA接高电平,单片机执行内部ROM中的程序,把C机的程序数据下载到片外的M6225中;当程序数据下载完后,在保持RA62256不掉电的情况下,将单片机的EA接低电平,并把单片机复位.这样单片

7、机就只能从片外存储器中读数据。然后利用RD与PSEN相“与”来选通A656的读允许片选端OE,使得单片机能够从RAM62256中读出程序.这样就实现了仿真功能。因为单片机从片内程序存储器和片外程序存储器取指时的执行速度相同,所以这个设计方案下的仿真器性能比起传统仿真器毫不逊色.总系统电路原理如图2所示,系统由单片机T89C51、地址锁存器4S73、片外存储器62256、接口电平转换芯片AX232和相关控制电路组成. 其中T89C就是仿真器的核心部件,晶体振荡电路和复位电路与普通单片机系统相同。不同的是:开关电源模块EA接一个单刀双投开关,表面上没有扩展ROM。AM256的与O普通单片机系统的接

8、法有所不同,系统中把R与PSEN相“与”,令其选通RAM62256的读允许片选端OE,就能促成AM(注意:整个过程中RAM不掉电)由数据空间的角色向程序空间的角色转换.在执行MVX指令时,产生RD,R信号,写入程序信息。在执行RAM中的程序时,由PSEN信号与D信号选通RAM62256的OE端,实现从M6256中程序的读入。软件设计 PC机(上位机)软件可以参考Windos驱动程序开发、串口调试MT2002助手等相关书籍;也可以利用现成的开关电源模块EIL 51的ids集成开发环境VISN51和软件仿真器DSCPE51完成.下位机软件的主要任务就是设置串口和接收上位机串口发送来的数据,并将数据

9、存入外部“数据存储器中。 单片机主程序如下: OVSCN,0H;串口方式1 MOV TMO,#20 ;T1 方式 1 MOV T1,#FD ;波特率600的常数 MV TH1,0FDHSETBT1;开中断 STB T1 SETB S SB EA 系统“写时用如下指令: MOVX DPR,A MOV Ri, 在中断服务子程序中,为区别所接收的信号是联络信号还是字节数、是数据还是校验和,需要设立不同的标志位如下: FLA BIT H;接收联络信号标志位 LAG1 BIT 01 ;接收字节数标志位 FLAG BI 0H;接收数据标志位 FLAG3 IT 03H ;接收文件结束标志位 程序流程如图3所

10、示,其中为接收到的字节数,接收的数据一定要存入开关电源模块片外RA从000开始的单元中。当MT2002单片机复位后,把RM当作程序存储器时,PC是从000H开始的。 图3单片机接收中断服务子程序流程图几点讨论 (1) 系统中不需要单独的仿真器电源,也不需要晶振电路。 ()下位机的开关电源模块片外存储器在重复写数时不用擦除,每次重新下载程序时,总是用覆盖的方式。新下载的程序都有N为结束,就算新下载的程序比原来的短,也不会执行多余的代码. (3) 在实际中,可以进一步改进电路,当文件下载完之后,通过串口备用的信号线产生控制信号来控制和复位,从而使得全过程均由上位机控制。 (4) 由于内部结构的限制

11、,被仿真的产品不能扩展片外的程序存储器,但由于片外可以扩展64KB的数据存储器,文中只用了32KB,因此还可以扩展一定的外设。 (5) 被仿真产品的E()A(-)的接法有一定的限制,不能直接接地或接电源正极,实际中只要加上一个合适的TD0限流电阻(如?)就可以了.实际上这种方案可以适用于任何可以外扩存储器的单片机。 结束语 对以上的开关电源模块设计进行分析不难发现,整MTD202个系统各个功能模块技术非常成熟:在硬件方面,各子电路均有现存的电路套用,而且各个元器件的参数容易确定;在软件方面,仅涉及到开关电源模块COM口的串行通信程序及上位机的界面程序.在实际的TD2002制作过程中,系统的元器件数目少且价格低廉,容易调试,成功率高,性能稳定.文中如有不足,请您指教! /

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

当前位置:首页 > 高等教育 > 其它相关文档

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