当前位置:首页 > 单片机 > 单片机
[导读]8031系列单片机是应用非常广泛的MCU,但是随着控制领域的不断智能化、复杂化,程序长度可能远远大于8031的64KB限制。可以采用PSD913F2作为8031的外部存储器,其程序空间最大可达256KB,用KeilC51的BlankSwitch技术可使8位

8031系列单片机是应用非常广泛的MCU,但是随着控制领域的不断智能化、复杂化,程序长度可能远远大于8031的64KB限制。可以采用PSD913F2作为8031的外部存储器,其程序空间最大可达256KB,用KeilC51的BlankSwitch技术可使8位MCU运行256KB的应用程序。

  PSD913F2内置256KB闪存,分为8个页面,每页空间16KB,内置可选的32KB启动存储器、2KB的SRAM、27个I/O端口、电源管理单元、40个可编程逻辑宏单元CPLD,通过串口在线配置FPGA所有代码,适用于8031、MC68HC11、Dallas、Z80等20余种单片机。


8031与PSD913F硬件设计
  在多数应用中,MCU与外部存储器之间连接时都必须用74LS373作为地址锁存器。但PSD913F2内含地址锁存器,因此PSD913F2的引脚可直接与8031相连,如图1所示。


8031与PSD913F软件设计
  KeilC51语言源程序经过C51编译器编译后,生成浮动地址的目标代码文件。这种浮动地址的目标代码是不能直接装入8051运行的,必须经过连接定位器BL51的连接和定位,生成具有绝对地址的目标代码。同时BL51支持分组连接定位,允许生成代码大于64KB的目标程序,可以在具有适当硬件扩展逻辑的8051系统中进行代码组之间的切换,以达到正常运行的目的。BL51可以管理最多32个代码组,每个代码组最大为64KB。BL51连接定位器生成的OMF51格式的绝对目标文件,可装入dScope51或Intel兼容的仿真器进行调试,也可通过符号转换器OH51转换成Intel Hex文件以便于EPROM编程。

  在采用BL51对目标程序进行分组连接定位时,要求8051系统具有相应的硬件分组扩展逻辑。默认的分组方式是采用8051的P1端口作硬件扩展地址线。采用1条P1口线时,分组数为2,采用5条P1口线时,最多可分为32个代码组,剩余的P1口线也可用于其他用途。也可采用外部数据存储器XDATA空间地址单元来进行分组,与采用8051的P1端口作为分组地址线不同的是,对于一个指定用于分组地址的XDATA端口字节中的剩余位,不能再用于其他目的。采用的分组方式、组数和地址在L51_BANK.A51中进行配置。

  下面介绍一下应用BankSwitch的步骤。
  1.建一个KeilC51的新工程如Psdos,在菜单Project选择中选择Option for Target “Target 1”选择项,按图2所示进行项目配置。

  设置如下。
  ● 由于PSD913F2中有两块FLASH,从FLASH为32KB。故在off-chip code memory-Eprom设为0x0000~0x7fff。
  ● 在PSD913F2的PSDSoft Express已配置2KB的SRAM,地址范围为0x2000~0x27ff,故在off-chip Xdata memory-Ram设为0x2000,长度为0x0800。
  ● 在PSD913F2的主FLASH为128KB,共分为8个物理页,已在PSDSoft Express软件中定义地址为0x8000~0xbfff,因此在KeilC51中如图2所示分为4个Banks,地址范围为0x8000~0xbfff。

  2.在KeilC51的安装目录KeilC51C51 EXAMPLESBank_EX1中,把L51_Bank.A51文件的拷贝并加入到新工程。在L51_BANK.A51文件中需改以下代码。

  A?B_NBANKS EQU 4 //定义最大分组(0~32),可为2、4、8、16和32。
  ?B_MODE EQU 1 //0:通过8051单片机的I/O口进行分组切换,1:通过XDATA存储器单元进行分组切换。
  ?B_XDATAPORT EQU 01E0H //如果?B_MODE被定义为1,就通过XDATA口定义XDATA口引脚地址/位来映射开关定义XDATA口地址01E0H。

  3.新建主程序和各bank文件。

  4.设置文件的属性。选择主文件,选择Options for File,设置Code Bank为“Common”,设置Stop on Exit为“Not Specified”,对Init.c、PsdOper.c也进行同样的设置。

  5.设置文件的属性。如图3所示右击文件PSD_bank.c,选择Options for File "PSD_bank0.c",设置为Bank #0。同样对PSD_bank1.c设置为Bank #1、PSD_bank2.c设置为Bank #2、PSD_bank3.c设置为Bank #3。

  6.设置好后,进行编译。

  7.进行编程。打开PSDSoft Express软件,在Merge MCU Firmware with PSD模块中设置各个FLASH页面的地址和文件名,如图4所示。
  ● 主FLASH第0页(FS0),地址:0x8000-0xbfff,文件名:psdos.hoo
  ● 主FLASH第1页(FS1),地址:0x8000-0xbfff,文件名:psdos.ho1
  ● 主FLASH第2页(FS2),地址:0x8000-0xbfff,文件名:psdos.ho2
  ● 主FLASH第3页(FS3),地址:0x8000-0xbfff,文件名:psdos.ho3
  ● 次FLASH(csboost 0),地址:0x8000-0xbfff,文件名:psdos.hoo

  8.通过FlashLink便可将文件下载到PSD913F2中,实现BankSwitch功能,使8031的程序空间大于64KB。
  用Keil C51的BankSwitch必须注意以下几点。
  ● 下面的一些代码必须放在公共区域内,复位和中断向量、代码常数、C51中断函数、组切跳转表、库函数。
  ● 代码组切换需要大约50个机器周期和2字节的堆栈空间。因此应当仔细安排程序结构以尽量减少代码之间的切换。


结束语
  采用BankSwitch扩展8031程序空间,在不对硬件作任何修改的情况下,8031便可实现运行大于64KB的程序,充分发挥8031和KeilC51的优异功能。

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

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