基于单片机的振动观测仪的设计与制作_第1页
基于单片机的振动观测仪的设计与制作_第2页
基于单片机的振动观测仪的设计与制作_第3页
基于单片机的振动观测仪的设计与制作_第4页
基于单片机的振动观测仪的设计与制作_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、海南师范大学本科生毕业论文题目:基于单片机的振动观测仪设计与制作姓 名: 冯双喜学 号:200806302204专 业:电子信息科学与技术年 级: 2008级系 另壯电了信息科学与技术完成日期:2012年5月指导教师:邙雄(教授)本科生毕业论文(设计)独创性声明本人声明所呈交的毕业论文(设计)是本人在导师指导下迸行的研究工作及取得 的研究成果,除了文中特别加以标注和致谢的地方外,本论文中没有抄袭他人研究成 果和伪造数据等行为。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示谢意。论文(设计)作者签名: 日期:本科生毕业论文(设计)使用授权声明海南师范大学有权保留并向国

2、家有关部门或机构送交毕业论文(设计)的复印件 和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权海南师范大学可以将本毕业 论文(设计)的全部或部分内容编入有关数据库迸行检索,可以采用影印.缩印或其 他复印手段保存、汇编毕业论文(设计X论文(设计)作者签名: 日期:指导教师签名:日期:前言1一. 设计要求错误!未定义书签。1. 1系统任务31. 2系统参数1二. 设计思想12. 1 设计思路22.2系统原理22.3系统方案论证22.4方案设计2三系统的硬件设计与实现33. 1 STC89C52单片机的功能介绍33. 1. 1 STC89C52 引脚封装33. 1. 2 STC89C52主要性能参

3、数 53. 2微压传感器SC0073模块工作原理103. 2. 1SC0073模块性能指标错误!未定义书签。3. 3模数转换模块(ADC0804) 63. 3. 1ADC0804 基本原理63. 3.2 ADC0804的规格及引脚图73.4复位电路8113.5电源电路部分93. 6主控电路系统图10四系统软件设计104. 1系统软件设计流程图124. 2串口通信电路部分124. 2. 1串口通信工作原理124. 3串口通信开发平台114. 4系统调试14五. 收获与展望15六. 谢词 14参考文献:15附录一:程序17附录二:PCB图21附录三:元器件清单22基于单片机的振动观测仪的设计与制作

4、作者:冯双喜指导教师:邙雄(海南师范大学物理与电子工程学院,海口,571158)摘要:传感器测得振动的模拟信号经过模数转换(ADC0804 )模块转换成数字信号送入单片机, 单片机再将数字信号用数码管显示出来;同时将数字信号通过串口在电脑上显示测得振动的波形, 并用发光二极管闪烁显示波形的变化情况。关键词:传感器;电脑显示波形;单片机Design and Manufacture of vibroscope Based on SCMAutho匚 Feng Shuang Xi Tutor: Kuang Xiong(College of Physics and Electronic Engmeeri

5、ng, Hainan Normal University, Haikou 571158, China)Abstract: sensors that the vibration of the analog signal after modulus conversion (ADC0804) module converted mto digital signals mto a siiigle-clup microcomputer, SCM and digital signal with a digital tube will be shown; And at the same time, to di

6、gital signal tluough a serial port on tlie computer in the vibration of the waveform display, and the flashmg light emitting diode shows the change of the waveform.Keywords: sensors; Computer display waveform; Single-clup microcomputer前言当今社会上,有越來越多振动现象产生,这些振动现象究竟哪些对人是有利的哪 些对人是有害的呢!为了研究这些振动现象我用单片机进行了

7、振动观测仪的设计与制 作。一.设计要求1.1任务:观测振动的波形,通过振动的波形观测和分析波形的变化趋势和振 动强度,同时将数据进行保存,便于以后的分析和对比观测。1.2参数:主要包含振动的频率和振幅,振幅主要反映的是波动的强度,频主要是反映振动的速率。二.设计思想2.1设计思路本电路分三条显示测得的波形,一是测得的波形用发光二极管的闪烁显示波形的 变化,二是测得的波形变化通过数码管显示波形的变化情况,三是将测得的波形通过 串口接入电脑上在电脑上显示测得的波形图。2.2系统原理本系统是用STC89C52单片机來控制的模块化的设计,通过传感器模块SC0073采 集测得的波形振动数据的模拟量经过A

8、DC0804模数转换将模拟量转换成数字量,将数 字量送入单片机,在单片机的控制下通过发光二极管、数码管、电脑同时通过不同的 形式显示测得的振动波形。2. 3系统方案论证方案一:本系统是利用STC89C52为控制核心的波形振动观测仪,通过采用HKG-07A 传感器主要用來检测脉搏跳动引起指尖内微血容积发生的变化,预处理时间长,受温 度、湿度的影响导致稳定性差。方案二:本系统是利用STC89C52为控制核心的波形振动观测仪,通过采用SC0073 动态微压传感器检测振动的幅度,该传感器对具有灵敏度高,抗过载及冲击波能力强, 抗干扰性好、操作简便、体积小、重量轻、成本低等特点,广泛应用于医疗、工业控

9、制、交通、安全防卫等领域。所以釆用方案二。2. 4系统方案设计本系统振动观测仪是一种新型的自动观测振动现象的产生,并用数码管显示振动 的幅度。系统总体构成包括SC0073传感器模块、AD转换模块、复位电路、电源电路、 显示模块等五大模块。总体框图如图1所示。图1系统总体框图三系统的硬件设计与实现3.1 STC89C52单片机的功能介绍3.1. 1 STC89C52 引脚封装STC89C52引脚功能介绍(其引脚图如图2所示):Pl. 1 cPl. 2 EPl. 3 匚Pl. 4 rPl. 5 cPl. 6 EPl. 7RSTRXD/P3 QTXD/P31 rBTD/F3 2 THT1 /P3.

10、3T0/P3 4Ti/P3. 5WK./P3 6RDP3. 7XTAL2XTAL1匚 r c c 匚 r c c 匚 r c cGNU匚0122456783012 3 4 5S78 A111111111120987G543210S2 7 6 5432143333333333222222222 Vec PO. 0 /ADO PO. 1/AD1 :PQ 2/AD2 po aZAna PO 4/AD4 PO. 5/AD5 :PQ 6/AD6 PO 7ZAD7 EA/VPP_ ALE/PROG PESH P2 7ZA15 P2 6/A14 P2. 5/A13 P2 4/A12 P2 3/A11 P2

11、2/A10 P2. 1ZA9 0/A8FDIF图2 52单片机引脚图Vcc (40):电源电压 GND (20):接地POD (32-39): P0 口是一个8位双向I/O接口,也即地址/数据总线复用口。作 为输出口用时,每位吸收电流的方式驱动8个TTL逻辑门电路,对端口 P0写“1”时, 可作为高阻抗输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位) 和数据总线复用。P1 口(1-8): P1是一个带内部上拉电阻的8位双向I/O 口,P1的输出缓冲级可 驱动(吸收或输出电流)4个TTL逻辑门电路,对端口 P0写“1”通过内部的上拉电 阻把端口拉到高电平时,此时可作输入口。作为输

