ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:1.97MB ,
资源ID:5945767      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5945767.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于PIC16F87X的声源定位系统设计与实现.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于PIC16F87X的声源定位系统设计与实现.docx

1、基于PIC16F87X的声源定位系统设计与实现基于PIC16F87X的声源定位系统设计与实现摘要在科技发展迅速的今天,声源定位的技术无论在军事领域还是医学领域都得到了相应的重视,声源的测定是利用声学与电子装置接收声信号以确定声源位置的一种技术,具有隐蔽性好、保密性强、不易受干扰等特点.近年来受到各国的重视,并在军事领域得到长足的发展。声源定位是判定某声源在空间所处的方位的能力,通常总是以为空间感觉是由视觉获得,其实一直在监测着我们周围的环境。本文介绍了声源定位技术的研究现状及发展趋向,阐述了PIC16F87X系列单片机的理论知识,根据PIC单片机的主要性能,利用C语言进行编程后,单片机将实现我

2、们设计所需要的功能,利用声达时间差的声源定位理论基础和声源信号的接收及处理方式,设计出一个基于PIC16F87X的声源定位系统。上诉系统工作原理根据是不同声音的频率都是特定的,进而对其信号进行处理,提取出有用信号,进行一些声音判别算法的处理,通过单片机控制器装置的精确转位,能够精确定位出声源的位置,从而进一步阐述了基于声达时间差的声源定位的设计方案,并绘制了原理图,撰写了程序源代码,通过软件与硬件结合工作,将单片机与放大电路在PCB版上焊接后完成声源测试的功能。关键词:声达时间差,单片机,舵机,声源测试Single Chip System-based of Sound Source Local

3、ization Design and ImplementationAbstractIn the rapid development of technology today, acoustic source localization has been seriously valued not only in the military field but also medical fields. Sound source was measured using acoustic and electronic device receives the sound signal to determine

4、the location of a sound source of a technology. And it has good concealment, strong confidentiality, less susceptible to interference and so on. Sound source localization is the determination of a sound source in the space location capability. Usually it thought that the space feeling is obtained by

5、 vision. Actually it has been monitoring the environment around us. It has long been known that the sound can cause subjective pitch and loudness sensation in ears. This article describes the sound localization technology Research and development Elaborated theory knowledge of the PIC16F87X Series M

6、CU. We program it based on PIC MCU main performance by C language. Microcontroller will realize we design the required functions. We use of acoustic time difference of acoustic source localization theory foundation and source signal receiving and processing method based on PIC16F87X. The system prin

7、ciple of work according to the different sound frequency is given. And then the signals are processed, the extraction of useful signal, some voice recognition algorithm processing. Through the MCU controller device for precise transposition, it is able to pinpoint the location of a sound source loca

8、tion. What is more, is based on the acoustic time difference of acoustic source localization design. And the mapping diagram and write the program source code. Through the software and hardware combined with work. The single chip microcomputer and amplifying circuit in the PCB version after the weld

9、 is completed the sound source test function.Key words: TDOA (Time Difference of Arrival), Single Chip Microcomputer, Steering engine, Source test 第1章绪论1.1国内外现状对于声源的定位技术主要技术和原理是通过利用声音的特有属性,也就是声波的传递性,利用声学感应装置来接收它,之后使用一定的电子设备使声音信号转化为电子设备可以识别的信号,并对其识别判断,进而对发声目标进行追踪以及定位的技术,其原理类似于雷达的工作原理。在当今社会得到了空前的发展。在科

10、技发展日新月异的今天,声源定位的研究在军事中和医学中的作用更是重中之重,声源的测定是利用声学与电子装置接收声信号以确定声源位置的一种技术,具有隐蔽性好、保密性强、不易受干扰等特点.近年来受到各国的重视,并在军事领域得到长足的发展;声源定位是判定某声源在空间所处的方位的能力,通常总是以为空间感觉是由视觉获得,其实一直在监测着我们周围的环境。人们早已知道声音能引起主观的音调和响度感觉,其实耳还能利用两耳的物理条件差异作为声音的定位。为了探讨声源定位在临床中的实用价值,采用自制的声源定位。1.2关键技术研究声源测试的关键技术在于定位技术,就定位技术而言影响其精度的最主要因素有两种,他们分别是延时估算

