ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:38KB ,
资源ID:591104      下载积分:5 金币
已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《单片机技术及应用》教案——项目0 C程序基础知识.docx)为本站会员(极速器)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(发送邮件至doc331@126.com或直接QQ联系客服),我们立即给予删除!

《单片机技术及应用》教案——项目0 C程序基础知识.docx

1、教学实施方案课题名称单片机技术及应用实训部审批任务名称项目C程序基础知识年月曰学时20学时授课时间授课班级授课教师一、教学目标Ca知识目标掌握C程序在51系列单片机中的应用自技能目标掌握YL-236装置完成任务的电路连接及编程方法人情感目标培养团队合作意识及逻辑意识二、重点难点i教学重点C程序基础知识曾教学难点掌握C程序在51系列单片机中的应用三、学习内容一、设计任务导入单片机与计算机是通过什么语言进行交流的呢?这些语言是怎么使用的?二、【知识链接一1C程序的基础知识LC程序的基本结构(1) C程序是由函数构成的。一个C源程序至少且仅包含一个main函数,也可以包含一个main函数和若干其他函

2、数。函数体的内容由一对1括起来,必须成对出现。(2) main为“主函数”,一个C程序总是从main函数开始执行,而且不论main函数在整个程序中的位置如何。(3) C程序书写格式自由,一行内可以写几条语句,一条语句可以分写在多行上。(4) 每条语句和数据声明的最后必须有一个分号,分号是C语句的必要组成部分,不可缺少。既使程序中最后一条语句也应包含分号。2 .文件包含“文件包含”是指一个文件将另外一个文件的内容全部包含进来。其格式为:#include文件名称#include文件名称两者区别在于和。表示头文件在编译器(KeiIC51)的安装目录下,一般都是编译器自带的头文件;“”表示头文件在当前

3、工程的目录下,一般都是自己写的头文件,编译器将首先查找当前目录,如果没找到,则在由菜单选择项所确定的目录中查找。任务2-1-1的程序中,文件a89x52.h在路径“C:KeilC51INCAtme,中,是编译器自带的头文件,它主要定义了ATMEL公司的52单片机内部相关资源名称,以方便使用。3 .KeilC51单片机集成开发环境KeilC51是目前使用最广泛的基于51单片机内核的开发平台之一,其编译器性能较好。4 .使用KeilC的关键字sbt来定义位变量第一种方法:Sbit位变量名二位地址值第二种方法:Sbit位变量名二字节名称序号第三种方法:Sbit位变量名二字节地址值序号例如:sbitO

4、V=PSW20【知识链接二】程序流程图与程序的构成等1 .程序流程图程序流程图是用一些图框来表示各种操作,直观形象,易于理解。美国国家标准化协会ANSI(AmericanNationalStandardInStitUte)规定的一些常用的流程图符号如知识链接,如图2-1所示。知识链接图2-12 .程序的构成程序二数据结构+算法对数据的指述,在程序中指定数据的类型和数据的组织形式,即数据结构。对操作的描述,即操作步骤,也就是算法。3 .逻辑运算符“!”的作用为逻辑非运算符,其作用是将逻辑量或位变量的值取反,即原来为1的,变为0;原来为0的,变为1。【知识链接三】C51的数据结构一、常量与变量C语

5、言的基本数据类型,按其取值是否可改变分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。1 .数值常量数值常量也称为常数,例如12.-5.3-c,、“abc”等。其中12为整型常量,-5.3为浮点型常量,d为字符型常量,“abc”为字符串常量。2 .符号常量在C语言中,可以用一个标识符(标识符的定义见下文)来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:“define标识符常量”。其中,define也是一条预处理命令,称为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值

6、二、变量值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元,在该存储单元中存放变量的值。请注意:变量名与变量值的区别如知识链接图2-2所示。在C语言中,要求对所有用到的变量做强制定义,也就是“先aJ变量名定义,后使用”。夫=R在C语言中用来标识变量名、符号常量名、函数名、数组名、J变量值类型名等的有效字符序列称为标识符。简单地说,标识符就是一个名存储单元字。知识链接图2-2C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。要注意的是,C语言中大写字母与小写字母被认为是两个不同的字符,即Sum与sum是两个不同的标识符。1 .整型变量

7、整型变量的基本类型符为i11t,在int之前可以根据需要分别加上修饰符。在KeilC中规定,基本整型数据在存储器中占用2个字节(即16bit)、长整型占用4个字节的存储空间。知识链接表2-1列出了各种整型数据的有关数据。知识链接表2-1整数类型的有关数据类型关键字位数数值范围基本类型signedint16-3276832767即-2“(215-l)unsignedint16065535即0(216-l)长整型signedlongint32-21474836482147483647即-2-(231-l)unsignedlongint3204294967295即0(232-l)2 .字符型变量字符

