高等教育10112电子教案_第1页
高等教育10112电子教案_第2页
高等教育10112电子教案_第3页
高等教育10112电子教案_第4页
高等教育10112电子教案_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、高等教育10112#include /头文件定义头文件定义#define PI 3.1415/常量定义常量定义unsigned char i,j;/全局变量定义全局变量定义sfr P0 = 0 x80;/特殊功能寄存器定义,特殊功能寄存器定义,/一般头文件中已包含一般头文件中已包含sbit CY = 0 xD7;/可位寻址位或引脚定义,可位寻址位或引脚定义,/一般头文件中已包含一般头文件中已包含void Delay(int TimeMs);/函数声明函数声明main()int m,n;/局部变量定义局部变量定义/初始化程序初始化程序while(1)/主循环主循环void Delay(int T

2、imeMs)/函数实现函数实现/函数实现代码函数实现代码n注意事项注意事项C语言是大小写敏感语言;语言是大小写敏感语言;标识符应该先说明再引标识符应该先说明再引用;用;任何语句必须以任何语句必须以“;”结束;结束;“”必须成对,理论上必须成对,理论上位置可以随意,为增加可位置可以随意,为增加可读性应层次分明。读性应层次分明。n数据与数据类型数据与数据类型数据:具有一定格式的数字或数值。数据:具有一定格式的数字或数值。数据是计算机操作的对象。数据是计算机操作的对象。不管使用任何语言、何种算法进行程序设计,最终在不管使用任何语言、何种算法进行程序设计,最终在计算机中运行的只有数据流。计算机中运行的

3、只有数据流。数据类型:数据的不同格式叫作数据类型。数据类型:数据的不同格式叫作数据类型。数据结构:数据按一定的数据类型进行的排列、组合、数据结构:数据按一定的数据类型进行的排列、组合、架构称为数据结构。架构称为数据结构。nC51的数据类型的数据类型 数据类型 基本类型 构造类型 位型(bit) 字符型(char) 整型(int) 长整型(long) 浮点型(float) 双精度浮点型(double) 指针类型 空类型 数组类型(array) 数组类(array) 数组类(array) 数组类(array) 结构体类型(struct) 共用体(union) 枚举(enum) nFranklin

4、C51的数据类型的数据类型n常量是指在程序运行中其值不变的量。常量是指在程序运行中其值不变的量。常量分为数值型常量和符号型常量常量分为数值型常量和符号型常量数值型常量:数值型常量:i=0 x16;符号型常量:符号型常量:#define PI 3.1415变量是指在程序运行中其值可以改变的量。变量是指在程序运行中其值可以改变的量。 变量由变量名和变量值构成变量由变量名和变量值构成.变量名即是存储单元地址的符号表示变量名即是存储单元地址的符号表示;变量的值就是该单元存放的内容变量的值就是该单元存放的内容.C语言定义一个变量,编译系统自动为它分配一个存储单元,具体语言定义一个变量,编译系统自动为它分

5、配一个存储单元,具体地址程序员不必关心。地址程序员不必关心。常见变量类型:常见变量类型:bitcharint floatn存储类型是指数据存放位置,即数据存放在哪个存储器中。存储类型是指数据存放位置,即数据存放在哪个存储器中。C51共有共有6种存储类型种存储类型变量存储类型定义变量存储类型定义data char xchar data xn存储器模式是指决定了变量的默认存储器类型、参数传递区和无存储器模式是指决定了变量的默认存储器类型、参数传递区和无明确存储区类型的说明。明确存储区类型的说明。C51的存储器模式有的存储器模式有SMALL、LARGE和和COMPACTn51单片机中,除了程序计数器

6、(单片机中,除了程序计数器(PC)和)和4组工作寄存器组外,其他组工作寄存器组外,其他所有的寄存器均为特殊功能寄存器(所有的寄存器均为特殊功能寄存器(SFR),分散在片内),分散在片内RAM区的区的高高128字节中,地址范围为字节中,地址范围为80H0FFH。nSFR中地址能被中地址能被8整除,即地址以整除,即地址以8或或0结尾的可以位寻址。结尾的可以位寻址。n SFR定义(与标准定义(与标准C语言不兼容)语言不兼容)sfr sfr-name = int constant;sfr PSW= 0XD0;n位寻址的位寻址的SFR中的位定义(与标准中的位定义(与标准C不兼容)不兼容)第第1种格式:种

