[毕业论文]多功能语音控制小车软件设

上传人:痛*** 文档编号:78369957 上传时间:2022-04-21 格式:DOC 页数:36 大小:3.64MB
收藏 版权申诉 举报 下载
[毕业论文]多功能语音控制小车软件设_第1页
第1页 / 共36页
[毕业论文]多功能语音控制小车软件设_第2页
第2页 / 共36页
[毕业论文]多功能语音控制小车软件设_第3页
第3页 / 共36页
资源描述:

《[毕业论文]多功能语音控制小车软件设》由会员分享,可在线阅读,更多相关《[毕业论文]多功能语音控制小车软件设(36页珍藏版)》请在装配图网上搜索。

1、电气信息工程学院毕业设计(论文) 多功能语音控制小车软件设计多功能语音控制小车软件设计 文 摘 随着电子业的发展,自动化已不再是一个新鲜的话题,无人驾驶的小汽车也必将进入实用阶段,本系统模拟将来的智能小车。根据开始录制的语音命令来控制启动、停止、返回和语音辩识,并且能自动避开障碍物,进行前行和倒退。利用金属传感器和黑白传感器来控制电机的正反转和控制电磁铁的吸合与断电,从而达到让小车能够清理道路上的小铁块。利用光电检测器检测道路上的障碍物,控制电动小汽车行使状态,并自动记录往返距离,显示小车所走过的路程。在整个行程中如果遇到正前方的障碍物将倒退一段距离后拐弯正向前行。SPCE061A单片机是继m

2、nSP系列产品SPCE500A等之后凌阳科技推出的又一个16位结构的微控制器,它具有体积小、集成度高、可靠性好且易于扩展、具有较强的中断处理能力、功能强、效率高的指令系统、低功耗、低电压等特点。SPCE061A单片机可应用在很多领域里如:家用电器控制器、仪器仪表、工业控制、智能家居控制器、通讯产品、语音识别类产品等领域。关键词 SPCE061A单片机;语音辨识;红外传感器;霍尔元件;金属传感器;共阴极数码管LG5641AH随着计算机新技术不断地涌现和VLSI设计技术的迅猛发展,计算机无论在系统体系结构还是在性能上都发生了巨大的变化。计算机一方面向着高速、智能化的巨型机方向发展,另一方面向着嵌入

3、式微型机的方向发展。其中,微型计算机以其性能和容量不断提高,而价格不断下降的趋势,使其在社会各个领域乃至家庭生活中发挥着越来越大的作用。当今微型计算机技术的发展形成两大技术分支:一是以微处理器MPU为核心组成的通用微机系统;另一分支是发展面向对象的用于实时测控领域的微控制器MCU,亦称单片微计算机(单片机)。随着超大规模高速集成电路的发展,现代电子技术的设计与应用进入了单片系统SOC(System On a Chip)阶段,从而使单片机的设计与应用技术发生了深刻的变化。SOC的设计要从整个系统的功能及性能出发,把微处理器(MPU)、芯片结构、数字/模拟等外围器件全部放置在一块芯片上,完成整个系

4、统的功能,真正实现“系统单片机”。故SOC为单片机的应用提供了更广阔的应用前景及更强的生命力。台湾凌阳科技股份有限公司近年推出的单片机就是基于SOC的新型的数/模混合的系统级芯片。在一个芯片内集成了单片机数据采集或控制系统所需的模拟和数字外设及其它功能部件。凌阳公司推出的单片机有8位、16位共50多种不同的IC芯片型号及其产品,以适用不同的应用领域,用户可根据需要选择相应的单片机系统。凌阳单片机顺应了单片机技术的发展趋势,其系统芯片具有集成度高、数/模混合、功能全、低功耗、低电压等特点。另外,凌阳单片机还增加了适合于DSP的某些特殊指令;其中SPCE061A单片机还嵌入了LCD控制/驱动和双音

5、多频发生器功能。1 SPCE061A单片机的介绍1.1 SPCE061A概述随着单片机功能集成化的发展,其应用领域也逐步的由传统的控制扩展为控制处理、数据处理以及数值信号处理(DSP,digital signal processing)等领域。凌阳16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的(microcontroller and signal processor)16位微处理器芯片。SPCE061A中只内嵌32K字的闪存FLASH ROM。较高的处理速度使能非常容易地、快速地处理复杂的数字信号。因此SPCE061A微控制也特别适合在数字语音识别领域应用。SPCE0

6、61A在2.6.V工作电压范围内工作频率范围为0.3249.152MHz,较高的工作速度使其应用领域更加扩宽。SPCE061A中包括2K字的SRAM和32K字的闪存ROM,仅占一页存储空间;32位可编程的多功能I/O端口;两个16位定时器/计数器;32768Hz实时时钟;低电压复位/低电压检测功能,8通道10位模/数转换输入并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能等。SPCE061A尤其适合于数字声音和音识别领域。1.2 SPCE061A主要性能(1) 16位nSP微处理器;(2) 工作电压(CPU) VDD为2.43.6V (I/O) VDDH为2.4

7、5.5V;(3) CPU时钟:0.32MHz49.152MHz ;(4) 内置2K字SRAM;(5) 内置32K FLASH;(6) 可编程音频处理;(7) 晶体振荡器;(8) 系统处于备用状态下(时钟处于停止状态),耗电仅为2A3.6V;(9) 2个16位可编程定时器/计数器(可自动预置初始计数值);(10) 2个10位DAC(数-模转换)输出通道;(11) 32位通用可编程输入/输出端口;(12) 14个中断源可来自定时器A / B,时基,2个外部时钟源输入,键唤醒;(13) 具备触键唤醒的功能;(14) 使用凌阳音频编码SACM_S240方式,能容纳210秒的语音数据;(15) 锁相环P

