生产线货物自动计数系统_第1页
生产线货物自动计数系统_第2页
生产线货物自动计数系统_第3页
生产线货物自动计数系统_第4页
生产线货物自动计数系统_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、生产线货物自动计数系统毛君瑜摘 要生产线货物自动计数系统作为自动化设备,包含了丰富的机械知识和控制理论知识,而这正是大家都了解而不曾掌握的,将其作为此次设计的题目,可以让大家在学习这方面理论知识的同时,也能够自己动手制作。一方面填补了大家在这方面知识的空白,另一方面也增强了大家的动手实践能力。本次设计主要涉及到spce061a和led键盘模组,以及传感器部分。本设计以凌阳单片机系统板61板为基础进行设计开发,直接使用了spce061a精简开发板(简称61板),利用spce061a的语音处理功能,以及其强大的数据处理能力,再配合led键盘模组,很容易就可以实现本次课题。其软件的部分主要分为5大模

2、块:键盘模块、显示模块、语音播报模块、货物计数模块、电源监控模块。在具体的操作中,键盘模块大家可以直接使用spce061a上的键盘,再通过系统的连接和程序的载入,实现了生产线货物的自动计数。关键词 spce061a,生产线,货物自动计数系统abstractthe production line goods auto-count system is to automatic equipment, including abundant machine knowledge and control theories knowledge, and this is exactly what everyon

3、e understands but never control. being topic of design this time, can let everyone at the time of studying this aspect theories knowledge, and also begin a creation. on the one hand, it fills up everyones blank of knowledge in this aspect, on the other hand, also strengthens everyones fulfillment ab

4、ility. this design mainly involves to the spce061a, the led keyboard modules, and sensor. this design with the ling yang single-chip microcomputer system board 61 board for the foundation carry on the design development, using the spce061a simplify development board(call 61 board ) directly, making

5、use of the speech processing function of the spce061a, and its strong data processing ability, match with the led keyboard module again, very easy to carry out this topic. the part of its software mainly is divided into 5 major mold pieces: the keyboard mold piece, the manifestation mold piece, spee

6、ch report mold piece, goods count mold piece, the power supply supervision mold piece. at concrete on operation, the keyboard mold piece everyone can directly use the keyboard of the spce061a, after load in through the conjunction and procedure of the system, carrying out the auto-count of the produ

7、ction line goods.keywords spce061a,production line,goods auto-count system目 录摘 要iabstractii1 绪论12 总体方案介绍32.1 系统设计32.2 系统连接(方案实现)33 系统硬件设计43.1 光电传感器工作原理43.2 掉电保护原理53.3 spce061a的硬件说明63.3.1 spce061a硬件资源情况73.3.2 nsp系列芯片的特点(以下简称nsp)83.3.3 芯片的引脚排列和说明83.3.4 spce061a最小系统113.3.5 61板接口说明123.3.6 输入/输出i/o接口153.

8、3.7 音频输出接口153.3.8 在线调试器probe和ez-probe接口153.3.9 电源接口173.3.10 复位电路173.3.11 键盘电路183.3.12 61板的自检193.4 led显示电路硬件说明193.4.1 led模块简介193.4.2 主要元器件223.4.3 led接口说明223.4.4 led自检操作243.5 spce061a与led显示电路的连接方法264 系统软件设计284.1 软件流程图284.2 61板实现语音播放流程304.2.1 音频概述314.2.2 凌阳音频播放过程32结 论34附录a:电路总图35附录b:led键盘模组36附录c:程序37参考

9、文献48致 谢49 1 绪论生产线货物自动计数系统作为自动化设备,在现实当中的使用是相当普遍的,自动化设备在目前看来虽然不再是新鲜的事物,但却有他不可替代的功劳。他的产生使得工业化进入了一个新的时代,让我们摆脱了繁琐的机械操作,节省了相当的一部分劳动力也节约了我们的时间,让我们有更多的时间去研制新的事物,也弥补了在人为操作上的误差,他将更精确的实现操作流程。从最开始的简单计数,到现在可以实现多元化的计数,比如说:掉电后已经计的个数不能丢失;掉电后重新上电能够继续计数;可以预设计数个数,当达到预设个数时能够做出相应提示,并在下次再来货物时显示计数值1。作为毕业设计的论题,由于实验器材的有限,我们

