第三模块 单片机基本结构项目实训

上传人:飞*** 文档编号:46183527 上传时间:2018-06-23 格式:PPT 页数:72 大小:607.50KB
返回 下载 相关 举报
第三模块  单片机基本结构项目实训_第1页
第1页 / 共72页
第三模块  单片机基本结构项目实训_第2页
第2页 / 共72页
第三模块  单片机基本结构项目实训_第3页
第3页 / 共72页
第三模块  单片机基本结构项目实训_第4页
第4页 / 共72页
第三模块  单片机基本结构项目实训_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《第三模块 单片机基本结构项目实训》由会员分享,可在线阅读,更多相关《第三模块 单片机基本结构项目实训(72页珍藏版)》请在金锄头文库上搜索。

1、第三模块 单片机基本结构项目实训 项目7 LED发光管控制 项目8 LED数码管显示控制项目7 LED发光管控制 任务3-7-1 使用P1口控制LED灯闪烁 任务3-7-2 使用P3口流水点亮8位LED 任务3-7-3 使用数组控制P0口流水灯 任务3-7-4 使用运算符控制P2口流水灯 任务3-7-5 使用swtich语句的控制P2口LED流水灯 任务3-7-6 使用if语句的控制P2口LED流水灯 任务3-7-7 使用数组的指针控制P2口流水灯 任务3-7-8 使用指针作函数参数控制P2口流水灯 任务3-7-9 使用函数库文件控制P2口LED流水灯任务3-7-1 使用P1口控制LED灯闪烁

2、一、单片机的I/O口8051单片机40脚双列直插式封装,有四个8位的并行I/O接口:P0口 (3932)、P1口(18)、P2口(2128)和P3口(1017), 共32根I/O线。每个I/O口主要由4部分构成:端口锁存器、输入缓冲 器、输出驱动器和端口引脚。它们都是双向通道,每一条I/O线都能 独立地用作输入或输出线。作输入时数据可以缓冲,作输出时数据 可以锁存。 单片机的四个I/O口功能不完全相同,在特性上的差别主要是P0、 P2、P3口都还有第二功能,而P1口只能用作普通I/O口。 P0口为双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用 。 P1口为准双向I/O口,只能用作

3、普通I/O口。 P2口为准双向I/O口,既可作地址总线口输出地址高8位,也可作普 通I/O口用。 P3口为多用途端口,既可作普通I/O口用,也可用作专门定义的第二 功能。任务3-7-1 使用P1口控制LED灯闪烁P3口的第二功能位第二功能说明位第二功能说明P3.0RXD串行输入口P3.4T0计数器0计数输入P3.1TXD串行输出口P3.5T1计数器1计数输入P3.2外部中断0输入P3.6外部数据RAM写 选通信号P3.3外部中断1输入P3.7外部数据RAM读 选通信号任务3-7-1 使用P1口控制LED灯闪烁二、C语言的数据类型数据 类类 型符 号关键键字字 长长数的表示范围围整型有(sign

4、ed) int16-3276832767(signed) short16-3276832767(signed) long32- 214748364821 47483647 无(unsigned) int16065535(unsigned) short16065535(unsigned) long3204294967295字符 型有char8-128127无(unsigned) char80255实实型有float323.4E-383.4E38有double641.7E-3081.7E308任务3-7-1 使用P1口控制LED灯闪烁三、硬件电路设计四、软件程序设计任务3-7-2 使用P3口流水点

5、亮8位LED一、C语言的循环结构循环结构是指程序根据某条件的存在重复执行一段程序,直到这个条件不 满足为止。常用的循环结构语句有for循环语句、while循环语句和 dowhile循环语句。1for循环语句 for循环语句的一般格式如下: for(初始化表达式;条件表达式;增量表达式) 语句;for循环语句的执行过程如下: 初始化表达式 求解条件表达式:条件表达式为逻辑表达式,若其值为“真”,其逻 辑值为“1”,则执行for随后的语句;若其值为“假”,其逻辑值为“0” ,则跳出for循环语句执行后续程序 若条件表达式为“真”,则在执行for随后的语句后,执行增量表达 式 再次求解条件表达式,形

