当前位置:首页 > 单片机 > 单片机

摘要:本文基于对8051单片机存储空间结构的深层次分析,提出了一种基于单片机的单CPU仿真器设计方案。该方案实用廉价,工程实践性强,可用于设计新的教学设备。

引言

  单片机以它的廉价、体积小、可塑性强、稳定性高的特性,有着广阔的市场前景。 在用单片机开发产品时,虽然许多厂家设计了可编程ISP单片机,但是从安全与便捷方面考虑,单片机仿真器仍然是开发人员不可或缺的工具。单片机仿真器在产品开发阶段可用来替代单片机进行软硬件调试,从而迅速发现、纠正程序中的错误,大大缩短单片机开发的周期。但实际中仿真器过于昂贵,因此,设计制作出一款廉价且实用的仿真器有着广泛的市场。

  传统的单片机仿真器硬件系统一般有三种实现方法。一、采用专用仿真的单片机。二、采用两套单片机,一个单片机用于仿真,并完成诸如通讯,中断等功能;另一个单片机则用于目标单片机,这样其资源不会被占用。三、用目标单片机作为仿真器,单片机即仿真器也作目标机的单片机用,其实质是一种ROM监控器。第三种方法会占用单片机的部分资源,但结构简单,对于特定的开发者来说,实用性强,性价比高,且易于自行制作。本文开发设计的仿真器正是基于第三种原理,巧妙实现了数据空间与程序空间的互换,设计出一款实用廉价的仿真器,工程实践性强。

原理及系统结构

  仿真器工作时,要把程序从PC机下载到仿真器的存储器中。在此先详细分析51单片的存储器结构和寻址方法,再分析片外存储器的扩展,最后给出设计原理并分析系统结构。


图1 存储空间分布

51单片机存储器结构分析

  8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。这种程序存储和数据存储分开的结构形式被称为哈佛结构。但从用户的角度,8051存储器地址空间可分为3类:片内、片外统一编址0000H~FFFFH的64KB程序存储器地址空间(用16位地址);64KB片外数据存储器地址空间,地址也从0000H~FFFFH(用16位地址)编址;256B片内数据存储器地址空间(用8位地址)。

  上述4个存储空间地址是重叠的,如图1所示。8051的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间:CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。

  程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。

  实际上,当引脚EA接高电平时,8051的程序计数器PC执行片内ROM中的程序,当指令地址超过片内ROM地址时,就自动转向片外ROM中去取指令。当引脚EA接低电平(接地)时,8051片内ROM不起作用,CPU只能从片外ROM中取指令,地址可以从0000H开始编址。8051从片内程序存储器和片外程序存储器取指时的执行速度相同。

存储器外扩 

  用P0口作地址/数据复用总线,用P2口的口线作高位地址线,最多可以扩展64KB的存储器。控制信号线包括:使用ALE作为地址锁存的选通信号,以实现低8位地址的锁存;以PSEN信号作为扩展程序存储器的读选通信号;以EA信号作为内、外程序存储器的选择信号;以EA和作为扩展数据存储器和I/O端口的读、写选通信号。执行MOVX指令时,RD和WR信号分别自动有效。片外数据存储器RAM的读和写由8051的RD(P3.7)和WR(P3.6)信号控制,而片外程序存储器的输出允许(OE)由读选通PSEN信号控制。尽管片外数据存储器和片外程序存储器共处同一地址空间,但由于控制信号及使用的数据传送指令不同,故不会发生总线冲突。


图2 仿真器原理图