12、入口使用时,因为内部存在上拉电 阻,某个引脚被外部信号拉低时会输出一个电流。P2 口 (21-28): P2是一个带有内部上拉电阻的8位双向I/O 口,P1的输出缓冲 级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口 P2写“1”通过内部的上 拉电阻把端口拉到高电平时,此时可作输入口。作为输入口使用时,因为内部存在上 拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位 地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2 口送出高8位地址数据。 在访问8位地址的外部数据存储器时,P2 口输出P2锁存器的内容。P3 口 (10-17): P3是一组带有内

13、部上拉电阻的8位双向I/O 口,P3的输出缓冲 级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口 P3写“1”时,它们被内 部上拉电阻拉高并可作为输入端口,此时,被外部拉低的P3 口将用上拉电阻输出电流。 P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,如表2所示:表2 P3 口的第二功能端口引脚第二功能P3. 0RXD (串行输入口)P3. 1TXD (串行输出口)P3. 2INTO (外部中断0)P3. 3INT1 (外部中断1)P3.4T0 (定时/计数器0)P3. 5T1 (定时/计数器1)P3. 6WR (外部数据存储器写通道)P3. 7RD (外部数据存储器

14、读通道)RESET (9):复位信号输入端。当振荡器工作时,RST引脚出现两个机器周期以上 高电平将使单片机复位。ALE/PROG (30):地址锁存有效信号输出端。当访问片外程序存储器或数据存储器 时,ALE (地址锁存允许)输出脉冲用于锁存地址的低8位字节,一般情况下,ALE仍 以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的, 要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。PSEN (29):程序存储允许输出端。是片外程序存储器的读选通信号,当STC89C52 由外部程序存储器取指令(或数据)时,每个周期两次PSEN有效,即输出两个脉冲, 在此期间