11、和声源测试阵列的选择。而相对比于声源测试阵列的选择来讲,利用时间上的延迟对声音信号的处理来定位声源要比给出基本原理、定位计算的方法要重要许多。需要研究时延估计的基本理论的同时、还要对外界状况以及精度方面的分析进行比较,需要分析影响定位精度的其他因素。1.3课题研究内容课题主要研究的内容有三个他们分别是:.PIC16F87X系列单片机的理论知识.基于TDOA声源定位的理论基础.声源信号的接收及处理第2章PIC单片机2.1PIC单片机介绍本课题就是通过对PIC16F87X系列单片机的自学研究。从而了解基于此系列单片机的声源定位的硬件设计原理,从而达到理论与实践相结合的目的,而本章就详细的介绍了对P

12、IC单片机的自学内容。单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。最早期的单片机都是8位或4位的。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。据统计,我国目前的单片机数量已经达到了13亿片,而且每年正在以大约16%的速度持续增长,而相对于世界单片机市场我国的占有率只有区区的1%。从此方面来讲充分的说明单片机在未来的应用在我国还有很大的发展空间,还有非常广阔的前景。就单片机而言,单片机的种类很多,PIC只是单片机大家族中的一个小群体,PIC

13、单片机是一个小型的计算机。PIC系列单片机品种虽多,但是各个产品的内部硬件构成和它的资源数据,存储器的设置仍然是有规律可循的,PIC系列单片机各种类别的数据存储器基本上都是以寄存器方式工作和寻址的。其PIC内部专用寄存器包括了很多种不同的寄存器,其中有定时寄存器TMRO、选择寄存器OPTION(又称为项选寄存器)、程序计数器PCL、状态寄存器STATUS、间接寻址寄存器INDF和FSR、端口I/O寄存器(如PORTA、PORTB)和相对应的端口I/O控制寄存器(又称为端口I/O数据方向寄存器,如TRIAS、TRISB)、保持寄存器PCLATH和中断控制寄存器INTCON等。上述的专用寄存器都是

14、PIC16C63/65/65A和PIC16C71A共同有的,它们不仅是寄存器名称、功能相同,而且寄存器的地址也完全相同。如果再查看其它PIC单片机,如PIC16C62/62A/64/64A、PIC16C71/72/73/73A/74/74A、PIC16C8X它们的专用寄存器名称凡是与以上相同者其地址也完全与上述相同,可见尽管PIC系列单片机品种多,但掌握它们的规律后,学习起来是不难的。PIC单片机有计算功能和记忆内存像CPU并由软件控制允行。然而,处理能力存储器容量却很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K4K字节。2.2PIC

15、单片机主要性能众所周知PIC系列单片机是由美国Microchip公司生产的单片机产品,具有较好的抗干扰性能、简洁的指令集、所需硬件配置较少的特点。PIC16F877单片机是其开发的新产品,具有Flash编程的功能,用户可以直接在单片机上进行如暂停CPU执行、观察寄存器内容等操作,非常适用于教学和进行新产品的研发。PIC16F877A单片机是目前应用最广泛的一种PIC单片机。在电脑的外设、家电控制、电信通信、智能仪器、汽车电子以及金融电子等各个领域得到了广泛的应用。2.2.1PIC16F877A特性PIC16F877A具有PIC16F87X系列单片机的共同特点,主要性能如下:高性能RISC CP

