声音探测仪的设计.docx

上传人:夺命阿水 文档编号:15141 上传时间:2022-06-29 格式:DOCX 页数:14 大小:318.33KB
返回 下载 相关 举报
声音探测仪的设计.docx_第1页
第1页 / 共14页
声音探测仪的设计.docx_第2页
第2页 / 共14页
声音探测仪的设计.docx_第3页
第3页 / 共14页
声音探测仪的设计.docx_第4页
第4页 / 共14页
声音探测仪的设计.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《声音探测仪的设计.docx》由会员分享,可在线阅读,更多相关《声音探测仪的设计.docx(14页珍藏版)》请在课桌文档上搜索。

1、电阻自动测量仪的设计第1章功能说明自动电阻测试仪与传统电阻测试仪器相比具有读数方便,测量*围广,测量准确等优点,其输出阻值采用液晶显示,主要用于对电阻测量要求比较准确的场所,工厂或科研实验室使用。目前电阻测试仪的发展很快,尤其是传感器得使用大大提高了测量的精度和灵敏度,再加上强大的液晶显示界面,使得电阻的测量更加直观方便。另一重要的方面是通过微型计算机的使用来提高仪器仪表的性能,提高仪表本身自动化、智能化程度和数据处理能力。仪器仪表不仅供单项使用,而且可能过标准接口和数据通道与电子计算机结合起来,组成各种测试控制管理综合系统,满足更高的要求。这就使得现今的电阻测试更加的自动化和智能化。第2章方

2、案论证与设计在进行本设计前我们对各功能模块进行了比较论证和选择,将本次设计系统分为以下几个部分:恒流源电路、A/D转换电路、信号处理电路、被测电阻、单片机系统、键盘电路、显示电路、电机控制电位器电路。图2.1简易自动电阻测试仪系统框图2.1 单片机控制系统方案设计方案一:使用 AT89S52单片机作为系统的控制核心。单片机具有体积小,片上资源丰富,使用灵活,易于人机对话,是采用CMOS工艺的8位单片机,与AT89S51完全兼容,有较强的指令寻址和运算功能等优点,但是该单片机是8位机,运行速度比较慢,功耗较高方案二:使用 STC12C5A32S29单片机作为系统的控制核心。STC12C5A32S

3、29具有体积小,片上资源丰富和 I/O口多可复用的优点,最重要的是STC12C5A32S29是16位机,具有超低的功耗,而且本身集成8路10位的ADC,这是其他控制器不可比拟的优势,但是由于这种单片机的使用不是很熟练,使用起来存在很多弊端而AT89S52已经满足我们的要求。在此系统中,我们经过细致的思考,最终选择了方案一,用AT89S52作为整个系统的控制与计算中心。2.2 电阻测量模块方案二:直接测量法,也叫转换测量法。测量时,把电阻欧姆先转换成别的量再测量。比如把被测量电阻施加以一个已知的电压,则再测量流过电阻的电流,根据欧姆定律,这个电流与电阻成正比。因此,我们采用测量这个电压,就可以得

4、到电阻值。直接测量简单快速,但转换后很多因素直接参与误差贡献,比如恒流源的精度、电压表的精度都直接影响被测电阻值。方案三:电阻电压转换测量法,采用R/U转换器将被测电阻转换成电压,经转换后得到的直流电压经A/D转换器转换为数字信号,由单片机控制输出显示被测电阻值到LCD。方案四:恒流源测量法,该方法是给待测电阻提供一个恒定电流,利用单片机的 AD 采集其两端的电压来确定其电阻值。此种方法简单易行,但是由于电阻变化*围是10010M,电压变化*围太大,而我们采用的是专用的AD 进行转换,所以能实现要求的指标,综合性能优于其它几中方案。综合考虑,选择方案四。2.3 信号采集模块方案一:可以使用55

5、5振荡器,通过555振荡器测试不同阻值被测电阻时产生不同的脉冲,将所获得的脉冲信号送至单片机,通过单片机内部软件对脉冲信号的处理,将所测值显示在液晶显示屏上。方案二:设置恒流源电路,当测试被测电阻时,产生对应的电压值,然后使用A/D转换器AD7705集成块完成A/D转换,将所获得的数字量送至单片机,通过软件对数字量的处理,将所测值显示在液晶显示屏上。综合考虑系统的各项性能,最后我们考虑采用方案二。2.4 档位选择模块方案一:选用晶体二极管作为开关元件。二极管在正向电压作用下电阻很小,处于导通状态,相当于一只接通的开关;在反向电压作用下,电阻很大,处于截止状态,如同一只断开的开关,利用二极管的开

6、关特性,可以组成各种逻辑电路。用二极管作为开关作为档位的选择开关,采用单片机控制二极管的开关实现对档位的选择。方案二:采用选择器CT74LS151集成块实现对不同档位的选择。当单片机检测到所测电阻阻值大于所选档位时自动控制选择器CT74LS151实现对适当档位的选择。方案三:采用继电器作为档位开关控制,继电器是一种电控制器件。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。采用4个继电器分别控制不同电阻测试档位。控制系统由单片机系统控制。综