8、LL振荡器提供系统时钟信号;(16) 32768Hz实时时钟;(17) 7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;(18) 声音模/数转换器输入通道内置麦克风放大器和自动增益控制功能(19) 具备串行设备接口;(20) 具有低电压复位(LVR)功能和低电压监测(LVD)功能;(21) 内置在线仿真电路ICE(In- Circuit Emulator)接口;(22) 具有保密能力;(23) 具有WatchDog功能;1.3 SPCE061A芯片引脚功能说明 表芯片引脚功表IOA0IOA15I/O口A共16个IOB0IOB15 I/O口B共16个 XRESB复位输入。若这个脚

9、输入低电平时会使控制器被重置复位ICE_ENICE使能端ICE_SCKICE时钟端ICE_SDAICE数据端DAC1音频输出通道1DAC2音频输出通道2VREF22V参考电压输出端AGC语音输入自动增益控制端VCMADC参考电压输出端VDD(第7脚)琐相环电源VDD(第15脚) 数字电源1.4 SPCE061A的输入/输出接口(I/O)输入/输出接口(也可简称为I/O口)是单片机与外设交换信息的通道。输入端口负责。从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界输送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。nSP内有并行和串行两种方式的I/O口。并行口线路成本较

10、高,但是传输速率也很高;与并行口相比,串行口的传输速率较低但可以节省大量的线路成本。SPCE061A有两个16位通用的并行I/O口:A口和B口。这两个口的每一位都可通过编程单独定义成输入或输出口。 A口的IOA0 IOA7用作输入口时具有唤醒功能,即具有输入电平变化引起CPU中断功能。在那些用电池供电、追求低能耗的应用场合,可以应用CPU的睡眠模式(通过软件设置)以降低功耗,需要时以按键来唤醒CPU,使其进入工作状态。例如:手持遥控器、电子字典、PDA、计算器、移动电话等。 SPCE061A 的I/O端口结构SPCE061A提供了位控制结构的I/O端口,每一位都可以被单独定义用于输入或输出数据

11、。通常,对某一位的设定包括以下3个基本项:数据向量Data、属性向量Attribution和方向控制向量Direction。3个端口内每个对应的位组合在一起,形成一个控制字,用来定义相应I/O口位的输入输出状态和方式。数据向量Data、属性向量Attribution和方向控制向量。下表2给出了位数据向量_Data、属性向量_Attrib和方向控制向量_Dir的状态及并行I/O口的相应工作方式。 表2端口状态表_Dir_Attrib_Data口位状态口位方式描述唤醒功能000输入带下拉电阻的输入口有001输入带上拉电阻的输入口有010输入悬浮的输入口有011输入悬浮的输入口无100输出经数据反相

12、器输出高电平无101输出经数据反相器输出低电平无110输出经数据缓存器输出低电平无111输出经数据缓存器输出高电平无 Direction的说明如下:(1) 方向向量_Dir位:该位用于设定I/O口的对应位是用做输入还是用做输出位,设置如下:0输入,1输出。(2) 属性向量_Attrib位:该位用于定义I/O口的工作方式,在I/O口位作为输入和输出时的作用不同。当口位输入状态下,属性向量_Attrib设置如下:0带上拉或下拉电阻式输入;1悬浮式输入;当口位输出状态下,属性向量_Attrib设置如下:0经反相器反相输出;1经缓冲器同相输出;(3) 数据向量_Data位:在该位的输入状态下被写入时,

13、与Attrib位组合在一起形成输入方式的控制字,其功能如下:00带唤醒功能的下拉电阻式输入;01带唤醒功能的上拉电阻式输入;10带唤醒功能的悬浮式输入;11无唤醒功能的悬浮式输入。_Data位在该位的输出状态下被写入的是输出数据,数据输出是同相还是经反相输出则取决与_Attrib位的设置。1.5 模/数转换器ADC在单片机的应用系统中,常常需要将检测到的连续变化的模拟量,如温度、压力、流量、转速、声音、光亮度等转换成数字信号才能输入到单片机中进行处理。这种将模拟量转换成数字量的过程称为A/D转换。SPCE061A单片机中的ADC的控制方式SPCE061A内置8通道10位模/数转换器ADC,其中

14、7个通道用于将模拟量信号(例如电压信号)转换为数字量信号,可以直接通过引线(IOA0IOA6)输入。另外一个通道只用于语音输入,即通过内置自动增益控制放大器的麦克风通道(MIC_IN)输入。实际上可以把模/数转换器看作是一个实现模/数编码器。在ADC内,由数/模转换器DAC0和逐次逼近寄存器SAR组成逐次逼近式模/数转换器。向P_ADC_Ctrl(写)(7015H)单元第0位(ADE)写入1用以激活ADC。系统默认设置为ADE=0,即屏蔽ADC。ADC采取自动方式工作。硬件ADC的最高速率限定为(/32/16)Hz,如果速率超过此值,当从P_ADC(读)(7014H)单元读出数据时会发生错误。

15、在ADC自动方式被启用后,会产生出一个启动信号,即RDY=0。此时,DAC0的电压模拟量输出值与外部的电压模拟量输入值进行比较,以尽快找出外部的电压模拟量的数字量输出值。逐次逼近式控制首先将SAR中数据的最高有效位试设为1,而其它位则全设为0,即1000000000B。这时,DAC0输出电压(1/2满量程)就会与输入电压进行比较。如果,则保持原先设置为1的位(最高有效位)仍为1;否则,该位为被清0。接着,逐次逼近式控制又将下一位试设为1,其余低位依旧为0,即1100000000B,与进行比较的结果若,则仍保持原先设置位的值,否则该位清0。这个逐次逼近的过程一直会延续到10位中的所有位都被测试之