16、U35条单字指令所有指令皆为单个周期,只有程序式分指令是两个周期运行速度:DC20MHz时钟输入,DC200纳秒指令周期数据总线与指令总线分离中断能力8级深度的硬件堆栈直接、间接和相对的寻址方式上电复位(POR)、可定时上电代码的保护为可编程式全静态设计在线串行编程(ICSP)其外围特征10个多通道A/D转换器带有RD,WR和CS控制(只40/44引脚)8位字宽的并行端口PIC16F877具有Flash Program程序内存功能,可以重复烧录程序,而其内有ICD(In Circuit Debug)功能,可以让使用者直接在单芯片电路或产品上,进行如暂停微处理器执行、查看缓存器内容等新功能,PI

17、C16F877A单芯片有PLCC(Plastic Leaded Chip Carrier)与QFP(Quad Flat Package)两种形式的包装,依照不同的需求,寻找不同的包装形式。PIC16F877A(见图2.1和图2.2)属于闪控式(Flash)单芯片,可以重复烧录,其ROM的容量总共是8K字节,以2K为一页,区分为4页;内部RAM总共有512个字节(00f1FFh),以128个字节为一个存储块,工区分为4个存储块,每个存储块的前半段都具有特殊用途,分别连接到特殊功能模块,例如I/O,CCP,Timer,USART,MSSP等。图2.1 PIC16F877A实物图2.2 PIC16F

18、877A引脚说明2.2.2PIC16F877A的各引脚及其功能PIC16F877A一共有40个引脚其功能如见下表2.1。 表2.1 PIC16F877A引脚功能引脚引脚功能OSC1/CLKIN13振荡器晶体输入/外部时钟源输入OSC2/CLKOUT14振荡器晶体输出,在晶体振荡器方式下,接晶体或陶瓷谐振器;在RC方式下,输出1/4fosc1MCLR/VPP/THV1主清零(复位)/编程电压输入/高电压测试方式控制,复位低电平有效RA0/AN0RA1/AN1RA2/AN2/VREF-RA3/AN3/VREF+RA4/T0CKIRA5/SS/AN4234567A口是双向I/O口RA0作为模拟量输入

19、口0RA1作为模拟量输入口1RA2作为模拟量输入口2/模拟参考电压负极RA3作为模拟量输入口3/模拟参考电压正极RA4作为为Timer0定时器/计数器时钟输入RA5作为模拟输入口4/同步串行口的从动选择输入RB0/INTRB1RB2RB3/PGMRB4RB5RB6/PGCRB7/PGD3334353637383940B口是双向可编程I/O口,所有引脚内部弱上拉RB0作为中断外部信号进行输入RB3作为为电压较低时输入RB4引脚电平变化产生中断RB5引脚电平变化产生中断RB6引脚电平变化产生中断/在线调试器RB7引脚电平变化产生中断/在线调试器RC0/T1OSO/T1CKIRC1/T1OSI/CC

20、P2RC2/CCP1RC3/SCK/SCLRC4/SDI/SDARC5/SDORC6/TX/CKRC7/RX/DT1516171823242526C口是双向I/O口RC0也作为Timer1 /Timer时钟输入RC1也作为Timer1输入/比机器输出或者 PWM2输出RC2也作为/PWM1输出RC3也作为SPI和I时钟的输入/输出RC4也作为SPI通信数据线的输入/I2C数据I/O线RC5也作为SPI通信数据线的输出RC6也作为非同步传输或SCI同时间时钟线RC7也作为非同步接收或SCI同时间数据线RD0/PSP0RD1/PSP1RD2/PSP2RD3/PSP3RD4/PSP4RD5/PSP5

21、RD6/PSP6RD7/PSP719202122272829 30D口是双向I/O端口,也可单片总线接口RE0/RD/AN5RE1/WR/AN6RE2/CS/AN789 10E为I/O端口RE0作为并行en_read/模拟量输入5RE1作为从动口的en_write线/模拟量输入6RE2作为并行片选控制线/模拟量输入7VSS1231逻辑信号和I/O引脚对应的接地端VDD1132逻辑型号和I/O引脚对应的电源正极2.2.3PIC16F877A的特殊内嵌功能PIC16F877A属于内嵌功能较多的单芯片,除了CPU、POM、RAM及I/O等基本构造外,还包括以下各种功能,简介如下:A/D conver