6、成循环任务3-7-2 使用P3口流水点亮8位LED2while循环语句 while循环语句先判定循环条件的真假,条件为真,则执行循环体;条 件为假,则跳出循环体,执行后续程序。while循环语句的一般格式如下: while(条件表达式) 循环体 当循环体包含一个以上的语句时,应该用花括弧将这些语句括起来。 当条件表达式为常量“1”时,实现无限循环。3dowhile循环语句 dowhile循环语句循环语句先执行循环体一次,再判定条件表达式的 值。若条件为真,则继续执行循环体;若条件为假,则跳出循环体,执行后 续程序。dowhile循环语句的一般格式如下: do 循环体语句 while(条件表达式

7、);任务3-7-2 使用P3口流水点亮8位LED二、C语言的函数C语言程序是由函数组成的,一个C语言程序由一个主函数和若干个其他函 数构成。主函数有且只能有一个,此外还可以有其他函数。主函数可以调 用其他函数,其他函数之间也可以互相调用,但是其他函数不能调用主函 数。函数分为无参函数和有参函数两种。无参函数被调用时没有参数传递,有 参函数被调用时有参数传递。无参函数定义的一般形式如下: 类型说明符 函数名(void)/用“void”声明该函数无参数 说明部分 语句部分 在函数定义的一般形式中,类型说明符定义函数返回值的类型。如果函数 没有返回值,需要用“void”作为类型说明符。如果函数有返回

8、值,则用 返回值的数据类型说明符作为函数的类型说明符。如果没有定义类型说明符,函数返回值默认为整型数据。主函数只能用main()命名。其他函数可以根据函数的功能灵活命名,比如 常用“delay()”命名延时函数。有参函数定义的一般形式如下: 类型说明符 函数名(形式参数列表)/形式参数超过一个时 ,用逗号隔开 说明部分 语句部分 任务3-7-2 使用P3口流水点亮8位LED三、C语言编程的基本语法与格式要求1C语言中括号的用法 大括号 圆括号( ) 方括号 尖括号 2C语言中逗号“,”与分号“;”的用法3C语言中的中英文输入法四、硬件电路设计任务3-7-2 使用P3口流水点亮8位LED五、软件

9、程序设计任务3-7-3 使用数组控制P0口流水灯一、C语言的数组1数组 在程序设计中,把具有相同类型的若干变量按有序的形式组织起来, 这些按序排列的同类数据元素的集合称为数组。 数组类型说明:数组说明的一般形式为: 类型说明符 数组名 常量表达式;2数组元素的表示方法 数组元素是组成数组的基本单元。数组元素也是一种变量,其标识方 法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。 数组元素的一般形式为:数组名下标 3数组的赋值 给数组赋值的方法除了用赋值语句对数组元素逐个赋值外,还可采用 初始化赋值和动态赋值的方法。 初始化赋值的一般形式为: 类型说明符 数组名常量表达式=值,值,值;

10、在 中的各数据值即为各元素的初值,各值之间用逗号间隔。任务3-7-3 使用数组控制P0口流水灯二、语言的字符集4数组元素的引用 数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量 。在语言中只能逐个地使用下标变量,而不能一次引用整个数组。字符是组成语言的最基本的元素。语言字符集由字母,数字,空格 ,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字 或其它可表示的图形符号。 1.字母:小写字母az共26个,大写字母AZ共26个。 2.数字:09共10个。 3.空白符:格符、制表符、换行符等统称为空白符。 4.标点和特殊字符。任务3-7-3 使用数组控制P0口流水灯三、C

