为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 公交车报站器的设计

公交车报站器的设计

2011-04-20 34页 doc 3MB 76阅读

用户头像

is_727989

暂无简介

举报
公交车报站器的设计目录 目 录 中文 TOC \o "1-3" \h \z \u 摘要 2 英文摘要 3 1 引言 4 2 凌阳SPCE061A单片机简介 5 3 系统方案 10 3.1 系统设计要求 10 3.2 方案论证 10 3.3 系统硬件方案 12 3.4 系统工作原理 13 4 系统硬件设计 14 4.1 61板电路设计 14 4.2 61板模块电路分析 14 4.3 键盘模块 16 4.4 液晶显示模块 17 4.4.1 液晶显示模块概述 17 4.4.2 液晶模块外形尺寸 17 4.4.3 液晶模块引脚说明 18 4.4.4 液...
公交车报站器的设计
目录 目 录 中文 TOC \o "1-3" \h \z \u 摘要 2 英文摘要 3 1 引言 4 2 凌阳SPCE061A单片机简介 5 3 系统 10 3.1 系统设计要求 10 3.2 方案论证 10 3.3 系统硬件方案 12 3.4 系统工作原理 13 4 系统硬件设计 14 4.1 61板电路设计 14 4.2 61板模块电路分析 14 4.3 键盘模块 16 4.4 液晶显示模块 17 4.4.1 液晶显示模块概述 17 4.4.2 液晶模块外形尺寸 17 4.4.3 液晶模块引脚说明 18 4.4.4 液晶模块串行时序图 19 4.4.5 液晶模块与MCU的连接图 19 4.5 SPR4096存储模块 20 5 系统软件设计 21 5.1 SPCE061A的指令系统和集成开发环境IDE 21 5.1.1 指令系统 21 5.1.2 指令格式与寻址方式 22 5.2系统程序和模块设计 24 5.3 公交车报站器测试 30 结论 31 致谢 32 参考文献 33 摘 要:本文介绍了一种公交车报站器的系统设计原理,提出了以61单片机为核心,通过4*4键盘获取外部指示以控制SPR4096语音芯片电路以及LCD显示的硬件设计和软件设计方案。该系统语音音质好,功能强,成本很低,是提供公交服务的一种较好的手段。本文首先介绍了SPCE061A的基本原理和开发方法,讨论了控制模块、显示系统和存储系统的总体设计思想和实现方案,并且详细阐述了硬件系统和软件系统的设计。硬件系统包括电源电路、控制电路、信息存储电路、显示电路、语音资源存储电路等;硬件驱动程序由开发系统提供的汇编语言库函数来实现。经过调试和仿真运行,使系统最终达到了课题设计的要求。 关键词:单片机;语音处理;LCD显示;SPR4096 Abstract: This paper explains the principles of a bus DIAS , and offer a hardware and software design program that the microcontroller core, SPCE061A, controlls the SPR4096 voice chip circuit and LCD display as the external command from the 4*4 keyboard. This system will provide a well bus service with its high quality voice, strong function and low cost. This paper introduces the fundamental principle and development methods of SPCE061A at first. It discusses the total design idea and the realization method of voice control, display system and memory system. Then it describes the design project of hardware system and software system in detail. The hardware system consists of power circuits, control circuits, information storage circuits, display circuits etc. The software to drive the hardware was developed with the assemble language function library provided by development system. The system behaved well after debug and simulation. The result shows that the system comes to our expectation. Keywords: MCU; Speech Processing; LCD display;SPR4096 1 引言 随着城市交通的快速发展,公交汽车为外出的人们提供了方便快捷的服务。而公交汽车的报站共识直接影响其服务的质量。传统报站方式是由乘务人员进行人工报站,该方式因其效果太差和工作程度太大,在很多大城市已经被淘汰。近年来,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得公交车报站器的实现成为可能,从而为市民提供了更加人性化得服务。公交应用系统带给公交企的将不仅是形象的提升,也是效益的增长。 单片机的问世和飞速发展掀起了计算机工程应用领域的一场新革命,使计算机技术冲破了实验室和机房的界限,广泛地应用于工业控制系统、数据采集系统、自动测试系统、网络通信系统、智能仪和接口以及各类功能模块等广阔领域。单片机应用系统已经成为实现许多控制系统的常规性工具。随着计算机科学和微电子集成技术的飞速发展,单片机自身也在不断地向高层次和更大规模发展。由于单片机应用系统的高可靠性,软、硬件的高利用系数,优异的性价比,使它的应用范围有传统的过程控制,逐步进入数值处理、数字信号处理以及图象处理等高技术领域。 本毕业设计方案采用凌阳科技公司的SPCE061A单片机,SPR4096存储器,LCD液晶显示模块与4*4键盘制作一个简易的公交车报站器,实现完整播报公交线路的站名,并能在LCD上显示站名和日期、时间的功能。 2 凌阳SPCE061A单片机简介 SPCE061A是凌阳科技公司研发生产的一款性价比很高的十六位单片机,它采用高性能的µ’nSP™内核,具有丰富的硬件资源,并集成了ICE(在线仿真接口),可以直接利用该接口对芯片进行下载(烧写)、仿真、调试等操作。SPCE061A在存储器资源方面内嵌了32K的FLASH ROM,且SPCE061A的外围功能模块丰富。 SPCE061A能在2.6V-3.6V工作电压范围内工作,时钟频率为0.32MHz-49.152MHz,较高的工作速度使其能快速处理复杂的数字信号,因而大大地拓宽了其应用领域。SPCE061A内嵌2KB SRAM和32KB的FLASH ROM,有32位可编程的多功能I/O端口;两个16位定时器/计数器;32768Hz实时时钟;低电压复位/监测功能;8通道10位模-数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能。其特性参数表如下: 表2.1 SPCE061A特性参数表 工作电压 (CPU)VDD 3.0~3.6V,(I/O)VDDH为VDD~5.5V CPU工作频率 0.32~46.152MHz 数据存储器 2K Word SRAM 程序存储器 32K Word FLASH-Rom I/O端口 2组16位可编程输入/输出端口 中断 14个中断源,FIQ和IRQ两个中断优先级 定时器/计数器 两组16位可编程定时器/计数器端口 模/数转换器 7共通道10位电压ADC和单通道10位声音ADC 数/模转换器 2过10位DAC输出通道 UART 一个全双工通用异步串行接口 SIO 一个同步串行设备接口 节电功能 具备弱振方式和睡眠方式 WatchDog功能 具备清除时间周期为0.75s的看门狗 其他功能 低电压复位、低电压监测、保密功能等 SPCE061A的内部模块主要分为:CPU、存储模块、定时器/计数器、ADC、I/O接口、电源电路模块、音频电路。SPCE061A单片机的内部结构如图2.2所示。 图2.1 SPCE061A的内部结构图 SPCE061A单片机具有一套易学易用且效率较高的指令系统和一个使用方便的集成开发环境。此开发环境支持C语言,可以实现C语言与汇编语言的互相调用,并且提供了用于语音录放的库函数。只要了解了库函数的使用方法,就能很容易地完成语音录放,所有这些都大大方便了软件开发。 凌阳61板实物图如图2.2 图 2.2 凌阳61板实物图 在单片机应用系统中,常常需要将检测到的连续变化的模拟量,如温度、压力、流量、转速、声音、光亮等转换成数字信号才能用单片机中进行处理。这种将模拟量转换成数字量的过程即是A/D转换。许多新型的单片机已经在片内集成了许多A/D和D/A转换器及PWM输出,这样就大大简化了外围电路和编程工作。在这方面,SPCE061A做得很好。 ADC的结构及工作原理:u’nSP单片机的内部集成了一个10位的A/D转换器,它采用逐次逼近式原理实现模/数转换。u’nSP中的ADC由以下几部分组成:10位数/模转换器DAC0、10位数据缓存器DAR0、逐次逼近寄存器SAR、比较器COMP以及ADC控制寄存器。其输入信号有两个通道:一个由LINE_IN通道输入;另一个由MIC_IN通道输入。MIC_IN一般用于麦克风通道输入,对较弱的信号一般经音频放大器AGC(Automation Gain Control)自动增益控制放大后再进行A/D转换。具体控制参数如表2.2所示。 表2.2 A/D转换中的量化和编码 B15 B14 B13~ B3 B2 B1 B0 控制功能描述 Read_mux FALL - Channel_sel 1 - - - - - 10位模/数转换未完成 - 0 - - - - 10位模/数转换完成 - - - 0 0 0 模拟信号电压通过MIC_INO输入 - - - 0 0 1 模拟信号电压通过MIC_IN1输入 - - - 0 1 0 模拟信号电压通过MIC_IN2输入 - - - 0 1 1 模拟信号电压通过MIC_IN3输入 - - - 1 0 0 模拟信号电压通过MIC_IN4输入 - - - 1 0 1 模拟信号电压通过MIC_IN5输入 - - - 1 1 0 模拟信号电压通过MIC_IN6输入 - - - 1 1 1 模拟信号电压通过MIC_IN7输入 SPCE061A内嵌了凌阳科技开发的最新的16位微处理器µ’nSP™。它内含有8个寄存器:4个通用寄存器R1~R4,1个程序计数器PC,1个堆栈指针SP,1个基址指针BP和1个段寄存器SR。通用寄存器R3和R4结合形成一个32位寄存器MR,MR可被用作乘法运算和内积运算的目标寄存器。此外,SPCE061A有3个FIQ中断和14个IRQ中断,并且带有一个由指令BREAK控制的软中断。 µ’nSP™不仅可以进行加、减等基本算术运算和逻辑运算,还可以完成用于数字信号处理的乘法运算和内积运算。 CPU及其外围的基本模块构成SPCE061A的最小系统。外围基本模块包括:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等。 SPCE061A芯片内部集成了ICE(在线仿真接口),PC机通过Probe(在线调试器)或EZ_Probe(简易下载线)与61板相连,就可以方便地完成程序的下载、调试等。61板为Probe和EZ_Probe各自提供了一组接口,可通过S5跳线来选择使用的接口类型。 ICE电路框图如图2.3。 图2.3 ICE电路框图 3 系统方案 3.1 系统设计要求 要求设计一个操作友好且成本很低的公交车报站器,具体要求如下: ① 可以存放较多的服务用语和广告词(10 条以上) ; ② 要求操作简单,每站只需按一次键即可播报全部报站内容(前方将要到达的站名,上下车提示服务用语) ; ③ 要求具有跳站、上行、下行切换控制功能; ④ 要求语音播报具有 16 档音量调节功能; ⑤ 要求站牌信息及服务信息等都能通过液晶屏显示出来; ⑥ 时间、日历播报、显示和调整功能。 3.2 方案论证 方案一: 根据设计要求,选用 MCS51 单片机作为主控芯片,外部扩展适当大小的RAM组成最小系统。为存储语音资源,在51单片机外围配备一块 K9F1208 FLASH 芯片,作为存储器,另外再外扩一片专用语音处理芯片。考虑到 MCS51 的 I/O口资源较少,在外部使用专用接口芯片 8279管理键盘、显示器件。框图如图 3.1: 图3.1 方案一系统框图 方案二: 根据设计要求,选用 SPCE061A单片机作为主控芯片,由于这颗芯片是 SOC ,使用较少的外围器件就能实现最小系统。SPCE061A 芯片集成 A/D、D/A 功能,配合语音函数库可以实现语音功能。外围扩展键盘、显示器件,扩展 SPR4096 FLASH芯片存储语音资源。框图如图3.2: 图3.2 方案二系统框图 方案二与方案一相比具有较大优势。SPCE061A单片机是 SOC 的,只需使用较少的外围器件即可组成最小系统,大大降低了系统的复杂性,提高了稳定性。使用凌阳的专用语音函数库可以使得语音的实现非常简单。SPCE061A外扩SPR4096 FLASH作为语音资源存储芯片,由于两者都具有 SIO接口,使得程序设计大大简化。SPR4096 是 4Mbit 的 NOR FLASH,可以存储设计要求的语音资源,而三星的 K9F1208是大容量的 NAND FLASH,在存储空间上严重浪费,而且 NAND FLASH 在操作起来比较复杂,增加了开发难度。 3.3 系统硬件方案 方案一和方案二进行比较后,最后选择方案二作为系统硬件方案,该方案主要包括 SPCE061A 精简开发板、SPR4096 FLASH 存储芯片、4×4 键盘、12864液晶显示屏。SPCE061A是整个设计的核心控制器件,负责控制液晶屏输出,键盘信息的采集输入和语音资源的播报。液晶屏和 4×4 键盘主要用作人机交互, 显示报站器的信息,同时利用 16 个按键实现不同的操作。根据设计要求,规划系统硬件结构如图3.3: 图3.3 系统硬件结构图 其中,SID、SCLK分别为12864液晶显示器的串行数据输入端和时钟输入端,IOB0~1与SPR4096的SCK和SDA相连接,IOB8~15与4*4键盘相连接。 各键盘的功能作用分配如下: KEY1: “起步” ,用于起步语音提示控制; KEY2: “到站” ,用于到站语音提示控制; KEY3: “上” ,用于跳站和对设置的内容进行递增; KEY4: “下” ,用于跳站和对设置的内容进行递减; KEY5: “行向” ,用于播报行向; KEY6: “音量” ,用于音量控制; KEY7: “时间日历” ,用于播报时间日历和对时间、日历的设置进行控制; KEY8: “设置” ,用于行向、时间和日历的设置状态的控制; KEY9: “切换行向” ,用于行向控制; KEY10-15:用于宣传语和广告词的播放控制; 3.4 系统工作原理 通过PC机等设备录制需要播放的语音资源,将录制好的语音资源烧写到SPR4096 FLASH存储器中,然后根据键盘执行对应的报站等功能,并且在液晶屏上显示对应信息。采用键控结构。 4 系统硬件设计 4.1 61板电路设计 61 板电路设计主要是完成 SPCE061A 单片机的最小系统设计, 电源设计和 SPCE061A 的 D/A外扩功率器件设计,如图 4.1: 图 4.1 61板整体电路图 4.2 61板模块电路分析 电源电路模块分析: 整个系统由三节电池供电,电池盒提供的4.5V直流电压经过SPY0029后稳压到3.3V后再给系统供电(因为SPCE061A单片机的工作电压位3.3V)。SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺,具有静态电流低、驱动能力强、线性调整出色等特点。 图中的VDDH3为61单片机I/O口的参考电压,如果跳线口J5接1、2,则I/O口的高电平为电池盒供电电平;如果跳线口J5接2、3,则I/O口高电平为3.3V。VDDP为PLL锁相环电源,接SPCE061A的7脚;VDD和VDDA分别为数字电源与模拟电源,分别接SPCE061A的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚; AVSS2接音频输出电路的AVSS2。 图4.2 61板电源电路图 音频输出电路模块分析: SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。如图2.5,图中的SPY0030是一款音频驱动放大芯片,可以工作在2.4~6V范围内(两节电池即可工作) ,最大输出功率可达700mW,由于它的便携性而有着广泛的实际应用。使用时用跳线将J2的1、2端连接起来即可。 图4.3 音频输出电路原理图 4.3 键盘模块 如图4.4,采用4*4键盘输入电路 图4.4 4*4键盘输入电路 4.4 液晶显示模块 4.4.1 液晶显示模块概述 12864A-1汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵,16*8=128,16*4=64,一行只能写8个汉字,4行;)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。 主要技术参数和显示特性: 电源:VDD 3.3V~+5V(内置升压电路,无需负压); 显示内容:128列× 64行(128表示点数) 显示颜色:黄绿 显示角度:6:00钟直视 LCD类型:STN 与MCU接口:8位或4位并行/3位串行 配置LED背光 多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等 4.4.2 液晶模块外形尺寸 1.外形尺寸图 2.主要外形尺寸 项 目 标 准 尺 寸 单 位 模 块 体 积 113.0×65.0×12.8 mm 定 位 尺 寸 105.0×55.0 mm 视 域 73.4×38.8 mm 行 列 点 阵 数 128×64 dots 点 距 离 0.52×0.52 mm 点 大 小 0.48×0.48 mm 4.4.3 液晶模块引脚说明 引脚号 引脚名称 方向 功能说明 1 VSS - 模块的电源地 2 VDD - 模块的电源正端 3 V0 - LCD驱动电压输入端 4 RS(CS) H/L 并行的指令/数据选择信号;串行的片选信号 5 R/W(SID) H/L 并行的读写选择信号;串行的数据口 6 E(CLK) H/L 并行的使能信号;串行的同步时钟 7 DB0 H/L 数据0 8 DB1 H/L 数据1 9 DB2 H/L 数据2 10 DB3 H/L 数据3 11 DB4 H/L 数据4 12 DB5 H/L 数据5 13 DB6 H/L 数据6 14 DB7 H/L 数据7 15 PSB H/L 并/串行接口选择:H-并行;L-串行 16 NC 空脚 17 /RET H/L 复位 低电平有效 18 NC 空脚 19 LED_A - 背光源正极(LED+5V) 20 LED_K - 背光源负极(LED-OV) 逻辑工作电压(VDD):4.5~5.5V 电源地(GND):0V 工作温度(Ta):0~60℃(常温) / -20~75℃(宽温) 4.4.4 液晶模块串行时序图 串行数据传送共分三个字节完成: 第一字节:串口控制—格式 11111ABC A为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD B为数据类型选择:H表示数据是显示数据,L表示数据是控制指令 C固定为0 第二字节:(并行)8位数据的高4位—格式 DDDD0000 第三字节:(并行)8位数据的低4位—格式 0000DDDD 注意:模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。 4.4.5 液晶模块与MCU的连接图 其中CS端为串行方式片选信号端,低电平有效;PSB端为并/串行接口选择端:H-并行;L-串行;RET端为复位端,低电平有效;SID为串行数据输入端,SCLK为串行时钟输入端;只要当时钟信号端SCLK为负跳沿时,将SID端的数据输入液晶模块,因而并不需要SCLK端有连续的稳定频率的时钟信号输入,也就方便了MCU通过其位处理功能方便地进行数据传输。 4.5 SPR4096存储模块 SPR4096是一个高性能的4M位FLASH,分为256个扇区,每个扇区为2K字节。SPR4096还内置一个4K×8位的SRAM。SPR4096串行接口的工作频率可达到5MHz。SPR4096有两个电源输入端VDDI和VDDQ,VDDI是给内部FLASH和控制逻辑电路供电的,VDDQ是专门为I/O供电的。VDDI供电电压为2.25V-2.75V,VDDQ供电电压为2.25-3.6V。这里采用SPR4096的串行接口模式工作,CF0-2接低电平,CF7接低电平,硬件电路如图4.5所示。 图4.5 SPR4096串行工作方式电路 5 系统软件设计 5.1 SPCE061A的指令系统和集成开发环境IDE 同硬件设计一样,软件设计也是分模块进行的。主要包括以下部分的程序:主程序、音频输出子程序、液晶屏显示子程序、存储子程序、按键扫描子程序。各子程序由主程序(main.c)调用,组成一个整体。为了能够体现设计的思路,每个功能都将从原理、所用函数以及程序流程图几个方面分别介绍。 在进行系统的软件设计之前,必须熟悉单片机的指令系统和开发环境。在此先对SPCE061A的指令系统与集成开发环境作一个简单的介绍。 5.1.1 指令系统 在介绍指令格式指令系统以前,把描述指令等一些符号的意义先做如下简单的介绍。 RD:目的寄存器或目的存储器指针 Rs:源寄存器或源存储器指针; IM6 IM16:6位 16位立即数; A6 A16存储器6位16位常量; Rx-Ry:序列寄存器,X Y为序列号1为最低7为最高; MR:由R4 R3 组成的32位结果寄存器(R4为高字组 R3为低字组); + - * ~:加减求补操作符记号; & | ^ :逻辑与 或 异或操作符记号; ++ --:指针单位字增量减量操作符; []:寄存器间接寻址标志; {}:任选项; C:进位位; D:非零页数据段寻址标志; //:注释符; #:算术或逻辑操作符; ():寄存器或存储单元中的数据; 5.1.2 指令格式与寻址方式 ① 指令的格式 SPCE061A指令的组成格式不是以字节为单位,而是以16位的字为一个单位,有单字指令和双字指令两种格式,结构较为紧凑。根据操作数的数目又可区分出0、1、2、3四种格式。 其指令可分为5大类: 数据传送类指令; 算术运算类指令; 逻辑操作类指令; 控制转移及设置指令。 伪指令 ② 寻址方式 寻址方式象语言中的方言,在不同地方的要表达同一个意思可能会通过不同的腔调,也就是对不同的地点的操作数完成同一类操作可能需用不同的寻址方式。 寻址方式包括: 立即数寻址:在这种寻址方式中指令格式中包含了操作数,可以立即参与指令规定的操作,所以此操作数被称为立即数。立即数有两种6位(范围0X00-0X3F)和16位(范围0X0000-0XFFFF)。 寄存器寻址:这种寻址方式中,操作数存放在某工作寄存器中,也叫寄存器直接寻址。 直接寻址:直接寻址就是在指令格式中直接给出了存放操作数的存储器地址,以供寻址取数或者存放数据。在书写指令的时候,直接寻址地址需要‘[]’括起来,以表明是存储器操作数。直接寻址有三种方式。分别是6位地址直接寻址 16为地址直接寻址和22位地址直接寻址。 寄存器间接寻址:寄存器间接寻址就是在指令格式中指定某一寄存器,其中存放的是操作数地址的地址,即操作数的地址是由寄存器间接提供的。由于寄存器是存放在存储单元中,故在书写指令时,所用寄存器需要用‘[]’括起来,其格式为{D:}[R]。当省略D时R指向零页存储单元。D不省略时,由R和段寄存器SR中的数据段DS共同指向存储单元,其中DS的值决定了存储器的页码。 变址寻址:在这种寻址方式中,先对基址指针寄存器BP和6位立即数求和,即BP+IM6,算出有效的地址然后在从该地址处取操作数(注意[]的使用)。 PC相对寻址:PC相对寻址只要用于转移指令中,指令执行时检测段寄存器SR中标志段的各标志位,作为程序转移的条件。若满足则转移到与PC相关的地址上。相对偏移量为有符号的6位二进制数即跳转的范围限制在63个字。PC相对寻址用于访问程序存储区。 是否具有对高级语言HLL的支持已成为衡量微控制器性能的标准之一。显然,与汇编级上的编程相比在HLL平台上编程,代码清晰易读,易维护易形成模块化,便于重复使用而增加代码的开发效率,因此具有诸多优势。在HLL中又因为C的可移植性最佳所以成为首选。因此,支持C语言几乎是所有微控制器设计的一项基本的要求,用C语言编程的优点有寄存器分配、数据类型等由编译器管理, 编程及调试的时间减少,大大缩短开发周期,明显增加软件可读性,便于改进和扩充。而SPCE061A指令的设计就着重考虑了对C语言的支持。用C语言可以很方便地对SPCE061A进行编程。凌阳公司提供了一种支持凌阳16位单片机系列的集成开发环境,即μ’nSP IDE。其界面如图5.1。它支持汇编语言和C语言混合编程进行程序开发,它同时集程序的编辑、编译、链接、调试以及仿真等功能为一体,具有友好的交互界面、下拉菜单、快捷键和快速访问命令列表,使编程调试工作更加方便和高效。我们采用的是IDE2.0.0版。 图5.1 IDE2.0.0 的开发环境界面 5.2系统程序和模块流程设计 系统主程序设计流程图如图5.2,开机后系统进行按键扫描,判断键值后进入相应的功能,执行完毕后返回继续判断键值。主程序是用C语言编写的,是整个软件系统的核心所在。它是在各个子程序模块编好以后再根据设计要求编制的。 图5.2 程序设计流程图 (1)键盘扫描模块: 键盘扫描子程序流程图如图5.3所示。 图5.3 键盘扫描子程序流程图 键盘采用的是4×4键盘。用其中十个数字键作站名选择,可以键入手动信号更改显示电路、语音电路所指示的站名。另外,如果为了增加一些电路功能,可在报站的同时插入一些广告语音、礼貌语音以及对乘客的提示语音等,实现插入语音的放音需键入信号。键盘扫描的原理为:先从IOB12~15输出高电平,再从IOB8~11读回状态值,如果有键按下,相应“行”对应的位就会被置为高电平,得到“行”位置;马上进入“列”扫描,先从IOB12输出一个高电平,再从IOB8~11读回值,判断是否为高电平,是,则得到“列”位置,否则扫描第二“列”,如此类推,通过“行”位置和“列”位置得到确定按键位置。通过编码,返回键值。 (2)设置模块: 设置模块流程图如图5.4,开始(液晶屏显示SET,表示报站器进入设置状态)-〉开始3秒定时,进行键扫描-〉判断3秒定时是否到了(如果到了,则返回值;如果没到则判断键值是否有效,如果无效则返回值,如果有效则按下5键进行行向切换,按下7键后,液晶屏闪动显示时间/日历,进入时间/日历调节状态。通过按上下键进行调解。然后返回进行重新扫描)。 为了防止误操作,在设置模块里设定一个3秒的定时,在3秒的定时里只有允许的几个键按下才会执行相应的操作,其他键无效。程序自动记录最后一次按键时间,如果3秒内没有按键操作,自动保存设置,退出。 图5.4 设置模块子程序流程图 (3)音量调整模块: 音量调整子程序流程如图5.5: 图5.5 音量调整子程序流程图 S480的语音压缩格式提供16级的音量调节,15为最高级,音量最大;0是最低级,静音。通过调用API函数,可以很方便的改变系统的主音量。 (4)行向调整模块 行向调整子程序流程图如图5.6所示。 图5.6 行向调整子程序流程图 (5)时间、日历调整模块 时间、日历调整模块子程序流程图如图5.7。 图5.7 时间、日历调整子程序流程图 (6)播报模块: SACM_S480具有两种播放方式,自动播放方式和非自动播放方式。两种播放方式的区别在于取语音数据的方式不同。在自动方式,语音播放函数可以自动的从内部FLASH中取出数据,而非自动播放方式,用户必须一个一个字的取得语音数据。非自动方式可以从外部存储设备取得语音数据,这里采用非自动播放方式。 S480 非自动播放方式流程图如图 5.8所示: 图5.8 S480非自动方式播放程序流程图 (7)IRQ5_2HZ 模块: IRQ5_2Hz 中断服务流程图如图 5.9 所示: 图 5.9 IRQ5_2Hz 中断服务流程图 SPCE061A具有精确的时基信号发生器,时基发生器通过分频产生2Hz、4Hz等时基信号,可以实现精确的计时,从而实现时钟和万年历功能。 (8)液晶显示模块 液晶显示程序流程图如图5.10 图5.10 液晶显示程序流程图 5.3 公交车报站器测试 公交车操作面板如图5.11所示 图 5.11 公交车报站器操作面板布局图 4*4键盘各键功能如图中所标注,其中1-7分别表示宣传语1-7。将调试通过的程序下载到硬件设备中,按照设计要求进行测试,部分测试效果图如下。 图5.12 欢迎画面 图附5.13 起步服务语 图附5.13 到站服务语 结 论 经过反复的调试和改进,通过最后的测试,公交车报站器在减少外围器件,成本大大降低的情况下,系统的运行的稳定性还有很大程度的提高;各种提示语音正常播放,声音清晰;时间、日历可以正常设置、显示和播报。 公交车报站器给乘客和司机提供了方便。SPCE061A的结构特点及其相关的开发平台,为我们开发带语音特色的产品带来了方便,公交车报站器是SPCE061A的一个基本应用,体现了SPCE061A的多种资源对产品开发的极大支持,同时体现了其独特的语音特色和显示功能。但是由于存储容量限制,功能不够齐全。利用61板的其他功能模块可以实现更多的功能。 使用扩展存储器来增加存储容量,以增加更多的路线和服务用语;使用LCD显 示模块和点阵显示模块,显示站名和服务语。使用串口通信模块,实现报站器与计算机进行通信,实现资料更新。 此外,通过此次毕业设计,我深刻地感觉到,只有理论与实践相结合才能真正意义上地掌握书本上的知识,才能增强自己的动手能力,才能锻炼科研思维、提高科研能力。 谢 辞 在毛剑波老师的精心指导下完成这次论文期间,我深深地感受对我们严厉要求的同时也流露出他对我们的关心和爱护,从他那里不仅仅学到了本学科的知识和科学研究方法,对学术的严格谨慎态度,更重要的是我学到了严谨踏实的学风。在此,我向为培养我成长而付出辛勤劳动和巨大心血的导师致以衷心的感谢和崇高的敬意。 感谢在论文期间,电子科学与应用物理学院微电子实验室为我们提供了电脑及网络,和电子试验中心的老师提供的大力帮助,没有老师的帮助,我的论文就不可能顺利完成,谢谢你们! 感谢电子科学与应用物理学院各位老师的关心和照顾! 【参考文献】 [1] 罗亚非.凌阳16位单片机应用基础.北京:航空航天大学出版社,2003.15-263. [2] 薛钧义,张彦斌,虞鹤松.凌阳十六位单片机原理及应用.北京:航空航天出版社, 2003.3-335. [3] 谭浩强. C语言程序设计.北京:清华大学出版社,1999.1-387. [4] 北阳公司.SPCE061A编程手册.北京:北阳电子,2004.1-137. [5] 北阳公司.SPCE061A中文数据手册.北京:北阳电子,2004.3-68. [6] 北阳公司.SPCE061精简开发板-61板使用说明.北京:北阳电子,2002.3-34. [7] 北阳公司.C语言在凌阳十六位单片机中的应用.北京:北阳电子内部技术资料,2005.26-177. [8] 北阳公司.SPCE061A原理与应用教材书相关源程序.北京:北阳电子内部技术资料,2004.1-213. [9] 薛钧义,张彦斌.凌阳十六位单片机原理及应用.北京:航空航天大学出版社,2004. 3-147. [10] 康华光,陈大钦.电子技术基础(模拟部分).北京:高等教育出版社,1999.6-135. [11] 阎石.数字电子技术基础.北京:高等教育出版社,1998.2-295. [12] 睢丙东,魏泽鼎.单片机应用技术与实例.北京:电子工业出版社,2005.1-233.
/
本文档为【公交车报站器的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索