当前位置:首页 > 单片机 > 单片机
[导读]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.
 

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

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 信息技术
关闭
关闭