16、后,A/D转换的结果保存在SAR内。当10位A/D转换完成时,RDY会被置1。此时,用户通过读取P_ADC(7014H)或P_ADC_MUX_Data(702CH)单元可以获得10位A/D转换的数据。而从该单元读取数据后,有会使RDY自动清0来重新开始进行A/D转换。若未读取P_ADC或P_ADC_MUX_Data单元中的数据,RDY仍保持为1,则不会启动下一次的A/D转换。外部信号由LIN_IN17即IOA06或通道MIC_IN输入。从LIN_IN17输入的模拟信号直接被送入缓冲器P_ADC_MUX_Data;从MIC_IN输入的模拟信号则要经过缓冲器和放大器。AGC功能将通过MIC_IN通

17、道输入的模拟信号的放大值控制在一定范围内然后放大信号经采样保持模块被送至比较器参与A/D转换值的确定,最后送入P_ADC。1.6 DAC方式的音频输出SPCE061A提供的音频输出方式为双通道DAC方式。在此方式下,DAC1、DAC2转换输出的模拟量电流信号分别通过AUD1和AUD2引脚输出,输出的数字量分别写入P_DAC1和P_DAC2。() P_DAC2(读/写)(7016H)在DAC方式下,该单元是一个带10位缓冲寄存器DAR2的10位D/A转换单元(DAC2)。P_DAC2写:通过此单元直接写入10位数据到10位缓存器DAR2,来琐存DAC2的输入数字量值(无符号数)。P_DAC2读:

18、从DAR2内读出10位数据。() P_DAC1(读/写)(7017H):该单元为一个带10位缓存器(DAR1)的10位D/A转换单元(DAC1)。用于向DAR1写入或从其中读出10位数据。() P_DAC_Ctrl(写)(702AH)DAC音频输出方式的控制单元,其中第58位用于选择DAC1输出方式下的数据琐存方式;第3、4位用来控制A/D转换方式;第1位总为0,用于双DAC音频输出。1.7 看门狗计数器(WatchDog)SPCE061A的WatchDog的清除时间周期为0.75s。因为WatchDog的溢出复位信号WatchDog_Reset是由4Hz时基信号经4分频之后产生的,即每4个4

19、Hz时基信号(1s)将会产生一个WatchDog_Reset信号,而清除WatchDog的WatchDog_Clear信号却可以发生在4Hz信号(0.25s)之间的任意一个时刻点上。假如WatchDog_Clear信号发生在4Hz信号尾端的0.01s即第0.25s时刻,此时虽然WatchDog被清掉,但由于它发生在4Hz信号之后,再经3个4Hz信号即0.75s,如果一直没有WatchDog_Clear信号,便会产生出一个WatchDog_Reset信号。当然,如果WatchDog_Clear信号发生在4Hz信号始端的0.01s,则经过0.99s若无WatchDog_Clear信号便会产生Wat

20、chDog_Reset信号。因此,清除WatchDog的时间周期为0.75s。清除WatchDog只需写入P_WatchDog_Clear单元0x0001即可。此外,若32768Hz振荡器被打开,则在空闲方式期间WatchDog功能是被激活的。 2 指令系统2.1 指令系统的概述及符号约定指令是CPU执行某种操作的命令。微处理器(MPU)或微控制器(MCU)所能识别全部指令的集合称为指令系统或指令集。指令系统是制造厂家在设计CPU时所赋予它的功能,用户必须正确的书写和使用指令。因此学习和掌握指令的功能与应用非常重要,是程序设计的基础。本章将详细的介绍SPCE061A指令系统的寻址方式和各种指令

21、。 nSP单片机指令按其功能可划分为: (1) 数据传送指令,包括立即数到寄存器、寄存器到寄存器、寄存器到存储器存储器到寄存器的数据传送操作; (2) 算术运算,包括加、减、乘运算; (3) 逻辑运算,包括与、或、异或、测试、移位等操作; (4) 转移指令,包括条件转移、无条件转移、中断返回、子程序调用等操作; (5) 控制指令,如开中断、关中断、FIR滤波器的数据的自由移动等操作。 按寻址方式划分,可分为以下几类: 立即数寻址这种寻址方式是操作数以立即数的形式出现,例如:R1 = 0x1234,是把16进制数0x1234赋给寄存器R1。 存储器绝对寻址这种寻址方式是通过存储器地址来访问存储器

22、中的数据,例如:R1 = 0x2222,访问0x2222单元的数据。 寄存器寻址这种寻址方式是操作数在寄存器中,例如:R1 = R2,是把寄存器R2 中的数据赋给寄存器R1。 寄存器间接寻址这种寻址方式是操作数的地址由寄存器给出,例如:R1 = BP,是把由BP指向的内存单元的数据送寄存器R1。 变址寻址这种寻址方式下,操作数的地址由基址和偏移量共同给出,例如:R1 = BP+0x34。 2.2 数据传送指令 数据传送指令是把源操作数传送到指令所指定的目标地址。数据传送操作属复制性质,而不是搬家性质。指令执行后,源操作数不变,目的操作数为源操作数所代替。通用格式是: = 源操作数可以是:立即数

23、、寄存器直接寻址、寄存器间接寻址、直接地址寻址、变址寻址等。 2.3 伪指令nSP汇编伪指令与汇编指令不同,它不会被编译,而仅被用来控制汇编器的操作。伪指令的作用有点像语言中的标点符号,它能使语言中的句子所表达意思的结构更加清晰而成为语言中不可缺少的一部分。在汇编语言中正确使用伪指令,不仅能使程序的可读性增强,且使汇编器的编译效率倍增。 伪指令的语法格式及特点 伪指令可以写在程序文件中的任意位置,但在其前面必须用一个小圆点引导,以便与汇编指令区分开。伪指令行中方括弧里的参量是任选项,即不是必须带有的参量。如果某一个参量使用双重方括弧括起来,则说明这个任选项参量本身就必须带着方括弧。例如coun