10、可以做一个简单的生产线货物自动计数系统,能进行一些简单计数即可。生产线货物自动计数系统作为自动化设备,包含了丰富的机械知识和控制理论知识,而这正是大家都了解而不曾掌握的,将其作为此次设计的题目,可以让大家在学习这方面理论知识的同时,也能够自己动手制作,一方面填补了大家在这方面知识的空白,另一方面也增加了大家的动手实践能力。除此之外还让我们能够编程实现存储货物数量,语音告知,掉电保护等功能,让我们了解编程的基本思想,掌握编程的基本技巧。为了能顺利的完成本次实验,我们必须要在课题的设计前作好充分的准备,学习课题相关的理论知识是不可缺少的一个部分,而此次的实验课题是生产线货物自动计数系统,他是以凌阳

11、单片机系统板61板为基础进行设计开发的,主要包括spce061a和led键盘模组,以及传感器部分,因此我们需要了解以下几个方面的知识: spce061a的低电压检测使用方法; spce061a语音播放方法及其库函数的使用; led数码管动态显示原理及使用方法; 凌阳十六位单片机汇编语言及c语言的使用; 了解光电传感器原理; 了解掉电保护的基本原理。本设计题目设计一个装置,用他实现生产线货物的自动计数,其具体要求如下: 货物为方形,不透光,体积不大于1立方分米,货物在传送带上走速不超过0.5m/s; 对生产线上货物自动计数,并实时显示; 显示的最大值是“9999”,达最大值时进行语音提示,之后再

12、来货物,则显示“1”; 可以用按键清除计数情况; 掉电后已经计的个数不能丢失; 掉电后重新上电能够继续计数;可以预设计数个数,当达到预设个数时能够做出相应提示,并在下次再来货物时显示计数值1。(这样便于我们在生产比较小的产品时运用到,比如说:生产橡皮筋,如果要人工数的话会很麻烦,而且又要求每一百条装一包,这时如果我们仍然让计数器显示到最大值时才进行提示的话,就又需要再数一遍。此设计的优势就体现在可以预先设定一个数,在这里我们就可以将这个数设为一百,当计数个数达到一百时,系统做出相应提示,然后在下次再来货物时显示计数值1。这样就可以达到我们预期的目的。2 总体方案介绍2.1 系统设计系统包括以下

13、几个模块:光电传感器输入、按键输入、数码管显示及音频输出几大组成部分;键盘输入采用61板自带的三个按键即可。整个系统的结构框图如图2.1所示:图2.1 系统结构框图2.2 系统连接(方案实现)系统连接的具体操作: 61板的硬件连接:1)电源连接,接三节电池;2)在线调试器(probe)一端接pc机并口,一端接61板的5pin接口j4;如果使用ez_probe(61板上的数据缓冲电路和下载线的统称),则将一端接pc机并口,一端接61板的5pin接口j11;3)喇叭连接,直接接61板的j3。 程序的下载烧写:打开ide(开发环境),在安装路径下找到项目文件(autocounter.spj)并打开;

14、连接好probe,编译并下载程序;如果使用ez_probe,操作同上,只是注意在ide下选择ez_probe模式; 模块连接:系统硬件包括三部分:61板部分、数码管显示部分和传感器部分,在我们连线时按图2.1连接即可,要特别注意:在连接时一定要将这三部分共地。3 系统硬件设计在生产线货物自动计数系统这个实验中,主要用到的是spce061a和led键盘模组,以及传感器部分,因此在这里将对他们进行具体的说明。3.1 光电传感器工作原理光电传感器,也称为光敏传感器、光电式传感器或光电探测器。它是一种能量转换器件,是利用各种手段将光能变换成相应电信号的器件,即把入射电磁波(或称光能)转化成电能,通过对

15、电能的精密测量,了解到该入射电磁波(或称光能)的性质,从中探测电磁波(或称光能)所携带的信息。在自然界中,有许多物质,在光照射下,其电学性质会发生变化。实验表明,这种变化的大小和入射光的强度具有严格的对应关系。现在对电学和电子学的测量并不是一件困难的事,准确地测量电流、电压、频率等都很容易。因此,可以通过对电学量的简单测量,把材料所携带的信息探测出来。具有这种性质的材料称为光敏材料。用光敏材料制作成探测器件,并通过它间接检测到光辐射所载的原始信息,就称为光传感器件,或光电传感器。光电开关是一种特殊的光电传感器,它由发射器、接收器和检测电路三部分组成。发射器对准目标发射光束,发射的光束一般来源于

