课设论文震动传感器课设论文.docx
- 文档编号:5459663
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:17
- 大小:460.34KB
课设论文震动传感器课设论文.docx
《课设论文震动传感器课设论文.docx》由会员分享,可在线阅读,更多相关《课设论文震动传感器课设论文.docx(17页珍藏版)》请在冰豆网上搜索。
课设论文震动传感器课设论文
课程设计(论文)说明书
题目:
震动传感器模块的开发及应用
院(系):
信息与通信学院
专业:
电子信息工程
学生姓名:
学号:
指导教师:
职称:
2013年5月12日
摘要
在高度发展的现代工业中,现代测试技术向数字化、信息化方向发展已成必然发展趋势,而测试系统的最前端是传感器,它是整个测试系统的灵魂,被世界各国列为尖端技术,特别是近几年快速发展的IC技术和计算机技术,为传感器的发展提供了良好与可靠的科学技术基础。
使传感器的发展日新月益,且数字化、多功能与智能化是现代传感器发展的重要特征。
关键字:
测试技术;传感器;数字化;智能化
Abstract
Inthehighlydevelopedmodernindustry,moderntesttechnologytodevelopinthedirectionofdigitalization,informatizationhasbecomethedevelopmenttrend,andthefrontofthetestingsystemisthesensor,itisthesoulofthewholetestsystem,cutting-edgetechnology,listedbythecountriesallovertheworld,especiallyinrecentyearstherapiddevelopmentofICtechnologyandcomputertechnology,forthedevelopmentofthesensorprovidesagoodandreliablebasisofscienceandtechnology.Makethedevelopmentofsensor,nissinmonthanddigital,multi-functionandintelligentisanimportantcharacteristicofmodernsensordevelopment.
Keywords:
testtechnology;Thesensor;Digital;intelligent
引言…………………………………………………………………………………………6
第一章系统总体设计……………………………………………………………………..6
1.1系统实现的主要功能…………………………..............................................................6
1.2系统工作原理…………………………………………………………………………..6
1.3总体构成………………………………………………………………………………..7
1.3.1总体设计框图………………………………………………………………………...7
第二章系统的硬件设计………………………………………………………………......8
2.1关于单片机开发板…………………………………………………………………......8
2.2关于蜂鸣器…………………………………………………….…………………….….9
2.3关于震动传感器……………………………………………………………………….10
第三章系统的软件设计………………………………………………………………….12
3.1总体程序框架流程图……………………………………………………………….....12
3.2程序设计及简析……………………………………………………………………….12
3.21关于串口初始化……………………………………………………………………...12
3.22关于主函数………………………………………………………………………..….13
3.23关于发送一个字节…………………………………………………………………....14
3.24关于发送一个字符串…………………………………………………………………15
3.25串口中断程序…………………………………………………………………….…...15
3.3程序的测试……………………………………………………………………………..16
3.4程序的编译仿真…………………………………………………………………….….16
第四章调试过程和注意问题…………………………………………………...………...17
4.1keil编程软件的使用方法………………………………………….……………….…...17
4.2关于STC_ISP_V483软件………………………………………………………….…..17
4.3关于程序测试……………………………………………………………………………17
结论……………………………………………………………………………………..…..18
谢辞………………………………………………………………………………………....19
参考文献…………………………………………………………………………………….20
附录…………………………………………………………………………………………21
引言
随着社会电子工业发展的步伐越来越快的节奏,我认为作为一名电子类专业的大学生,在校学的专业理论知识固然重要,但是,课程设计也是必不可少的,因为将来我们出到社会工作以后多少都有可能会面向关于电子类的程序设计,因此课程设计重要性也就体现出来了。
我相信通过这次课程设计,我们可以会学到很多实用性的东西,因为它的性质是由专业理论知识到实践操作转变的一个过程,也就是让我们把在大学从书本上收获的理论知识通过实际操作转化为我们生活中实用的电子类产品。
课程设计不仅是对我们的专业理论知识是否掌握的一个考察,更是对我们实践动手能力的一个考验。
第一章系统总体设计
1.1系统实现的主要功能
本系统是利用震动传感器来检测震动的产生。
当震动传感器收到外界作用发生震动时,传感器输出一个TTL电平信号,又因为震动传感器低电平有效,所以,当低电平输入至单片机时,单片机上的蜂鸣器发出响声,以蜂鸣器发出的信号判断震动传感器发生震动。
1.2系统的工作原理
震动传感器在本次课程设计的关键部件之一,它的作用主要是将机械量接收下来,并转换为与之成比例的电量。
由于它也是一种机电转换装置。
所以我们有时也称它为换能器、拾振器等。
震动传感器并不是直接将原始要测的机械量转变为电量,而是将原始要测的机械量做为振动传感器的输入量,然后由机械接收部分加以接收,形成另一个适合于变换的机械量,最后由机电变换部分再将变换为电量。
因此一个传感器的工作性能是由机械接收部分和机电变换部分的工作性能来决定的。
本次所设计的是震动传感器的实现,因此,在硬件上,主要由2个部分组成:
第一部分是震动传感器,其工作原理是当震动传感器接入电源后,轻碰震动传感器,此时传感器就会输出一个低电平信号,本质上,震动传感器的作用类似一个开关,其作用是传递震动,判断震动的发生;第二部分为单片机,其作用是将程序导入单片机中,然后由程序控制单片机上的蜂鸣器,通过蜂鸣器是否鸣叫来直观的观测震动传感器的震动发生。
1.3总体构成
1.3.1总体设计框图
系统总体设计框图如图1.1所示。
图1.1:
系统总体设计框图
第二章系统的硬件设计
2.1关于单片机开发板
单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
对于这次课程设计,我用到的单片机开发板芯片型号是STC90C516RD+,它是一款超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。
工作电压为5.5V~3.8V(5V单片机)/3.8V~2.4V(3V单片机),工作频率为0~40MHz。
在STC-ISPV35软件芯片型号设置必须与单片机开发板上的芯片型号相一致才能正常调试。
关于串口的接法也必须按照程序的预设来接,比如,我的程序预设是蜂鸣器接P34,震动接P35。
下图是单片机开发板的实物图:
图2.1单片机开发板
图2.2单片机芯片管脚图
2.2关于蜂鸣器
由于该款单片机包含了温度传感器、红外接头、时钟芯片、储存芯片、数码管、LED灯、蜂鸣器等等。
而本次课设主要涉及到利用蜂鸣器发出信号来对震动传感器是否发生震动作出判断,故应对蜂鸣器做出介绍:
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机等电子产品中作发生器件。
其工作原理是通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,当输出高电平时,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音。
图2.3蜂鸣器原理图
2.3关于震动传感器
震动传感器(vibrationtransducer)是一种能感受机械运动振动的参量(振动速度、频率,加速度等)并转换成可用输出信号的传感器。
震动传感器模块的简要说明:
一、长尺寸:
32mm X宽11mm X高20mm
二、主要芯片:
LM393、红外反射头
三、工作电压:
直流5伏
四、特点:
1、具有信号输出指示。
2、单路信号输出。
3、输出有效信号为低电平。
4、灵敏度可调(精调)。
5、可用于工件计数、智能车寻线、黑白检测等 。
6、电路板输出开关量!
图2.4震动传感器图
第三章系统的软件设计
3.1总体程序框架流程图
软件设计流程框图如图3.1所示
图3.1:
软件设计流程框图
3.2程序设计及简析
3.2.1关于串口初始化:
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitZD=P3^5;
sbitLED0=P0^0;
sbitbeep=P3^4;将震动传感器上的ZD接口接在P35,蜂鸣器的接口beep接入P34,同时接入一个LED灯0。
voidSendStr(unsignedchar*s);
voiddelay_ms(uintx)
{
uinti,j;
for(i=0;i for(j=0;j<110;j++); } voidInitUART(void) { SCON=0x50;//SCON: 模式1 TMOD|=0x20;//TMOD: timer1,mode2,8-bit重装 TH1=0xFD;//TH1: 重装值9600波特率晶振11.0592MHz TR1=1;//TR1: timer1打开 EA=1;//打开总中断 ES=1;//打开串口中断 } 3.2.2关于主函数: voidmain(void) { uinti,j; InitUART(); while (1) { while(ZD); LED0=0; for(i=0;i<100;i++)//蜂鸣器响 { beep=0; delay_ms (1); beep=1; delay_ms (1); } ES=0;//关闭串口中断,发送字符 SendStr("有震动"); delay_ms(100); ES=1; } }在主程序中,我们看到了for循环的程序段。 因为我们所用的单片机上的蜂鸣器一个无源的蜂鸣器,因此需要自己设计一个脉冲信号,来使蜂鸣器发声,而程序中的for循环就是为了让蜂鸣器鸣叫所设计的。 3.2.3关于发送一个字节: voidSendByte(unsignedchardat) { SBUF=dat; while(! TI); TI=0; } 3.2.4发送一个字符串: voidSendStr(unsignedchar*s) { while(*s! ='\0')//\0表示字符串结束标志,通过检测是否字符串末尾 { SendByte(*s); s++; } } 3.2.5串口中断程序: voidUART_SER(void)interrupt4//串行中断服务程序 { if(RI)//判断是接收中断产生 { RI=0;//标志位清零 } if(TI)//如果是发送标志位,清零 TI=0; }其作用是当主程序运行到此处时,向单片机提出中断请求,强制中断程序,进入中断操作中,在中断后,需要将TI以及RI重新置0,以取消中断请求。 3.3程序的测试 连接好串口或者usb转串口至电脑,下载该程序,打开电源打开串口调试程序,将波特率设置为9600,无奇偶校验,晶振11.0592MHz,发送和接收使用的格式相同。 单片机和传感器的连接: 震动传感器主要有3根线,一根电源线,一根地线,通过震动开关闭合,IN和AC比较电平高低,AC是0伏,为低电平,如果IN比AC高,OUT输出端输出AC,这时发光二极管发光。 传感器模块和单片机开发板的连线关系如下表: 单片机 P5的1脚(VCC) P4的20脚(GND) P3^5 传感器 VCC GND OUT 表1接线关系表 3.4程序的编译仿真 将完成设计的程序在keil软件下编译,编译成功后,再在STC-ISPV35软件下点下载,打开hex文件在STC-ISPV35软件右边的窗口点击串口调试助手,点上字符格式显示打开串口。 这时用手摇动震动传感器,如果此时在该软件空白窗口显示“有震动”,并且听到蜂鸣器的叫声,说明设计成功。 第四章调试过程和注意问题 4.1keil编程软件的使用方法 由于以前对编写C程序软件使用的局限性,刚开始接触keil时,走了不少弯路。 通过上网查阅keil软件的详细操作之后,在完成程序的过程中慢慢地对其编辑、编译、链接、调试等基本操作熟悉掌握了。 Keil C51软件提供了丰富的库函数和功能强大的集成开发调试工具,全Windows界面。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。 它在这次实践过程中,主要是运用C程序通过单片机开发板和各种功能模块板子实现链接,调试,仿真等功能。 通过这次课程设计,我相信自己以后会继续摸索这款软件的功能,希望能对其的各种操作更加熟悉了解。 4.2关于STC_ISP_V483软件 当编写好程序后,则需要STC_ISP_V483软件进行烧录工作,即把编译后的程序烧入中单片机中执行。 其中需要注意的有3点,第一点是,需要在MCUType中选择相应的单片机芯片型号;第二点是,需要在波特率中需选择好程序编程中所使用的波特率;第三点是,要在COM中选择单片机接入的对应的COM口。 在设置好各个参数后,点击Download便可进行下载,并观察右边的空白处,看看是否达到了预期的效果。 4.3关于程序测试 在本次的程序调试过程中,遇到了不少的细节上的问题,首先是STC-ISPV35软件上的芯片型号与单片机开发板芯片不匹配,这个问题不难,下载了一个版本比较新的STC-ISPV35软件就有匹配的型号了。 然后就是检测不到有震动,原因是我用的是if语句,它在程序中有震动的时间只是一瞬间,根本无法捕捉到这个信号做出反应并且输出显示,后来把if语句改成while语句后就顺利的检测到了震动并输出显示,因为while(ZD)语句中根据开发板接口默认为高电平,即ZD==1,其后面接的是空语句,当手摇震动传感器产生震动时,ZD=0,跳出while循环往下执行语句便得以在调试板正确做出蜂鸣响应并在调试软件显示输出。 总结 在这次课程设计过程中,首先得感谢老师的指引,还有本组同学的共同努力才得以顺利完成本次课程设计。 通过这次的课设实践,我感觉收获颇多,比如,学会了由理论知识向实践的转变;学会了使用程序编写软件,如用keil软件编程;学会了单片机开发板和传感器的链接使用,以及用STC-ISPV35软件对程序的调试;学会整理与编辑关于程序设计报告的文档等; 总而言之,课程设计就是大学生走向社会前的一次小小的实践,我认为这是能为以后出去工作在能力上起到奠定基础的作用。 谢辞 因为是第一次接触课程设计,由于各方面的专业理论基础只是不扎实,和对软硬件的掌握不够熟悉,才导致在程序设计和程序测试处处碰壁,特别是在我们同时手足无措的时候,在老师的指导下,我们本组同学通过上网搜集各种资料和寻求其他同学的帮助才得以顺利完成任务。 在此,我对指导老师和参与本次课设的同学致以真诚的谢意,谢谢! 参考文献 [1]李凤霞.C语言程序设计教程北京: 北京理工大学出版社,2010 [2]李群芳.单片机微型计算机与接口技术北京: 电子工业出版社,2010 [3]康华光。 电子技术基础(数字部分)北京: 高等教育出版社,2011 [4]杨素行模拟电子技术基础北京: 高等教育出版社,2010 [5]巧媛单片机原理及应用北京: 电子工业出版社,2003 [6]胡汉才单片机原理及系统北京: 清华大学出版社,2002 [7]余发山单片机原理及应用技术北京: 中国矿业大学出版社,2004 [8]GuiyunTianFoumdationandApplicationpfMicrocontroller高等教育出版社 [9]LLH.-Programming.Microcontrollers.C.(Embedded.Technology.Serise) 附录 硬件原理图: 主控模块如图5.1所示 图5.1主控制模块原理图 蜂鸣器相关原理图如图5.2所示 图5.2蜂鸣器相关原理图 硬件实物图: 整体硬件实物如图5.3所示 图5.3整体硬件实物图 程序清单: #include #defineuintunsignedint #defineucharunsignedchar sbitZD=P3^5; sbitLED0=P0^0; sbitbeep=P3^4; voidSendStr(unsignedchar*s); /*------------------------------------------------ 串口初始化 ------------------------------------------------*/ voiddelay_ms(uintx) { uinti,j; for(i=0;i for(j=0;j<110;j++); } voidInitUART(void) { SCON=0x50;//SCON: 模式1 TMOD|=0x20;//TMOD: timer1,mode2,8-bit重装 TH1=0xFD;//TH1: 重装值9600波特率晶振11.0592MHz TR1=1;//TR1: timer1打开 EA=1;//打开总中断 ES=1;//打开串口中断 } /*------------------------------------------------ 主函数 ------------------------------------------------*/ voidmain(void) { uinti,j; InitUART(); while (1) { while(ZD); LED0=0; for(i=0;i<100;i++)//蜂鸣器响 { beep=0; delay_ms (1); beep=1; delay_ms (1); } ES=0;//关闭串口中断,发送字符 SendStr("有震动"); delay_ms(100); ES=1; } } /*------------------------------------------------ 发送一个字节 ------------------------------------------------*/ voidSendByte(unsignedchardat) { SBUF=dat; while(! TI); TI=0; } /*------------------------------------------------ 发送一个字符串 ------------------------------------------------*/ voidSendStr(unsignedchar*s) { while(*s! ='\0')//\0表示字符串结束标志,通过检测是否字符串末尾 { SendByte(*s); s++; } } /*------------------------------------------------ 串口中断程序 ------------------------------------------------*/ voidUART_SER(void)interrupt4//串行中断服务程序 { if(RI)//判断是接收中断产生 { RI=0;//标志位清零 } if(TI)//如果是发送标志位,清零 TI=0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 震动 传感器