- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.非本征函数 库函数中非本征函数在调用时由ACALL或者LCALL指令调用, 常用的包含非本征函数的头文件有: ctype.h 字符函数 stdio.h 一般I/O函数 string.h 字符串函数 stdlib.h 标准函数 math.h 数学函数 absacc.h绝对地址访问宏定义 stdarg.h 变量参数表 setjmp.h 全程跳转 reg*.h SFR定义文件 4.7.5预处理命令 1.宏定义命令#define 宏定义命令用来指定标识符的值,一般定义格式为: #define 标识符 数字或字符序列 #define 标识符(形参) 数值或字符序列 例如: #define PI 3.1415926 宏定义后PI作为一个常量使用,预处理时将程序中的PI换成 数值3.1415926。 #define s(a,b) a*b area=s(2,3); 预处理时将area换成2*3。 2.文件包含命令#include 包含命令的一般格式为: #include 头文件名 或者#include “文件名” 例如:#include math.h //包含数学计算函数库的头文件 4.8 C51程序设计 4.8.1数值运算程序设计 1.数制转换程序 例4-23十六进制到十进制转换 待转换的整型十六进制数存放于变量x中,编写C51程序,将变量x中的十六进制数转换为相应的十进制数,存放于数组a[ ]中,其中转换结果的个位、十位、百位、千位、万位分别存放于a[0]、a[1]、a[2]、a[3]、a[4] 中 。 void main ( ) { unsigned int x; unsigned char a[5]={0,0,0,0,0}; unsigned char j,i=0; for (j=1;j=5;j++) { a[i]=x%10; //x除以10的余数存入a[i] x=x/10; //x除以10的商(整数) i++; } } 例4-24 十进制到十六进制的转换 十进制数以BCD码形式存放数组a[ ]中,a[0]、a[1]、a[2]、 a[3]、a[4] 中分别存放个位、十位、百位、千位、万位,把此数 转换为十六进制数存放于变量x中。 X初始化为0 =((((x*10+a4)*10+a3) *10+a2) *10+a1) *10+a0 void main() { unsigned int x=0; unsigned char a[5]={1,2,3,4,5}; unsigned char j,i=4; for (j=1;j=5;j++) { x=x*10+a[i]; i--; } } 2.求最大值 例4-25 有八个无符号字符型数据放在数组a[ ]中,求其中最大值。 数组中最大值存放于变量max中,设置max中初值为0,把数组 中的数逐一与max比较,若比max大则取代max中的值,若比max小 则保持max中值不变。 void main() { unsigned char i=0,max=0; unsigned char a[]={1,2,3,4,5,100,45,56}; while (i8) { if (a[i]max) max=a[i]; i++; } } 3.查表程序 例4-26应用查表程序求0~5这几个数的平方值。 void main() { unsigned char square,i; unsigned char a[]={0,1,4,9,16,25}; //几个数的平方值放在数组a[]中 square=a[i]; //i为数值,square为查表所得平方值 } 程序设计思路:把几个数的平方值预先放在数组中,根据序号 查找相应数组中的数据,即为该序号的平方值。 4.8.2 硬件接口程序设计 例4-27 通过单片机的并行口P1口,控制8路LED灯轮流点亮。 引脚为
您可能关注的文档
- 新单片机原理及应用技术 教学课件 牛月兰 第9章 扩展输入输出.ppt
- 新单片机原理及应用技术 教学课件 牛月兰 第10章 AT89S51单片机与输入输出外设的接口.ppt
- 新单片机原理及应用技术 教学课件 牛月兰 第11章 AT89S51单片机与AD、DA转换器的接口.ppt
- 新单片机原理及应用技术 教学课件 牛月兰 第12章 串行扩展技术.ppt
- 新单片机原理及应用技术 教学课件 牛月兰 第13章AT89S51单片机的应用设计与调试.ppt
- 新单片机原理及应用教程 第3版 教学课件 刘瑞新 1.ppt
- 新单片机原理及应用教程 第3版 教学课件 刘瑞新 2.ppt
- 新单片机原理及应用教程 第3版 教学课件 刘瑞新 3.ppt
- 新单片机原理及应用教程 第3版 教学课件 刘瑞新 5.ppt
- 新单片机原理及应用教程 第3版 教学课件 刘瑞新 6.ppt
- 新单片机原理与应用及C51编程技术 教学课件 高玉芹 第5章 单片机应用系统仿真开发平台简介.ppt
- 新单片机原理与应用及C51编程技术 教学课件 高玉芹 第6章_AT89系列单片机的内部资源及应用.ppt
- 新单片机原理与应用及C51编程技术 教学课件 高玉芹 第7章单片机存储器的扩展.ppt
- 新单片机原理与应用及C51编程技术 教学课件 高玉芹 第8章AT89系列单片机的接口扩展技术.ppt
- 新单片机原理与应用及C51编程技术 教学课件 高玉芹 第9章 串行总线接口技术.ppt
- 新单片机原理与应用及C51编程技术 教学课件 高玉芹 第10章单片机应用系统设计方法.ppt
- 新单片机原理与应用项目式教程 教学课件 邹显圣主编 项目八.ppt
- 新单片机原理与应用项目式教程 教学课件 邹显圣主编 项目二.ppt
- 新单片机原理与应用项目式教程 教学课件 邹显圣主编 项目九.ppt
- 新单片机原理与应用项目式教程 教学课件 邹显圣主编 项目七.ppt
最近下载
- (12页PPT)美的集团QMS系统培训ROHS试验V10.pptx VIP
- 慢性阻塞性肺疾病健康教育培训课件.pptx VIP
- 工业机器人系统运维员实操试卷(技师)(试卷三).docx VIP
- (23页PPT)美的集团QMS系统培训成品抽检V11.pptx VIP
- 新教材北师大版高中数学选择性必修第一册第一章直线与圆知识点考点重点难点解题规律归纳总结.pdf VIP
- 美的集团QMS系统培训-成品巡检V1.1.ppt VIP
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读.docx VIP
- 小学信息技术教案制作贺卡.doc VIP
- 《光伏渔业池塘建设通用技术规范》.pdf VIP
- 2025年供应链管理部年终总结.docx
原创力文档


文档评论(0)