8、型变量的基本类型符为Char,其表达的范围是T28+127;字符型变量只有一个修饰符unsigned,即无符号数,而加上了UnSigned后,其表达的范围变为0255。3 .浮点型变量在8位单片机中,尽量不要用浮点型数据,这里不做介绍。4 .KeilC51特有的变量类型(1)位型变量位型变量是使用一个二进制位来存放数据,其值只有“0”和“I”两种。位型变量的定义和其他数据类型一样,关键字为bit。例如:bita=0;/定义一个位变量,并赋初值为0(2) Sfr型变量80C51内部有一些特殊功能寄存器(sfr)o为定义、存取这些特殊功能寄存器,C51增加了sfr型数据,相应也增加了sfr、sfr

9、l6和Sbit这3个关键字。例如:sfrP0=0x80;/定义8位特殊功能寄存器POsfrl6DPTR=0x82;定义16位特殊功能寄存器DPTR三、变量的存储类型在变量前加一个修饰符可以指定变量的存储器类型。data:片内RAM低128B,直接寻址访问,存储类型默认为data。bata;片内RAM中20H2FH,可以位寻址。idata;片内RAM中256B,间接寻址访问。xata:片外RAM中或片外I/O口扩展。COde;RoM中一般为固定数据表格,用MoVC指令查表访问。例如:unsignedcharbdataflag;sbitFO=flagO;sbitFl=flagl;【知识链接四】C语

10、言函数的相关知识一个较大的单片机应用程序一般应分为若干个程序模块,每一个程序模块用来实现一个定的功能。所有的高级语言都有子程序这个概念,用子程序实现模块的功能。在C语言中子程序的作用是由函数来完成的。一个C程序可由一个主函数和若干个其他函数构成,由一个主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函调用任意多次。任何函数都是平行的,即在定义函数时是分别进行、互相独立的。一个函数并不从属于另一个函数,即函数不能嵌套定义。函数可以互相调用,但main函数不能被其他函数调用。一、函数定义的一般形式函数定义的一般形式为:类型标识符函数名(形参数说明表列)说明部分语句)“类型标识

11、符”指定函数返回值的类型,若无返回值,可用VOid定义无类型;若有返回值,则指定其数据类型。“形式参数”是该函数的输入源数据,也可为空。二、函数参数和函数的返回值L形式参数和实际参数在调用函数时,若主调函数和被调函数之间有数据传递关系,在定义函数时函数名后面括号中的变量名称为“形式参数”(下面简称形参);在主调函数中调用一个函数时,函数名后面括号中的参数(也可以是一个表达式)为“实际参数”(下面简称实参)。函数的形参和实参具有以下特点:(1)形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。形参只在函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量。(2

12、)实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值、输入等办法使实参获得确定值。(3)实参和形参在数量上、类型上、顺序上应严格一致,否则会发生“类型不匹配”的错误。(4)函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。2.函数的返回值有时希望通过函数调用能得到一个确定的值,这就是函数的返回值。例如,在键盘程序中,主函数调用键盘函数得到一个键值,然后根据不同的键值做相应的动作。例如:需要说明的

13、是:(1)函数的返回值是由returm语句获得的,如果需要带回函数值,被调用函数中必须包含returm语句;如果不需要带回函数值,被调用函数中可以不要return语句。(2)return)语句后面的括号可以不要,它后面可以是一个表达式。(3)函数返回值的类型和函数定义中函数的类型标识符应保持一致。如果两者不一致,则以函数类型标识符为准,自动进行类型转换。(4)不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。为了使程序有良好的可读性并减少出错,凡不要求返回值的函数都应定义为空类型。三、局部变量和全局变量1 .局部变量在一个函数内部定义的变量是内部变量,它只在本函数范围内有

14、效,也就是只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的,这称为“局部变量”。局部变量的使用中要注意:(1)主函数中定义的变量也只在主函数中有效,不会因为在主函数中定义而在整个程序中有效。主函数也不能使用其他函数中定义的变量。(2)不同函数可以使用相同名字的变量,它们代表不同的对象,互不干扰。(3)形式参数也是局部变量。2 .全局变量在函数以外定义的变量称为外部变量,外部变量是全局变量(也称为全程变量)。全局变量可以为本文件其他函数所共用,它的有效范围是从定义变量的位置开始到本源文件结束。全局变量的使用中应注意:(1)设置全局变量的作用是增加函数间数据联系的渠道。由于同一文件中的

