51单片机C语言基础.ppt

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

51单片机C语言基础C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。一个简单的单片机C程序要有什么#include<reg51.h>voidmain(){ while(1) { }}包涵头文件程序主函数(其实课堂上学习C语言的很大一部分内容在初期单片机编程中都用不到,因此没必要因为觉的自己的C语言基础不是很好而对单片机望而止步!)C语言中常用的语句if-else语句if(表达式)??

??{????语句1;??}

??????else??

???{???语句2;}??其语义是:如果表达式的值为真(非0),则执行语句1,否则执行语句2。例如:if(a>b){ c=0;} else { c=1; }while语句while语句的一般形式为:

??while(表达式){语句}

其中表达式是循环条件,语句为循环体。

??while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。

例如:while(i<10){ i=i+1;}do-while语句do

{????????语句} ??????while(表达式);

这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。

例如:do{ a=a+1;}while(a<10);for语句for(表达式1;表达式2;表达式3){语句}

它的执行过程如下:

1)????先求解表达式1。

2)????求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步。

3)????求解表达式3。

4)????转回上面第2)步继续执行。

5)????循环结束,执行for语句下面的一个语句。

例如:for(a=0;a<10;a++)//a++相当于a=a+1;{ b=0;}switch(表达式){??

??????case常量表达式1:??语句1;

??????case常量表达式2:??语句2;

??????…??

??????case常量表达式n:??语句n;

??????default??????:??语句n+1;

??????}其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

例如:switch(a){case(0):b=0;break;case(1):b=1;break;default:b=3;}//被break语句的含义是跳出这个switch语句,如果没有这条语句那么则会从//满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执//行,直到switch结构结束。当break语句用于do-while、for、while循环语句中//时,可使程序终止循环。函数的定义返回变量类型函数名(输入变量类型){ 函数体;}如:unsignedcharread(unsignedcharaddr){ unsignedchardat;//定义一个变量存放返回值 (doanythingyouwant);//函数中的程序。 returndat;//返回函数的返回值}函数的调用在函数调用之前要在主函数前面加入上该函数的声明。(或者你可以放在头文件里面,包含该头文件时,就可以声明了。)C-51的数据类型扩充定义sfr:特殊功能寄存器声明sfr变量名=地址值;*特殊功能寄存器在reg51.H这个头文件里面都帮我们定义好了,所以平时我们就不要自己去定义寄存器的名字。sbit:特殊功能位声明sbit变量名=地址值;*在给某个引脚取名的时候经常会用到。bit:位变量声明*用来定义位数据变量例:sfrSCON=0X98;sbitLED=P0^2;C51中常用到的一些预处理命令#define#defineAP0(注意后面不用加分号)

文档评论(0)

知识分享 + 关注
实名认证
内容提供者

分享文档来源于网络和个人创作整理,仅做学习交流使用

1亿VIP精品文档

相关文档