16、发光二极管(led)和激光二极管。光束不间断地发射,在目标物体的同侧或者另一侧装有接收器,接收器由光电二极管或光电三极管组成,接收器一直接收来自发射器的光束。在接收器的前面通常装有光学元件如透镜和光圈等。在其后面有检测电路,它能滤出有效信号并进行相应的处理。光电开关可分为对射型和反射型。对射型光电开关:由发射器和接收器组成,结构上是两者相互分离的,如图3.1所示。当光束被物体遮住的情况时,对比光束未被遮住的情况下,接收器信号输出端会产生一个电平信号的翻转,在实际应用中可以此检测是否有物体通过。典型的位于同一轴线上的光电开关可以相互分开达50米。特征:辨别不透明的物体;有效距离大;精度高;不易受

17、干扰;可以可靠的使用在野外或者有灰尘的环境中。反射型光电开关:在结构上发射器和接收器是一体的,如图3.2所示。当有目标经过传感器的测量范围时,光束被反射,当有足够的组合光反射到接收器时,开关状态发生变化,作用距离的有效值可以达到3米(与具体器件有关)。特征:由于把发射和接收集成为一体,装置比较简单;使用时不需要非常精确的定位(相对于对射式而言);有效作用距离相对较短,通常由目标的表面性质和颜色决定。图3.1 对射型光电开关工作原理图3.2 反射型光电开关工作原理我们这次设计采用对射型传感器,包括发射装置和接收装置两部分。光电传感器部分电路如图3.3所示,图中左侧部分为发射装置电路,发射装置的核

18、心是一个发光二极管,该发射装置与限流电阻串联后并接到电源两端,限流电阻选择510欧,也可以适当改变该电阻的阻值来改变发光强弱,满足不同的有效距离要求。右侧部分为接收装置,核心为一个光敏三极管,由于输出端为集电极开路结构,所以在信号输出端接一个上拉电阻,图中r9所示。信号由传感器的信号输出端输出,接至spce061a的iob2(外部中断输入)引脚。图3.3 光电传感器部分电路原理图3.2 掉电保护原理在智能仪表及过程控制的系统设计当中常常需要掉电保护功能,在意外事故突然发生时能将重要的数据保存起来,待系统电压恢复正常时能够从断点继续正常工作。这是我们这次课题要实现的一个主要功能(即实现功能掉电后

19、已经计的个数不能丢失;掉电后重新上电能够继续计数)。掉电保护主要用于以下两种场合:一是电源电压波动比较大,电压随时会降低到单片机工作电压的下限;二是为了防止突然停电或有意外事故发生。掉电保护通常可采用flash memory以及以随机存储器为基础内置电池的非易失性芯片来实现。flash memory属于可在线修改的rom器件,它解决了应用系统中实时参数掉电后长时间保存的难题。实际的电路结构又分为两种:一种是采用后备电池,电网掉电后还能靠电池维护而正常工作,通常采用随机存储器来实现,如图3.4(1)所示;另一种是没有后备电池,在掉电的一瞬间能够把重要数据保存起来,在电网恢复正常时能够从断点继续执

20、行,这种通常采用flash memory来实现,如图3.4(2)所示。我在这次设计中采用的是后者。图3.4 掉电保护原理图3.3 spce061a的硬件说明spce061a是凌阳科技的一款16位微控制器。采用凌阳最新推出的nsp16位微处理器内核,它内嵌32k的闪存(flash),为语音产品而集成了adc、dac、agc等,具有n项内积运算指令,较高的处理速度使nsp能够非常容易快速地处理复杂的数字信号,具有灵活的语音处理功能是数字语音识别应用领域的一种最经济选择。凌阳科技的单片机除了在mcu(微型处理器)上集成更多的具有混合外设功能的模块和大容量的存储器以外,还把一些诸如数字处理功能和语音处