15、,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP (31):外部访问允许。欲使CPU仅访问外部程序存储器(地址为 0000H-FFFFH), EA端必须保持低电平(接地),需注意的是:如果加密位LB1被编程, 复位时内部会锁EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储 器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必 须是该器件是使用12V编程电压Vpp。XTAL1 (19):振荡器反相放大器的内部时钟发生器的输入端。XTAL2 (18):振荡器反相放大器的输出端。通过XTAL1、XTAL2外接晶振后,即可 构成自激振荡器

16、,驱动内部时钟发生器向主机提供时钟信号。3.1. 2 STC89C52主要性能参1. 具有8k字节可擦写Flash ROM2. 1000次擦写周期3. 全静态操作:0Hz24MHz4. 三级加密程序存储器5. 256字节片内RAM6. 32个可编程I/O 口线7. 3个16位定时器/计数器8. 6个中断源9. 低功耗空闲和掉电方式10. 可编程串行UART通道3. 2微压传感器SC0073模块工作原理传感器(SC0073)通过力敏元件采集波形振动的模拟量通过输出端接入模数 转换芯片(ADC0804)进行转换,其输出端要通过一个10K的上拉电阻接到高电平 上,另一端接地。K=IOk0SC0073

17、模块工作原理图3. 2. 1 SC0073模块性能指标压力范围:WIKpa灵敏度:MO. 2mv/pa非线性度:W1%F.S频率响应:11000HZ标准工作电压:3V (DC)扩充工作电压:1.5-6V (DC)标准负载电阻:10K扩充电阻:5K-20K3. 3模数转换模块(ADC0804)3. 3.1 ADC0804基本原理ADC0804是将模拟信号转换成数字信号(A/D转换器即模拟/数字转换器),信号输 入端可以是转换器的输出或传感器。3. 3. 2 ADC0804的规格及引脚图1 20二 VCC (VEEF)=219二 CLKR318二1 DBO (LSB)417ZZI DB116二 D

18、B2二6 ADC0804151 DH3714_ DB4813ZZI DB59121 DB610111 DB7 (JvISB)cs 而 WRCLKINTRVI +VI- AGND VREF/2 DGND图5 ADC0804引脚图CLK /N时钟信号输入端。CLK R :内部时钟发生器的外接电阻端,振荡无条件(R,C)频率范围100KHZ- 1460KHZ,与C厶K/N端配合可由芯片自身产生时钟脉冲,其振荡频率是1/(1. IRC)。CS片选信号输入端,低电平有效,一旦CS有效,表明A/D转换器被选中,可启动工作。丽 A/D转换结束信号,低电平表示本次转换己完成。而外部读取转换转换后的结果控制信号

19、的输出端。当而为L0时,转换后的数据 才会输出,当而为HI时,DB0-DB7处于高阻抗状态。WR启动转换器的控制输入端,既是ADC的转换开始(二0时),当族由HI变为 L0时,转换器被清除;当阪回到HI时,开始转换。DB0-DB7:具有三态特性的8位数字信号输出端。VIN ( + ) VIN (-):差动模拟电压输入端,输入单端正电压时,VIN(-)应接地; 当为差动输入时,直接加入VIN(+)与AGND模拟信号接地端。DGND数字信号接地端。VREF:参考电压输入端,决定量化单位。VCC:电源电压5V或电路参考电压输入端。表3 ADC0804转换功能十六进制二进制与满刻度的比率相对电压值VR

20、EF=2. 560伏高四位字低四位字节高四位电压低四位电压F111115/1615/2564. 8000. 300E111014/1614/2564. 4800. 280D110113/1613/2564. 1600. 260C110012/1612/2563. 8400. 240.B101111/1611/2563. 5200. 220.A101010/1610/2563. 2000. 200910019/169/2562.8800. 180810008/168/2562.5600. 160701117/167/2562.2400. 140.601106/166/2561.9200. 120

21、.501015/165/2561.6000. 100401004/164/2561.2800. 080300113/163/2560. 9600. 060200102/162/2560. 6400. 040.100011/161/2560. 3200. 020.8000034复位电路该系统采用外部复位电路采用按键手动复位牛昱光单片机原理与接口技术M.电子工业出版社,北泉.2009 ( 12 )2黄智伟.全国人学生电子设计竞赛训练教程M.电子工业出版社,北京.2006(04)MCS-52单片机的上电加按键手动复位电路如下图7所示。当复位按键按下后,复位端通过凡的小电阻与+5v电源接通,电容迅速放

