片机的C语言编程

片机的C语言编程

ID:39530990

大小:540.01 KB

页数:33页

时间:2019-07-05

片机的C语言编程_第1页
片机的C语言编程_第2页
片机的C语言编程_第3页
片机的C语言编程_第4页
片机的C语言编程_第5页
资源描述:

《片机的C语言编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、内容提要C51程序结构C51的数据类型及运算符C51的函数C51程序设计小结第4章单片机的C语言编程应用C51编程具有以下优点:(1)C51管理内部寄存器和存贮器的分配,编程时,无需考虑不同存储器的寻址和数据类型等细节问题;(2)程序由若干函数组成,具有良好的模块化结构;(3)有丰富的子程序库可直接引用,从而大大减少用户编程的工作量。(4)C51和汇编语言可以交叉使用.汇编语言程序代码短、运行速度快、但复杂运算编程耗时。如果用汇编语言编写与硬件有关的部分程序,用C51编写与硬件无关的运算部分程序,充分发挥两种

2、语言的长处,可以提高开发效率。4.1C51程序结构同标准C一样,C51的程序由一个个函数组成,这里的函数和其他语言的“子程序”或“过程”具有相同的意义。其中必须有一个主函数main(),程序的执行从main()函数开始,调用其他函数后返回主函数main(),最后在主函数中结束整个程序而不管函数的排列顺序如何。全局变量说明/*可被各函数引用*/main()/*主函数*/{局部变量说明/*只在本函数引用*/执行语句(包括函数调用语句)}fun1(形式参数表)/*函数1*/形式参数说明{局部变量说明执行语句(包括调

3、用其他函数语句)}…funn(形式参数表)/*函数n*/形式参数说明{局部变量说明执行语句}C语言程序的组成结构如下所示:C语言的语句规则:1.每个变量必须先说明后引用,变量名英文大小写是有差别的。2.C语言程序一行可以书写多条语句,但每个语句必须以“;”结尾,一个语句也可以多行书写为好。3.C语言的注释用/*……*/表示。4.“{”花括号必须成对,位置随意,可在紧挨函数名后,也可另起一行,多个花括号可以同行书写,也可逐行书写,为层次分明,增加可读性,同一层的“{”花括号对齐,采用逐层缩进方式书写。4.2C5

4、1的数据类型及运算符4.2.1C51的存贮类型访问内部数据存贮器(idata)比访问外部数据存贮器(xdata)相对要快一些,因此,可将经常使用的变量置于内部数据存贮器中,而将较大及很少使用的数据变量置于外部数据存贮器中。例如定义变量x语句:datacharx(等价于chardatax)。如果用户不对变量的存贮类型定义,则编译器承认默认存贮类型,默认的存贮类型由编译控制命令的存贮的模式部分决定。存储器类型描述data直接寻址内部数据存储区,访问变量速度最快(128bytes)bdata可位寻址内部数据存储区,

5、允许位与字节混合访问(16bytes)idata间接寻址内部数据存储区,访问全部内部地址空间(256bytes)pdata分页(256bytes)外部数据存储区,由操作码MOVX@Ri访问xdata外部数据存储区(64K),由操作码MOVX@DPTR访问code代码存储区,由操作码MOVC@A+DPTR访问4.2.2C51的存贮器模式存贮器模式决定了变量的默认存贮器类型、参数传递区和无明确存贮区类型的说明。C51的存贮器模式有SMALL、LARGE和COMPACT。在固定的存贮器地址进行变量参数传递是C51的

6、一个标准特征,在SMALL模式下参数传递是在内部数据存贮区中完成的。LARGE和COMPACT模式允许参数在外部存贮器中传递。C51同时也支持混合模式,例如在LARGE模式下生成的程序可将一些函数分页放入SMALL模式中从而加快执行速度。例如设C语言源程序为PROR.C,若使程序中的变量类型和参数传递区限定在外部数据存贮区,有两种方法:方法1:用C51对PROR.C进行编译时,使用命令C51PROR.CCOMPACT。方法2:在程序的第一句加预处理命令#pragmacompact存贮器模式表存储器模式描述SM

7、ALL参数及局部变量放入可直接寻址的内部存储器(最大128bytes,默认存储器类型DATA)COMPACT参数及局部变量放入分页外部存储区(最大256bytes,默认存储器类型PDATA)LARGE参数及局部变量直接放入外部数据存储器(最大64K,默认存储器类型XDATA)4.2.3C51的数据类型无论哪种数据都是存放在存贮单元中的,每一个数据究竟要占用几个单元(即数据的长度)都要提供给编译系统,正如汇编语言中存放数据的单元要用DB或DW伪指令进行定义一样,编译系统以此为根据预留存贮单元,这就是定义数据类型

8、的意义。C51编译器支持数据类型见下表。数据类型长度取值范围位型bit1Bit0或1字符型signedchar1Byte-128~+127unsignedchar1Byte0~255整型signedint或signedshort2Bytes-32768~+32767unsignedint或unsignedshort2Bytes0~65535signedlong4Bytes-2147483648~+2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。