15、所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,就能影响到其他函数,相当于各个函数间有直接的传递渠道。(2)建议不必要时不要使用全局变量。全局变量过多,会降低程序的清晰性。(3)如果在同一源文件中,全局变量和局部变量同名,在局部变量的作用范围内,全局变量被“屏蔽”,即它不起作用。【知识链接五】C语言的数组实际工作中,往往需要对一组数据进行操作。这一组数据之间有一定联系,如果采用定义变量的方法,需要定义多个变量,并且难以体现各个变量之间的关系。这时,需要用到数组。数组是有序数据的集合。数组中的每个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一地确定数组中的元素。一

16、一维数组的定义和引用一维数组的定义方式为:类型说明符数组名常量表达式例如:chara10;(1)数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。(2)数组名定名规则和变量名的相同,遵循标识符定名规则。(3)数组名不能与其他变量名相同。(4)常量表达式只能用方括号括起来,不能用圆括号。(5)方括号中的常量表达式表示数组元素的个数,如a5表示数组a有5个元素。但是其下标从O开始计算。因此5个元素分别为a0,al,a2,a3,a40(6)不能在方括号中用变量表示元素的个数,但是可以用符号常数或常量表达式。(7)允许在同一个类型说明中,说明多个数组和多个变量。

17、例如:inta,b,c,d,kl10,k220;二、二维数组的定义和引用1 .二维数组的定义方式类型说明符数组名常量表达式1常量表达式2其中,常量表达式1表示第一维下标的长度,常量表达式2表示第二维下标的长度。例:inta34;说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3X4个,即:a00,a0l,a02,a03al0,all,al2,al3a:20,a2l,a22,a23在C语言中,二维数组是按行排列的。2 .二维数组的初始化分行给二维数组赋初值。inta34=1,2,3,4,5,6,7,8,9,10,11,12;可以将所有的数据写在一个大括号内,按数

18、组排列的顺序对各元素赋初值。inta3M=l,2,3,4,5,6,7,8,9,10,11,12;可以对部分元素赋初值。inta34=1,5,9;其作用是对各行的第一个元素赋值。如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。例如:inta:4=1,2,3,4,5,6,7,8,9,10,11,12;或inta4=1,2,3,4,5,6,7,8,9,10,11,12;三、字符数组1 .字符数组的定义用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。例:charc8;定义。为字符数组,包含8个字符元素,元素的下标值从O7。2 .字符数组的初始化

19、对字符数组初始化,最容易理解的方式是逐个字符赋值给数组元素,例如:charc8=,o,m,p,u,t,e,r;3 .字符串和字符串结束标志C语言通常用一个字符数组来存放一个字符串,将0?存人数组作为该字符串是否结束的标志。有了0标志后,就不必再用字符数组的长度来判断字符串的长度了。charc=C,,p,r,o,g,r,a,m;/数组长度为9charc=zzCPrOganT;/数组长度为10由于采用了0标志,所以在用字符申赋初值时一般无须指定数组的长度,而由系统自行处理。三、任务评价价目评项评价内容评价标准评价方式自我评价组价小评教师评价职业素养安全意识、责任意识A作风严谨、自觉遵章守纪、出色完

20、成工作任务B能够遵守规章制度、较好地完成工作任务C遵守规章制度、没完成工作任务或完成工作任务、但忽视规章制度D不遵守规章制度、没完成工作任务职业素养学习态度主动A积极参与教学活动,全勤B缺勤达本任务总学时的10%C缺勤达本任务总学时的20%D缺勤达本任务总学时的30%团队合作意识A与同学协作融洽、团队合作意识强B与同学能沟通、协同工作能力较强C与同学能沟通、协同工作能力一般D与同学沟通困难、协同工作能力较差业力专能学习活动1工作准备A按时、完整地完成工作页,问题回答正确B按时、完整地完成工作页,问题回答基本正确C未能按时完成工作页,或内容遗漏、错误较多D未完成工作页学习活动2现场施工A学习活动评价成绩为90-100分B学习活动评价成绩为75-89分C学习活动评价成绩为60-74分D学习活动评价成绩为0-59分学习活动3评价与总结A学习活动评价成绩为90-100分B学习活动评价成绩为75-89分C学习活动评价成绩为60-74分D学习活动评价成绩为0-59分创新能力学习过程中提出具有创新性、可行性的建议加分奖励:班级学号姓名综合评价等级指导老师日期四、教学后记

宁ICP备18001539号-1