单片机培训第1课(C51).ppt_第1页
单片机培训第1课(C51).ppt_第2页
单片机培训第1课(C51).ppt_第3页
单片机培训第1课(C51).ppt_第4页
单片机培训第1课(C51).ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

单片机C语言基础,亿唯电子 51单片机培训 主讲:李名祺 2010年01月,本次培训配套教材,51单片机开发与应用技术 详解(珍藏版) 赵建领 薛园园 等编著 电子工业出版社,本次培训配套实验板,亿唯51单片机学习板 型号:Mini-EV51,Mini-EV51学习板独创特色: 1、主控MCU: STC12C5A16S2; 2、单USB供电、下载程序; 无线数据类模块: 3、CC1100无线模块接口; 4、无线PT2272; 5、TC-35 GSM接口; 控制类模块: 6、步进电机、直流电机、舵机接口 传感器模块集成: 7、红外、超声波、光强、温度传感器接口,C51语言基础,与C语言的相同点: 基本语法都一样,C语言中的大多数语句 在C51中都能用。 与C语言的不同点: C51中新增加了一些关键字和特殊的函数定义规则,如:sfr、sbit、xdata等。 中断函数定义: void timer0() interrupt 1,C语言与汇编语言的优缺点,对于初学者推荐使用C语言 优点:易于移植和阅读,简单易用且兼具汇编语言对硬件访问的能力。提供一些库函数,易于实现复杂的计算。未来的发展趋势,除非在对处理时间有非常严格要求的情况才考虑用汇编语言实现部分函数。 缺点:相对于汇编语言来说,C代码效率较低,大概只有汇编程序效率的5%-15%左右。,C语言的数制转换,十进制中的0-15分别表示为十六进制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F;十六进制数可以用0x开头或者以H结尾,两种表示形式都行。 如:0x55;0xaa; 二进制数:以B结尾,如:1011b;,C语言的数制对照表,C语言的码制介绍,原码: 如:-5的原码(用8位表示)为: 10000101;最高位为符号位。 反码: 正数反码与原码相同 负数反码的符号位与原码一样,其余各位取反。 -5的反码为: 11111010; 补码:对于正数源码、反码、补码都相同, 对于负数, 补码是负数的反码加一。 -5的补码为:11111011;,C语言的常用运算符,与C语言基本相同: + - * / % (加、 减、 乘、 除、取余) = (位右移、位左移) & | (按位与、按位或) (按位异或、按位取反) + - (自增、自减),C语言的常用运算符介绍,逻辑与运算(运算符为 &) 举例: (逻辑表达式 A) & (逻辑表达式 B) 当: A表达式成立 且 B表达式成立, 以上表达式成立,表达式的值为 1 在其它情况下,表达式的值都为 0,C语言的常用运算符介绍,逻辑或运算(运算符为 |) 举例: (逻辑表达式 A) | (逻辑表达式 B) 当: 逻辑表达式A和B都不成立时, 以上表达式不成立且表达式的值为 0, 在其它情况下,表达式成立且值为 1,C语言的常用运算符介绍,逻辑非运算(运算符为 !) 举例: !(逻辑表达式 A) 当: 逻辑表达式A不成立时以表达式立时, 以上表达式的值为 1逻辑表达式A成立时, 以上表达式的值为 0,C语言的常用运算符介绍,逻辑等于运算(运算符为 =) 举例: (表达式 A) = (表达式 B) 判断表达式A的值与表达式 B的值是否相等,若值相等上表达式的值为 1,不相等表达式的值为 0,C语言的常用运算符介绍,逻辑不等于运算(运算符为 !=) 举例: (表达式 A) != (表达式 B) 判断表达式A的值与表达式 B的值是否不相等,不相等上表达式的值为 1,不相等表达式的值为 0,C语言的常用运算符介绍,按位与运算( 运算符为 & ) : 3: 0000 0011 5: 0000 0101 3&5: 0000 0001,C语言的常用运算符介绍,按位或运算( 运算符为 | ) : 3: 0000 0011 5: 0000 0101 3|5: 0000 0111,C语言的常用运算符介绍,按位异或运算( 运算符为 ) : 3: 0000 0011 5: 0000 0101 35: 0000 0110,C语言的常用运算符介绍,按位取反运算( 运算符 ) : 3: 0000 0011 3: 1111 1100,C语言的常用运算符介绍,除运算( 运算符 / ) : 运算结果取结果的整数部分 123/10 = 12 ; 123/9 = 13 ;,C语言的常用运算符介绍,取余运算( 运算符 % ) : 运算结果取结果的余数 123%10 = 3 ; 123%9 = 6 ;,C语言的常用运算符介绍,数据左移运算( 运算符 ) : 左移时数据最高位丢弃,最低位补零 0x551 = 0xaa; 0xaa1 = 0x54;,C语言的常用运算符介绍,数据右移运算( 运算符 ) : 右移时数据最高位补零,最低位丢弃 0x551 = 0x2a; 0x2a1 = 0x15;,C语言的关键字,C51采用ANSI C标准定义的32个关键字,如: if、 else、 for、do、break、char、case、goto、int、 continue、switch、long、static、signed、void、while、return、float、double、const、sizeof、extern、volatile、struct等。 不同的编译系统会根据C51语言和单片机特点扩 展相关的关键字: bit、sbit、sfr、sfr16、data、bdata、idata、pdata、xdata、code、interrupt等。,C语言的基本数据类型,C语言的变量声明,变量的命名规则: (1) 变量一定要先定义后使用。 (2) 变量声明时一定要指明变量的数据类型。 (3) 变量名可以由大、小写字母、下划线、数 字组成,但变量名不能以数字开头,变量 名区分大小写。 (4) 变量名不能是C语言的关键字。 温馨提示: 给变量命名时最好取一些有意义的 名字,便于以后阅读和使用。,C语言的变量声明,变量声明举例: 数据类型 变量名 bit flag; char var1; unsigned char vextor10; int www; float pi,C语言的常量,常量:除了声明时能赋初值以外,程序 的其他地方都不能改变其值。 字符常量 L; 字符串常量 “limingqi” 符号常量: 用 const来定义 如: unsigned char const PI=3.1415;,C语言的常用语句,选择语句(可以嵌套使用): if(条件判断) 语句1; ; else 语句2; ; ,C语言的常用语句,分支语句: Switch(表达式) case 常量表达式 1: 语句1; break; case 常量表达式 2: 语句2; break; ; default : 语句; 当表达式与常量表达式相等时,执行case后面的语句后跳出。,C语言的常用语句,循环语句(while 语句): While(表达式) 语句 1; .; 当表达式的值为真时,执行大括号里面语句,C语言的常用语句,循环语句(do-while 语句): do 语句 1; .; while(表达式) 首先执行一次大括号里面语句,再判断表达式的值是否为真,若为真则继续执行,否则跳出循环语句。,C语言的常用语句,for(表达式1;表达式2;表达式3) 语句; .; 首先执行表达式1,再判断表达式2是否成立, 若不成立则执行for后面的语句,若表达式2成立,则执行大括号里面的语句,执行完括号里 面的语句后。再执行表达式3,进而判断表达 式2,,C语言的常用语句,for语句的执行流程如右图 用for语句循环指定次数(本例循环10次): unsigned char n=0; for (n=0;n10;n+) 语句; ,C语言的函数声明与调用,函数:具有一定功能、相对

温馨提示

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

评论

0/150

提交评论