21、理功能等集成在mcu上,大大的提高了单片机的性能,体现了他在消费性电子产品领域的优势与潜力。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准c语言,可以实现c语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。spce061a片内还集成了一个ice(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而ice接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载。3.3.1

22、spce061a硬件资源情况spce061a作为主控处理器,其cpu硬件资源情况如下表3.1 cpu硬件资源情况16位nsp微处理器工作电压:(cpu)vdd为2.43.6v;(i/o)vddh为2.45.5vcpu时钟:0.32mhz49.152mhz内置2k字sram内置32k字flash系统处于备用状态下(时钟处于停止状态),耗电仅为2a3.6v2个16位可编程定时器/计数器(可自动预置初始计数值)2个10位dac(数-模转换)输出通道32位通用可编程输入/输出端口14个中断源可来自定时器a/b,时基,2个外部时钟源输入,键唤醒具备触键唤醒的功能7通道10位电压模-数转换器(adc)和单

23、通道声音模-数转换器声音模-数转换器输入通道内置麦克风放大器和自动增益控制(agc)功能具备串行设备接口具有低电压复位(lvr)功能和低电压监测(lvd)功能内置在线仿真电路ice(in-circuit emulator)接口具有保密能力具有watchdog功能spce061a精简开发板,简称61板。主要由spce061a芯片外加晶振、复位电路、音频电路等构成3.3.2 nsp系列芯片的特点(以下简称nsp) 体积小、集成度高、可靠性好且易于扩展;nsp家族把各功能部件模块化地集成在一个芯片里,内部采用总线结构,因而减少了各功能部件之间的连线,提高了其可靠性和抗干扰能力。另外,模块化的结构易于

24、系统扩展,以适应不同用户的需求。 具有较强的中断处理能力;nsp家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域。 高性能价格比;nsp家族片内带有高寻址能力的rom、静态ram和多功能的i/o口。另外,nsp的指令系统提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了dsp功能,使得nsp家族运用在复杂的数字信号处理方面既很便利,又比专用的dsp芯片廉价。 功能强、效率高的指令系统;nsp的指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。 低功耗、低电压。nsp家族采用cmos制造工艺,同时增

25、加了软件激发的弱振方式、空闲方式和掉电方式,极大地降低了其功耗。另外,nsp家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电。这对于其在野外作业等领域中的应用具有特殊的意义。3.3.3 芯片的引脚排列和说明spce061a有两种封装片,一种为84个引脚,plcc84封装形式;另一种为80个引脚,lqfp80封装。本设计中使用plcc84封装形式,它的实物如图3.5所示,封装排列如图3.6所示。在plcc84封装中,有15个空余脚,用户使用时这15个空余脚悬浮。图3.5 spce061a plcc84实物图图3.6 spce061a plcc84封装排列图表3.2 spce061a

26、管脚描述表如下:引脚名称引脚编号类型描述ioa15:86053输入输出ioa15:8:双向io端口ioa7:04841输入输出ioa7:0:通过编程可设置成唤醒引脚ioa6:0:与adc line_in输入共用iob15:11iob10iob9iob8iob7iob6iob5iob4iob3iob2iob1iob0646876777879808112345输入输出输入输出输入输出输入输出输入输出输入输出输入输出输入输出输入输出输入输出输入输出iob15:11:双向io端口。iob100除用作普通io端口外,还可作其他用途(如下所示)iob10:通用异步串行数据发送引脚txiob9:timerb

27、脉宽调制输出引脚bpwmoiob8:timera脉宽调制输出引脚apwmoiob7:通用异步串行数据接收引脚rxiob6:双向io端口iob5:外部中断源ext2的反馈引脚iob4:外部中断源ext1的反馈引脚iob3:外部中断源ext2iob2:外部中断源ext1iob1:串行接口的数据传送引脚iob0:串行接口的时钟信号dac121输出dac1数据输出引脚dac222输出dac2数据输出引脚osc31113输入32768hz晶振输入引脚osc32012输出32768hz晶振输出引脚agc25输入agc的控制引脚micn28输入麦克风负向输入引脚micp33输入麦克风正向输入引脚micout

28、27输出麦克风1阶放大器输出引脚,引脚外接电阻决定agc增益倍数opi26输入麦克风2阶放大器输入引脚xice16输入激活ice(高电平激活)xiceclk17输入ice串行接口时钟引脚xicesda18输入输出ice串行接口数据引脚pfuse29输入程序保密设定脚。接+5vpvin20输入程序保密设定脚。接gndxresb6输入低电平有效的复位引脚sleep63输出睡眠模式(高电平激活)vref223输出2v参考电压输出脚vrtpad35输入ad转换外部参考电压输入脚。它决定ad转换输入电压上限值。若该点输入一个2.5v参考电压,则ad转换电压输入范为0v2.5v。外部ad最高参考电压3.3

29、vvcm34输出adc参考电压输出脚vmic37输出麦克风电源vcp8输入锁相环压控制振荡器的阻容输入xromt、pvpp、xtest61、69、14出厂测试用引脚,悬空即可vddh51、52、75输入i/o电平参考。若该点输入一个5v的参考电压,则i/o输入输出高电平为5vvdd7输入锁相环电源vss9输入锁相环地vss19、24输入模拟地vss38、49、50、62输入数字地vdd15、36输入数字电源spce061a的结构如图3.7所示:图3.7 spce061a的结构3.3.4 spce061a最小系统spce061a最小系统当中,包括spce061a芯片外围的基本模块,有晶振输入模块

30、(osc)、锁相环外围电路(pll)、指示灯电路(led)和抗干扰电路(vref)等,如图3.8所示: 图3.8 最小系统芯片外围的基本模块电路图3.3.5 61板接口说明spce061a精简开发板(以凌阳16位单片机spce061a为核心的精简开发仿真实验板),有在线调试功能;结合ide集成开发环境不需外界任何仿真、调试器就可以完成在线编程、仿真和调试功能。本设计直接使用了spce061a精简开发板(简称61板),利用spce061a的语音处理功能,以及其强大的数据处理能力,再配合led键盘模组,很容易就可以实现本次课题(生产线货物自动计数系统),非常好地体现了spce061a的优异性能。6

31、1板的实物图如图3.9所示:图3.9 61板的实物图61板的硬件框图如图3.10所示图3.10 61板的硬件框图61板上的主要功能模块如下: spce061a单片机最小系统外围电路模块。 电源输入模块。 音频电路(包含mic 输入、dac音频功放输出)模块。 按键模块。 i/o端口接口模块。 调试、下载接口模块。61板硬件框图说明见下表:表3.3 61板硬件框图说明表power5v&3.3v供电电路pll锁向环外部供电power-电源指示灯sleep-睡眠指示灯reset复位电路k4复位按键probe在线调试器串行5pins5ezprob和probe切换的拔断开关j32pin喇叭插针j11下载

32、线的5pin接口(另一头25pin接并口)dac一路音频输出电路mic麦克风输入电路osc32768晶振电路vrta/d转换外部参考电压输入接口r/c其他外围电阻电容k1k3扩展的按键:接ioa0ioa2porta/b32个i/o口spce061a61板核心:16位微处理器61板的接口图如图3.11所示:图3.11 61板的接口各部分接口电路详细如下:3.3.6 输入/输出i/o接口61板将spce061a的32个i/o口(ioa0ioa15;iob0iob15)全部引出,对应的引脚为a口4148、53、5460;b口51、8176、6864。而且该i/o口是可编程的即可以设置为输入或输出,即

33、:设置为输入时,分为悬浮输入或非悬浮输入,非悬浮输入又可以设置为上拉输入或是下拉输入;在5v情况下,上拉电阻为150k,下拉电阻为110k;设置为输出时,可以选择同向输出或者反相输出。3.3.7 音频输出接口图3.12 音频输出电路图3.12是音频输出电路图。可以直接听喇叭输出的声音。图中的spy0030是语音集成放大器。图3.12中j3都是语音输出接口,一个是耳机插孔,另一个是2pin的插针外接喇叭,由dac输出引脚21或22经语音集成放大器spyoo30a放大,然后输出。spy0030a是凌阳的芯片,相当于lm386,但是比lm386音质好,它可以工作在2.46.0v范围内,最大输出功率可

34、达700mw。而lm386必须工作在4v以上,而且功率只有100mw。3.3.8 在线调试器probe和ez-probe接口ez-probe是61板上的数据缓冲电路和下载线的统称。probe是在线调试器。图3.13中j4为probe的接口,该接口有5pin,其中两个分别是地vss和3.3v电源vcc。我们可通过probe一端连接pc机25pin并口,另外一端连接61板的5pinprobe接口来调试、仿真和下载程序。这样,就不需要再用仿真器和编程器。将其连接好就可以通过它在pc机上调试程序并且在线仿真,最后将程序下载到芯片中即完成了程序的烧写。图3.13 probe和ez-probe接口61板+

35、在线调试器(probe)+pc机probe的优点:方便自己开发或产品研发过程使用,能够实时在线仿真,调试和下载程序。probe的缺点:对学生或初学者来说,其中加入的probe成本相对较高。图3.13中的j11是ez-probe的接口,我们提供一根下载线用作ez-probe的下载,一端连接pc机的25pin并口,另外一端接61板的5pin ez-probe接口。ez-probe的优点:开发成本低,学生买得起。ez-probe的缺点:对于比较大的程序代码下载和调试速度较慢。61板+在线调试器(probe)+pc机开发注意事项: 板子上有明确标注的ez-probe和probe的位置,注意避免将其插错

36、位置; 当使用probe时,用短路子将s5的1、2脚短路,程序下载完成后,拔掉probe,即可脱机运用; 当使用ez-probe时,用短路子将s5的2、3脚短路,下载完毕,将下载线和s5的2、3脚的短路子拔下,即可脱机运用。3.3.9 电源接口图3.14 电源电路图3.14中j10是电源接口,61板的内核spce061a电压要求为3.3v,而i/o端口的电压可以选择3.3v也可以选择5v。所以,在板子上具有两种工作电压5v和3.3v。对应的引脚中15、36和7必须为3.3v,对于i/o端口的电压51、52、75可以为3.3v也可以是5v,这两种电平的选择通过跳线j5来选择。61板的供电电源系统

37、采用用户多种选择方式: 5v电池供电。用户可以用3节电池来供电,5v直流电压直接通过spy0029(相当于一般3.3v)稳压器稳压到3.3v,为整个61板提供了5v和3.3v两种电平的电压。 5v稳压源供电用户可以直接外接5v的直流稳压源供电,5v电压再通过spy0029稳压到3.3v。 3.3v供电用户可以提供直流3.3v电压为实验板进行供电此时整个板子只有3.3v电压i/o端口电压此时只有一种选择。需要注意的是由于spy0029最大输出电流为50ma,所以如果需要外接一些模组时要先考虑一下是否合适。3.3.10 复位电路复位是对61板内部的硬件初始化,61板本身具有上电复位功能,即只要一通

38、电就自动复位,另外,还具有外部复位电路,即在引脚6上外加一个低电平就可令其复位,如图3.15中的reset按键。图3.15 复位电路3.3.11 键盘电路图3.16 键盘电路电路的vdd端接高电平(5v),当开关闭合时,ioa0、ioa1、ioa2端均接通高电平。其中k1k3的功能定义为:key1是设置键,按此键可以预设-计数个数,计数个数达到预设值时进行提示并自动将计数初值置为1。key2是播报键,按k2会播报当前计数值。key3是清除键,通过此键清除所有计数结果,但是设定值保持不变。由于键复用,进入预设模式之后键值的定义会随之改变:k1定义为“-”,k2定义为确认键,k3定义为“+”。预设

39、程序首先关闭中断,赋预设值uiset=1111,然后选中千位,数码管的千位会显示1,然后可以按“+”、“-”来改变千位值的大小,千位值会随即在数码管的千位显示,按确认键确定千位值并进入百位值设定;百位值设定和千位值设定的过程一样,按“+”、“-”来改变百位值的大小,百位值会在数码管的百位显示,百位设定完成按确认键会进入十位值设定;用同样的方法设定十位值、个位值。四位均设置完成,程序记录预设值结果并退出预设程序。按键部分的流程将在软件中讲述。3.3.12 61板的自检 主要测试部分:1)i/o口(a口作为输入,b口作为输出);2)睡眠功能(进入睡眠状态指示灯点亮);3)a/d转换输入(b口的低7

40、位作为模拟电压源输出,对应a口的7个通道采样转换);4)mic输入及语音输出(同时实现a/d和d/a转换功能)。 61板检测的具体步骤:1)连接电源,可以连接(3节),电池也可以直接接5v的稳压源;现象:当电源接通时,红色的发光二极管会点亮。同时会有语音提示:“欢迎进入自检模式”,此时因为还没有连线,所以会听到:“i/o测试失败”的警告,所以就要进行下一步的操作;2)用排线分别将i/o a口的低8位和iob口的低8位相连,ioa口的高8位和iob口的高8位相连,然后按下rest复位键。现象:当按下复位键后,程序从第一调开始运行开始执行,语音提示;“欢迎进入自检模式”,当听到语音i/o测试成功后

