单片机毕业设计_第1页
单片机毕业设计_第2页
单片机毕业设计_第3页
单片机毕业设计_第4页
单片机毕业设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

石家庄邮电职业技术学院毕业设计基于Arduino的急救车音效设计届电信工程系专业移动通信技术()班级学号姓名指导教师完毕日期2023年12月14日石家庄邮电职业技术学院毕业设计任务书姓名学号专业班级毕业设计题目基于Arduino的急救车音效设计指导教师姓名职称高级工程师工程师工作单位惠远公司毕业设计内容、基本规定、重点研究问题、重要设计方法(或环节):一、设计内容:基于Arduino的急救车音效二、基本规定:把Arduino实验板与蜂鸣器连接起来,通过向Arduino实验板中导入源代码,来使蜂鸣器发出急救车的音效。三、重点研究内容:运用Arduino与蜂鸣器实现急救车音效四、重要设计方法:1、Arduino的硬件、软件(开发环境)2、设备连接,调试重要参考文献、资料:[1]李学海,经典80C51单片机轻松入门与上手,清华大学出版社,2023[2]班兹,爱上Arduino,人民邮电出版社,2023[3]程晨,Arduino开发实战指南,机械工业出版社,2023[4]网络资料搜集计划进度:1、2023年10月08日——2023年10月12日选论题2、2023年10月13日——2023年10月25日资料搜集,进行系统设计3、2023年10月26日——2023年11月02日购买电路板元器件,焊接电路板4、2023年11月03日——2023年11月20日撰写论文初稿5、2023年11月21日——2023年12月14日修改,定稿打印6、2023年12月24日——2023年12月26日答辩指导教师签字:年月日石家庄邮电职业技术学院毕业设计评估书姓名学号专业班级毕业设计题目基于Arduino的急救车音效设计指导教师评语:指导教师建议成绩(60%)指导教师签字:年月日答辩小组建议成绩(40%)组长签字:年月日答辩委员会最后审定成绩主任签字:年月日备注摘要急救车,专指接载病员由伤病现场往医院,或用作载接病情严重者作转院服务的陆上紧急交通工具。急救车的常规配备涉及担架、轮椅、呼吸辅助器、氧气筒、药物、警号灯等。而对于警号灯随着着“嘀嘟嘀嘟”的声音最为我们熟悉,那么这种“嘀嘟嘀嘟”的声音是如何制作出来的呢?目前单片机渗透到我们生活的各个领域,人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。本文设计以ATMEGA328P-PU单片机为核心,以Arduino为平台。把设立好的源代码传到Arduino控制板上,然后把蜂鸣器连接在控制板上,以此发出“嘀嘟嘀嘟”的音效。目录1前言 12单片机——Arduino的核心器件 12.1单片机的定义 12.2单片机与个人计算机的异同 12.3单片机的作用 12.4单片机视图 23Arduino的基本组成 23.1Arduino的定义 23.2Arduino的诞生 23.3Arduino语言 33.3.1关键字 34本次设计所需的硬件与软件 64.1ArduinoUNO 64.1.1Arduinouno基本概要 74.1.2通信接口 74.1.3下载程序 84.1.4注意要点 84.2蜂鸣器 84.3开发环境 85系统设计与调试 95.1准备好硬件开发平台 95.2实现原理 95.3程序代码 95.4下载程序 105.4.1打开文献夹 105.4.2编写源代码 115.4.3编译程序 125.4.4下载程序 146总结 19致谢 20参考文献 211前言Arduino是一个开源的电子原型平台,它基于易于使用的硬件和软件而设计。适合于艺术家,设计师和业余爱好者创建交互性的对象和环境。Arduino通过接受来自各种传感器的输入来感知环境的变化,通过控制灯光,马达和其它驱动器来表现行为。主板微控制器的编程使用Arduino编程语言(基于Wiring)和Arduino开发环境(基于Processing)。Arduino项目可以独立运营,也可以与计算机上运营的软件通信(如Flash、Processing、MaxMSP)。主板可以通过手工制作,或者购买商业成品,而软件是可以免费下载。硬件参考设计(CAD文献)是开源许可的,可以根据需求自由调整。2单片机——Arduino的核心器件2.1单片机的定义单片机,全称单片微型计算机(英语:Single-ChipMicrocomputer),又称微控制器(Microcontroller),是把中央解决器、存储器、定期/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。2.2单片机与个人计算机的异同一台可以工作的计算机要有这样几个部份构成:中央解决单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、只读存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。在个人计算机(PC)上这些部份被提成若干块芯片,安装在一个被称之为主板的印刷线路板上。而在单片机中,这些部份所有被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,并且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。电脑应用于高端,单片机应用于中低端,两者有着各自的生存空间,至少短期内不会出现一种取代另一种的情况。2.3单片机的作用实际工作中并不是任何需要计算机的场合都规定计算机有很高的性能,一个控制电冰箱温度的计算机难道要用酷睿解决器吗?应用的关键是看是否够用,是否有很好的性能价格比。假如一台冰箱都需要用酷睿解决起来进行温度控制,那价格就是天价了。单片机通常用于工业生产的控制、生活中与程序和控制有关(如:电子琴、冰箱、智能空调等)的场合。2.4单片机视图下图就是一个Atmega328P-PU单片机,基于AVR指令集的8位解决器,频率20MHz,存储器空间32KB。图2-1Atmega328P-PU单片机3Arduino的基本组成3.1Arduino的定义Arduino,是一个开源的单板机控制器,采用了基于开放源代码的软硬件平台,构建于开放源代码simpleI/O介面版,并且具有使用类似Java,C语言的Processing/Wiring开发环境。3.2Arduino的诞生2023年冬天,MassimoBanzi和DavidCuartielles讨论学生们抱怨找不到便宜好用的微控制器问题,讨论使两人决定设计自己的电路板,由Banzi的学生DavidMellis为电路板设计编程语言。两天以后,DavidMellis就写出了程式码。又过了三天,电路板就竣工了。这块电路板被命名为Arduino。随后Banzi,Cuartielles,和Mellis把设计图放到了网上。保持设计的开放源码理念,由于版权法可以监管开源软件,却很难用在硬件上,他们决定采用共享创意许可。在共享创意许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。你不需要付版税,甚至不用取得Arduino团队的许可。唯一被保存的只有Arduino这个名字。它被注册成了商标。3.3Arduino语言Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言。3.3.1关键字ifif...elseforswitchcasewhiledo...whilebreakcontinuereturngoto3.3.2语法符号;{}///**/3.3.3运算符=+-*/%==<><=>=&&||!++--+=-=*=/=3.3.4数据类型boolean 布尔类型char 字符类型byte 字节类型int 整数类型unsignedint 无符号整型long 长整型unsignedlong无符号长整型float 实数类型doublestringarrayvoid3.3.5常量HIGH|LOW表达数字IO口的电平,HIGH表达高电平(1),LOW表达低电平(0)。INPUT|OUTPUT表达数字IO口的方向,INPUT表达输入(高阻态),OUTPUT表达输出(AVR能提供5V电压40mA电流)。true|falsetrue表达真(1),false表达假(0)。以上为基础C语言的关键字和符号,大家可以了解,具体使用可以结合实验的程序。3.3.6结构voidsetup()初始化发量,管脚模式,调用库函数等voidloop()连续执行函数内的语句3.3.7功能数字I/OpinMode(pin,mode)数字IO口输入输出模式定义函数,pin表达为0~13,mode表达为INPUT或OUTPUT。digitalWrite(pin,value)数字IO口辒出电平定义函数,pin表达为0~13,value表达为HIGH或LOW。比如定义HIGH可以驱动LED。intdigitalRead(pin)数字IO口读输入电平函数,pin表达为0~13,value表达为HIGH或LOW。比如可以读数字传感器。模拟I/OintanalogRead(pin)模拟IO口读函数,pin表达为0~5(ArduinoDiecimila为0~5(Arduinonano为0~7)。比如,可以读模拟传感器(10位AD,0~5V表达为0~1023)。analogWrite(pin,value)-PWM数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数。pin表达3,5,6,9,10,11,value表达为0~255。比如,可用于电机PWM调速或音乐播放。时间函数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)开根号4本次设计所需的硬件与软件表4-1实验器件实验器件个数Arduinouno1蜂鸣器(无源)1导线24.1ArduinoUNOArduinoUNO是ArduinoUSB接口系列的最新版本,作为Arduino平台的参考标准模板。UNO的解决器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSPheader和一个复位按钮。UNO已经发布到第三版,与前两版相比有以下新的特点:在AREF处增长了两个管脚SDA和SCL,支持I2C接口;增长IOREF和一个预留管脚,将来扩展板将能兼容5V和3.3V核心板。这样改善了复位电路设计,USB接口芯片由ATmega16U2替代了ATmega8U2。如图4-1为改善后的ArduinoUNO。图4-1ArduinoUNO4.1.1Arduinouno基本概要解决器ATmega328工作电压5V输入电压(推荐)7-12V输入电压(范围)6-20V数字IO脚14(其中6路作为PWM输出)模拟输入脚6IO脚直流电流40mA3.3V脚直流电流50mAFlashMemory32KB(ATmega328,其中0.5KB用于bootloader)SRAM2KB(ATmega328)EEPROM1KB(ATmega328)工作时钟16MHz4.1.2通信接口串口:ATmega328内置的UART可以通过数字口0(RX)和1(TX)与外部实现串口通信;ATmega16U2可以访问数字口实现USB上的虚拟串口。TWI(兼容I2C)接口。SPI接口。4.1.3下载程序ArduinoUNO上的ATmega328已经预置了bootloader程序,因此可以通过Arduino软件直接下载程序到UNO中。也可以直接通过UNO上ICSPheader直接下载程序到ATmega328。ATmega16U2的Firmware(固件)也可以通过DFU工具升级。4.1.4注意要点ArduinoUNO上USB口附近有一个自恢复的保险丝,对电路起到保护作用。当电流超过500mA时会断开USB连接。ArduinoUNO提供了自动复位设计,可以通过PC主机复位。这样通过Arduino软件下在程序到UNO中,软件可以自动复位,不需要手动复位按钮。在印制板上丝印“RESETEN”处可以使能和严禁该功能。4.2蜂鸣器蜂鸣器是一种一体化结极的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定期器等电子产品中作发声器件。按其驱动方式的不同,可分为:有源蜂鸣器(内含驱动线路)和无源蜂鸣器(外部驱动)。本设计使用无源蜂鸣器。4.3开发环境本次设计使用的软件为Arduino开发环境Arduino-0022,如图4-2所示。图4-2开发环境5系统设计与调试5.1准备好硬件开发平台把Arduino控制板与其他器件连接好,再把Arduino与微机USB口连接好。5.2实现原理蜂鸣器发出声音的时间间隔不同,频率就不同,所以发出的声音就不同。根据这一原理我们通过改变蜂鸣器发出声音的时间间隔,来发出不同种声音,来模拟各种声音。本程序一方面让蜂鸣器间隔1ms发出一种频率的声音,循环80次;接着让蜂鸣器间隔2ms发出另一种频率的声音,循环100次。5.3程序代码intbuzzer=7;//设立控制蜂鸣器的数字IO脚voidsetup(){pinMode(buzzer,OUTPUT);//设立数字IO脚模式,OUTPUT为输出}voidloop(){unsignedchari,j;//定义发量while(1){for(i=0;i<80;i++)//输出一个频率的声音{digitalWrite(buzzer,HIGH);//发声音delay(1);//延时1msdigitalWrite(buzzer,LOW);//不发声音delay(1);//延时1ms}for(i=0;i<100;i++)//输出另一个频率的声音{digitalWrite(buzzer,HIGH);//发声音delay(2);//延时2msdigitalWrite(buzzer,LOW);//不发声音delay(2);//延时2ms}}}5.4下载程序5.4.1打开文献夹打开arduino0022文献夹里面有一个标有arduino.exe图标,双击打开会出现如图5-1的界面。图5-1工作界面5.4.2编写源代码File→new然后编写蜂鸣器实验源代码,如图5-2所示。图5-2源代码5.4.3编译程序点击编译按钮,这时编译按钮会发成黄色,下面出现英文compiling,这表达软件正在对你所写癿程序进行编译,如图5-3所示。图5-3编译程序等待一会,会看到编译按钮恢复本来的状态,下面出现Donecompiling,最下面一段文字说明编写的程序共有896字节数。这表白,程序编译成功,并且没有语法上的错误。如图5-4所示。图5-4编译成功5.4.4下载程序下载程序前先将板子型号和com口选好。点击Tools->Board选择开发板型号,如图5-5所示。图5-5选择板型查看串口,然后选择对的的串口,如图5-6所示。图5-6选择串口点击采后下载按钮发成橙色,软件下方出现UploadingtoI/OBoard

温馨提示

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

评论

0/150

提交评论