仿真器原理与结构

  由于现在以8051为内核的单片机几乎都带有内部的FLASH程序存储器。如本设计中要用到的AT89C51或AT89S51均自带4KB的FLASH程序存储器,有的单片机带有20KB甚至更大容量的程序存储器。因此在单片机开发中,很少用专门的程序存储器芯片来扩展外部程序存储器,通常也没有必要。基于以上这些因素,下面分析本文中的仿真器实现的原理。

  下载程序时,EA接高电平,单片机执行内部ROM中的程序,把PC机的程序数据下载到片外的RAM62256中;当程序数据下载完后,在保持RAM62256不掉电的情况下,将单片机的EA接低电平,并把单片机复位。这样单片机就只能从片外存储器中读数据。然后利用RD与PSEN相“与”来选通RAM62256的读允许片选端OE,使得单片机能够从RAM62256中读出程序。这样就实现了仿真功能。因为单片机从片内程序存储器和片外程序存储器取指时的执行速度相同,所以这个设计方案下的仿真器性能比起传统仿真器毫不逊色。

  总系统电路原理如图2所示,系统由单片机AT89C51、地址锁存器74LS373、片外存储器62256、接口电平转换芯片MAX232和相关控制电路组成。

  其中AT89C51就是仿真器的核心部件,晶体振荡电路和复位电路与普通单片机系统相同。不同的是:EA接一个单刀双投开关,表面上没有扩展ROM。RAM62256的与OE普通单片机系统的接法有所不同,系统中把RD与PSEN相“与”,令其选通RAM62256的读允许片选端OE,就能促成RAM(注意:整个过程中RAM不掉电)由数据空间的角色向程序空间的角色转换。在执行MOVX指令时,产生RD,WR信号,写入程序信息。在执行RAM中的程序时,由PSEN信号与RD信号选通RAM62256的OE端,实现从RAM62256中程序的读入。

软件设计

  PC机(上位机)软件可以参考Windows驱动程序开发、串口调试助手等相关书籍;也可以利用现成的KEIL C51的Windows集成开发环境~VISION51和软件仿真器DSCOPE51完成。

  下位机软件的主要任务就是设置串口和接收上位机串口发送来的数据,并将数据存入外部“数据”存储器中。

单片机主程序如下:
MOV  SCON,#50H  ;串口方式 1
MOV  TMOD,#20H  ;T1 方式 1
MOV  TL1,#0FDH  ;波特率 9600 的常数
MOV  TH1,#0FDH
SETB  TR1          ;开中断
SETB   ET1
SETB    ES
SETB    EA
系统“写”时用如下指令:
MOVX  @DPTR,A
MOVX  @Ri, A

  在中断服务子程序中,为区别所接收的信号是联络信号还是字节数、是数据还是校验和,需要设立不同的标志位如下:
 FLAG0  BIT  00H ;接收联络信号标志位
 FLAG1  BIT  01H ;接收字节数标志位
 FLAG2  BIT  02H ;接收数据标志位
 FLAG3  BIT  03H ;接收文件结束标志位    

  程序流程如图3所示,其中R7为接收到的字节数,接收的数据一定要存入片外RAM从0000H开始的单元中。当单片机复位后,把RAM当作程序存储器时,PC是从0000H开始的。


图3 单片机接收中断服务子程序流程图

几点讨论

(1) 系统中不需要单独的仿真器电源,也不需要晶振电路。
(2) 下位机的片外存储器在重复写数时不用擦除,每次重新下载程序时,总是用覆盖的方式。新下载的程序都有END为结束,就算新下载的程序比原来的短,也不会执行多余的代码。
(3) 在实际中,可以进一步改进电路,当文件下载完之后,通过串口备用的信号线产生控制信号来控制和复位,从而使得全过程均由上位机控制。
(4) 由于内部结构的限制,被仿真的产品不能扩展片外的程序存储器,但由于片外可以扩展64KB的数据存储器,文中只用了32KB,因此还可以扩展一定的外设。
(5) 被仿真产品的E(--)A(--)的接法有一定的限制,不能直接接地或接电源正极,实际中只要加上一个合适的限流电阻(如10K?)就可以了。实际上这种方案可以适用于任何可以外扩存储器的单片机

结束语

  对以上的设计进行分析不难发现,整个系统各个功能模块技术非常成熟:在硬件方面,各子电路均有现存的电路套用,而且各个元器件的参数容易确定;在软件方面,仅涉及到COM口的串行通信程序及上位机的界面程序。在实际的制作过程中,系统的元器件数目少且价格低廉,容易调试,成功率高,性能稳定。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