41、进行下一步操作;3)按k1键进行睡眠功能测试。现象:如果测试成功,会看到绿色的发光二极管亮灭一下,并语音提示“睡眠测试成功”,“否则提示睡眠测试失败”,然后进行下一步操作;4)按下k2键进行a/d转换的测试。现象:语音提示:“a/d测试成功”,否则提示:“a/d测试失败”,进入最后一步操作;5)拔掉第一步测试时的排线,并按下k3键测试mic输入及d/a转换输出是否正常。现象:可以在mic上轻轻的拍几下,同时听是否有声音输出,如果有,则说明mic输入和d/a转换输出部分正常。以上操作只有当i/o测试成功时按键才会有效。3.4 led显示电路硬件说明3.4.1 led模块简介基本特性与参数指标le

42、d键盘模组集成led、key、数码管功能,可作为单片机常用外围器件的扩展模块。led键盘模组采用dc5v供电。图3.17 测试流程图主要功能表3.4 led键盘模组的主能1扩展了6位8段数码管,最大显示数据为99999928个发光二极管,可作为显示状态信息使用38个按键,可以组成1*8key也可组成2*4key4一个电位器,可以提供05v的模拟电压信号或者03.3v的模拟电压,与模组输入的vdd有关5键盘led模组接口简单,可方便与任何一款单片机进行软硬件接口设计结构框图图3.18 led键盘模组结构框图布局框图图3.19 led键盘模组的布局框图系统环境led键盘模组供电电压dc5v,也可用

