C语言设计基础Microsoft PowerPoint 演示文稿_第1页
C语言设计基础Microsoft PowerPoint 演示文稿_第2页
C语言设计基础Microsoft PowerPoint 演示文稿_第3页
C语言设计基础Microsoft PowerPoint 演示文稿_第4页
C语言设计基础Microsoft PowerPoint 演示文稿_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C51的概要、c语言是通用的编程语言,码率高,数据类型和运算符丰富,位操作能力高,适合各种应用程序的编程。 用c语言进行单片机的应用系统开发,具有编程灵活、调试容易、目标代码编译效率高的特点。 c语言也是目前使用最广泛的单片机应用程序编程语言。 用c语言编程的单片机应用程序被称为单片机程序。 MCS-51系列单片机开发系统的编译软件能编译51单片机c语言源程序,被称为C51编译器。 C51编译软件可以调试51单片机c语言程序。扩展了访问MCS-51单片机硬件的数据类型2 )存储类型按MCS-51单片机的存储空间分类3 )存储模式遵循存储空间中选择的编译器模式4 ) poi C51的特点,C51

2、编译器对MCS-51单片机硬件在以下方面进行了ANSI C扩展。 C51编程具有以下特征。 1 )可以管理内部寄存器和存储器的分配,编程时不需要考虑不同存储器的地址和数据类型等详细问题2 )程序由几个函数构成,具有良好的模块结构,移植性好,项目的维护管理容易可以直接引用丰富的子程序库,大大减少了用户的编程工作量,提高了编程效率4 )与汇编语言的交叉编程。 用汇编语言编制与硬件相关的程序,用C51编制与硬件不相关的运算程序,充分发挥两种语言的优点,提高开发效率。 C51的特征,C51编程与汇编语言编程相同。 单片机c语言源程序可以通过编辑、编译和连接,生成并执行目标程序(.BIN和. HEX )

3、文件。 调试51单片机c语言程序可以利用Keil C51编译器。 注意:使用C51编程可以代替复杂的汇编语言编程,但是需要理解MCS-51单片机的硬件配置。 在单片机系统的开发中,组合汇编语言和C51编程的方法很有效。 C51的特征、C51与汇编器的比较、由汇编器作成的流水灯程序占有的存储空间为00H18H,由C51作成的流水灯程序占有的存储空间为00H48H,是汇编器的3倍。 标识符是标识源程序中对象的名称,包括语句、数据类型、函数、变量、数组等。 标识符由字符串、数字、下划线等组成。 第一个字母必须是字母或下划线,不能以数字开头。 如果“1_a”错误,则在编译时会显示错误信息。 在C51编

4、译器中,仅支持标识符的前32位是有效的标识符。 C51语言是区分大小写的高级语言,“a_1”和“a_1”是完全不同的标识符。标识符和关键字以及C51中某些库函数的标识符以下划线开始,因此用户定义的标识符通常不使用以下划线开始的名称。 标识符在命名时必须简单,意思清楚。 这个有助于理解程序。 关键字是编程语言保存的特殊标识符,具有固定的名称和意义,在程序创建过程中不能将关键字用于其他用途。 C51的关键字除了根据ANSI C标准的32个关键字外,还根据MCS-51单片机的特征扩展了关键字。 C51关键字如表5-1所示。 在C51的文本编辑器中创建c程序时,int关键字的默认颜色可以用不同的颜色显

5、示保留关键字,如天蓝色。 标识符和关键字、标识符和关键字、标识符和关键字、标识符和关键字、C51的数据类型,C51具有ANSI C的所有标准数据类型。 基本数据类型为char、int、短、长、浮、双精度。 在C51编译器中,短型和int型相同,双型和浮点型相同。 C51的数据类型、C51添加的特殊数据类型和指针类型本身是一个变量,该变量包含指向其他数据的地址。这个指针变量必须占用处理器的长度,但在C51中其长度通常为13字节。 C51的数据类型、sfr特殊功能寄存器,利用它可以访问MCS-51单片机内部的所有特殊功能寄存器。 如果在sfr P1=0 x90中定义特殊功能寄存器变量“P1”,则变

6、量P1指的是51单片机的P1端口。 sbit访问芯片内部RAM的可寻址位或特殊功能寄存器的可寻址位。 定义方法有以下3种: (1)sbit比特变量名=比特地址必须在80HFFH之间。 (2)sbit位变量名=特殊功能寄存器名位位置可寻址位在特殊功能寄存器中时,可采用该方法。 比特位置是07之间的常数。 (3)sbit比特变量名=字节地址比特位置、sbit可地址比特、C51的数据类型、sbit和比特的差异: sbit定义特殊功能寄存器的可地址比特定义通常的比特变量,在一个函数中可以包含bit型的参数另外,MCS-51单片机的特殊功能寄存器及其可寻址位在文件reg51.h报头文件中预先定义,只需要

