- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
24C51基本语句
第四章 C51基本语句 用C语言编写MCS-51单片机程序与用汇编语言编写MCS–51单片机程序不一样,用汇编语言编写MCS–51单片机程序必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器的使用以及按实际地址处理端口数据。用C语言编写的MCS–51单片机应用程序,则不用像汇编语言那样须具体组织、分配存储器资源和处理端口数据,但用C语言编程时,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。所以我们把这种和MCS-51单片机硬件有关联的C语言也叫C51语言,它和标准的C语言有一些不同。 用C51语言编写单片机应用程序与标准的C语言程序也有相应的区别:C51语言编写单片机应用程序时,需根据单片机存储结构及内部资源定义相应的数据类型和变量,而标准的C语言程序不需要考虑这些问题;C51包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有一定的区别。其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。 现在支持MCS-51系列单片机的C语言编译器有很多种,如American Automation、Avocet、BSO/TASKING、DUNFIELD SHAREWARE、KEIL/Franklin等。各种编译器的基本情况相同,但具体处理时有一定的区别,其中Keil C 以它的代码紧凑和使用方便等特点优于其它编译器,现在使用特别广泛。本书以Keil C编译器介绍MCS-51单片机C语言程序设计。 4.1.1 C语言的特点 1. 语言简洁、紧凑,使用方便、灵活。 2. 运算符丰富。 3.数据结构丰富。具有现代化语言的各种数据结构。 4.可进行结构化程序设计。 5.可以直接对计算机硬件进行操作。 6.生成的目标代码质量高,程序执行效率高。 7.可移植性好。 4.1.2 C语言和C51的程序结构 C语言程序采用函数结构,每个C语言程序由一个或多个函数组成,在这些函数中至少应包含一个主函数main(),也可以包含一个main()函数和若干个其它的功能函数。不管main()函数放于何处,程序总是从main()函数开始执行,执行到main()函数结束。在main()函数中调用其它函数,其它函数也可以相互调用,但main()函数只能调用其它的功能函数,而不能被其它的函数所调用。功能函数可以是C语言编译器提供的库函数,也可以是由用户定义的自定义函数。在编制C程序时,程序的开始部分一般是预处理命令、函数说明和变量定义等。 C语言程序结构一般如下: 预处理命令 includestdio.h 函数定义 int fun1(); float fun2(); 变量说明 int x,y; float z; 主函数main{} 函数体fun1{} fun2{} 其中,函数往往由“函数定义”和“函数体”两个部分组成。函数定义部分包括有函数类型、函数名、形式参数说明等,函数名后面必须跟一个圆括号(),形式参数在()内定义。函数体由一对花括号“{}”组成,在“{}”的内容就是函数体。如果一个函数内有多个花括号,则最外层的一对“{}”为函数体的内容。函数体内包含若干语句,一般由两部分组成:声明语句和执行语句。声明语句用于对函数中用到的变量进行定义。也可能对函数体中调用的函数进行声明。执行语句由若干语句组成,用来完成一定功能。当然也有的函数体仅有一对“{}”,其中内部既没有声明语句,也没有执行语句。这种函数称为空函数。 C语言程序在书写时格式十分自由,一条语句可以写成一行,也可以写成几行;还可以一行内写多条语句;但每条语句后面必须以分号“;”作为结束符。C语言程序对大小写字母敏感,在程序中,同一个字母的大小写系统是作不同的处理。在程序中可以用“/*………*/”或“//”对C程序中的任何部分作注释,以增加程序的可读性。 C语言也是一种较好和应用很广的程序控制语言,如果我们说汇编语言是底层语言,那么C语言就是高级语言,它通用性比汇编语言要好,为了实现对底层设备的驱动,C语言也有一些端口驱动函数,例如对屏幕输出的格式控制输出函数printf(),键盘输入的scanf()函数等。此外还有一组在dos.h中定义的直接对设备端口进行操作的函数:int inport (int portid),unsigned char inportb (int portid),void outport (int portid,int value),void outportb (int portid,unsigned char value ),C语言中的位操作使用户可以通过bit对设备进行控制。所有这些特点,使C语言在嵌入式控制系统中得到广泛应
您可能关注的文档
- 2101中小企业网络构建-续.ppt
- 21-生活化学快问妙答.ppt
- 210、对数与对数函数.ppt
- 2103B 操作主机角色.ppt
- 211 指数与指数幂的运算 - PowerPoint Presentation.ppt
- 211-人体x-染色质的观察.ppt
- 211-项目32 果园土壤管理模式.ppt
- 211、幂函数.ppt
- 211显微镜的使用.ppt
- 212、函数的图象.ppt
- TCCSAS 053-2025 无氧条件下催化剂装卸剂作业管理导则.docx
- DBJ33T 1346-2025 瓶装液化石油气装配式供应站技术规程.docx
- TCCEIA 0004-2025 电池用羧甲基纤维素锂.docx
- DB3212T 2104-2025 紫云英-机插水稻轮作丰产栽培技术规程.docx
- DB12T 597-2025 医疗卫生机构医疗废物处理规范.docx
- DB3212T 1188-2025 刀鱼馄饨制作技艺.docx
- TCCASC 0044-2024 氯碱工业数字化车间建设指南 湿法乙炔.docx
- TCCIA 0027-2025 陶瓷砖产品质量等级标识.docx
- TCCASC 0048-2024 环氧氯丙烷废盐为原料离子膜法烧碱生产应用技术要求.pdf
- DB3209T 1319-2025 公共数据平台 数据共享管理规范.docx
文档评论(0)