22、电,使RST引脚为高电平;当复位 按键弹起后,+5V电源通过大电阻尺电阻对g电容重新充电,RST引脚端出现复位正脉冲。其持续时间取决于RC电路的时间常数。06x014RC2D GNC!r7IIVII!2)J1n n2)G)DN0O6OOOHS图6上电自动复位电路图7按键手动复位电路3. 5电源电路部分稳压电源LM7805LM7805是三端正电源稳压电路,它的封装形式为To-220.它有一系列固定的电压 输出,应用非常广泛。每种类型由于内部电流的限制,以及过热保护,使它基本上不 会损坏。如果能够提供足够的散热片,它们就能够提供大于1.5A的输出电流。虽然是 按照固定电压值来设计的。但是当接入适当

23、的外部器件后,就能获得各种不同的电压 和电流。如下图8所示,心为滤波电容,可以稳压在5V,可以给单片机提供稳定 的电源。图8 5V直流稳压电源36主控电路系统图本系统是用微压传感器(SC0073)模块釆集波形振动的数据通过模数转换芯片 (ADC0804)进行转换,转换后的数据送入单片机的P2 口,在经过单片机的P3 口控制 发光二极管通过串口在电脑上显示测得的波形,数码管显示测得波形的幅度。根据系统要求及各模块所实现功能,设计出主控电路系统如图3所示:10GCU!MN vccmiXML2KTALEMX22) 辭IK.4?.K5T1 iy誌to:W防個 ?JW1 ?J2.C: 恥心肮疔?】OTZ

24、 PLim 、七 /KV CW rv -* 、*囚円刃刃 Himl?l.4:.41AlAiGP2P2E.PLP1P2.?!?:Rf皿J岡尬恋尬 一赛1-霊器H氏:总5T15)7FT55TT5S系统软件设计4.1软件设计流程图图3主控电路图1142串口通信电路部分4. 2.1串口通信工作原理MAX232是把TTL电平从0V和5V转换到3V15V或-3V-15V之间。原理图如下图 9所示,首先TTL电平TXD发送数据时,若发送低电平0,这时0导通,PCRXD由空闲 时的低电平变高电平(如PC用中断接收的话会产生中断),满足条件。发送高电平1 时,TXD为高电平,0截止,由于PCRXD平时是-3V-

25、15V,通过。和心将其拉低PCRXD 至-3-15V,此时计算机接收到的就是1。下面再反过来,PC发送信号,由单片机來 接收信号。当PCTXD为低电平-3V-15V时,单片机RXD被他拉到5V高电平;当PCTXD 变高时,Q导通,RXD被Q拉到低电平,这样便实现的双向转换。12图9 RS232电平与TTL电平转换电路4. 3串口通信开发平台在系统开发过中充分考虑到人性化的控制,因此基于Visual Basic 6.0设计了一套 振动波形观测平台。VB包含了许多基于不同功能的控件,其中就包括串口通信控件, 控件中包含基于串口通信的方法和事件类型。在平台软件设计中初始化串口是其中重要部分,串口的初

26、始化包含串口号选择、 接收缓冲区大小、接收数据类型、串口状态和是否清空缓冲区等等,如下是上位机串口初始化函数:Private Sub Fonn_Load()Dim 1 As hitegei; j As hitegerkk = 0liu = 0rliu = 0Call mitMSConunl.Settmgs = ”96OO,N,&1”MSConun 1 .ConunPoit = 3,设定串口,为1为 conmilMSConunl .LiBuffeiSize = 8MSConun 1 .Ou tBuffeiSize = 2If MSConunl.PoitOpen = True Then MSCon

27、unl.PortOpen = False 关串口MSConunl .RTlueshold = 4MSConunl .STlueshold = 1 1MSConunl .LiputLen = 0MSConunl .LiputMode = 1If MSConunl.PortOpen = False Then MSConunl.PonOpen = Tnie13MSConunl.LiBufferCount = 0,清空接收缓冲区Text 1.Text = 0End Sub在PC机与下位机设备通信过程中波特率设置为9600,串口号为3,缓冲区大小 设置为8个字节。当串口有数据传输到PC机时,会引发MSC

28、onmil_OnCommO事件,在事件中主 要负责将数据存入缓冲区,并且将数据调整为符合显示界面要求的值。然后根据前后 值利用Lme方法划线。如下是事件触发函数:Private Sub MSConun 1 _OnC0111111()Dun rec As LitegerDun 11 As hitegeruithiputLen = MSConun 1 .LiBufferCountSelect Case MSConun 1 .ConmiEventCase coniEvReceivebytlnput = MSConun l.LiputF0111 = 0 To intliiputLeii - 11 Te