24、t表示引用该任选参量时必须写出count才可。 nSP的汇编器规定的标准伪指令不必区分字母的大小写,亦即书写伪指令时既可全用大写,也可全用小写,甚至可以大小写混用。但所有定义的标号包括宏名、结构名、结构变量名、段名及程序名则一律区分其字母的大小写。 3 接口设计3.1 接口电路方框图及说明电路方框图如下图1所示: 图1小车接口框图主控元件采用凌阳SPCE061A单片机,属于凌阳unSP系列产品的一个16位结构的微控制器。SPCE061A里只内嵌32K字的闪存(FLASH),但用在此系统上已经绰绰有余。较高的处理速度使unSP能够非常容易地、快速地处理复杂的数字信号。因此以unSP为核心的SPC

25、E061A微控制器也适用在数字语音识别应用领域。SPCE061A在2.6V3.6V工作电压范围内的工作速度范围为0.32MHz49.152MHz,较高的工作速度使其应用领域更加拓宽。2K字SRAM和32K字FLASH仅占一页存储空间,32位可编程的多功能I/O端口;两个16位定时器/计数器;32768Hz实时时钟;低电压复位/监测功能;8通道10位模-数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能,这就为本系统的特定人辨识和语音播报打下了基础。采用凌阳SPCE061A十六位单片机,对小车的整个行驶过程进行实时监控,完成所有功能需要24个I/O口,

26、由于凌阳SPCE061A单片机提供32个I/O口,一片即可实现所有功能,这为设计过程提供了极大方便。其主要设计思想是:在小车上安装一个霍尔元件,利用单片机的IOB3外部中断判别轮胎转数的结果用来计算路程;安装两个检测障碍物的光电检测器和一个碰撞开关,利用IOB5、IOB6用扫描的方式来控制拐弯和返回;安装一个金属传感器用来检测轨道上的小铁块,并用一个电机来控制电磁铁的升降来拾起轨道上的小铁块。再安装了一个黑白传感器用来判断装小铁块的盒子的位置,让其能够正确的落入盒子里面。利用单片机的IOB8-IOB13控制继电器选择小车的正、反向和左、右转;凌阳SPCE061A十六位单片机提供了丰富的时基信源

27、和时基中断,给设计者以大量的选择空间,并给设计者提供精确的时基计数,其加减速通过大功率电阻消耗功率来实现。3.2 传感器原理及应用在当今信息化时代发展过程中,各种信息的感知、采集、转换、传输和处理的功能器件传感器,已经成为各个应用领域,特别是自动检测、自动控制系统中不可缺少的重要技术工具。传感器是信息采集系统的首要部件,是实现现代化测量和自动控制(包括遥感、遥测、遥控)的主要环节,是现代信息产业的源头,又是信息社会赖以存在和发展的物质基础与技术基础。3.2.1 传感器的定义与组成传感器(ransducer或sensor)有时亦被称为换能器、变换器、变送器或探测器。主要特征是能感知和检测某一形态

28、的信息,并将其转换成另一形态信息。因此传感器是指那些对被测对象的某一确定的信息具有感受(或响应)与检出功能,并使之按照一定规律转换成与之对应的有用输出信号的元器件或装置。 图2 传感器组成框图传感器一般是利用物理、化学和生物等学科的某些效应或机理按照一定的工艺和结构研制出来的。因此,传感器的主成的细节有较大差异,但是,总的来说,传感器应由敏感元件、转换元件和其他辅助部件主成,如图2所示。敏感元件是指传感器中能直接感受(或响应)与检出被测对象的待测信息(非电量)的部分,转换元件是指传感器中能将敏感元件所感受(或响)出的信息直接转换成电信号的部分。3.2.2 传感器分类传感器的品种很多,原理各异,

29、因此可以把传感器分成大类:(1) 按工作机理分类,这种分类方法是以其原理划分,将物理、化学和生物等学科的原理、规律、效应作为分类依据。(2) 按被测量分类,这种分类方法是按被测量的性质不同而划分。目前把不同的被测量的传感器分为物理传感器、化学量传感器和生物传感器三大类。(3) 按敏感材料分类,这种分类方法是按制造传感器的材料分类。(4) 按能量关系分类,根据能量关系分类,可将传感器分为有源传感器和无源传感器两大类。3.3 光电传感器光电检测器是一种将光量的变化转换为电量变化的传感器。它的物理基础就是光电效应。光电效应分为外光电效应和内光电效应。 图3 检测器接线图光电检测器的工作原理:当外加电

30、压一定时,当电流的大小和入射光的强度成正比例,这样光电检测器能把强弱变换的光转换成强弱变换的电流。在本系统中,为了确定障碍物,加入障碍物检测的光电传感器,根据小车所处的位置改变行驶状态,所使用的光电传感器为市场上普通的光电传感器,其型号为764型输出形式为晶体管集电极开路输出。接4.7k的上拉电阻,测量范围为1.5 18.5cm,实际安装距地面为2cm。在没检测到障碍物时Uo输出为低电平,在检测到障碍物时Uo将与传感器内部电路断开,因而加一个上拉电阻,此时将输出高电平。把光电检测器输出的信号接入SPCE061A单片机的IOB5和IOB6口,用来控制小车的两个电机正反转动,使小车能够避开障碍物。