43、dc3.3v。注意事项led键盘模组可作为任何一款具有外部io端口的单片机进行外部扩展使用。3.4.2 主要元器件*5641ah共阴极4位数码管。lg5641ah元件图如下:图3.20 lg5641ah元件图图中:adp为数码管的段信号,d1、d2为时钟冒号的段信号;g1g4为4位数码管的位信号,段信号高有效,位信号低有效。led数码管的ag的七段构成一个8字形,用适当的电信号控制,使某些段显示,另外一些段不显示,就可以组成各种不同的字形,包括09共10个数字及af6个英文字母。led数码管是用7个直线段形状(有的还有一个小数点形状或冒号形状)的发光二极管组成。和其他二极管一样,在发光二极管的

44、两端加上一定电压产生电流后,发光二极管导通并发亮。3.4.3 led接口说明led模组使用十分简单,直接用排线与61板i/o接口相连即可。keytype选择接口此接口是选择2*4key还是1*8key,具体选择方式如下:从左至右看,将第1至4短接块连接,选择了2*4key;只将第5个短接块短接,选择1*8key。我们这次设计没有用到keytype选择接口,但在led的自检操作中将用到1*8key接口,因此在这里简要介绍一下,其连接示意图如下:图3.21 选择1*8key时keytype接口连接示意图1*8key接口1*8key的8列分别定义为col1col8,1行定义为row1。使用时col1