7、格式:sbit bit-name = sfr-nameint constant;sbit CY=PSW7;第第2种格式:种格式:sbit bit-name = int constantint constant;sbit CY=0XD07;第第3种格式:种格式:sbit bit-name = int constant;sbit CY=0XD7n在在reg51.h头文件中,已经对标准头文件中,已经对标准51单片机的单片机的SFR及可寻址位作了定义。及可寻址位作了定义。n51系列单片机片内集成系列单片机片内集成4个个I/O口,可以在片外扩展口,可以在片外扩展I/O口。口。51单片单片机片外扩展机片外

8、扩展I/O口与片外数据存储器统一编址,即把一个口与片外数据存储器统一编址,即把一个I/O口当作口当作数据存储器中的一个单元来看待。数据存储器中的一个单元来看待。片内片内IO口定义口定义sfr P0= 0X80;注:注:在在reg51.h头文件中已定义头文件中已定义片外片外IO口(相当于口(相当于1个单元外部数据存储器)定义个单元外部数据存储器)定义#include #define PORTA XBYTE0XFFC0absacc.h是是C51中绝对地址访问函数的头文件。中绝对地址访问函数的头文件。PORTA地址地址FFC0H,长度,长度8位。位。nsbit定义位变量定义位变量sbit CY=PS

9、W7;sbit CY=0XD07;sbit CY=0XD7nbit定义位变量定义位变量bit tt;nbit和和sbit差别差别Sbit明确地址明确地址bit地址不明确地址不明确n注:注:位变量不能定义成指针;位变量不能定义成指针;位变量不能定义成数组。位变量不能定义成数组。优先级类别运算符名称运算符结合性1(最高)强制转换数组结构、联合强制类型转换符下标运算符成员运算符().、右结合2逻辑字位逻辑非按位取反!左结合增量减量增1减1指针取地址取内容*算术长度计算单目减长度计算sizeof3算术乘除取模*/右结合4算术和指针运算加减5字位左移右移6关系大于等于大于小于等于小于=7恒等于不等于=!

10、=8字位按位与9按位异或10按位或11逻辑逻辑与12逻辑或13条件条件运算符?:左结合14赋值赋值复合赋值op15逗号逗号运算符,右结合nC语言是一种结构化编程语言语言是一种结构化编程语言,组成程序有三种基本结构:组成程序有三种基本结构:(1)顺序结构;)顺序结构;(2)选择结构;)选择结构;(3)循环结构。)循环结构。n顺序结构及其流程图顺序结构及其流程图n2选择结构及其流程图选择结构及其流程图二分支选择二分支选择用用if-else语句实现语句实现串行多分支串行多分支用用else if嵌套实现嵌套实现并行多分支并行多分支用用swith语句实现语句实现n循环结构循环结构当循环当循环用用whil

11、e语句实现语句实现直到循环直到循环用用do-while语句实现语句实现从从-到循环到循环用用for语句实现语句实现n数据类型分基本数据类型和构造数据类型数据类型分基本数据类型和构造数据类型基本数据类型基本数据类型字符型(字符型(char)、整型()、整型(int)和浮点型()和浮点型(float)等。)等。构造数据类型构造数据类型将基本数据类型按某种规则组织起来称构造数据类型。将基本数据类型按某种规则组织起来称构造数据类型。数组、结构、指针、共用体、枚举等。数组、结构、指针、共用体、枚举等。n数组:由同种基本数据类型构成,数目固定的有序数据集合。数组:由同种基本数据类型构成,数目固定的有序数据