31、在检测障碍物的过程中采用查询方式(即随着小车的运行轨迹,光电传感器便检测小车前方有无障碍物,直到检测到障碍物时就发出指令,使小车避开障碍物,随后继续检测直到小车停止)。光电探测器的性能参数:(1) 积分灵敏度R:灵敏度也常称作响应度,它是光电探测器光电转换特性的量度。(2) 光谱灵敏度R。 (3) 频率灵敏度R(响应频率f和响应时间T)。(4) 量子效率描述。(5) 通量阀P和噪声等效功率NEP。 3.4 霍尔传感器霍尔传感器是利用霍尔效应实现磁电转换的一种传感器,它具有灵敏度高、线形度好、稳定性高、体积小和耐高温等特性,它已经广泛应用于非电量测量、自动控制、计算机装置和现代军事技术等各个领域

32、。霍尔效应是半导体中自由电荷受磁场中洛仑兹力作用而产生的。设霍尔元件为N型半导体,当它通以电流I时,半导体中的自由电荷即载流子受到磁场中洛仑兹力的作用,其大小为 =-evB (1)式中v为电子速度,B为垂直于霍尔元件表面的磁感应强度。使电子向垂直于B和自由电子运动方向偏移,其方向符合右手螺旋定律,即电子有向某一端积聚的显现,使半导体一端面产生负电荷积聚,另一端面则为正电荷积聚。由于电荷积聚,产生静电场,即为霍尔电场。该静电场对电子的作用力与洛仑兹力方向相反,将阻止电子继续偏转,其大小为=-e=-e (2)式中为霍尔电场,e为电子电量。3.5 红外探测器红外辐射就是红外光,其波长从11000um

33、。红外辐射的物理本质是热辐射。物体的温度越高,辐射的红外线越多,红外辐射的能量就越强。红外光具有反射、折射、散射、干涉、吸收等特性。红外辐射的基本定律:(1) 基尔霍夫定律,它指出,一个物体向周围辐射热能的同时也吸收周围物体的辐射能。如果几个物体处于同一温度场中,各物体的热发射本领正比于它的吸收本领,这就是基尔霍夫定律,可由下式表示:,式中是物体在单位面积和单位时间内发射出的辐射能;是物体的吸收系数;是常数,其值等于黑体在相同条件下发射出的辐射能。黑体是在任何温度下全部吸收任何波长辐射的物体,黑体的吸收本领与波长和温度无关,即=1。黑体吸收本领最大,但是加热后,它的发射热辐射也比任何物体都要大

34、。(2) 斯芯藩-波尔兹曼定律,物体温度越高,它辐射出来的能量越大。可用下面的公式表示:,式中是某物体在温度T时单位面积和单位时间的红外辐射总能量;是斯芯藩-波尔兹曼常数(=5.6697W/);是比辐射率,即物体表面辐射本领与黑体辐射本领之比值,黑体的=1;T是物体的绝对温度。物体温度越高,其表面所辐射的能量就越大。(3) 维恩位移定律,热辐射发射的电磁波中包含着各种波长。实验证明,物体峰值辐射波长与物体的自身的绝对温度T成反比。即=(),称为维恩位移定律。它的峰值辐射波长随温度升高向短波方向偏移。当温度不很高时,峰值辐射波长在红外区域。红外探测器是红外检测系统中最重要的器件之一,按工作原理可

35、分为“热探测器”和“光子探测器”两类。(1) 热探测器 热探测器在吸收红外辐射能后温度升高,引起某种物理性质的变化,这种变换与吸收的红外辐射能成一定的关系。常用的物理现象有温差热电现象、金属或半导体电阻阻值变化现象、热湿电现象、气体压强变化现象、金属热膨胀现象、液体薄膜蒸发现象。因此只要检测出上述变化,即可确定被吸收的收红外辐射能大小,从而得到被测非电量值。热电探测器主要有热敏电阻型、热电偶型、高莱气动型和热湿电型。热湿电型探测器:热湿电型探测器是一种具有极化现象的热晶体或称“铁电体”。铁电体的极化强度(单位面积上的电荷)与温度有关。当红外辐射照射到已经极化的铁电体薄片表面上时,引起薄片温度升

36、高,使其极化强度降底,表面电荷减少,这相当于释放一部分电荷,所以叫热湿电型探测器。(2) 光子探测器 光子探测器是利用某些半导体材料在入射光的照射下,产生光子效应,使材料电学性质发生变化。通过对电学性质变化的探测,可以了解红外辐射的强弱。利用光子效应所制成的红外探测器,统称光子探测器。其主要特点是灵敏度高,响应速度快,具有较高的响应频率。但它一般需在底温下工作,探测波段较窄。按照光子探测器的工作原理,一般可分为内光探测器和外光探测器两种,前者又分为光电导探测器、光电伏特器和光磁电探测器三种。3.6 行驶路程计算为了能准确的计算出小车行驶的路程,用霍尔传感器来检测小车车轮转过的转数N,然后测量出

37、小车车轮的周长R,而小车所行驶的路程S=N*R。霍尔元件就是一种很好的可用于车轮转数计数的元件。在普通转盘计数的仪表中加装霍尔元件和磁铁,即可构成基于磁电转换技术的传感器。霍尔元件固定安装在计数转盘附近,永磁铁安装在计数盘位上,当转盘每转一圈,永磁铁经过霍尔元件一次即在信号端产生一个计量脉冲。由于霍尔电压很微弱(mV级),需用霍尔集成电路进行处理,如图4所示。无论信号转子的哪个叶片通过空气间隙时,霍尔信号发生器都将产生一个电位由高到低的脉冲信号直接送IOB3作外部中断源,信号转子通过霍尔元件将产生一个中断,此中断的个数即为车轮转过的转数。把此转数送到定义好的显示函数中,并与初始化时测量到车轮周

