基本信息
内容简介
目录
1.1 加法
子程序1--双字节无符号数加法
子程序2--多字节无符号数加法
子程序3--双字节有符号数加法
子程序4--多字节有符号数加法
1.2 减法
子程序5--双字节无符号数减法
子程序6--多字节无符号数减法
子程序7--双字节有符号数减法
子程序8--多字节有符号数减法
1.3 乘法
子程序9--双字节无符号数乘法
子程序10--多字节无符号数乘法
子程序11--双字节有符号数乘法
子程序12--多字节有符号数乘法
1.4 除法
子程序13--双字节无符号数除法
子程序14--多字节无符号数除法
子程序15--双字节有符号数除法
前言
MCS-51单片机的应用开发主要有接口电路设计和程序设计两个难点。由于可编程芯片的被广泛采用,接口电路设计的工作被大大简化,但是由于程序设计涉及范围广、处理的情况复杂,所以它仍然是MCS-51单片机的应用开发的难点。
是不是所有的程序都需要开发者自己完成呢?事实上,MCS-51单片机的应用开发的常用子程序已经有很多人做过,开发者应该尽可能地寻找合适、经过检验的现成子程序,然后将这些程序组合起来得到最终需要的程序。这种开发方法不仅高效,而且可靠。
可见,开发者如果能积累一个“子程序库”,对工作是事半功倍的好事。针对这种需求,我们撰写了这部系统、实用、面向实际工程应用的MCS-51系列单片机实用子程序集,供从事工控类技术开发人员随时查找常用子程序之用。
本书中的大部分子程序实例采用汇编语言编程,主要是考虑在实际测控领域应用大多要求程序的执行要有一定的实时性。汇编语言所编写的程序可以链接到C语言的程序中进行统一编译。针对那些要求开发简便、快捷并对实时性要求不强的应用,本书则使用了C语言编程,例如对于单片机数据传输应用。读者在使用这些子程序实例时,只需要将子程序全部内容链接在应用程序之后,统一编译即可。
全书共分15章。第1章介绍了二进制定点数运算的子程序;第2章是二进制浮点数运算的子程序;第3章讲述了十进制数运算的子程序实例;第4章介绍代码转换子程序实例;第5章介绍数据变换子程序实例;第6章介绍了查找、排序等算法的子程序实例;第7章介绍单片机的数学函数子程序实例;第8章给出了数和图等算法的子程序实例;第9章介绍了延时和跳转控制程序实例;第10章着重讲述了单片机人机接口子程序实例;第11章是单片机测控接口子程序实例;第12章是对单片机内部资源编程的子程序实例;第13章重点介绍了单片机数据传输接口子程序实例;第14章介绍了波形发生与控制子程序实例;第15章讲述了51单片机的软件抗干扰和数字滤波子程序实例。
本书主要由东北大学边春元博士和北京航空航天大学王志强博士编写完成,参与部分章节写作和资料收集的还有王树生、杨春帆、杨东升、孙秋野、刘秀冲、邢正、康烁、王宇龙、邢雷、蒋越、张媛、梁洪力、张春友、温鹏程、石巍。特别感谢韩安荣、马先教授为本书提供的指导和华清远见公司(www.farsight.com.cn)为本书提供的技术支持。
由于时间仓促,加之水平有限,书中难免有一些错误和不妥,恳请读者批评指正,本书作者的联系方法为wangzhiqiang@126.com,本书责任编辑的联系方式为quyanlian2@ptpress.com.cn。
编 者
2005年7月
序言
——“自动控制系列”之“实用子程序”
自动控制技术的出现给现代工业测控领域带来了一次技术革命。在工业控制系统、数据采集系统、智能化仪器仪表、智能家电等诸多领域单片机及嵌入式技术得到了广泛的应用。
目前硬件开发工程师由于其高薪、发展前景良好等特点成为热门职业,从事硬件开发的人员越来越多。与软件开发开发不同,硬件开发技术的更新速度相对较慢,而且是一个“越老越吃香”的行当。所以开发量和开发经验的积累对于硬件工程师来说非常重要。
然后,在硬件开发行当中,经验的交流于资源的共享并不充分,缺乏经验硬件开发工程师往往从简单的逻辑指令和基础的算法开始编程,这种做法就如同为喝一杯牛奶养一头牛。是不是所有的程序都需要开发者自己完成呢?事实上,常用子程序已经有很多人做过,开发者应该尽可能地寻找合适、经过检验的现成子程序,然后将这些程序组合起来得到最终需要的程序。这种开发方法不仅高效,而且可靠。
可见,开发者如果能积累一个“子程序库”,对工作是事半功倍的好事。针对这种需求,我们撰写了这套系统、实用、面向实际工程应用的“自动控制系列”之“实用子程序”,供从事自动控制开发人员查找常用子程序之用。
本套图书有如下特点:
·打破传统自动控制类图书侧重介绍原理和具体芯片的写法,而是在按照功能给出常用子字程序的硬件设计和软件实现。
·在子程序的选则上,注重典型性和实用性,借鉴了SOC(System On Chip)和嵌入式操作系统的设计思想,硬件电路模块化、控制程序驱动化,保证书中的每一个实例,都可以方便移地被移植到具体的单片机应用系统中。
·全书按照所实现功能编排目录,方便开发人员查询。
提供增值服务。读者可以在书中指定的网站上下载到最新的“子程序库”和其他学习资料,网站的技术支持稳定可靠。