11、语言的词汇在语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符 ,常量,注释符等。 1标识符:在程序中使用的变量名、函数名、标号等统称为标识符。 2关键字:是由语言规定的具有特定意义的字符串,通常也称为保 留字。 3运算符:语言中含有相当丰富的运算符。运算符与变量,函数一 起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。 4分隔符:在语言中采用的分隔符有逗号和空格两种。 逗号主要用在类型说明和函数参数表中,分隔各个变量。 空格多用于语句各单词之间,作间隔符。 5常量:C语言中使用的常量可分为数字常量、字符常量、字符串常 量、符号常量、转义字符等多种。 6.注释符:C语言的注释

12、符是以“/*”开头并以“*/”结尾的串。在 “/*”和“*/”之间的即为注释。如果只需注释某一行语句,也可以在该行 语句后面在“/” 注释符后对该行语句进行注释。四、硬件电路设计五、软件程序设计任务3-7-3 使用数组控制P0口流水灯任务3-7-4 使用运算符控制P2口流水灯一、语言的基本运算符1运算符的种类 (1)算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求 余或模运算(%)、自增(+)、自减(-)共七种。 (2)关系运算符:用于比较运算。包括大于()、小于(=)、小于等于()六种。 (5)赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=、-=

13、、 *=、/=、%=)和复合位运算赋值( case常量表达式2: 语句2; case常量表达式n: 语句n; default : 语句n+1; 其功能是:计算表达式的值。并逐个与其后的常量表达式值相比较,当 表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行 判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表 达式均不相同时,则执行default后的语句。任务3-7-5 用swtich语句控制P2口LED流水灯三、语言中函数调用应注意的几个问题1对被调函数的说明 在主调函数中调用某函数之前应对该被调函数进行说明,这与使用变量之 前要先进行变量说明是一

14、样的。在主调函数中对被调函数作说明的目的是使编 译系统知道被调函数返回值的类型,以便在主调函数中按此种类型对返回值作 相应的处理。 对被调函数的说明有两种格式,一种为传统格式,其一般格式为: 类型说明符 被调函数名(); 这种格式只给出函数返回值的类型,被调函数名及一个空括号。这种格式 由于在括号中没有任何参数信息,因此不便于编译系统进行错误检查,易于发 生错误。 另一种为现代格式,其一般形式为: 类型说明符 被调函数名(类型 形参,类型 形参); 或为: 类型说明符 被调函数名(类型,类型); 现代格式的括号内给出了形参的类型和形参名,或只给出形参类型。这便 于编译系统进行检错,以防止可能出

15、现的错误。任务3-7-5 用swtich语句控制P2口LED流水灯三、语言中函数调用应注意的几个问题2可以省去被调函数说明的几种情况 语言中又规定在以下几种情况时可以省去主调函数中对被调函数的 函数说明。(1)如果被调函数的返回值是整型或字符型时,可以不对被调函数 作说明,而直接调用。这时系统将自动对被调函数返回值按整型处理。(2)当被调函数的函数定义出现在主调函数之前时,在主调函数中 也可以不对被调函数再作说明而直接调用。(3)如在所有函数定义之前,在函数外预先说明了被调函数的类型 ,则在以后的各主调函数中,可不再对被调函数作说明。(4)对库函数的调用不需要再作说明,但必须把该函数的头文件用

16、 include命令包含在源文件前部。四、硬件电路设计任务3-7-5 用swtich语句控制P2口LED流水灯五、软件程序设计任务3-7-6 用if语句控制P2口LED流水灯一、MCS-51单片机的存储器及其结构1程序存储器 MCS-51单片机具有64kB程序存储器寻址空间,它是用于存放用户程序、 数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接 ,空间地址为64kB,此时单片机的EA端必须接地。强制CPU从外部程序存储器 读取程序。对于内部有ROM的8051等单片机,正常运行时,EA则需接高电平, 使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转 向外部的程序存储器读取程序。8051片内有4kB的程序存储

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号