38、长的值相乘,最后把结果送入LG5641AH进行动态显示。 图4 霍尔元件接线图3.7 显示路程所谓LED显示就是通过发光二极管芯片的适当连接(包括串联和并联)和适当的光学结构,可构成发光显示器的发光段或发光点。由这些发光段或发光点可以组成数码管、符号管、米字管、矩阵管、电平显示器管等等。通常把数码管、符号管、米字管共称笔画显示器,而把笔画显示器和矩阵管统称为字符显示器。LED显示器结构基本的半导体数码管是由七个条状发光二极管芯片排列而成的,可实现09的显示。其具体结构有反射罩式、条形七段式、单片集成式多位数字式等。 (1) 反射罩式数码管一般用白色塑料做成带反射腔的七段式外壳,将单个LED贴在

39、与反射罩的七个反射腔互相对位的印刷电路板上,每个反射腔底部的中心位置就是LED芯片。在装反射罩前,用压焊方法在芯片和印刷电路上相应金属条之间连好30m的硅铝丝或金属引线,在反射罩内滴入环氧树脂,再把带有芯片的印刷电路板与反射罩对位粘合,然后固化。反射罩式数码管的封装方式有空封和实封两种。实封方式采用散射剂和染料的环氧树脂,较多地用于一位或双位器件。空封方式是在上方盖上滤波片和匀光膜,为提高器件的可靠性,必须在芯片和底板上涂以透明绝缘胶,这还可以提高光效率。这种方式一般用于四位以上的数字显示(或符号显示)。 (2) 条形七段式数码管属于混合封装形式。它是把做好管芯的磷化镓或磷化镓圆片,划成内含一

40、只或数只LED发光条,然后把同样的七条粘在日字形“可伐”框上,用压焊工艺连好内引线,再用环氧树脂包封起来。 (3) 单片集成式多位数字显示器是在发光材料基片上(大圆片),利用集成电路工艺制作出大量七段数字显示图形,通过划片把合格芯片选出,对位贴在印刷电路板上,用压焊工艺引出引线,再在上面盖上“鱼眼透镜”外壳,它们适用于小型数字仪表中。(4) 符号管、米字管的制作方式与数码管类似。 (5) 矩阵管(发光二极管点阵)也可采用类似于单片集成式多位数字显示器工艺方法制。LED显示器分类: (1) 按字高分,笔画显示器字高最小有1mm(单片集成式多位数码管字高一般在23mm)。其他类型笔画显示器最高可达

41、12.7mm(0.5英寸)甚至达数百mm。 (2) 按颜色分有红、橙、黄、绿等数种。 (3) 按结构分有反射罩式、单条七段式及单片集成式。 (4) 从各发光段电极连接方式分有共阳极和共阴极两种。 所谓共阳方式是指笔画显示器各段发光管的阳极(即P区)是公共的,而阴极互相隔离。 所谓共阴方式是笔画显示器各段发光管的阴极(即N区)是公共的,而阳极是互相隔离的。 图5 LED动态扫描驱动法动态扫描驱动方法 如图5为动态扫描驱动方法接线图。图中的数码管的阴极是否接地,由A1、A2控制开关晶体管T1/T2导通或截止来决定。如果在第(1)个数码管显示“1”,第(2)个数码管显示“2”,必须首先A1为高电平,

42、A2为低电平。这样就选择了第(1)个数码管,而关闭了第(2)个数码管。驱动电路在b、c段送高电平,其余段送低电平。这样第(1)个数码管就显示了“1”,由于T2截止,第(2)个数码管不可能亮。等待一定时间后,使A1为低电平,A2为高电平,选择了第(2)个数码管驱动电路在a、b、d、e、g段送高电平,其余段送低电平。这样第(2)个数码管就显示了“2”,同样,由于T1截止,不可能在第一个数码管上显示。等待一段时间后又从新选择第(1)个数码管并显示“1”。只要重复频率超过一定的数值(大于24Hz)利用人眼的残留效应,就看到了第(1)个数码管显示的“1”,第(2)个数码管显示的“2”。用这种驱动方法占用

43、的输出驱动线少,仅为7加数码管个数,缺点是亮度较低。 图6 LED外围接线图本系统采用共阴极数码管LG564H进行动态显示,LG5641AH具有四位数码管,这四个数码管的段选a、b、c、d、e、f、g分别接在一起,每一个都拥有一个共阴的位选端,通过动态显示可轮流显示时间和路程,这有利于节省I/O口。如图6所示的精度为1S,显示路程的精度为0.01m。用IOB8IOB11口作为位选控制, IOA8IOA11口传输要显示的数据,数据线和位选线直接接凌阳SPCE061A单片机的I/O口即可,因为I/O口输出电流很小不会对LED造成损坏,它的电压值却足以驱动LED,这不像别的单片机还要外接驱动电路和电

44、阻,采用凌阳SPCE061A单片机大大减化了设计过程和硬件电路。4 中断系统4.1 中断的概述中断是为处理器对外界异步事件具有处理能力而设置的,中断技术的引入把计算机的发展和应用大大地推进一步。因此中断功能的强弱已成为衡量一台计算机性能的重要指标。(1) 中断中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须终止原程序的执行,转去执行相应的处理程序,待处理结束之后再回来继续执行被终止的原程序过程。 中断技术能实现CPU与外部设备的并行工作,提高CPU的利用率以及数据的输入/输出效率;中断技术也能对计算机运行过程中突然发生的故障做到及时发现并进行自动处理如:硬件故障、运

45、算错误及程序故障等;中断技术还能使我们通过键盘向计算机发出请求,随时对运行中的计算机进行干预,而不用先停机,然后再重新开机等等。(2) 中断源中断源是指在计算机系统中向CPU发出中断请求的来源,中断源可以人为设定,也可以 是为响应突发性随机事件而设置。如定时器中断,它的中断源即是定时器。(3) 中断优先级由于在实际的系统中,往往有多个中断源,且中断申请是随机的,有时可能会有多个中断源同时提出中断申请,但CPU一次只能响应一个中断源发出的中断请求,这时CPU应响应那个中断请求?这就需要用软件或硬件按中断源工作性质的轻重缓急,给它们安排一个优先顺序,即所谓的优先级排队。中断优先级越高,则响应优先权