45、col8是k1k8的列输入,row1是k1k8的行输入。1*8key接口见图3.22。图3.22 选择1*8key时keytype接口连接示意图使用1*8key时相应keytype连接如图3.22,即只须将keytype接口的第5个短接块短接。用户可自行选择row1接至vdd还是gnd。dig接口6位数码管l1l6的段发光管阳极和8个led指示灯的阳极并联,并且8个led指示灯采用共阴极方式。6位数码管l1l6的阴极和8个led的共阴极分别用dig接口dig1dig7控制,第4位数码管后时钟冒号d_dp的位信号用dig8控制,位信号均为高有效。dig接口详见图3.23。图3.23 dig接口图

46、seg接口ag、dp是6位数码管l1l6的段信号和8个led指示灯的阳极控制信号输入端。控制信号为高有效。图3.24 seg接口图led的使用说明:led的使用主要涉及dig接口(见图3.23)和seg接口(见图3.24)。8个led(led1led8)采用共阴极设计共阴极即位信号用dig接口中的dig7控制,阳极即段信号由seg接口的ag、dp控制。使用时首先将其位信号dig7设置成有效状态“高”,即选择了该元件,然后将其段信号ag、dp设置成需要的状态,即选择了显示信息,段信号“高”有效。相应原理见下图。图3.25 led部分原理图3.4.4 led自检操作用户在使用led键盘模组之前可自

47、行运行自检程序,检查led键盘模组的功能是否正常。自检前的准备软件准备:下载自检代码。硬件准备:1)61板及61板配套电源;2)led键盘模组;3)自检时61板和led键盘模组硬件连接情况是:ioa低8位接至seg接口控制led的导通,ioa高8位接至1*8接口获取键盘的状态值,iob低8位连至dig通过uln2003a控制8个led的共阴极电平状态和数码管驱动,1*8key中row1直接连至dgnd。注意:keytype接口选择1*8key。4)硬件连接框图图3.26 led自检操作硬件连接框图自检操作流程确认硬件连接就绪后,使用ide下载自检程序,运行自检程序。自检过程遵循下图所示流程完成

48、。自检无错后,说明led键盘模组硬件无故障,您就可以利用其进行软硬件开发了。自检过程描述如下:运行自检程序后,发光二极管循回点亮并数码管计数(led巡回闪烁,同时数码管从左至右显示08),全部显示完成后,led停止闪烁,数码管全亮,延时一段时间后数码管全灭,然后人为按8个按键,顺序自选,按键相对应的数码管将点亮,8次检测结束后,二极管全亮,自检完成。以上过程完成说明led模组功能完全正常。图3.27 led自检操作流程图3.5 spce061a与led显示电路的连接方法显示部分电路如图3.28所示,显示采用4位7段数码管动态显示,段码由ioa814输出,位选信号由iob1013输出,依次对应着

