电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

单片机原理及接口技术 教学课件 ppt 作者 赵佩华 眭碧霞 第4章 单片机的C51程序设计

  • 资源ID:89483273       资源大小:90.50KB        全文页数:54页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

单片机原理及接口技术 教学课件 ppt 作者 赵佩华 眭碧霞 第4章 单片机的C51程序设计

第4章 单片机的C51程序设计,机械工业出版社,第4章 单片机的C51程序设计,C51编程概述 C51数据类型及存储类型 C51的基本运算 C51的构造数据类型 C51的函数 汇编语言和C语言的混合编程,4.1 C51编程概述,概述 8051单片机支持四种语言:汇编、PL/M、C和BASIC。,4.1 C51编程概述,KEIL 8051开发工具 KEIL 8051开发工具可用于编译C源程序、汇编源程序,链接和定位目标文件及库, 创建HEX文件以及调试目标程序。,4.1 C51编程概述,C51程序开发过程 Cx51源程序是ASCII文件,可以用任何标准的ASCII文本编辑器来编写。例如记事本,写字板等。,4.1 C51编程概述,C51程序结构 C语言程序的组成结构如下所示: 全局变量说明 /*可被各函数引用*/ main() /*主函数*/ 局部变量说明 /*只在本函数引用*/ 执行语句(包括调用其他函数语句) fun1(形式参数表) /*函数1*/ 形式参数说明 ,4.2 C51数据类型及存储类型,C51的数据类型 C51的数据类型大体可以分为基本数据类型、构造数据类型、指针类型、空类型、位型变量等。,4.2 C51数据类型及存储类型,C51的数据存储类型 C51编译器允许的存储类型主要包括data,bdata、idata、pdata、xdata和code等,它们和单片机的不同存储区相对应。,4.2 C51数据类型及存储类型,C51对单片机主要资源的定义 使用关键字定义SFR 通过头文件访问SFR 对扩展I/O端口或片外RAM的直接访问 定义和使用位变量,4.3 C51的基本运算,C51的基本运算主要包括算数运算、关系运算、逻辑运算、位运算和赋值运算及其表达式等。,4.3 C51的基本运算,C51的算术运算 基本算术运算 自增、自减运算 算术表达式和运算符的优先级与结合性,4.3 C51的基本运算,C51的关系运算 关系运算符: 、 = 、= =、! = 关系表达式:用关系运算符将运算对象连接起来的式子为关系表达式,关系表达式的值为逻辑值,其结果只能取真和假两种值。,4.3 C51的基本运算,C51的逻辑运算 C51提供3种逻辑运算符:&& 、| | 、! 逻辑表达式:用逻辑运算符将运算对象连接起来的式子称为逻辑表达式,逻辑表达式的值是逻辑量,即真或假。,4.3 C51的基本运算,C51的位运算 位运算的操作对象是整型和字符型数据,不能是实型数据。 & (按位与)、| (按位或)、 (按位异或) 、 (按位取反)、 (左移)、 (右移),4.3 C51的基本运算,C51的赋值运算 赋值运算符:= 赋值表达式:变量名=表达式 赋值的类型转换规则:赋值运算中,赋值号两侧数据类型不一致时,系统自动将右边表达式值转换成左侧变量的类型,再赋给该变量。 复合赋值运算符:赋值符号前加上其他运算符构成复合赋值运算符。,4.4 C51的构造数据类型-数组,C51的构造数据类型有数组、指针和结构等。 在单片机系统中,数组的应用比较广泛,指针次之,结构则用得相对较少。,4.4 C51的构造数据类型-数组,数组 数组是同类型数据的有序集合。 数组用一个名字来标识,称为数组名。 数组中各元素的顺序用下标表示,下标为n的元素可以表示为数组名 n 。 改变 中的下标就可以访问数组中的不同元素。,4.4 C51的构造数据类型-数组,一维数组 由具有一个下标的数组元素组成的数组称为一维数组。 定义一维数组的一般形式如下: 类型说明符 数组名元素个数; 在定义数组时可以对数组进行整体初始化。定义后,若想对数组赋值,则只能对每个元素分别赋值。,4.4 C51的构造数据类型-数组,二维数组 具有两个或两个以上下标的数组称为二维数组或多维数组。 二维数组定义形式如下: 类型说明符 数组名行数 列数 ; 其中,数组名是一个标识符,行数和列数是常量表达式。 二维数组在定义时可以整体初始化,定义后,可单个赋值。,4.4 C51的构造数据类型-数组,字符数组 若数组的元素是字符型的,则该数组是一个字符数组。,4.4 C51的构造数据类型-指针,指针 C51支持“基于存储器”的指针和“一般”指针。 当定义一个指针变量时,若未给出它所指向的对象的存储类型,则该指针变量被认为是一般指针;若给出了它所指对象的存储类型,则该指针被认为是基于存储器的指针。,4.4 C51的构造数据类型-指针,基于存储器的指针 例如: char xdata * px; px指向一个存在片外RAM的字符变量,Px在默认的存储器中,占2字节。 char xdata * data py; py指向一个存在片外RAM的字符变量,py本身在RAM中,占用2字节。,4.4 C51的构造数据类型-指针,一般指针 函数调用过程中,函数的指针参数需要用一般指针。 一般指针的说明形式如下: 数据类型 *指针变量 如:char * pz; pz处于编译模式默认的存储区,长度为3字节。,4.4 C51的构造数据类型-结构,结构类型的定义 struct 结构名 结构成员说明;/和定义基本数据类型相似 例如,定义一个名为date的结构类型: struct date int month; int day; int year; ,4.4 C51的构造数据类型-结构,定义结构的变量 结构变量可以在定义结构时定义,也可以先定义结构类型,在定义该结构的变量。,4.4 C51的构造数据类型-结构,定义结构的变量 先定义结构date,再定义其结构的变量date 1和date2: date datel , date2; struct student int no; char name 20 ; int grade; wangxiao, liping ; / /定义结构时即定义结构的变量date 1和date2。,4.4 C51的构造数据类型-结构,结构类型变量的引用 使用成员运算符“ . “实现对结构成员的引用。 例如: date. year = 2003; date. month = 12; date. day = 25;,4.5 C51流程控制语句,C51 的选择语句有: if语句 switch/ case语句。,4.5 C51流程控制语句-if,if语句 C51提供3种形式的if语句: if(表达式) 语句; if(表达式)语句 ; else语句2; if(表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; ,4.5 C51流程控制语句-if,if语句 如果一个if语句中又含有一个或多个if语句,则称为if语句嵌套。 在if语句嵌套中,应注意if与else的对应关系,else总是与它前面最近的一个if语句相对应。,4.5 C51流程控制语句- switch,switch/ case 语句 switch/ case是多分支选择语句,形式如下: switch (表达式) case常量表达式1 :语句1; break; case常量表达式2:语句2; break; case常量表达式n:语句n; break; default :语句n + 1 ; ,4.5 C51流程控制语句- switch,说明 1. switch括号中的表达式的值与某一case后面的常量表达式的值相同时,就执行它后面的语句,遇到break语句则退出switch语句。 2. 若所有的case中的常量表达式的值都没有与表达式的值相匹配时,就执行default后面的语句。,4.5 C51流程控制语句- switch,说明 3. 每一个case的常量表达式必须是互不相同的,否则将出现混乱局面。 4. 各case和default出现的次序,不影响程序的执行结果。,4.5 C51流程控制语句,循环语句 循环程序主要有“当型”循环和“直到型”循环两种,C51对此提供了4种实现方法。,4.5 C51流程控制语句,循环语句 基于if和goto构成的循环 基于while语句构成的循环 基于do-while语句构成的循环 基于for语句构成的循环,4.5 C51流程控制语句,基于if和goto构成的循环 采用if和goto可以构成“当型“循环程序: loop: if(表达式) 语句 goto loop; loop是语句标号,或称为标识符,原则上任何一条语句都可以有标号,标号和语句用 “ :”号分开。,4.5 C51流程控制语句,基于if和goto构成的循环 采用if和goto可以构成“直到型“循环程序: loop: 语句; if(表达式) goto loop; ,4.5 C51流程控制语句,基于while语句构成的循环 while语句用来实现“当型“循环: while (表达式) 语句;/可以是复合语句 while语句首先计算表达式的值;若其值为非0,则执行内嵌语句,若其值为0,则退出while 循环。,4.5 C51流程控制语句,基于do-while语句构成的循环 do-while语句用来实现“直到型“循环: do 语句;/可以是复合语句 while (表达式) ;,4.5 C51流程控制语句,基于do-while语句构成的循环 do-while语句特点:先执行内嵌的语句;再计算表达式,如果表达式的值为非0,则继续执行内嵌的语句,直到表达式的值为0时结束循环。,4.5 C51流程控制语句,基于for语句构成的循环 for语句的一般形式为: for (表达式1 ;表达式2;表达式3) 语句; ,4.5 C51流程控制语句,基于for语句构成的循环 for语句执行过程:首先求解表达式1 ;其次求解表达式2,若其值非0,则执行内嵌语句;否则退出循环;最后求解表达式3,并回到第2步。 在for 语句中,可以没有表达式1、表达式2或表达式3,若三个表达式都没有,则相当于二个死循环。,4.5 C51流程控制语句,C51的中断控制 C51编译器支持在C51源程序中直接开放中断过程或中断函数,但中断函数是由中断系统自动调用的。 用户在主程序或函数中一般不能调用中断函数,否则容易导致混乱。,4.5 C51流程控制语句,C51的中断控制 中断函数定义: 返回值 函数名 interrupt n using r,4.5 C51流程控制语句,C51的中断控制 中断函数中, interrupt和using为关键字。 n为中断源编号。05分别对应外部中断0、定时器/计数器0中断、外部中断1、定时器/计数器1中断、串口中断和定时器/计数器2中断。 r为工作寄存器组,取值范围为03。若选择了寄存器组,则按程序员的安排编译,否则由编译器自动分配。,4.6 C51函数,函数的分类 从C 程序结构上划分:主函数main ( )和普通函数。,4.6 C51函数,函数的分类 普通函数可以分为:标准库函数、用户自定义函数。 标准库函数是由C编译系统提供的库函数。在C编译系统中将一些独立的功能模块编写成公用函数,并将它们集中存放在系统的函数库中,供程序设计时使用,称之为标准库函数。,4.6 C51函数,函数的分类 用户自定义函数是用户根据自己的需要编写的函数。从函数定义的形式上可以将其划分为无参数函数、有参数函数和空函数。,4.6 C51函数,函数的定义 函数定义形式: 返回值类型 函数名(形式参数列表) 函数体; ,4.6 C51函数,说明 1. 返回值可以是基本数据类型或指针类型。 2. 当函数没有返回值时,则使用标识符void进行说明。若没有指定函数的返回值类型,默认返回值则为整型类型。 3. 一个函数只能有一个返回值,该返回值通过函数中的return语句获得。,4.6 C51函数,说明 4. 函数名必须是合法标识符。 5. 形式参数列表包括了函数所需全部参数的定义。形式参数可以是基本数据类型的数据、指

注意事项

本文(单片机原理及接口技术 教学课件 ppt 作者 赵佩华 眭碧霞 第4章 单片机的C51程序设计)为本站会员(E****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.