46、就越高。当CPU正执行中断服务程序时,又有中断优先级更高的中断申请产生,如果CPU能够暂停对原来的中断处理程序,转而去处理优先级更高的中断请求,处理完毕后,再回到原低级中断处理程序,这一过程称为中断嵌套。具有这种功能的中断系统称为多级中断系统;没有中断嵌套功能的则称为单级中断系统。(4) 断响应过程1) 在每条指令结束后系统都自动检测中断请求信号,如果有中断请求,相应的中断允许位为真(许中断),相应的总中断允许位为真(允许中断),则响应中断。 2) 保护现场,CPU一旦响应中断,中断系统会自动的保存当前的PC和SR寄存器(入栈进入中断服务程序地址入口,中断服务程序中可以通过入栈保护原程序中用到

47、的数据, 保护现场前,一般要关中断以防止现场被破坏。3) 中断服务,即为相应的中断源服务。 4) 清相应的中断请求标志位,以免CPU总是执行该中断。 5) 恢复现场,用堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断,以防止现场被破坏,在恢复现场后应及时开中断。 6) 返回,此时CPU将PC指针和SR内容出栈恢复断点,从而使CPU继续执行刚才被中断的程序。 在单片机中,中断技术主要用于实时控制。所谓实时控制,就是要求单片机能及时地响应被控对象提出的分析、计算和控制等请求,使被控对象保持在最佳工作状态,以达到预定的控制效果。由于这些控制参量的请求都是随机发出的,而且要求单片机必须作出快速

48、响应并及时处理,对此,只有靠中断技术才能实现。4.2 SPCE061A的中断系统SPCE061A系列单片机中断系统,是凌阳16位单片机中中断功能较强的一种,它可以提供14个中断源,具有两个中断优先级,可实现两级中断嵌套功能。用户可以用关中断指令(或复位)屏蔽所有的中断请求,也可以用开中断指令使CPU接受中断申请。每一个中断源可以用软件独立控制为开或关中断状态;但中断级别不可用软件设置。 SPCE061A的中断类型 给出了三种类型的中断:软件中断、异常中断和事件中断。 (1) 软件中断 软件中断是由软件指令break产生的中断。软件中断的向量地址为FFF5H。(2) 异常中断 异常中断表示为非常

49、重要的事件,一旦发生,CPU必须立即进行处理。目前SPCE061A定义的异常中断只有复位一种。通常,SPCE061A系统复位可以由以下三种情况引起:上电、看门狗计数器溢出以及系统电源低于电压低限。不论什么情况引起复位,都会使复位引脚的电位变低,进而使程序指针PC指向由一个复位向量(FFF7H)所指的系统复位程序入口地址。 (3) 事件中断 事件中断(可简称“中断”,以下提到的“中断”均为事件中断)一般产生于片内设部件或由外设中断输入引脚引入的某个事件。这种中断的开通/禁止,由相应独立使能和相应的IRQ或FIQ总使能控制。 SPCE061A的事件中断可采用两种方式:快速中断请求即FIQ中断和中断

50、请求即IRQ中断。这两种中断都有相应的总使能。 中断向量和中断源: 共有9个中断向量即FIQ、IRQ0IRQ6及UART IRQ。这9个中断向量共可安置14个中断源供用户使用,其中有3个中断源可安置在FIQ或IRQ0IRQ2中,另有10个中断源则可安置在IRQ3IRQ6中。 表3 中断控制表中断源中断优先级中断向量保留字Fosc/1024溢出信号 FIQ/IRQ0 FFF8H/FFF6H _FIQ/_IRQ0 TimerA溢出信号FIQ /IRQ1 FFF9H/FFF6H _FIQ/_IRQ1 TimerB溢出信号FIQ /IRQ2 FFFAH/FFF6H _FIQ/_IRQ2 外部时钟源输入

51、信号IRQ3 FFFBH _IRQ3 外部时钟源输入 信号EXT1 4096Hz时基信号IRQ4 FFFCH _IRQ4 2048Hz时基信号1024Hz时基信号4Hz时基信号IRQ5 FFFDH _IRQ5 2Hz时基信号频选信号TMB1 IRQ6 FFFEH _IRQ6 SPCE061A单片机的中断系统有14个中断源分为两个定时器溢出中断、两个外部中断、一个串行口中断、一个触键唤醒中断、7个时基信号中断、PWM音频输出中断。从表中可以看到每个中断入口地址对应多个中断源,因此在中断服务程序中需通过查询中断请求位来判断是那个中断源请求的中断。如上表3所示。SPCE061A单片机有多个中断源,为

52、了使每个中断源都能独立地被开放和屏蔽,以便用户能灵活使用,它在每个中断信号的通道中设置了一个中断屏蔽触发器,只有该触发器无效,它所对应的中断请求信号才能进入CPU,即此类型中断开放。否则即使其对应的中断请求标志位置“1”,CPU也不会响应中断,即此类型的中断被屏蔽。同时CPU内还设置了一个中断允许触发器,它控制CPU能否响应中断。SPCE061A对中断源的开放和屏蔽,以及每个中断源是否被允许中断,都受中断允许寄存器P_INT_Ctrl和P_INT_Clear及P_INT_Ctrl_New控制和一些中断控制指令。(1) 中断控制单元P_INT_Ctrl(读/写)(7010H) 当写中断控制单元中

