《Arduino技术及应用》课件—第3章Arduino语言及程序结构.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Arduino技术及应用》课件—第3章Arduino语言及程序结构.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Arduino技术及应用 Arduino 技术 应用 课件 语言 程序结构
- 资源描述:
-
1、第3章 Arduino语言及程序结构目录目录2嵌入式系统应用1就业前景 Arduino语言 Arduino程序结构3.1 Arduino语言语言v Arduino语言是建立在C/C+基础上的,其实质是基础的C语言,Arduino语言把相关的一些参数设置都函数化,用户不用了解其底层,对于不了解AVR单片机(微控制器)的同学也能轻松上手,跨入Arduino语言的学习行列。3.1.1 描绘程序码的符号描绘程序码的符号v Arduino程序可以分为三个主要部分:结构,数值(变量与常量)和函数。一些描绘程序码的符号见下表3-1。结构数值函数程序结构常量数字 I/Osetup()loop()HIGH|LO
2、WINPUT|OUTPUTtrue|falseinteger constantsf l o a t i n g p o i n t constantspinMode()digitalWrite()digitalRead()表3-1 一些描绘程序码的符号3.1.1 描绘程序码的符号描绘程序码的符号控制结构数据类型模拟 I/Oifif.elseforswitch casewhiledo.whilebreakcontinuereturngotoVoidbooleancharunsigned charbyteintunsigned intwordlongunsigned longfloatdouble
3、string-char arrayString-objectarrayanalogReference()analogRead()analogWrite()-PWM3.1.1 描绘程序码的符号描绘程序码的符号进阶语法转换高级 I/O;(semicolon)(curly braces)/(single line comment)/*/(multi-line comment)#define#includechar()byte()int()word()long()float()tone()noTone()shiftOut()shiftIn()pulseIn()3.1.1 描绘程序码的符号描绘程序码的符
4、号算术运算符 时间=(assignment)+(addition)-(subtraction)*(multiplication)/(division)%(modulo)millis()micros()delay()delayMicroseconds()3.1.1 描绘程序码的符号描绘程序码的符号比较运算符 数学=(equal to)!=(not equal to)(greater than)=(greater than or equal to)min()max()abs()constrain()map()pow()sqrt()3.1.1 描绘程序码的符号描绘程序码的符号布尔运算符 三角函数&(
5、and)|(or)!(not)sin()cos()tan()复合运算符号 通信+(increment)-(decrement)+=(compound addition)-=(c o m p o u n d subtraction)*=(c o m p o u n d multiplication)/=(compound division)&=(compound bitwise and)|=(compound bitwise or)SerialStream3.1.2 注释、常量注释、常量v 1、注释v 程序的注释就是对代码的解释和说明,编写注释有助于程序设计师(或其他人)了解代码的功能。v Ar
6、duino处理器在对程序码进行编译时会忽略注释的部份。v Arduino语言中的编写注释有两种方式:v 单行注释:/注释内容v 多行注释:v/*v 注释内容1v 注释内容2v */3.1.2 注释、常量注释、常量v 2、常量constantsv 常量是在Arduino语言里预定义的变量。它们被用来使程序更易阅读。我们按组将常量分类。v(1)逻辑层定义,true与false(布尔Boolean常量)v 在Arduino内有两个常量用来表示真和假:true和 false。v falsev 在这两个常量中false更容易被定义。false被定义为0(零)。v truev true通常被定义为1,这是
7、正确的,但true具有更广泛的定义。在布尔含义(Boolean sense)里任何非零整数为true。所以在布尔含义内-1,2和-200都定义为ture。需要注意的是true和false常量,不同于HIGH,LOW,INPUT和OUTPUT,需要全部小写。v 注意:arduino是大小写敏感语言(case sensitive)。3.1.2 注释、常量注释、常量v(2)引脚电压定义,HIGH和LOWv 当读取(read)或写入(write)数字引脚时只有两个可能的值:HIGH和LOW。v HIGHv HIGH(参考引脚)的含义取决于引脚(pin)的设置,引脚定义为INPUT或OUTPUT时含义有
8、所不同。当一个引脚通过pinMode被设置为INPUT,并通过digitalRead读取(read)时。如果当前引脚的电压大于等于3V,微控制器将会返回为HIGH。引脚也可以通过pinMode被设置为INPUT,并通过digitalWrite设置为HIGH。输入引脚的值将被一个内在的20K上拉电阻控制在HIGH上,除非一个外部电路将其拉低到LOW。当一个引脚通过pinMode被设置为OUTPUT,并digitalWrite设置为HIGH时,引脚的电压应在5V。在这种状态下,它可以输出电流。例如,点亮一个通过一串电阻接地或设置为LOW的OUTPUT属性引脚的LED。3.1.2 注释、常量注释、常
9、量v LOWv LOW的含义同样取决于引脚设置,引脚定义为INPUT或OUTPUT时含义有所不同。当一个引脚通过pinMode配置为INPUT,通过digitalRead设置为读取(read)时,如果当前引脚的电压小于等于2V,微控制器将返回为LOW。当一个引脚通过pinMode配置为OUTPUT,并通过digitalWrite设置为LOW时,引脚为0V。在这种状态下,它可以倒灌电流。例如,点亮一个通过串联电阻连接到+5V,或到另一个引脚配置为OUTPUT、HIGH的的LED。3.1.2 注释、常量注释、常量v(3)数字引脚(Digital pins)定义,INPUT和OUTPUTv 数字引脚
10、当作 INPUT 或 OUTPUT都可以。用pinMode()方法使一个数字引脚从INPUT到OUTPUT变化。v 引脚(Pins)配置为输入(Inputs)v Arduino(Atmega)引脚通过pinMode()配置为输入(INPUT)即是将其配置在一个高阻抗的状态。配置为INPUT的引脚可以理解为引脚取样时对电路有极小的需求,即等效于在引脚前串联一个100兆欧姆(Megohms)的电阻。这使得它们非常利于读取传感器,而不是为LED供电。3.1.2 注释、常量注释、常量v 引脚(Pins)配置为输出(Outputs)v 引脚通过pinMode()配置为输出(OUTPUT)即是将其配置在一
11、个低阻抗的状态。v 这意味着它们可以为电路提供充足的电流。Atmega引脚可以向其他设备/电路提供(提供正电流positive current)或倒灌(提供负电流negative current)达40毫安(mA)的电流。这使得它们利于给LED供电,而不是读取传感器。输出(OUTPUT)引脚被短路的接地或5V电路上会受到损坏甚至烧毁。Atmega引脚在为继电器或电机供电时,由于电流不足,将需要一些外接电路来实现供电。3.1.2 注释、常量注释、常量v(4)整数常量integer constants v 整数常量是直接在程序中使用的数字,如123。默认情况下,这些数字被视为int,但可以通过U和
12、L修饰符进行更多的限制。通常情况下,整数常量默认为十进制,但可以加上特殊前缀表示为其他进制。进制例子格式备注10(十进制)123无 2(二进制)B1111011前缀“B”只适用于8位的值(0到255)字符0-1有效8(八进制)0173前缀“0”字符0-7有效16(十六进制)0 x7B前缀“0 x”字符0-9,A-F,A-F有效表 3-2 整数常量不同进制表示3.1.2 注释、常量注释、常量v 小数是十进制数。如果一个数没有特定的前缀,则默认为十进制。v 二进制以2为基底,只有数字0和1是有效的。v 示例:v 101 /和十进制5等价(1*22+0*21+1*20)v 二进制格式只能是8位的,即
13、只能表示0-255之间的数。如果输入二进制数更方便的话,你可以用以下的方式:v myInt=(B11001100*256)+B10101010;/B11001100 作为高位。v 八进制是以8为基底,只有0-7是有效的字符。前缀“0”(数字0)表示该值为八进制。v 0101 /等同于十进制数65 (1*82)+(0*81)+1)v 警告:八进制数0前缀很可能无意产生很难发现的错误,因为你可能不小心在常量前加了个“0”,结果就悲剧了。3.1.2 注释、常量注释、常量v 十六进制以16为基底,有效的字符为0-9和A-F。十六进制数用前缀“0 x”(数字0,字母爱克斯)表示。请注意,A-F不区分大小
展开阅读全文