22、ter:模拟数字转换器,最多可以读取8组模拟输入信号。CCP:输入捕捉、输出比较、PWM,用于控制直流马达。Timer:内部定时器,有Timer、0Timer1、Timer2三个。USART:Universal Synchronous Asynchronous Receiver Transmiter,同步/异步串行传输,如RS232、RS485等。MSSP:Master Synchronous Serial Port,两线式(I2C)与三线式(SPI)标准同步。串行传输协定,常用于EEPROM内存资料的烧录与读取,或是与其他集成电路沟通与联系,形成多芯片网路。2.2.4PIC16F877A输入

23、输出区PIC16F877A有33只引脚都可以当成输入、输出引脚,输入输出端口是单芯片基本界面,可以与周边电路进行电路控制和信号传输与检测。PIC是8位的单芯片,以引脚特性分组,每组尽量凑满8只引脚,并将I/O命名为PORTA(RA0RA5)、PORTB(RB0RB7)、PORTC(RC0RC7)、PORTD(RD0RD7)和PORTE(RE0RE5)等,各分组特性说明如下:PIC16F877A的PORTA的总共有6位(RA0RA5),PORTA的引脚可作为数据输入输出端口,而系统重置后,PORTA自动生成模拟输入状态,可以取读模拟输入信号。PORTB的总共有8位(RB0RB7),可以编写程序规

24、划输入输出方向、状态,其中,要进行烧录时,使用到三个引脚,分别是引脚36(RB3/PGM),引脚39(RB6/PGC)与引脚40(PB7/PGD)。PORTC的总共有8位(RC0RC7),除可以作为数据I/O外,还和一些特殊功能的外微电路共享引脚,例如CCP(直流马达控制)、I2C、SPI(同步串行通信电路)、UART(异步串行传输电路)等。PORTD的总共有8位(RD0RD7),出可做一般数据I/O外,并与PSP(Parallel Slave Port)并行传输区共享。当整体系统需要多单芯片时,彼此可以经由并行传输区来快速传输资料。PORTE的总共有3位(RE0RE2),PORTE的引脚8、

25、9、10有三种功能,除了基本的I/O功能外,还有模拟输入功能,而上述PORTD的并行传输区设定所需的控制引脚,如/RD、/WR、/CS等,也是属于PORTE引脚。第3章PIC编程3.1 PIC单片机编程系统3.1.1指令概述指令就是人们用来指挥CPU按要求完成每一项基本操纵的命令,每一种单片机都有其不同的指令集,所谓指令集就是该单片机的全部指令的集合,也称其为单片机的指令系统。由于生产厂家的不同,或者由于单片机的CPU内核的差异,他们的指令系统一般会各不相同。在一个固定的指令系统之中,每一条指令都可以完成一种固定的操作行为,例如,数据传送操作,加法操作,减法操作,逻辑与操作,逻辑或操作,左移操

26、作,右移操作,等等。而对于上述的操作看似简单,但是无论多么复杂的控制操作,都可以用上述简单的固定操作行为去实现复杂的控制。换句话说,通过一些列有规则的简单操作,只要得当、具有规则性、目的性的组合在一起就可以构成一个符合我们要求的复杂功能程序。3.1.2PIC单片机C语言编程简介C语言有着简洁方便,灵活紧凑,运算符丰富,数据类型丰富的特点。在编写程序的时候,会省时省力,它的代码效率特别高,这是其优点中最为突出的,同时维护升级校对起来非常方便,代码的重复利用率很高,在多平台的情况下还可以进行跨平台的代码移植等等很多优点,综上所述,C语言编程在单片机系统设计中也已经得到了越来越广泛的运用了。针对PI