53、的某位为“1”时,即允许该位所代表的中断被开放,并关闭屏蔽中断触发器,此时当有该中断申请时,CPU会响应。否则如果该位被置0则禁止该位所代表的中断。即使有中断申请,CPU也不会响应。 当读取中断控制单元时,其主要作为中断标志,因为其每一位均代表一个中断,当CPU响应某中断时,便将该中断标志置“1”,即将P_INT_Ctrl中的某位置“1”,可以通过读取该寄存器来确定CPU响应的中断。 (2) 清除中断标志控制单元P_INT_Clear(写)(7011H) 清除中断标志控制单元主要用于清除中断控制标志位,当CPU响应中断后,会将中断标志置因为P_INT_Clear寄存器的每一位均对应一个中断,所

54、以如果想清除某个中断状态标志,只要将该寄存器中对应的中断位置1即可清除该中断状态标志位。该寄存器只有写的属性,读该寄存器是无任何意义的。 (3) 激活和屏蔽中断控制单元P_INT_Ctrl_New(读/写)($702DH) 当写该控制单元时,与P_INT_Ctrl功能相似。读该控制单元时,只作为了解激活那一中断的功能使用。4.3 中断服务流程(1) 中断入口所谓中断的入口即中断的入口地址,每个中断源都有自己的入口地址,当CPU响应中断后,就是通过中断入口地址进入中断服务程序。 (2) 关中断和开中断 在一个中断执行过程中又可能有新的中断请求,但对于重要的中断必须执行到底,不允许被其它的中断所嵌

55、套。如FIQ中断,对此,可以采用关闭中断的方法来解决,如在IRQ中断中不允许FIQ中断嵌套,就可以在IRQ中断中关闭中断,当中断服务程序执行结束后,再打开中断,去响应FIQ中断。即在现场保护之前先关闭中断系统,彻底屏蔽其它中断请求,待中断处理完成后再打开中断系统。(3) 现场保护和现场恢复所谓现场是指中断时刻单片机中存储单元中的数据状态。为了使中断服务的执行不破坏这些数据或状态,以免在中断返回后影响主程序的运行,因此要把它们送入堆栈中保存起来,这就是现场保护。现场保护一定要位于中断处理程序的前面。中断服务结束后,在返回主程序前,则需要把保存的现场内容从堆栈中弹出,以恢复那些存储单元的原有内容,

56、这就是现场恢复。现场恢复一定要位于中断处理程序的后面。(4) 中断源判断 因为SPCE061A中断源多于中断入口地址,所以当CPU响应中断后,经中断入口地址进入中断服务程序,通过读P_INT_Ctrl可判断产生中断请求的中断源。(5) 中断处理中断处理是中断服务程序的核心内容,是中断的具体目的。 图7 小车中断流程图(6) 清中断标志位 因为CPU是根据中断标志位来判断并进行响应中断的,除串口中断外,所有的中断标志位不是靠硬件清除,而是软件清除的,所以在中断服务程序中,必须将中断标志清除,否则CPU总是会响应该中断的。清除标志位只要在中断服务程序中即可,位置不是固定,如也可以在中断处理程序前清

57、除中断标志。 (7) 中断返回 中断服务程序最后一条指令必须是中断返回指令RETI,当CPU执行这条指令时,从堆栈中弹出断点PC、及SR,恢复断点重新执行被中断的程序。本程序的中断流程图是用单片机中的IRQ3、IRQ4、FIQ中断,首先设置中断的初始化,开中断并等待中断响应,然后判断中断的优先权,转去执行优先权高的中断FIQ中断。此中断是让小车在运动过程中停止转去执行拾铁块部分,从而控制小车在运行过程中清理轨道上的铁块。当完成此动作后,又开始判断有无中断或中断的优先权,如果外部有中断,便执行IRQ3中断,此中断是用来计算小车车轮转过圈数,并动态显示小车走过的路程。 4.4 控制小车中断子程序S

58、PCE061单片机有两个外部中断,分别为EXT1和EXT2,两个外部输入脚分别为B口的IOB2和IOB3的复用脚。EXT1(IOB2)和EXT2(IOB3)两条外部中断请求输入,用于输入两个外部中断源的中断请求信号,并允许外部中断以负跳沿触发方式来输入中断请求信号,而用快速中断来控制小车拾铁块,它能够很快的优先作出响应。中断程序:.PUBLIC _FIQ.DEFINEP_IOB_DATA 0x7005; /定义入口地址.DEFINEP_IOB_DIR 0x7007; /定义入口地址.DEFINEP_IOB_ATTRI 0x7008; /定义入口地址.DEFINEP_INT_CTRL 0x701

59、0; /定义入口地址.DEFINE P_INT_CTRL_NEW 0x702D; /定义入口地址.DEFINEP_INT_CLEAR 0x7011; /定义入口地址.DEFINEP_Watchdog_Clear 0x7012; /定义入口地址/.EXTERNAL _BSR_FIQ_Routine /定义全局.EXTERNAL _gIsStopRecog /变量值为0 辨识器忙;为 1 辨识器停止.EXTERNAL _PlayFlag,_uiSpeed /声明在其它文件里定义过的变量.PUBLIC _BREAK,_IRQ0, _IRQ1, _IRQ2, _IRQ3, _IRQ4, _IRQ5,

60、_IRQ6, _IRQ7.ram.var _IRQFlag=0 /变量/.INCLUDE s480.inc; /在汇编文件里包含此文件.INCLUDE A2000.inc; /包含用A2000函数的头文件.INCLUDE resource.inc /包含语音资源文件.INCLUDE hardware.inc /包含SPCE061A硬件声明头文件.code /定义预定义段.PUBLIC _F_Speed /声明中断入口函数_F_Speed:INT OFF /关中断 R1 = R_InterruptStatus /中断状态 R1 |= 0x0300 /Enable Timer A FIQ R_InterruptStatus = R1 P_INT_CTRL = R1; INT IRQ; /开IRQ中断Retf /中断返回.TEXT /定义预定义

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!