[工学]第四章 单片机C语言程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第四章 单片机C语言程序设计

C语言程序采用函数结构,至少应包含一个主函数main(),也可以包含一个main()函数和若干个其它的功能函数。 不管main()函数放于何处,程序总是从main()函数开始执行,执行到main()函数结束则结束。 在main()函数中调用其它函数,其它函数也可以相互调用,但main()函数只能调用其它的功能函数,而不能被其它的函数所调用。 功能函数可以是C语言编译器提供的库函数,也可以是由用户定义的自定义函数。 在编制C程序时,程序的开始部分一般是预处理命令、函数说明和变量定义等。 用C语言编写的MCS–51单片机应用程序,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。 C51包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有一定的区别。其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。 现在支持MCS-51系列单片机的C语言编译器有很多种,其中KEIL/Franklin以它的代码紧凑和使用方便等特点优于其它编译器,现在使用特别广泛。 以KEIL/Franklin编译器介绍MCS-51单片机C语言程序设计。 4.1.3 C51程序结构 C51程序与标准的C程序在以下几个方面不一样: C51中定义的库函数和标准C语言定义的库函数不同。标准的C语言定义的库函数是按通用微型计算机来定义的,而C51中的库函数是按MCS-51单片机相应情况来定义的; C51中的数据类型与标准C的数据类型也有一定的区别,在C51中增加了几种针对MCS-51单片机特有的数据类型; C51变量的存储模式与标准C中变量的存储模式不一样,C51中变量的存储模式是与MCS-51单片机的存储器紧密相关; C51与标准C的输入输出处理不一样,C51中的输入输出是通过MCS-51串行口来完成的,输入输出指令执行前必须要对串行口进行初始化; C51与标准C在函数使用方面也有一定的区别,C51中有专门的中断函数。 4.2 C51的数据类型 一.字符型char 有signed char和unsigned char之分,默认为signed char。 长度为一个字节。 signed char,定义带符号字节数据,补码表示,所能表示的数值范围是-128~+127。 unsigned char,定义无符号字节数据或字符其取值范围为0~255。 二.int整型 分singed int和unsigned int。默认为signed int。 长度为两个字节,用于存放一个双字节数据。 对于signed int,用于存放两字节带符号数,补码表示,数的范畴为-32768~+32767。 对于unsigned int,用于存放两字节无符号数,数的范围为0~65535。 三.long长整型 分singed long和unsigned long。默认为signed long。 长度为四个字节,用于存放一个四字节数据。 对于signed long,用于存放四字节带符号数,补码表示,数的范畴为-2147483648~+2147483647。 对于unsigned long,用于存放四字节无符号数,数的范围为0~4294967295。 四.float浮点型 数据长度为四个字节。 格式符合IEEE-754标准的单精度浮点型数据,包含指数和尾数两部分,最高位为符号位,“1”表示负数,“0”表示正数,其次的8位为阶码,最后的23位为尾数的有效数位,由于尾数的整数部分隐含为“1”,所以尾数的精度为24位。 五.* 指针型 指针型本身就是一个变量,在这个变量中存放指向另一个数据的地址。 指针变量要占用一定的内存单元,对不同的处理器其长度不一样,在C51中它的长度一般为1~3个字节。 六.特殊功能寄存器型 C51扩充的数据类型,用于访问MCS-51单片机中的特殊功能寄存器数据,分sfr和sfr16两种类型。 sfr为字节型特殊功能寄存器类型,占一个内存单元,可以访问MCS-51内部的所有特殊功能寄存器。 sfr16为双字节型特殊功能寄存器类型,占用两个字节单元,可以访问MCS-51内部的所有两个字节的特殊功能寄存器。 在C51中对特殊功能寄存器的访问必须先用sfr或sfr16进行声明。 七.位类型 C51扩充的数据类型,用于访问MCS-51单片机中的可寻址的位单元,支持两种位类型:bit型和sbit型。 内存中只占一个二进制位,其值可以是“1”或“0”。 用bit定义的位变量在C51编译器编译时,在不同的时候位地址是可以变化的。 sbit定义的位变量必须与MCS-51单片机的一个可以寻址位单元或可位寻址的字节单元中的某一位联系在一起,在C51编译器编译时,其对应的位地址是不可变化的。 4.3 51的运算量 4.3.1 常量 一.整

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档