7、在程序的开头加#include或#include就可以了。 C51的数据类型,耦合性:从左到右。 优先级:先除乘法,然后加减,先在括号内,然后在括号外。 模拟运算如7%3那样求出馀数,结果是7除以3得到馀数1。 可以在变量之前或之后使用自增减运算符。 例如,I或-i表示在使用I之前,将I的值加1或减1。 例如,使用I或i-,变量I后,将I的值增加1或1。 C51的算术运算符、C51的算术运算符有7种,C51的关系运算符有6种。 优先级:上位4位、下位2位“=”和“!=等级低。 结合性:从左向右。 关系式的结果是逻辑值“真”或“假”,在C51中用“1”表示真,用“0”表示假。 有六种类型的C51

8、关系运算符和C51位运算符。 注:换档操作对零换档进行补充。 比特运算符只能进行整形和字符型的运算,不能运算实数型的数据。 示例: char a=0 x0f; 公式a=a的值为0 xf0。 示例: char a=0 x22; 公式a2的值是0x8。 也就是说,a的值向左移动2位,移动的空位加0。 位运算符、Reg52.h报头文件,该报头文件定义了52内核的单片机内部的所有功能寄存器。 右键单击#include并单击打开文档时,头文件:Reg52.h头文件,右图为头文件的宏定义:例如“Sfr P0=0 x80; ”可以打开句子的意思是将单片机内部的80H地址寄存器改名为P0。 有两种方法可以添加

9、头文件. 和“reg52.h”有点不同,被普遍采用。 今后要创建单片机的程序时,在程序的第一行中包含头文件。define宏定义,第02句“#define uint unsigned int”将uint unsigned更名为int。 定义int后,以下语句在int:12句中显示“uint i; ”出现的Main ()主函数的写法,Void main ()形式的注意:没有分号,没有返回值和参数。 Void表示“空”,没有返回值。 我们可以只用()写,也可以写voidmain(voidmain )。 接下来是两个括号,主程序从这里执行。 所有代码都写在这个括号里,每个句子结束时都用分号(; 的双曲

10、馀弦值。 例如,包括视频主() P1=0xaa; 把/1010发送到P0 I/O端口,评论的写法,在c语言中,评论有两种写法:1/这个评论只能写一行。 2/* */此注释可以注释多行。 格式: for (式1; 式2; 公式3) for循环语句执行如下。 1 )首先解式1。 2 )求式2,如果该值为真(非零),则执行for语句中指定的嵌入语句,执行下一步骤3。如果值为假(0),则结束循环。 求解for循环文,3 )式3。 4 )返回上述步骤2继续执行。 5 )循环结束,执行跟在for文体之后的句子。例如:无符号char I; for(i=2; i0; i -) for (; )/*无循环条件、

11、无限循环*/、for循环语句、无参数函数的标记,多次使用几个语句,如果这些语句相同,就可以将这些语句记述为无参数的子函数。 设计通过、for使P1.1端口的LED闪烁的程序。 #包含re g51.h# defineuintunsignediintsbitp1_1=P1; uint i,j; void main() while(1) led1=0; for (i=1000; i0; i- ) for (j=110; j0; j- ); /点亮LED 1s led1=1; for (i=1000; i0; i- ) for (j=110; j0; j- ); 关闭LED 1s,在这里“; ”,编译

12、器缺省情况下将第二个for作为第一个for的内部语句,I减1,j减110。 调用没有参数函数的标记,void delay() uint i; for(i=0; i34530; I ),呼叫:写法:while(1) led1=0; delay (); 另外,在上述子函数中,当i=500时,如果延迟500ms,则需要用子函数重新代入I,难以使用。 可以使用参数函数来解决这个问题。 vioddelayms (unsignedintxms ) uniti,j; for(i=xms; i0; i-) /i=xms即约xms毫秒for(j=110; j0; j- );带参数函数的书写方法、带参数函数的调用、调用:while(1) led1=0; 点亮/led delay ms (1000 )/延迟1s led1=1; 关闭LED delayms(500 )延迟500ms,在for语句中延迟了实例516,# include“re g 51.h”void main () chara; for (; 没有循环条件,无限循环*/a=P1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论