当前位置:首页 > 单片机 > 单片机
[导读]1.引言近年来随着KEIL 51不断升级,高版本的KEIL 51编译器,尤其是Keil μVision2(基于Windows的C51集成编译环境)以其性能优越、使用方便,受到众多单片机爱好者的欢迎。KEIL 51以软件包的形式向用户提供包括C51交

1.引言

近年来随着KEIL 51不断升级,高版本的KEIL 51编译器,尤其是Keil μVision2(基于Windows的C51集成编译环境)以其性能优越、使用方便,受到众多单片机爱好者的欢迎。KEIL 51以软件包的形式向用户提供包括C51交叉编译器、A51宏汇编、BL连接定位器等一系列工具和μVision2软件仿真器dScope51等开发平台。但是目前支持高版本KEIL 51编程的仿真器价格较高。为此提供了基于KEIL 51开发系统的设计方案。

2.硬件电路设计

基于KEIL 51开发环境设计开发系统电路原理如图1所示。在图1中存放程序的32K字节外部的数据存储器62256的 (输出允许脚),是将CPU的 和 信号相与后再与之连接,此时的外部数据存储器在 有效时,就相当于程序存储器,当然监控程序的存放地址空间不能与这种接法的外部数据存储空间相重复。这种接法的另一个作用是调试时可以在用户程序代码设置断点,监控程序修改用户程序代码在所有的断点处插入ACALL指令。


                       图1 基于KEIL 51环境的开发系统电路原理图

3.监控程序设计

开发系统的监控程序可用KEIL 51提供的INSTALL.BAT批处理文件生成,此文件在KEILC51MON51路径下,需在DOS环境下执行,语法如下:

INSTALL serialtype [xdatastart [codestart [BANK]PROMCHECK]]],[]为可选项。

命令中的参数解释如下:

serialtype:串行通信设置,现将有关MCS-51系列单片机的serialtype设置的含义列于表1中。

表1 MCS-51系列单片机的serialtype设置的含义

xdatastart:指定Monitor-51监控程序使用的外部存储单元的页号(一页为256字节),即所需要的硬件资源的第二页,取值为0~FF之间的十六进制数,缺省值为FF。例:xdatastart=FF,则X:0xFF00…X:FFFF(X表示外部数据存储单元)被Monitor-51监控程序存放内部变量,用户应用程序不能使用。

codestart:指定监控程序代码在程序存储器起始页数,即开始位置,取值为0~F0之间的十六进制数,缺省值为0。

BANK:可选项,为代码区分组的应用程序安排,应用程序不超过64K,一般不选此项。

PROMCHECK:可选项,Monitor-51监控程序在CPU复位时检查在程序存储区0地址处是EPROM还是RAM。

例:INSTALL 0 7F 0

这条指令将设置波特率为9600bps,内部定时器1为波特率发生器,要求CPU时钟为11.0592MHz,Monitor-51内部变量空间为:X:0x7F00…X:0x7FFF,Monitor-51监控程序代码的起始地址为:C:0x0000(C表示程序存储单元)。该命令生成一个 MON51.HEX,将其固化在AT89S52内部即可使用。

INSTALL.A51中修改项主要有两项:

(1)断偏移量设置:当Monitor-51监控程序在ROM中起始地址为0时,用户将无法使用MCS-51的中断功能。为此Monitor-51将所有的中断入口地址转移至高地址的RAM区(大于监控程序的长度),这样用户程序就可以使用中断功能了。当Monitor-51监控程序代码的起始地址不是0 时,中断偏移量设置无意义。

例:监控程序代码的起始地址为0,采用Von Neumann接法的外部数据存储器的起始地址为8000H,则中断偏移量必须设置成8000H,而用户用用程序将存放在8000H之后。INSTALL.A51中的INT_ADR_OFF定义如下:
    INT_ADR_OFF EQU 8000H

(2)波特率修改:Monitor-51的波特率一般设置成9600bps或自适应。若要改变成其它波特率,如4800bps,则修改“InitSerial:”字中的定时器初始化值。

INSTALL.A51中还有许多其它设置,一般不做修改。

MON_BANK.A51是为代码区分组的应用程序安排的,此处不做讨论。

4. 开发过程中的几个问题

由于Monitor-51开发系统比较简单,占用了一些系统资源,有时给使用者带来了不便。实际编程中常要解决一下两个问题:

(1)串行接口功能:串行通信是MCS-51单片机经常要用到的功能,而这里选用的MCS-51系列单片机AT89S52只有一个串行通信口,在与PC机相连接的仿真状态时,串行口用于与PC机通信。若在应用程序中也用到串行口,就会发生冲突。解决方法一是用户程序装载完毕后,运行用户程序,再断开仿真板与PC机的串行通信线,这样串口就可以归用户程序使用了,当然这时PC机就不能在线调试了;另外,还可以选用其它的带两个串行口的MCS-51系列芯片。

(2)外部存储空间:用户程序越长,占用的外部数据存储空间将越大。解决的方法是对较长的程序进行分段调试。

参考文献
[1] 王建校、王建国.51系列单片机及C51程序设计[M].北京:科学出版社,2002.
[2] 徐维祥、刘旭敏.单片机微型计算机原理及应用[M].大连:大连理工大学出版社,2002.7.
[3] 马忠梅、籍顺心.单片机的C语言应用程序设计[M]. 北京:北京航天大学出版社,2003.11.
 

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

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

太阳能供电应用系统的设计需要考虑多个方面,包括太阳能电池板、储能装置、控制模块等。本文将介绍一种基于太阳能供电的应用系统设计方法,并从这几个方面进行详细阐述。

关键字: 太阳能 系统设计

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制

北京2023年9月25日 /美通社/ -- 9月21日,由中国质量报刊社·中国质量新闻网主办的第六届食品高质量发展交流会在北京举行,会议主题为"高质量,新生活",旨在推动食品行...

关键字: 自动化 BSP ISO9001 NAS

北京2023年9月23日 /美通社/ -- 近日,主线科技正式获准在北京市智能网联汽车政策先行区道路开启常态化测试与示范,将与物流客户在真实开放的城区道路场景中,率先开启基于L4级别自动驾驶能力的智能卡车运输示范。 随...

关键字: 智能卡 测试 高速公路 BSP
关闭
关闭