12、集合。数组特点数组特点数组中元素是基本数据类型;数组中元素是基本数据类型;数组各元素数据类型相同;数组各元素数据类型相同;数组中元素个数固定。数组中元素个数固定。数组数据用同一名字的不同下标访问。数组数据用同一名字的不同下标访问。n数组使用数组使用定义格式定义格式数据类型数据类型 数组名数组名常数表达式常数表达式1常数表达式常数表达式n;中括号内必须是常数表达式,不能有变量,即数组大小程序运行中中括号内必须是常数表达式,不能有变量,即数组大小程序运行中不能改变。不能改变。初始化初始化int a10=1,3,5,7;int a34= 1,3,5,7,2,4,6,8,1,2,3,4,5,6,7,8

13、;数组引用数组引用数组必须先定义后引用;数组必须先定义后引用;数组元素只能逐个引用,不能整体引用。数组元素只能逐个引用,不能整体引用。a0=a3+a1+2;n字符数组字符数组定义定义与普通数组类似与普通数组类似char a10;初始化初始化 char a10=B,E,I,J,I,N,G,/0;char a10=“BEI JING”;char a10=“BEI JING”;n查表查表数组主要用途之一是查表;数组主要用途之一是查表;在很多非线性转换场合,采用查表比数学公式更加方便。在很多非线性转换场合,采用查表比数学公式更加方便。uchar code tempt=32,34,36,37,39,41

14、;uchar ftoc(uchar degc)return temptdegc;main()x=ftoc(5);n数组与存储空间数组与存储空间在程序中定义一个数组,编译系统开辟一个连续空间存放数据;在程序中定义一个数组,编译系统开辟一个连续空间存放数据;多维数组占用存储器空间较大,在单片机开发中不宜定义过多。多维数组占用存储器空间较大,在单片机开发中不宜定义过多。n指针的概念指针的概念变量与指针变量与指针变量的指针是变量的地址;变量的指针是变量的地址;指针变量:存放另一个变量地址的变量指针变量:存放另一个变量地址的变量指针变量的值是另一个变量的地址指针变量的值是另一个变量的地址n指针变量的定义

15、指针变量的定义定义格式定义格式数据类型数据类型 *指针变量名;指针变量名;int *ap“*”是定义指针变量的关键符,是定义指针变量的关键符,ap是指针变量名。是指针变量名。n指针变量的引用指针变量的引用引用前先定义引用前先定义int *ap;int a;指针变量定义后系统分配存储单元给它,但单元内空白,即没有装入指针变量定义后系统分配存储单元给它,但单元内空白,即没有装入指针(地址)。指针(地址)。指针变量的引用是通过取地址符指针变量的引用是通过取地址符&实现的。实现的。ap=&a;将变量将变量a的地址赋给指针变量的地址赋给指针变量ap。n*与与&*取指针变量所指的内

16、容,取指针变量所指的内容,a=*ap;&取变量的地址,取变量的地址,ap=&a;n数组指针和指向数组的指针变量数组指针和指向数组的指针变量基本概念基本概念数组指针:数组的起始地址。数组指针:数组的起始地址。指向数组的指针变量:用来存放数组起始地址(指针)的变量。指向数组的指针变量:用来存放数组起始地址(指针)的变量。指向数组的指针变量的定义和赋值指向数组的指针变量的定义和赋值定义定义int a10; int *app;赋值赋值方法方法1:app=&a0;方法方法2:app=a;数组名代表数组的首地址,即数组第一个元素的地址。数组名代表数组的首地址,即数组第一个元素的地址

17、。通过指针引用数组元素通过指针引用数组元素app+i=a+i表示表示ai的地址;的地址;*(app+i)=*(a+i)表示表示ai;appi=*(app+i),指向数组的指针变量可以带下标。,指向数组的指针变量可以带下标。n指针变量的运算指针变量的运算p=a; p+; x=*p; x=a1;*p+ = *(p+),先取值,先取值*p,再自加,再自加p+。*p+*+p。(*p)+ *(p+)。*(p-)=ai-*(+p)=a+i*(-p)=a-inFranklin c51的指针类型:基于存储器指针和一般指针的指针类型:基于存储器指针和一般指针基于存储器指针:以存储器类型为参数基于存储器指针:以存