7、合考虑设计的精确性和可操作性,我们决定采用方案三2.5 电机驱动模块方案一:采用直流电机,直流电机速度快,价格便宜,通过调节电流来改变速度,驱动电路简单,调速*围广,调速特性平滑。但其转距小,带有大负载时很容易堵转;而且由于其速度较快,不易控制,精确度低,不适合应用在本题。方案二:采用步进电机,步进电机是一种能将电脉冲转化为角位移的机构,通过控制脉冲个数来控制角位移量,通过控制脉冲频率来控制电机转动的速度和加速度,其精确度高。通过分析题目要求,步进电机可以达到题目要求的精度,而且价格适中,控制简单。综上所述,我们决定采用步进电机。2.6 显示模块方案一:采用LED数码管显示。数码管显示具有亮度

8、高、夜视效果好等优点,但显示信息量小,且自身功耗较大。方案二:12864点阵LCD液晶显示。LCD液晶可轻松实现字母、汉字、图像等的显示,控制简单。我们需要显示内容较多,所以采用此方案。2.7 电源模块方案一:采用开关直流稳压电源。开关电源功率大,效率高,但是纹波大,价格相对较高。方案二:采用线性直流稳压电源。线性稳压电源制作简单,输出稳定,性价比较高。综合考虑,我们选择方案二。2.8 各模块方案确认(1)主控模块:选用AT89S52。(2)信号源模块:电阻测量采用恒流源法。(3)测量模块:信号采集电路选用AD7705。(4)档位选择模块:采用继电器作为档位开关控制。(5)电机驱动模块:电机采

9、用步进电机。(6)液晶显示采用12864LCD 液晶。(7)电源模块:采用线性直流稳压电源。第3章硬件电路设计3.1 总体设计框图及说明本简易电阻自动测试仪采用AT89S52单片机为核心控制器,利用基于LM358构成的恒流源的电阻测量方法,将测量的电压值通过模数转换模块AD7705转换成数字信号,将数字信号输入AT89S52单片机进行处理,完成电阻测量。再通过单片机与显示模块的连接,显示测量结果。该测试仪由电阻测量电路模块、电位器阻值变化曲线测试模块、单片机、A/D转换电路、时钟电路、稳压电源、恒流源、显示、键盘等模块组成。系统方框图如图3.1所示。图3.1 总体设计框图3.2 模块电路介绍3

10、.2.1 电源模块输入的外部电源首先经过桥式整流、滤波电路滤波,再经过7805芯片稳压成5V的直流电压,向主控制器供电。图3.2.1 电源模块电路电子产品中,常见的三端稳压集成电路有正电压输出的78系列和负电压输出的79系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO-220的标准封装,也有9013样子的TO-92封装。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成

11、稳压电路的输出电压。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。3.2.2 单片机与键盘控制AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使

12、得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,

13、每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入

