- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 单片机的C语言编程;第二章 单片机的C语言编程;2.1 C51概述;2.2 C51的程序结构;组成结构:
预处理语句
全局变量说明 /*可被各函数引用*/
main() /*主函数*/
{
局部变量说明 /*只在本函数引用*/
执行语句(包括函数调用语句)
}
fun1(形式参数表) /*函数1*/
形式参数说明
{
局部变量说明
执行语句(包括调用其他函数语句)
}
…
funn(形式参数表) /*函数n*/
形式参数说明
{
局部变量说明
执行语句
};C语言的语句规则:
1. 每个变量必须先说明后引用,变量名英文大小写是有差别的。
2. C语言程序一行可以书写多条语句,但每个语句必须以“;”结尾,一个语句也可以多行书写。
3. C语言的注释用/*……*/或//表示。
4. “{”花括号必须成对,位置随意,可在紧挨函数名后,也可另起一行,多个花括号可以同行书写,也可逐行书写,为层次分明,增加可读性,同一层的“{”花括号对齐,采用逐层缩进方式书写。 ;2.3 C51的数据类型与运算符 2.3.1 C51的存储类型;存储类型;2.3 C51的数据类型与运算符 2.3.2 C51的数据类型;2.3 C51的数据类型与运算符 2.3.2 C51的数据类型;2. 常量与变量
C51支持的数据有常量、变量、指针。
存储时‘先高后低’原则;
常量位置与定义说明有关,一般放在程序存储区code 。
1)常量
整型常量、实型常量、字符常量、字符串常量、符号常量。
符号常量在使用前必须先定义,格式为:
#define 标识符 常量 //是C51的预处理指令
2)变量
定义变量的一般格式:
[存储模式] 数据类型 [存储器类型] 变量名;;变量说明举例 ;说明:
1.?字符型(char)、整型(int)和长整型(long)均有符号型(signed)和无符号型(unsigned)两种,如果不是必须,尽可能选择unsigned型,这将会使编译器省却符号位的检测,使生成的程序代码比signed类型短得多。
2. 程序编译时,C51编译器会自动进行类型转换,当运算符两边为不同类型的数据时,编译器先将低级的数据类型转换为较高级的数据类型,运算后,运算结果为高级数据类型。
3. bit和sbit都是C51扩展的变量类型。bit用来定义一个普通位变量(0或1),编译器在编译过程中分配地址,除非指定否则这个地址随机分布在整个可寻址空间中。所有的可位寻址的位都可由sbit指定,这包括可位寻址区和SFR中的位。
4.如果在变量说明时略去存贮器类型标志符,编译器会自动选择默认的存贮器类型。;1. 关于指针型变量
在汇编语言程序中,要取存贮单元m的内容可用直接寻址方式,也可用寄存器间接寻址方式 。如果用R1寄存器指示m的地址,则用@R1取m单元的内容。相对应的在C语言中用变量名表示取变量的值(相当于直接寻址),也可用另一个变量(如P)存放m的地址,P就相当于R1寄存器 。用*P取得m单元的内容(相当于汇编的间接寻址方式)这里P即为指针型变量。下面表格表示两种语言将m单元的内容送n单元的对照语句。;说明:
1) 在C语言中,为了能够实现直接对内存单元进行操作,引入了指针类型的数据。一个变量的地址就称为该变量的指针。
2) 如果有一个变量专门用来存放另一个变量的地址,则称之为指针变量。一个指针变量存放的内容是另一个变量在内存中的地址,每一个变量都有它自己的指针(地址)。
3) C语言中用“*”表示“指向”。
如:整型变量i的地址存放在指针变量ip中,则
i=0x50;
*ip=0x50;
都是给同一个变量赋值。
4) 区分“”和“*”运算符。;2. 指针型数据的类型
由于C51是结合51单片机硬件的,51单片机的不同存贮空间,有不同的地址范围,即使对于同一外部数据存贮器,又有用@Ri寻址(Ri为八位)和用@DPTR寻址(DPTR为十六位)两种寻址方式,而指针本身也是一个变量,有它存放的存贮区和数据长度。因此,在指针类型的定义中要说明:被指的变量的数据类型和存贮类型;指针变量本身的数据类型(占几个字节)和存贮类型(即指针本身存放在什么存贮区)。
指针类型的定义形式如下:
数据类
您可能关注的文档
- 无线传感课程报告答案分解.doc
- 第5章电感式传感器1综述.ppt
- 档案著录规则比较综述.pptx
- 无线传感器网络简明教程-第三章分解.ppt
- 第5章电力系统功率平衡与控制AAAA综述.pptx
- 第5章电子表格处理软件Excel2000综述.ppt
- 第5章电子商务安全综述.ppt
- 第2章并购与重组rebeca综述.ppt
- 物质的量浓度题分解.doc
- 物质的量浓度习题及答案分解.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)