文档介绍:1
1 1 1 1
11
1
1
1
1
1 1
1
1
1
1 1
1
1
1
第 15 卷第 1 期湘潭矿业学院学报 Vol. 15 No. 1
2000 年 3 月 J . XIANGTAN MIN. INST. Mar. 2000
单片机 C51 开发新技术的研究
石春和1 乔宇2 王江2
( 1 湘潭矿业学院信息与电气工程系,湖南湘潭,411201)
2 天津大学自动化学院,天津,300072)
摘要从单片机的技术应用角度解决了当前 51 系列单片机 C51 与汇编语言开发的关键技术,并
将 BL51、RTX51 及其对系统头文件配置等高级技术作了深入研究,以期开发出更高性能的单片机
系统,在实际应用中取得了满意的效果图 1 ,参 4
关键词单片机系统头文件 BL51 RTX51
分类号 TP15
第一作者简介石春和男 34 岁硕士工程师计算机控制及应用
单片机进入中国十余年以来,以其体积小、功能强、扩展灵活、支持芯片多、使用方便的特
点,逐渐渗透到各行业的工程实际应用中[1 ] 其中 8 位单片机 8051 已成为从小型到中型应用
的首选,是单片机领域事实上的标准但是,我国的 51 单片机软件开发在不少项目中仍停留
在汇编代码编制、调试的水平上事实上,早在 1985 年就推出了 8051 的 C51 编译器[2 ] ,使用 C
语言进行 51 单片机的开发,可以很好的利用现成的大量 C 程序资源与丰富的库函数,生成的
代码编译效率高、可移植性好、完全模块化,加快了项目的进度
1 C51 程序员与汇编程序员协同开发
目前,单片机的开发中汇编程序员是大量的在项目中如何协同 C51 程序员与汇编程序
员的开发,并非仅仅是个混合编程问题,而应各展所长,互补所短
汇编语言的难点在于数据处理,由于汇编语言不直接支持浮点运算,而现在单片机开发日
趋复杂,在许多地方须应用高精度的复杂算法,C51 直接支持单精度的浮点运算,对于大多数
场合已经够用,并且可以通过算法扩展到双精度算法的设计上,已有大量的 C 程序可供选
用,基本不须重新开发在这些模块中应用 C51 可以尽快解决问题[2 ]
然而,完成同样功能,C51 程序经编译链接生成的代码比汇编程序生成的代码稍长在需
要实时响应的场合,开发者惟恐执行时间太长,所以这些模块一般用汇编代码实现在开发简
单的位控制器时,汇编代码也比 C51 有效地多
在此,笔者要说明的是,凡是汇编能实现的功能用 C51 都可实现,只是一个熟练程度的问
题而且,据最新的资料,新版的 C51 编译器的编译效率可以达到 1. 1 在单片机项目中应用
C51 ,更重要的是开发周期可以大大缩短一般说来,一个熟练的 C51 程序员的开发速度是汇
编程序员的两倍以上,两者的执行速度相差无几如果不是有特别苛刻的要求,程序整体用
C51 开发要更快
收稿日期:1999 - 12 - 03 本文责任编辑:邓学良
1
1
1
1
1
1
1
1
第 15 卷第 1 期石春和等:单片机 C51 开发新技术的研究 71
接下来就是 C51 模块与汇编模块相互调用问题