18、储器类型为参数访问效率高,占用访问效率高,占用1-2Bchar xdata *px;char xdata * data px;一般指针:一般指针:1B存储器类型存储器类型+2B偏移地址偏移地址n一般概念一般概念C语言程序是由一个个函数构成的。在构成语言程序是由一个个函数构成的。在构成C语言程序的若干个函数语言程序的若干个函数中,必有且只有一个是主函数中,必有且只有一个是主函数main()。函数之间不可以嵌套,但可以调用,主函数不能被调用。函数之间不可以嵌套,但可以调用,主函数不能被调用。 C语言程序从主函数开始执行,调用子函数后返回主函数,最后在语言程序从主函数开始执行,调用子函数后返回主函数

19、,最后在主函数中结束。主函数中结束。3.5.1 函数分类函数分类n按结构分类:主函数和子函数;按结构分类:主函数和子函数;全程变量说明;全程变量说明;main()/*主函数主函数*/ 局部变量说明;局部变量说明; 执行语句;执行语句;function_1(形式参数表形式参数表)/*函数函数1*/形式参数说明;形式参数说明; 局部变量说明;局部变量说明; 执行语句;执行语句;n按使用分类:标准库函数和用户自定义函数按使用分类:标准库函数和用户自定义函数标准库函数:由编译系统提供,独立功能的公用函数。标准库函数:由编译系统提供,独立功能的公用函数。C语言标准库函数功能强大、资源丰富充分利用可以提高

20、效率,节语言标准库函数功能强大、资源丰富充分利用可以提高效率,节省时间。省时间。用户自定义函数:由用户自己编写的函数。用户自定义函数:由用户自己编写的函数。n按函数参数分类:无参数函数和有参数函数按函数参数分类:无参数函数和有参数函数无参数函数:无输入参数,不返回结果,主要完成某种操作。无参数函数:无输入参数,不返回结果,主要完成某种操作。有参数函数:有输入参数,函数结束时返回结果。有参数函数:有输入参数,函数结束时返回结果。n空函数空函数函数体内没有语句,不做任何操作。函数体内没有语句,不做任何操作。为后续功能扩充准备。为后续功能扩充准备。n函数定义是指编写函数功能的程序块。函数定义是指编写

21、函数功能的程序块。n定义格式定义格式 返回值类型返回值类型 函数名函数名 (类型符(类型符1 形参形参1,类型符,类型符n 形参形参n)说明语句;说明语句;执行语句;执行语句;函数头函数头函数类型:返回值类型,可以基本数据类型或复杂数据类型,默认函数类型:返回值类型,可以基本数据类型或复杂数据类型,默认为为int,无返回值函数,其返回类型用,无返回值函数,其返回类型用void说明。说明。函数名与变量名一样是一种标识符,定义规则也与变量名一样。函数名与变量名一样是一种标识符,定义规则也与变量名一样。形参表定义各个形参名及其数据类型,用于函数被调用时接收主调形参表定义各个形参名及其数据类型,用于函

22、数被调用时接收主调函数实参输入的数据。无参数函数,其形式参数表用函数实参输入的数据。无参数函数,其形式参数表用void说明。说明。函数体函数体函数体用花括号括起来,类似于复合语句。函数体由说明语句和执函数体用花括号括起来,类似于复合语句。函数体由说明语句和执行语句组成,说明语句可定义函数所使用的变量;执行语句描述函数行语句组成,说明语句可定义函数所使用的变量;执行语句描述函数的具体操作。的具体操作。函数体无语句为空函数,不执行任何操作,但是花括号不能省略。函数体无语句为空函数,不执行任何操作,但是花括号不能省略。有返回值函数,函数体的执行语句中应用有返回值函数,函数体的执行语句中应用return语句返回结果,且语句返回结果,且保证返回结果的数据类型与函数头定义的返回值数据类型一致。保证返回结果的数据类型与函数头定义的返回值数据类型一致。n函数的调用是指主调函数使用被调函数的过程。函数的调用是指主调函数使用被调函数的过程。n调用方式调用方式函数调用语句函数调用语句函数名(实参表);函数名(实参表);函数表达式函数表达式y = 3 + sum(x1,x2);函数参数函数参数printf(“%d”,sum(x1,x2

温馨提示

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

评论

0/150

提交评论