27、C 单片机的软件开发,同样可以用C语言实现。单片机相对于PC机在程序编写这一技术问题上存在着一定的差距,主要的原因在于PC机的资源非常丰富,而起运算能力要远远超过单片机,所以当有一个程序需要编写时,程序员在编写过程中,他大多数不用担心编译后的可执行代码在运行过程中会占用系统的资源数,也不太多考虑其运行效率。但是相反的是单片的内部资源非常有限,对控制的实时性的要求要比PC机的高的多,所以如果没有对单片机的结构体系与硬件资源作详尽的了解,以笔者的愚见认为是无法写出高质量实用的C 语言程序。这就是为什么前面所有章节中的示范代码全部用基础的汇编指令实现的原因,希望借此能使读者对PIC 单片机的指令体系

28、和硬件资源有深入了解,在这基础之上再来讨论C 语言编程,就有水到渠成的感觉。本论文围绕中档系列PIC 单片机来展开讨论。在进行单片机C语言编译之前,我们必须要提到的就是PIC单片机的C语言编译器了,作为单片机龙头的Microchip公司,让人遗憾的就是她没有针对于中低档的编译器,但为了单片机的C语言编译的可行性,我们可以找一些比较专业的第三方公司来进行PIC单片机的编译,他们有Bytecraft、CCS、IAR、Hitech。其中最经常被使用的就是Hitech公司的PICC编译器,它具备稳定性好,生成的代码效率高等优点,得到了很多相关专业人士的认可。但其正版软件需要付费的,在其网站上有限时的试

29、用版。但是Hitech公司为了满足广大PIC爱好者的需求,提供了免费版的PICC-Lite学习版编译器套件,这款学习版和正版的操作使用基本是一致的,但只支持PIC单片机家族中的PIC16F877、PIC16F628和PIC16F84 等几款。这几款Flash 型的单片机因其所具备的丰富的片上资源而最适用于单片机学习入门。3.1.3PIC单片机C语言编程环境Hitech-PICC 编译器PICC大体上还是符合ANSI 标准,但有一点例外:对函数的递归调用,它完全不支持。导致这种结果的因素是PIC 单片机特殊的堆栈结构。在前面介绍 PIC 单片机架构时已经详细说明了 PIC 单片机是通过硬件控制堆

30、栈的,深度主要是由单片机本身决定的。显然,大量堆栈式操作的递归算法是不可能实现的。 除此之外,软件的堆栈要再单片机中得以实现其效率会比较低,正因如此,PICC编译器采用一种对其中局部变量进行固定分配其地址空间的技术,称为“静态覆盖”,在这种技术的帮助下所产生的机器代码效率就会很高,届时代码量超过4K字节后,在整个C语言编译过程中十分注意编写语句效率的情况下,C语言所编译出来的代码长度与全部都用汇编语言所写代码的代码量的差距就已经不是很大了(小于百分之十),如果之前没有对PIC单片机的内核,各功能模块和汇编指令,C语言基础有着深刻的了解是很难做到这一点的。MPLAB-IDE 内挂接 PICCPI

31、CC 编译器可以直接挂接在 MPLAB-IDE 集成开发平台下,实现一体化的编译连接和原代码调试。使用 MPLAB-IDE 内的调试工具 ICE2000、ICD2 而且其源代码级别的程序调试都可以通过软件模拟器来实现,非常快捷。首先必须在你的计算机中安装PIC单片机的C语言编译器,无论是完全版还是学习版都可以和MPLAB-IDE挂接。安装成功后可以进入IDE,选择“Project Set Language Tool Locations”菜单项。打开工具挂接设置项,见图3.1。图3.1 MPLAB-TDE 语言工具设置页面在如3.1图所示页面后,找到“(HI-tech)PICC 工具栏”一项,将其展开后,找到可以运行的文件组选项:“Executable”之后,所有的可以执行的后台可调用的PIC编译器可用文件都会被“MPlab-IDE”的作用下显示出来。在所显示的页面中可以找到名字为“PICC Assembler”的汇编语言编译器,将其与C语言程序编译器(PICC Compiler)相连后,点击“PICC Linker”连接定位程序后,会显示出对应的可执行程序名。而在此时都会显示“PICC.exe”文件。然后分

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1