![[工学]Arduino课件v.ppt_第1页](http://file.renrendoc.com/FileRoot1/2018-12/27/55b31bca-5e6c-4ea9-8dd9-700142ff2765/55b31bca-5e6c-4ea9-8dd9-700142ff27651.gif)
![[工学]Arduino课件v.ppt_第2页](http://file.renrendoc.com/FileRoot1/2018-12/27/55b31bca-5e6c-4ea9-8dd9-700142ff2765/55b31bca-5e6c-4ea9-8dd9-700142ff27652.gif)
![[工学]Arduino课件v.ppt_第3页](http://file.renrendoc.com/FileRoot1/2018-12/27/55b31bca-5e6c-4ea9-8dd9-700142ff2765/55b31bca-5e6c-4ea9-8dd9-700142ff27653.gif)
![[工学]Arduino课件v.ppt_第4页](http://file.renrendoc.com/FileRoot1/2018-12/27/55b31bca-5e6c-4ea9-8dd9-700142ff2765/55b31bca-5e6c-4ea9-8dd9-700142ff27654.gif)
![[工学]Arduino课件v.ppt_第5页](http://file.renrendoc.com/FileRoot1/2018-12/27/55b31bca-5e6c-4ea9-8dd9-700142ff2765/55b31bca-5e6c-4ea9-8dd9-700142ff27655.gif)
已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考试与考核 u平时成绩:60 课堂纪律、到课率、实验成绩、大作业(答辩) u期末理论考试:40 下列情况要进行修正: u迟到一次:平时成绩减少5%,理论成绩增加5% u上课未得到批准擅自走动一次:平时成绩减少5% ,理论成绩增加5% u上课发短信或用手机看小说等,发现一次:平时 成绩减少5%,理论成绩增加5% Arduino单片机的历史 Massimo Banzi-意大利米兰互动设计学院 David Cuartielles微处理器设计工程师, 2005年 David Mellis编写代码程序(two days) (student of Massimo Banzi) Hardware design(three days) 取名Arduino 第一批(200块)50块(学校) 原则:开源 Prix Art Electronica电子通信类方面的 荣誉2006年 Arduino的家族 pArduino Duemilanove基本型 pArduino Nano缩小版(Mini-B标准的 USB) pArduino mini pArduino BT pLilyPad Arduino pArduino Pro和 Arduino Pro Mini pArduino Fio pArduino Uno pArduino Mega2560 USB接口 主控芯片 ATMEGA328P 数字输输入输输出口 电电源口 模拟输拟输入输输出口 串行口 外部电电源接口 电电源指示灯 复位开关 ICSP下载载口 主 控 芯 片 ATMEGA328P 的内部结构 6 技术参数 p微控制器:ATmega328P p操作电压:5V p推荐输入电压:7-12V p极限输入电压:6-20V p数字I/O脚数:14,其中6个提供PWM输出 pI/O脚直流电流:40mA p3.3伏脚的电流:50mA p闪存:32K,其中2K用于引导程序 pSRAM:2K pEEPROM:1K p时钟频率:16MHz 各引脚定义如下 p数字引脚:0-13 p模拟引脚:A0-A5 p串行通信:0-RX,1-TX p外部中断:2,3 pPWM输出:3,5,6,9,10,11 pSPI通信:10(SS),11(MOSI),12(MISO),13(SCK) p板上LED:13 pTWI通信:A4(SDA), A5(SCL) 菜单 图标 程序区 信息区 编译软件界面 十进制 数制 二进制 二-十进制之间的转换 十六进制和八进制 (1)进位制:表示数时,仅用一位数码往往不够用,必 须用进位计数的方法组成多位数码。多位数码每一位的 构成以及从低位到高位的进位规则称为进位计数制,简 称进位制。 数制 (2)基 数:进位制的基数,就是在该进位制中可能用到 的数码个数。 (3) 位 权(位的权数):在某一进位制的数中,每一位 的大小都对应着该位上的数码乘上一个固定的数,这个固 定的数就是这一位的权数。权数是一个幂。 数码为:09;基数是10。 运算规律:逢十进一,即:9110。 十进制数的权展开式: (1) 十进制 10 10 10 10 103、102、101、100称 为十进制的权。各数 位的权是10的幂。 同样的数码在不同的数 位上代表的数值不同。 任意一个十进制数都 可以表示为各个数位 上的数码与其对应的 权的乘积之和,称权 展开式。 即:(5555)105103 510251015100 又如:(209.04)10 2102 0101910001014 102 (2) 二进制 数码为:0、1;基数是2。 运算规律:逢二进一,即:1110。 二进制数的权展开式: 如:(101.01)2 122 0211200211 22 (5.25)10 加法规则:0+0=0,0+1=1,1+0=1,1+1=10 乘法规则:0.0=0, 0.1=0 ,1.0=0,1.1=1 运算 规则 各数位的权是的幂 二进制数只有0和1两个数码,它的每一位都可以用电子元 件来实现,且运算规则简单,相应的运算电路也容易实现 。 数码为:07;基数是8。 运算规律:逢八进一,即:7110。 八进制数的权展开式: 如:(207.04)10 282 0817800814 82 (135.0625)10 (3) 八进制 (4) 十六进制 数码为:09、AF;基数是16。 运算规律:逢十六进一,即:F110。 十六进制数的权展开式: 如:(D8.A)2 13161 816010 161(216.625)10 各数位的权是8的幂 各数位的权是16的幂 结论 一般地,N进制需要用到N个数码,基数是N;运算 规律为逢N进一。 如果一个N进制数M包含位整数和位小数,即 (an-1 an-2 a1 a0 a1 a2 am)2 则该数的权展开式为: (M)2 an-1Nn-1 an-2 Nn-2 a1N1 a0 N0a 1 N-1a2 N-2 amN-m 由权展开式很容易将一个N进制数转换为十进制数。 数制转换 (1)二进制数转换为八进制数: 将二进制数由小数点开始,整数部分向左 ,小数部分向右,每3位分成一组,不够3位补零,则每组二进制数便是 一位八进制数。 将N进制数按权展开,即可以转换为十进制数。 (1)、二进制数与八进制数的相互转换 1 1 0 1 0 1 0 . 0 10 00 (152.2)8 (2)八进制数转换为二进制数:将每位八进制数用3位二进 制数表示。 = 011 111 100 . 010 110(374.26)8 (2) 二进制数与十六进制数的相互转换 1 1 1 0 1 0 1 0 0 . 0 1 10 0 00 (1D4.6)16 = 1010 1111 0100 . 0111 0110(AF4.76)16 二进制数与十六进制数的相互转换,按照每4位二进制数 对应于一位十六进制数进行转换。 (3) 十进制数转换为二进制数 采用的方法 基数连除、连乘法基数连除、连乘法 原理原理:将整数部分和小数部分分别进行转换 。 整数部分采用基数连除法,小数部分 采用基数连乘法。转换后再合并。 整数部分采用基数连除法 ,先得到的余数为低位, 后得到的余数为高位。 小数部分采用基数连乘法 ,先得到的整数为高位, 后得到的整数为低位。 所以:(44.375)10(101100.011)2 采用基数连除、连乘法,可将十进制数转换为任意的N进制数 。 二进制代码 二-十进制码 格雷码 ASCII码 二进制代码 二进制代码的位数(n),与需要编码的事件(或信息)的个 数(N)之间应满足以下关系: 2n-1N2n 1. 二十进制码进制码(数值编码) (BCD码- Binary Code Decimal) 用4位二进制数来表示一位十进制数中的09十个数码。 从4 位二进制数16种代码中,选择10种来表示09个数码的 方案有很多种。每种方案产生一种BCD码。 码制:编制代码所要遵循的规则 BCD码十 进制数码 8421码2421 码5421 码余3码 余3循 环码 000000000000000110010 100010001000101000110 200100010001001010111 300110011001101100101 401000100010001110100 501011011100010001100 601101100100110011101 701111101101010101111 810001110101110111110 910011111110011001010 (1)几种常用的BCD代码 二-十进制码 (2)各种编码的特点 余码的特点:当两个十进制的和是10时,相应的二进制正好 是16,于是可自动产生进位信号,而不需修正.0和9, 1和8,5和4 的余码互为反码,这对在求对于10的补码很方便。 余3码循环码:相邻的两个代码之间仅一位的状态不同。按余3 码循环码组成计数器时,每次转换过程只有一个触发器翻转,译 码时不会发生竞争冒险现象。 有权码:编码与所表示的十进制数之间的转算容易 如(10010000) 8421BCD=(90) 对于有权BCD码,可以根据位权展开求得所代表的十进制 数。例如: BCD8421 0111 ( )D 7= 11214180 + = ( )D BCD2421 7112041211101 =+= (4)求BCD代码表示的十进制数 对于一个多位的十进制数,需要有与十进制位数相同的几 组BCD代码来表示。例如: 不能省略! 不能省略! (3)用BCD代码表示十进制数 格 雷 码 格雷码是一种无权码。 二进制码 b3b2b1b0 格雷码 G3G2G1G0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 编码特点是:任何两个相邻代码 之间仅有一位不同。 该特点常用于模拟量的转换。当 模拟量发生微小变化,格雷码仅仅 改变一位,这与其它码同时改变2 位或更多的情况相比,更加可靠, 且容易检错。 ASCII 码(字符编码) ASCII码即美国标准信息交换码。 它共有128个代码,可以表示大、小写英文字母、十进制 数、标点符号、运算符号、控制符号等,普遍用于计算机 的键盘指令输入和数据等。 P28 汉字编码 Arduino语言特点 Arduino语言是建立在C/C+基础上的 基础的C语言; Arduino语言只不过把AVR单片机(微控制器 )相关的一些参数设置都函数化,不用去了解 其底层; 标识符和关键字 标识符:标识程序中某个对象的名字,这些对象可以是语句 、数据类型、函数、变量和常量等; 规 则:由字符串、数字和下划线等组成,第一个字符必须 是字母或下划线; 注 意:通常以下划线开头的标识符是编译系统专用的,在 编写C语言源程序时一般不要使用以下划线开头的 标识符,而将下划线用作分段符; 关键字:32个 编程语言保留的特殊标识符,它们具有固定的名称和含义。 If 程序语句 Continue 程序语句 Else 程序语句 Sizeof 运算符 For 程序语句 Auto 存储类型 Switch 程序语句 Char 数据类型 Case 程序语句 Goto 程序语句 While 程序语句 Return 程序语句 Do 程序语句 Break 程序语句 数据类型 基本类型 构造类型 指针类型 空类型 整数类型 字符类型 浮点类型 枚举类型 数组 类型 结构体类型 共用体类型 单精度类型 双精度类型 数据类型 常量:不能改变的数值的存储空间; HIGH | LOW HIGH 表示高电平(1),LOW 表示低电平(0) INPUT | OUTPUT INPUT 表示输入(高阻态),OUTPUT 表示输出 true | false true 表示真(1),false表示假(0)。 变量:可以改变数值的存储空间; 使用时要告知变量时的数据型态,这样微处理器可以分配 空间。 数据类型 boolean 布尔型 char 字符 byte 字节类型 int 整数 unsigned int 无符号整数 long 长整数 unsigned long 无符号长整数 float 浮点数 double 双字节浮点 string 字符串 array 数组 布尔型变量的值只能为真(true)或是假(false) boolean 布尔型 Char 字符型 在位数需求较少的信息传输时,例如阿拉伯数字和一般常 见符号构成的语言ASCII编码,ASCII 表示了127个 字符, 用来在序列终端机和分时计算器之间传输文字; 单一字符,存为数字,有效范围为 0 到255 有两种主流的计算机编码:ASCII 和UNICODE UNICODE可表示的字符量比较多,在现代 计算机操作系统内它可以用来表示多国语言; Byte 字节类型 储存的数值范围为0到255。如同字符一样字节型态的变量只 需要用一个字节(8位)的内存空间储存; 整数数据型态用到2字节的内存空间,可表示的整数范围为 32,768 到 32,767; 最常用到的数据类型; int 整数 unsigned int 无符号整数) 2字节,可表示的整数范围为0 到 65,535 long 长整数 4字节,可表示的整数范围从 2,147,483,648 到 2,147,483,647。 unsigned long 无符号长整数 可表示的整数范围为0 到 4,294,967,295 float 浮点数 浮点数就是用来表达有小数点的数值,可 表达最大值为 3.4 x 1038,四字节的RAM, 内存空间限制,谨慎使用; double 双字节浮点 由多个ASCII字符组成,字符串中的每一个字符都用一 个组元组空间储存,并且在字符串的最尾端加上一个空 字符以提示Ardunio处理器字符串的结束 string 字符串 例如: char string1 = “Arduino“;/7字符+1空字符 char string28 = “Arduino“; / 与上行相同 8字节,可表达范围为1.7 x 10308 数据类型转换 char() byte() int() long() float() 数组 连续存储,可以透过索引去直接取得 如:int light6 = 0 , 20 , 50 , 75 , 100 运算符 = 赋值 + 相加 - 相减 * 相乘 / 相除 % 求余 =等于 !=不等于 大于 = 大于等于 & 相与 | 相或 ! 求反 + 自加 - 自减 += 先加后赋值 -= 先减后赋值 *= 先乘后赋值 /= 先除后赋值 结构 void setup( ) 初始化变量,管脚模式,调用库函数等 void loop( ) 连续执行函数内的语句 Arduino语言说明 常量: HIGH | LOW 表示数字IO口的电平, HIGH 表示高电平(1), LOW表示低电平(0) INPUT |OUTPUT 表示数字IO口的方向, INPUT表示输入(高阻态), OUTPUT 表示 输出(AVR能提供5V电压 40mA电流)。 TRUE|FALSE TRUE表示真(1),FALSE表示假(0)。 结构 void setup( ) 初始化变量,管脚模式,调用库函数等 void loop( ) 连续执行函数内的语句 数字 I/O pinMode(pin, mode) 数字IO口输入输出模式定义函数,pin表示为013, mode表示 为INPUT或OUTPUT。 digitalWrite(pin, value) 数字IO口输出电平定义函数,pin表示为013,value表 示为HIGH或LOW。比如定义HIGH可以驱动LED。 digitalRead(pin) 数字IO口读输入电平函数,pin表示为013,value表示为HIGH或 LOW。比如可以读数字传感器。 模拟 I/O int analoRgead(pin) 模拟IO口读函数,pin表示为05(Arduino Diecimila为 05,Arduino nano为07)。比如可以读模拟传感器(10位AD,05V表示为0 1023)。 analogWrite(pin, value) - PWM 数字IO口PWM输出函数,Arduino数字IO口标 注了PWM的IO口可使用该函数,pin表示3, 5, 6, 9, 10, 11,value表示为0255 。比如可用于电机PWM调速或音乐播放。 扩展 I/O shiftOut(dataPin, clockPin, bitOrder, value) SPI外部IO扩展函数,通常 使用带SPI接口的74HC595做8个IO扩展,dataPin为数据口,clockPin为时钟口, bitOrder为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示 所要传送的数据(0255),另外还需要一个IO口做74HC595的使能控制。 unsigned long pulseIn(pin, value) 脉冲长度记录函数,返回时间参数(us ),pin表示为013,value为HIGH或LOW。比如value为HIGH,那么当pin输入为 高电平时,开始计时,当pin输入为低电平时,停止计时,然后返回该时间。 时间函数 unsigned long millis() 返回时间函数(单位ms),该函数是指,当程序运行 就开始计时并返回记录的参数,该参数溢出大概需要50天时间。 delay(ms) 延时函数(单位ms)。 delayMicroseconds(us) 延时函数(单位us)。 数学函数 min(x, y) 求最小值 max(x, y) 求最大值 abs(x) 计算绝对值 constrain(x, a, b) 约束函数,下限a,上限b,x必须在ab之间才能返回。 map(value, fromLow, fromHigh, toLow, toHigh) 约束函数,value必须在 fromLow与toLow之间和fromHigh与toHigh之间。 pow(base, exponent) 开方函数,base的exponent次方。 sq(x) 平方 sqrt(x) 开根号 三角函数 sin(rad) cos(rad) tan(rad) 随机数函数 randomSeed(seed) 随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 long random(max) 随机数函数,返回数据大于等于0,小于max。 long random(min, max) 随机数函数,返回数据大于等于min,小于max。 外部中断函数 attachInterrupt(interrupt,function,mode) 外部中断只能用到数字IO口2和3, interrupt表示中断口初始0或1,表示一个功能函数,mode:LOW低电平中断, CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。 detachInterrupt(interrupt) 中断开关,interrupt=1 开,interrupt=0 关。 中断使能函数 interrupts( ) 使能中断 noInterrupts( ) 禁止中断 串口收发函数 Serial.begin(speed) 串口定义波特率函数,speed表示波特率,如9600,19200等 int Serial.available() 判断缓冲器状态。 int Serial.read() 读串口并返回收到参数。 Serial.flush() 清空缓冲器。 Serial.print(data) 串口输出数据。 Serial.println(data) 串口输出数据并带回车符。 官方库文件 EEPROM - EEPROM读写程序库 Ethernet - 以太网控制器程序库 LiquidCrystal - LCD控制程序库 Servo - 舵机控制程序库 SoftwareSerial - 任何数字IO口模拟串口程序库 Stepper - 步进电机控制程序库 Wire - TWI/I2C总线程序库 Matrix - LED矩阵控制程序库 Sprite - LED矩阵图象处理控制程序库 非官方库文件 DateTime - a library for keeping track of the current date and time in software. Debounce - for reading noisy digital inputs (e.g. from buttons) Firmata - for communicating with applications on the computer using a standard serial protocol. GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset. LCD - control LCDs (using 8 data lines) LCD 4 Bit - control LCDs (using 4 data lines) LedCon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市地下车库租赁与改造合同
- 终止劳动合同模板锦集(18篇)
- 宗教协会印章管理制度
- 大学生在校创新创业计划书范文(13篇)
- 行政组织的绩效管理体系构建试题及答案
- 工作竞聘精彩演讲稿范文(18篇)
- 公司与个人劳动合同(4篇)
- 农业生产技术应用合作合同书
- 合作酒店经营合同(3篇)
- 退休人员合同(5篇)
- MOOC 计算机系统局限性-华东师范大学 中国大学慕课答案
- 门诊护士培训课件
- 校园突发事件与应急管理课件
- 原发性肺癌诊疗规范
- 麻醉药品和精神药品管理培训试题
- 中医技能考核评分表
- 增材制造技术课件
- 电动力学-同济大学中国大学mooc课后章节答案期末考试题库2023年
- 五输穴的临床运用
- 基于增强现实(AR)体验式学习模式在小学英语情景教学中的应用
- 幼儿园游戏PPT中职学前教育专业完整全套教学课件
评论
0/150
提交评论