Arduino编程控制与应用 课件4-2 完成数字秒表的实现_第1页
Arduino编程控制与应用 课件4-2 完成数字秒表的实现_第2页
Arduino编程控制与应用 课件4-2 完成数字秒表的实现_第3页
Arduino编程控制与应用 课件4-2 完成数字秒表的实现_第4页
Arduino编程控制与应用 课件4-2 完成数字秒表的实现_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

Arduino编程控制与应用能力模块四掌握Arduino编程语言的进阶应用任务二完成数字秒表的实现导入每当有重大节日的时候,都会启动倒计时牌启动仪式,例如2009年5月1日上午,在北京天安门广场东侧中国国家博物馆前,举行中国2010年上海世博会倒计时一周年暨计时牌启动仪式,其中倒计时的功能,我们也可以利用Arduino开发板来实现,本次任务我们将利用Arduino编程来实现数字秒表的功能。新授Newteaching1目录一、一维数组二、二维数组一、一维数组(一)数组的定义及作用数组的定义数组由若干个类型相同的元素组成,每个元素就是一个变量,每个数组都有一个名称,称为数组名。数组的作用数组在大数量处理和字符串处理中得到广泛使用。在程序中合理地使用数组,会使程序的结构比较整齐,而且可以把较为复杂的运算,转化成简单的数组来表示。一、一维数组(二)一维数组的定义一维数组是最简单的数组,其逻辑结构是线性表。一维数组的数组元素只有一个下标。在C语言程序中使用数组必须先进行定义。定义一维数组的一般形式为:数据类型数组名[整型常量表达式]其中:数据类型是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符(数组名称)。方括号中的整型常量表达式表示数据元素的个数,也称为数组的长度。一、一维数组(三)一维数组的初始化数组的初始化是用来实现对数组的每个元素赋初值的。虽然有的编译器会自动对数组赋初值,但为了安全起见,建议用户自己对数组赋初值。对一维数组初始化的一般形式为:数据类型数组名[长度]={数值1,数值2,……,数值n}。一、一维数组(四)一维数组的引用维数组的引用就是对一维数组元素的使用,数组定义好并初始化后就可以使用(或称为调用)。引用一维数组的一般形式为:数组名[下标]二、二维数组(一)二维数组的定义

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。二维数组又称为矩阵,通常有两个下标(第一个下标表示行,第二个下表表示列),行列数相等的矩阵称为方阵。引用二维数组的一般形式为:数据类型数组名[整型常量表达式][整型常量表达式]二、二维数组(二)二维数组的初始化

二维数组的初始化是用来实现对二维数组的每个元素赋初值,其赋值方式有多种,这里介绍常用的两种赋值方式——分段赋值和连续赋值。二、二维数组(三)二维数组的引用

二维数组的引用就是对二维数组元素的使用,数组定义好并初始化后就可以使用(或称为调用)。引用二维数组的一般形式为:数组名[下标1][下标2]任务实施2TaskImplementation一、任务准备(一)软件及硬件准备序号软件及硬件名称数量1ArduinoIDE/2联网的电脑1台/人3键盘1个/人4鼠标1个/人5ArduinoUNO开发板1块/人6四位数码管扩展板1块/人7USB串口线1根/人一、任务准备(二)场地设备准备(三)安全防护准备任务实施前需要做好场地防护准备以及检查实训场地和设备设施是否及存在安全隐患,如不正常请汇报老师并进行处理方可实施任务。11.注意Arduino开发板与电脑的连接是否可靠;22.注意Arduino开发板与电脑连接端口的匹配;

33.注意输出电压,避免开发板被烧坏;

44.注意Arduino开发板与四位数码管扩展板连接时,针脚要对孔,插入时要小心,避免阵脚变歪或折断。

二、实施步骤(一)控制电路连接

步骤1:连接线的方头端接口连接ArduinoUNO控制板,另一端USB接口连接电脑。

二、实施步骤(一)控制电路连接

步骤2:四位数码管扩展板安装在Arduino开发板上。

二、实施步骤(二)控制程序编写与上传

步骤1:打开ArduinoIDE软件,进入界面。

二、实施步骤(二)控制程序编写与上传

步骤2:在工具-端口-选择对应的端口。若分不清端口,先把开发板连接上,查看端口,有COM1、COM3、COM4、COM5、COM6;断开开发板连接,查看端口,有COM3、COM4、COM5、COM6;少了一个COM10端口,那么COM10就是对应的端口。