49、计数结果的千位、百位、十位和个位。我们这次采用的是凌阳大学计划的led键盘模组和61板搭配,这样可以更加容易的完成这个课题。即:直接用两条10pin排线将61板与led键盘模组按图3.29示意图连接即可(seg是显示器段选,dig是显示器片选)。图3.28 显示部分电路原理图图3.29 led键盘模组和61板连接图4 系统软件设计4.1 软件流程图整个系统可以分为5大模块:键盘模块、显示模块、语音播报模块、货物计数模块、电源监控模块。主程序包括一个主循环和两个中断程序:主循环程序循环扫描电压监测程序和键处理程序,计数和显示则由中断服务程序完成,如图4.1所示。系统上电,首先将上次掉电时的计数值

50、重新装载到ram中,如果是第一次下载后运行,装载的值全部为0xffff,这时需要把计数初值全部清零。初始化io和中断之后系统进入主循环,主要监测电压是否正常以及是否有按键触发,该部分流程如图4.1(1)所示。图4.1 系统主程序流程图货物计数流程如图 4.1(2)所示:采用外部中断,每个货物通过的时候,光电传感器产生一个正脉冲,在脉冲的下降沿触发061外部中断ext1,每来一个外部中断,货物数加一,并判断是否达到预设值以及是否超出范围,并进行相应的处理。显示模块完成的工作是显示已计数的数值。因为显示的都是整数,所以不用显示小数点,显示利用1khz中断进行动态扫描显示,如图4.1(3)所示。电压

51、监测如图4.2(1)所示:电源监控采用spce061a自带的低电压检测功能。首先选定低电压的下限,一共有4个可选下限值:2.4v,2.8v,3.2v和3.6v。如果选择2.8v,当电源电压低于2.8v的时候,认为电压是不正常的。当检测到系统电压低于2.8v时,保存当前计数值到flash中,并进入掉电运行模式。在掉电运行模式下,程序只检测系统电压,直到系统电压正常才重新回到正常运行模式。图4.2 掉电保护和键处理子程序键盘模块利用61板自带的3个按键,定义为:k1是设置键,按此键可以预设计数个数,计数个数达到预设值时进行提示并自动将计数初值置为1。k2是播报键,按k2会播报当前计数值。k3是清除

52、键,通过此键清除所有计数结果,但是设定值保持不变。按键部分的流程如图4.2(2)所示预设操作的过程如图4.3所示:由于键复用,进入预设模式之后键值的定义会随之改变:k1定义为“-”,k2定义为确认键,k3定义为“+”。预设程序首先关闭中断,赋预设值uiset=1111,然后选中千位,数码管的千位会显示1,然后可以按“+”、“-”来改变千位值的大小,千位值会随即在数码管的千位显示,按确认键确定千位值并进入百位值设定;百位值设定和千位值设定的过程一样,按“+”、“-”来改变百位值的大小,百位值会在数码管的百位显示,百位设定完成按确认键会进入十位值设定;用同样的方法设定十位值、个位值。四位均设置完成

53、,程序记录预设值结果并退出预设程序。 图4.3 预设操作流程图语音播报模块采用s480放音模式,该模块利用timera中断播放,在播放时可自动把中断等保护起来,待播放结束后恢复为放音前的状态。图4.4所示为播报的判断流程。4.2 61板实现语音播放流程在本次实验中语音播报模块我们所使用的是s480放音模式,该模块利用timera中断播放,在播放时可自动把中断等保护起来,待播放结束后恢复为放音前的状态。本次毕业设计采用凌阳的sacm_s480音频格式,他的压缩编码方法是:参数编码。其语音压缩比为80:3,80:4.5两种。图4.4 计数值语音播报流程由于sacm_s480压缩比大,计算量大,因此

54、音质也不高,而此次的实验是生产线货物自动计数系统,他对语音的要求不是很高,只要能进行简单的语音提示就行了,在凌阳常用的音频形式中,sacm_s480主要用于放音,可用于语音提示,正符合系统设计的要求。4.2.1 音频概述音频的特点和分类通常所说的音频是指频率在20hz20khz的声音信号,分为波形声音,语音和音乐三种。波形声音就是自然界中所有的声音,是声音数字化的基础。语音也可以表示为波形声音,但波形声音表示不出语言和语音学的内涵。语音是对讲话声音的一次抽象,是语言的载体,是人类社会特有的一种信息系统,是社会交际工具的符号。音乐与语音相比更规范一些,是符号化了的声音。但音乐不能对所有的声音进行符号化。数字化音频的采样和量化将模拟的(连续的)声音波形数字化(离散化),进而采用数字计算机进行处理的过程,主要包括采样和量化两个方面。数字音频的质量取决于采样频率和量化位数这两个重要参数。此外,声道的数目,相应的频率设备也是音频质量的因素。wave文件音频文件通常分为两类:声音文件m

温馨提示

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

最新文档

评论

0/150

提交评论