29、xt 1. Text = bythiput(n) rec = bvtlnput(n)liu = iec * 19.6Foiml.Line (kk - 20、rliu)-(kk, liu), RGB(255, 255, 255)rliu = liukk = kk + 20Ifkk= 10000 Thenkk = 0CisCall lintEnd IfNext nMSConun 1.InBuffeiCount = 0 清空接收缓冲区End SelectEnd Sub4. 4系统调试调试前首先检查电路连线是否正确,再检查元器件的安装情况,检查元器件引脚 之间有无短路和虚焊现象,尤其是电源和地脚,电解

30、电容、发光二极管、电源“+”、 “-”极不要接反。把经过准确测量的电源接入电路。观察有无异常现象,包括有无元 器件发热、冒烟有异味、电源是否有短路现象等;如有出现上术象发生,应立刻断开14电路电源,检查电路故障并根据检查结果对参数进行修正。经多次调试得到了想要达到的效果,在电脑上显示所测得的振动波形,在数码管上显示测得振动的波形的振幅。图10系统调试图五.收获与展望六.谢词历时将近两个月的时间终于将这篇论文写完,在写论文和制作实物过程中遇到了很多 的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指导老师 邙雄老师,他对我进行了无私的指导和帮助,不厌其烦的帮助我进行论文的修正和

31、改 进。另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持 与帮助。在此向帮助和指导过我的各位老师表示最诚挚的谢意。感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位 学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的撰写 和排版等过程中提供热情的帮助。由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!参考文献:1 牛昱光单片机原理与接口技术M.北京:电子ZD1R出版社2 郭天祥.51单片机C语言教程入门提高开发拓展全攻略M.北京.电子工业出版社,2

32、009-6153 张常年国外电子元器件.北方工业大学工学院J.北京,200223:20-23.4 杨素行模拟电子技术基础简明教程.北京高等教育出版社,2006-55 余孟尝.数字电子技术基础简明教程.北京.高等教育出版社,2006-7 黄智伟全国大学生电子设计竞赛训练教程电子工业出版社.2006-6(4)16附录一:程序L开发平台程序Dim liu As DoubleDun rliu As DoubleDunkk As IntegerPrivate Sub Command l_ClickQIf MSConunl .PortOpen = Tme Then MSConunl .PortOpen =

33、 FalseEndEnd SubPrivate Sub Form_Load()Dun i As Integer, j As Integerkk = 0liu = 0rliu = 0Call uiitMSConunl .Settings = H9600,N.8JMMSConunl .ConmiPoit = 4,设定串 I I 为 1 为 coininlMSConunl .IiiBufiferSize = 8MSConmil .OutBufferSize = 2If MSConunl.PoitOpen = True Then MSConunl.PortOpen = False。关串 I IMSCo

34、nmil .RTlueshold = 4MSConunl .STlueshold = 1 *MSConmil .IiiputLen = 0MSConmil.IiiputMode = 1If MSConunl .PoitOpen = False Then MSCoininl .PortOpen = TrueMSConmil .IiiBuffei-Count = 0,青空接收缓冲区Textl.Text = 0End SubPrivate Sub MSConmil_OnConunQDim rec As IntegerDim n As IntegermtlnputLen = MSConmil .Iii

35、BufferCountSelect Case MSConunl .ConunEventCase coniEvReceive bytliiput = MSCoininl.InputFor n = 0 To mtlnputLen 11 Text 1.Text = bvtliiput(n) rec = bytlnput(n)liu = rec * 19.6Forml.Lme (kk - 20, rliu)-(kk, liu), RGE(255, 255, 255) rliu = liukk = kk + 2017Ifkk= 10000 Thenkk = 0CisCall iiiitEnd IfNex

36、t nMSConiml .IiiBuffei-Count = 0 涓空接收缓冲区End SelectEnd SubPrivate Function uiit()Foiml.Scale (0, 6000)-(10000, -1000)Foiml.DiawWidth = 1Forml.DiawStyle = 3For j = -500 To 5000 Step 500Foiml.Line (Oj)-(IOOOOJ). RGB(0, 255, 255)NextCunentX = 0: CurrentY = 0: Print 0CunentX = 0: CurrentY = 5000: Prmt 振动极限”Foiml .DrawWidth = 2Forml.DiawStyle = 0Foiml.Line (0, 5000)-(10000, 5000),RGB(255, 10. 0)Foiml.Line (0, 0)-(10000. 0), RGB(255, 10, 0)End Function数码管显示程序#includeinclude define unit unsigned mtdefine uchar unsigned charsbit adrd=P3A7;/IO 口定义sbit adwr=P3A6;

温馨提示

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

最新文档

评论

0/150

提交评论