- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章节单片机的C语言编程
嵌入式技术及应用 第4章 单片机的C语言编程 内 容 提 要 C51程序结构 C51的数据类型及运算符 C51的函 数 C51程序设计 小结 应用C51编程具有以下优点:? (1)C51管理内部寄存器和存贮器的分配,编程时,无需考虑不同存储器的寻址和数据类型等细节问题;? (2)程序由若干函数组成,具有良好的模块化结构;? (3)有丰富的子程序库可直接引用,从而大大减少用户编程的工作量。? (4)C51和汇编语言可以交叉使用. 汇编语言程序代码短、运行速度快、但复杂运算编程耗时。如果用汇编语言编写与硬件有关的部分程序,用C51编写与硬件无关的运算部分程序,充分发挥两种语言的长处,可以提高开发效率。 4.1 C51程序结构 同标准C一样,C51的程序由一个个函数组成,这里的函数和其他语言的“子程序”或“过程 ”具有相同的意义。其中必须有一个主函数main(),程序的执行从main()函数开始,调用其 他函数后返回主函数main(),最后在主函数中结束整个程序而不管函数的排列顺序如何。 全局变量说明 /*可被各函数引用*/ main() /*主函数*/ { 局部变量说明 /*只在本函数引用*/ 执行语句(包括函数调用语句) } fun1(形式参数表) /*函数1*/ 形式参数说明 { 局部变量说明 执行语句(包括调用其他函数语句) } … funn(形式参数表) /*函数n*/ 形式参数说明 { 局部变量说明 执行语句 } C语言的语句规则: 1. 每个变量必须先说明后引用,变量名英文大小写是有差别的。 2. C语言程序一行可以书写多条语句,但每个语句必须以“;”结尾,一个语句也可以多行书写为好。 3. C语言的注释用/*……*/表示。 4. “{”花括号必须成对,位置随意,可在紧挨函数名后,也可另起一行,多个花括号可以同行书写,也可逐行书写,为层次分明,增加可读性,同一层的“{”花括号对齐,采用逐层缩进方式书写。 4.2 C51的数据类型及运算符4.2.1 C51的存贮类型 访问内部数据存贮器(idata)比访问外部数据存贮器(xdata)相对要快一些,因此,可将经常使用的变量置于内部数据存贮器中,而将较大及很少使用的数据变量置于外部数据存贮器中。例如定义变量x语句:data char x (等价于char data x)。如果用户不对变量的存贮类型定义,则编译器承认默认存贮类型,默认的存贮类型由编译控制命令的存贮的模式部分决定。 4.2.2 C51的存贮器模式 存贮器模式决定了变量的默认存贮器类型、参数传递区和无明确存贮区类型的说明。C51的存贮器模式有SMALL、LARGE和COMPACT。 在固定的存贮器地址进行变量参数传递是C51的一个标准特征,在SMALL模式下参数传递是在内部数据存贮区中完成的。LARGE和COMPACT模式允许参数在外部存贮器中传递。C51同时也支持混合模式,例如在LARGE模式下生成的程序可将一些函数分页放入SMALL模式中从而加快执行速度。 4.2.3 C51的数据类型 无论哪种数据都是存放在存贮单元中的,每一个数据究竟要占用几个单元(即数据的长度)都要提供给编译系统,正如汇编语言中存放数据的单元要用DB或DW伪指令进行定义一样,编译系统以此为根据预留存贮单元,这就是定义数据类型的意义。C51编译器支持数据类型见下表。 对上表作如下说明: 1.?字符型(char)、整型(int)和长整型(long)均有符号型(signed)和无符号型(unsigned)两种,如果不是必须,尽可能选择unsigned型,这将会使编译器省却符号位的检测,使生成的程序代码比signed类型短得多。 2. 程序编译时,C51编译器会自动进行类型转换,例如将一个位变量赋值给一个整型变量时,位型值自动转换为整型值;当运算符两边为不同类型的数据时,编译器先将低级的数据类型转换为较高级的数据类型,运算后,运算结果为高级数据类型。? 3. 51单片机内部数据存贮器的可寻址位(20H~2FH)定义为bit型,而特殊功能寄存器的可寻址位(即地址为X0H和X8H的SFR的各位)只能定义为sbit类型。 4.2.4 C51的指针 (1)关于指针型变量 在汇编语言程序中,要取存贮单元m的内容可用直接寻址方式,也可用寄存器间接寻址方式 ,如果用R1寄存器指示m的地址,用@R1取m单元的内容。相对应的在C语言中用变量名表示取变量的值(相当于直接寻址),也可用另一个变
您可能关注的文档
- 第十课又好又快科学发展.ppt
- 第十讲–重量特性估算.ppt
- 第十讲函数的值域与最值.ppt
- 第十课〔秦王扫六合〕.ppt
- 第十课松鼠小语五上人教版.ppt
- 第十章节第八节二项分布和正态分布.ppt
- 第四1讲-自我探索(下).ppt
- 第四3章节唐甑的社会思想.ppt
- 第四1952号探究弹性势能的表达式.ppt
- 第十课﹝秦王扫六合﹞.ppt
- 上海海洋大学《GPS原理》课件-GPS测量原理与应用ch2_坐标系统与时间系统_2h.ppt
- 上海财经大学-《公共管理定量分析》章节1.pptx
- 上海海洋大学《海洋技术概论》课件-海洋技术_第4章.pptx
- 上海海洋大学《GPS原理》课件-GPS测量原理与应用ch1_绪论_4h_v2.pptx
- 上海财经大学-《公共管理伦理学》-第5章管理社会责任和道德.pdf
- 中国人民大学《全球视角下的中国经济长期发展解读》课件-5.1500:大航海时代的探索与明清中国.pdf
- 中国人民大学《国际关系史》2017-2018学年第一学期期末题库.docx
- 中国人民大学《全球视角下的中国经济长期发展解读》课件-7.工业化、结构与传统社会.pdf
- 湖南大学《国际商法》笔记-1-参考资料-《民法典》中的物权法.doc
- 中国人民大学《全球视角下的中国经济长期发展解读》课件-6.远洋贸易与社会变迁.pdf
最近下载
- 小学四年级四则运算500题.docx VIP
- 环境保护管理体系与措施.doc VIP
- 波音777X折叠式翼梢结构设计及仿真.docx
- 2025重庆江北区郭家沱街道办事处招聘1人笔试备考试题及答案解析.docx VIP
- 05G359-3悬挂运输设备轨道标准图集.pdf VIP
- 7.动物行为与环境变化 说课稿-2023-2024学年科学六年级下册青岛版.docx VIP
- 2025抖音电商品牌服饰秋冬趋势报告.pdf VIP
- 数字化技术在“思想道德与法治”课程中的应用与教学模式创新.docx VIP
- 邮政面试经典题目及答案.docx VIP
- 2025中国南水北调集团水网发展研究有限公司招聘6人模拟试卷含答案解析.docx VIP
文档评论(0)