二、实施步骤(三)一维数组与“倒数”

步骤1:新建一个文档,//后的代码可删除;在【代码编写区域】下方输入如图所示代码。

二、实施步骤(三)一维数组与“倒数”

步骤2:在【代码编写区域】中的“voidsetup(){”下方输入如图所示代码。

二、实施步骤(三)一维数组与“倒数”

步骤3:再在【代码编写区域】中的“voidloop(){”下方输入如图所示代码。

二、实施步骤(三)一维数组与“倒数”

步骤4:如图所示单击“上传”按钮,通过USB转串口芯片将程序烧写到控制板的主控芯片中;

二、实施步骤(三)一维数组与“倒数”

步骤5:若操作顺利,将出现“上传成功”的提示,如图所示,四位数码管扩展板上的第4位数码管会出现9-8-7-6-5-4-3-2-1-0的倒数循环。

二、实施步骤(三)一维数组与“倒数”

步骤6:控制程序解析:(1)首先使用宏定义#define定义数码管的字段管脚与arduinoUNO板管脚的对应关系,即a—11、b—9、c—7、d—5、e—4、f—10、g—8、h—6,并定义了数码管公共端管脚与arduinoUNO板管脚的对应关系,即DIG1—A0、DIG2—A1、DIG3—3、DIG4—2。(2)接着利用一维数组将字段对应的arduinoUNO板管脚号定义为整型一维数组intpin[],同时将显示0—9这10个数字对应的管脚电平状态定义成相对应的整型一维数组,以方便调用。(3)利用初始化函数voidsetup将上述所有的管脚定义为输出模式,并将DIG1、DIG2、DIG3设置为低电平,使数码管前三位不激活显示,将DIG4设置为高电平,激活第四位数码管。(4)在loop函数中,利用动态显示技术(采用for循环结构),调用对应的一维数组显示数字“9”,延时1s后,接着调用对应一位数组显示“8”,延时1s……,直到显示数字“0”并延时1s后,再重新进行loop循环。二、实施步骤(三)一维数组与“倒数”

二、实施步骤(三)一维数组与“倒数”

程序运行流程图二、实施步骤(四)二维数组秒表

步骤1:新建一个文档,//后的代码可删除;在【代码编写区域】输入如图所示代码。

二、实施步骤(四)二维数组秒表

步骤2:在【代码编写区域】中的“voidsetup(){”下方输入如图所示代码。

二、实施步骤(四)二维数组秒表

步骤3:在【代码编写区域】中的“voidloop(){”下方输入如图所示代码。

二、实施步骤(四)二维数组秒表

步骤4:在【代码编写区域】下方输入“voidRefresh(intDIG,intn){”,并在其下方输入如图所示代码。

二、实施步骤(四)二维数组秒表

步骤5:如图所示单击“上传”按钮,通过USB转串口芯片将程序烧写到控制板的主控芯片中。

二、实施步骤(四)二维数组秒表

步骤6:若操作顺利,将出现“上传成功”的提示,如图所示,四位数码管扩展板上会出现0-9999的秒表功能,从第四位数码管开始计数,从1开始直到9999才归零,归零后又开始新的一轮循环。

二、实施步骤(四)二维数组秒表

步骤7:控制程序解析(1)首先使用宏定义#define定义数码管的字段管脚与arduinoUNO板管脚的对应关系,即a—11、b—9、c—7、d—5、e—4、f—10、g—8、h—6,并定义了数码管公共端管脚与arduinoUNO板管脚的对应关系,即DIG1—A0、DIG2—A1、DIG3—3、DIG4—2。(2)接着利用二维数组将显示0—9这10个数字对应的管脚电平状态定义成相对应的字符型二维数组(每一行对应一个数字的电平状态,0为高电平,1为低电平),以方便调用。(3)利用初始化函数voidsetup将上述所有的管脚定义为输出模式。(4)在loop函数中,利用动态显示技术(采用嵌套的for循环结构,遍历显示数码管的4位),调用自定义的子函数refresh显示对应的内容。(5)定义子函数refresh点亮数码管以显示相应内容,该子函数带两个传递参数,其中DIG为位选参数(即对应四位数

温馨提示

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

评论

0/150

提交评论