14、(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2E*)。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2E*(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻

15、的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOV* DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOV* RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

16、 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚第二功能:P3.0 R*D(串行输入口) P3.1 T*D(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG:当访问外部程序存储

17、器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOV*和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S5

18、2由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。*TAL1:振荡器反相放大器和内部时钟发生电路的输入端。*TAL2:振荡器反相放大器的输出端。图3

19、.2.2 键盘控制原理图键盘功能如下:s1;电阻筛选功能键; s2:- s3:+ s4:自动测量电位器3.2.3 A/D采样模块在AD7705与单片机系统进行连接时,使用并行采集方式,要连接BCD码数据输出线,可以将AD7705的/STB信号接至AT89S52的P3.2(INT0)。AD7705是AD公司新推出的16位-A/D(电荷平衡式)转换器。器件包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路,-调制器,可编程数字滤波器等部件。能直接将传感器测量到的多路微小信号进行AD转换。这种器件还具有高分辨率、动态*围宽、自动校准、优良的抗噪声性能以及低电压低功耗等特点,非常适合仪表测

20、量、工业控制等入通道,能达到0.003%非线性的16位无误码数据输出,其增益和数据输出更新率均可编程设定,还可选择输入模拟缓冲器,以及自校准和系统校准方式。工作电压3V或5V。3V电压时,最大功耗为1mW,等待模式下电源电流仅为8mA。AD7705需要外部的时钟信号,本设计采用CD4040来对ALE信号进行分频。CD4040是由12个T型触发器组成的串行二进制计数器/分频器,有12个分频输入端,Q1-Q12,最大分频系数为2=4096。本设计将单片机的ALE16分频作为AD7705的时钟。图3.2.4 AD采样模块3.2.5 档位切换电路控制系统由单片机控制,采用4个继电器分别控制不同电阻测试

21、档位。当单片机相应的I/O口输出低电平时,三极管导通,继电器线圈得电吸起,从而接通相应的基准量程电路。图3.2.5 档位切换电路3.2.6 数据显示通过LCD驱动程序对AT89S52处理后的结果数据进行稳定显示,在测试期间显示能够保持稳定状态,当离开测试能够迅速归零。图数据显示原理图本模块采用的是12864LCD液晶显示:12864是128*64点阵液晶模块的点阵数简称。该点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864,内置8192个16*16点汉

22、字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字,也可完成图形显示,低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。它有以下基本特点基本特性:1、低电源电压(VDD:+3.0-+5.5V)2、显示分辨率:12864点3、内置汉字字库,提供8192个1616点阵汉字(简繁体可选)4、内置128个168点阵字符5、2MHz时钟频率6、显示方式:STN、半透、正显7、驱

23、动方式:1/32DUTY,1/5BIAS8、视角方向:6点9、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/1010、通讯方式:串行、并口可选11、内置DC-DC转换电路,无需外加负压12、无需片选信号,简化软件设计13、工作温度:0-+55,存储温度:-20-+60第4章系统软件设计4.1 程序机构说明我们的程序机构主要包括:主控程序模块、键盘扫描及处理子程序、12864液晶显示程序、阻值信号采样数据处理子程序、A/D中断控制子程序、定时器子程序、档位控制子程序、中断子程序等几个部分组成。结构框图如图4.1。图4.1 主程序机构框图4.2 程序流程图图4.2程序流程图4.3源程

24、序:源程序:#include #include #include #include unsigned char inte=0; /频率值溢出定时器值unsigned long int uu=0;/频率相对应的计数值unsigned long int ff=0; /实际频率值typedef unsigned char uchar;typedef unsigned int uint; uchar key1; int m=0,w=0,q=0,b=0,s=0,g=0;#define LEDSEG*BYTE0*bfff#define LEDDAT*BYTE0*dfffvoid delay_50us()

25、uchar i;for (i=0; i6; i+);void display(uchar num,uchar seg)switch(num)case 1:num=0*06;break;case 2:num=0*5b;break;case 3:num=0*4f;break;case 4:num=0*66;break;case 5:num=0*6d;break;case 6:num=0*7d;break;case 7:num=0*07;break;case 8:num=0*7f;break;case 9:num=0*6f;break;case 0:num=0*3f;break;default :n

26、um=0*00;break;switch(seg)case 1:seg=0*01;break;case 2:seg=0*02;break;case 3:seg=0*04;break;case 4:seg=0*08;break;case 5:seg=0*10;break;case 6:seg=0*20;break;default :seg=0*00;break;LEDSEG=seg;delay_50us();LEDDAT=num;delay_50us();void timer1(void) interrupt 3TL1=0*00;TH1=0*00;void cafrequent(void)ree

27、ntrant long int l1=0*00; long int h1=0*00; float tt=0; /tt用于计算频率 TMOD=(TMOD&0*0F)|0*90; TH1=0*00; TL1=0*00; ET1=1; EA=1; while(fw=1); TR1=1; while(fw=0); while(fw=1); TR1=0; l1=TL1; h1=TH1; uu=h1*256+l1+inte*65536; inte=0; tt=uu/(11.0592*1000000.0/12.0); ff=(unsigned long int)(1.0/tt); /频率值void judg

28、ekey() long int R=0,C=0,L=0; cafrequent(); delay_5ms(); while(sr=0) if (srd=0) /R=(6560000.0/(2.0*ff)-(330.0/2.0); R=(6906343.0/(2.0*ff)-(330.0/2.0); delay_5ms(); m=R/100000; delay_5ms(); w=(R/10000)%10; delay_5ms(); q=(R/1000)%10; delay_5ms(); b=(R/100)%10; delay_5ms(); s=(R/10)%10; delay_5ms(); g=

29、R%10; else (srg=0) ; R=(1000000.0/(0.693*0.01*ff)-20000.0)/2.0; delay_5ms(); m=R/100000; delay_5ms(); w=(R/10000)%10; delay_5ms(); q=(R/1000)%10; delay_5ms(); b=(R/100)%10; delay_5ms(); s=(R/10)%10; delay_5ms(); g=R%10; while(sc=0) / C=2790000.0/ff; C=3193333.0/ff; delay_5ms(); m=C/100000; delay_5ms

30、(); w=(C/10000)%10; delay_5ms(); q=(C/1000)%10; delay_5ms(); b=(C/100)%10; delay_5ms(); s=(C/10)%10; delay_5ms(); g=C%10; while(sl=0) m=L/100000; delay_5ms(); w=(L/10000)%10; delay_5ms(); q=(L/1000)%10; delay_5ms(); b=(L/100)%10; delay_5ms(); s=(L/10)%10; delay_5ms(); g=L%10; while(1) display(m,1);delay_5ms();display(w,2);delay_5ms();display(q,3);delay_5ms();display(b,4);delay_5ms();display(s,5);delay_5ms(); display(g,6);delay_5ms(); void main() judgekey()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号