基于单片机的大型公路收费报价系统论文.doc_第1页
基于单片机的大型公路收费报价系统论文.doc_第2页
基于单片机的大型公路收费报价系统论文.doc_第3页
基于单片机的大型公路收费报价系统论文.doc_第4页
基于单片机的大型公路收费报价系统论文.doc_第5页
已阅读5页,还剩56页未读 继续免费阅读

VIP免费下载

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

文档简介

I基于单片机的大型公路收费报价系统 摘 要本文介绍了51系列单片机的内部相关配置、工作原理以及编程方法,同时介绍了LED点阵的级联使用的驱动电路和连接方法,以及通过列扫描模式控制点阵显示内容相关方法。本次设计的大型公路收费报价系统,采用51系列单片机作为收费系统的处理和控制核心,完成车辆检测、LED点阵显示、语音播报等功能。车辆检测功能通过人工检测有车通过,并通过按键输入相应车型,通过LED点阵显示车辆的车型类别以及余额等相关信息方便查询,并使用语音芯片进行语音播报。最后通过实物电路验证了此次设计硬件电路稳定可行,实现了以51为核心的公路收费系统的相关功能。关键词:51单片机,语音播报,LED点阵显示58基于单片机的大型公路收费报价系统 ABSTRACTIn this paper, the internal configurations of 51 single chip microcomputer are introduced. And we also told how 51 single chip microcomputer works and how can we program on it. After them, we told driving circuit and connecting method of using led dot matrix together and using row scanning to control dot matrix to display character is introduced. The design of highway toll collection system , uses 51 single chip microcomputer as the core of processing and controlling, and accomplishes the detection of cars, led dot matrix display, voice broadcast and so on. When people find the car is coming, he or she can press the button to tell the 51 single chip microcomputer the type of the car, and then the 51 single chip microcomputer will use led dot matrix to display the type of coming car and the price in order to view simply. At last we use the voice IC to broadcast the message. At the end of the design, we use the real circuit to verify the functions that introduced at first. The circuit is stable and feasible. And we accomplished the functions that are designed by based on 51 single chip microcomputer. Key words: 51 single chip microcomputer, voice broadcast, led dot matrix目录1绪论11.1文献综述11.2 选题背景及其意义21.3本论文的主要内容及章节安排32硬件系统设计42.1系统的硬件框图42.2 AT89S52芯片介绍42.3按键电路模块52.4 LED点阵扫描电路62.5 语音播报电路102.6 电源转换电路123 软件系统设计133.1软件结构设计133.2软件系统的结构133.3主程序流程143.4子程序流程图153.5程序设计164系统调试284.1 Protues仿真及KEILC软件调试284.2 实物调试295结论31致谢33参考文献34附录351绪论1.1文献综述近年来,随着人类经济文化的飞速发展,人们对社会生活的各个方面的需求都有所提高,包括人类的:衣、食、住、行等方面,在行这一块随着交通工具种类的繁多和速度、性能的加快,公路关卡收费站的压力也随之而来。目前在我国大多数高速公路的道路收费仍处于纯人工收费的半原始状态,效率低,需要大量人力,收费站得建成和运营成本就消耗了相当一部分资金,而且由于各路段投资商不同,如果在交通高峰期,收费站成为公路的瓶颈,容易造成交通的堵塞等有关问题,同时车辆的频繁刹车、启动也造成了能源浪费和环境污染,同时也加快了车辆部件的磨损,带来交通隐患1,10。因此研究智能化的车辆公路收费报价系统是适应现在的需求9。随着现代科技的飞速发展,单片机已经在各个领域得到越来越广泛的应用8。单片机由于体积小,功耗低两个基本特征,在通讯,家电,工业控制,仪器仪表,汽车等产品中都可以看到单片机的身影。单片机技术也随着集成电路技术的进步在近几年飞速的发展,这种发展可以分为两方面1:一方面在硬件上单片机内部集成了越来越多的功能部件,如A/D,D/A,PWM,WATCHDOG,LCD驱动,串行口,大容量FLASH存储器等;另一方面在开发手段上从汇编语言向高级C语言过度,计算机仿真调试,IAP,ISP技术的应用使单片机开发周期大大的缩短,为各类产品更新,软件的升级提供了可靠的技术保障。在设计单片机应用系统时,由于历史的原因,目前在国内仍然以8051系列单片机为主4,5。主动红外入侵探测器也称对射式红外线探测器或光束遮断式感应器。之所以称之为主动是因为该类产品会主动发射红外线,由与之相对应的接受器来接受,所以称之为主动。其探测原理是利用红外线经LED红外光发射二极体,通常采用光电二极管、三极管、硅光电池、硅雪崩二极管等,再经光学镜面做聚焦处理使光线投射至很远的距离,而由接受器接收2,3。目前市场流行的语音芯片有很多,一般具有以下特点:采用模拟量数据存储在半导体存储器直接存储技术,内部集成了大容量的EEPROM,不再需要扩展存储器,控制简单,控制引脚与TTL电平兼容,集成度高,使用方便,能较好的真时再现语音的自然效果,避免了一般固体语音电路的因为量化和压缩造成的量化噪声和失真现象6,13。点阵显示器有单色和双色两类,可显示红,黄,绿,橙等15。LED点阵有44、48、57、58、 88、1616、2424、4040等多种;根据图素的数目分为等,双原色、三原色等,根据图素顏色的不同所显示的文字、图像等内容的顏色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的顏色由图素内不同顏色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示7,11。LED点阵显示系统中各模组的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬体接线复杂,在实际应用中一般採用动态显示方式,动态显示採用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示幕的各行进行选通,同时又向各列送出表示图形或文字资讯的脉冲信号,反復迴圈以上操作,就可显示各种图形或文字资讯12,14。1.2 选题背景及其意义随着计算机技术的发展和在控制系统的广泛应用,以及设备向小型化、智能化发展,最为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显出了很强的生命力。进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场上也异常活跃,新技术的不断采用,更加使单片机的种类、性能及应用领域不断扩大和提高,因其功耗低、超高型、低成本、功能完整,在国内越来越受到用户的重视和广泛应用。当今社会在飞速发展无疑能源、健康、空间的利用,成了人们着重关注的对象。而在这个信息传递极速的社会,LED的出现给人们带来了希望之光。LED的特色之处一是节能(直接功耗,间接耗能),二是基本无电离辐射,三提高空间利用率。而这些特色又恰好解决了上述的三种问题。然而LED点阵显示屏的特点不仅仅于此LED点阵显示屏用的是数码管,而数码管具有实用,便宜等优点。做出来的LED点阵显示很耐用。LED点阵显示屏之所以受到广泛重视而得到迅速发展,是与LED显示屏本身所具有的优点分不开的。LED点阵显示屏的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。在高科技迅猛发展的今天,高速公路遍布全国,越来越多的车辆行驶于高速公路之上,从而带来了一系列的公路管理问题。建设收费道路必须建设相应的收费系统以及车辆的检测和监控系统,该系统性能的优劣直接关系到高速公路运行效率的高低、效益的大小以及道路上交通车辆运行状况的好坏。截止目前为止,我国大部分的收费站处还都是实施的停车收费和人工干预收费的措施,从而对高速公路收费站处的交通带来了很大不便,因此公路车辆类型的自动识别与分类、公路自动收费是今后公路管理现代化的必然趋势,研究一个比较方便合理的检测系统就显得尤为必要。本次毕业设计我选择“基于单片机的大型公路收费报价系统”。我学会了理论与实践相结合,更加深入了解了从书本中学到的单片机相关知识,提高了编程能力和逻辑思维能力,并且通过手工焊接电路板,不仅加强了焊接能力和技巧,同时我一样理解了各种电子元器件的使用、辨别,提高了分析和设计电路的能力,而且通过阅读大量文献,从而对整个电子行业以及单片机的发展有了更深刻的认识,对以后的工作有了清楚的方向感,并且在与同学的交流和合作中一样加强了团队合作和沟通的能力,此次设计将受益匪浅。1.3本论文的主要内容及章节安排1.绪论对目前的公路收费报价系统作个简单的介绍,并总结了目前的相关公路收费系统的行业研究状况以及此次课题将会使用到的一些技术,最后概述了下此次设计实现的步骤以及相关的心得体会。2.硬件系统设计先分析该系统需要实现的一些功能,并画出相应的系统具体框图,然后深入实现每一个模块的基本电路设计,绘制出模块电路图,并在过程中对一些需要使用的器件和芯片进行介绍,最后进行汇总,设计出整个原理图以及PCB。3.软件系统设计对硬件电路模块实现的方法进行分析,画出相关的软件流程图以及局部模块实现的流程图,最后使用C语言编写出主程序以及每个模块实现的子程序。4.调试首先确认画出的电路图以及PCB图是否存在错误,或者是否有标号不一致的情况,然后购买元器件进行焊接,并使用铜板印制出相应电路,检查是否存在短路和断路以及错线等问题,并在实物调试中进一步改进电路的功能,软件先使用KeilC运行编译以及调试,然后使用STC相应下载软件将程序下到单片机中去与硬件配合一起调试,看程序实际运行状况是否符合设计的功能要求。5.结论对此次设计的内容作简要的综述和总结,并对设计过程以及调试中所遇到的问题进行汇总,以及如何解决问题的思路的说明。致谢对帮助我完成该论文的人的感谢。2硬件系统设计2.1系统的硬件框图此次设计以89C51为核心,按键模块为输入模块,语音及LED点阵模块为输出模块,而LED点阵又分为扫描电路与驱动电路,此次LED点阵模块为6个8*8LED点阵组成的2行3列的16*24LED点阵模块,因此电流驱动不需太大,本次设计的驱动电路使用三极管A733(PNP)放大电流作为其共阳极驱动,外接74LS154(4-16译码器)作为其16行的扫描端,而由3个74HC595作为其列扫描控制端,总电路图详见附录,硬件框图如下图:图2-1 系统的硬件电路框图2.2 AT89S52芯片介绍本次设计所采用的单片机型号为STC89C52单片机,其与大部分市场51系列单片机兼容,并且在扩展方面和高速方面更具有优势。以下关于单片机介绍的内容均以STC89C52为例。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。CPU主要功能是产生各种控制信号,控制存储器、输入/输出端口的数据传输、数据的算术运算、逻辑运算以及位操作处理等,CPU按其功能可分为运算器和控制器两部分。控制器由程序计数器PC、指令储存器、指令译码器、实时控制与条件转移逻辑电路等组成。它的功能是对来自存储器中的指令进行译码,通过实时控制电路,在规定的时刻发出各种操作所需的内部和外部的控制信号,使各部分协调工作,完成指令所规定的操作。运算器由算术逻辑器部件ALU、累加器ACC、暂存器、程序状态字寄存器PSW,BCD码运算调整电路等组成。下图为51单片机内部结构图:图2-2 51单片机内部结构图2.3按键电路模块按键电路通过3个按键对应相应车型为:大、中、小,实现手动输入相关车型。分别接至单片机的P3.5,P3.6,P3.7引脚,并通过与门74HC11将该3个信号输出成一个信号接至单片机外部中断脚P3.2,以此来通知单片机是否有按键输入,按键在平时状态下接上拉电阻到5V电源为高电平,当有按键按下时,其开关导通,则电阻的另一端接地,使得输入信号电压为0V即低电平,其部分电路如下:图2-3 按键部分电路2.4 LED点阵扫描电路设计时必须掌握点阵工作原理方能进行更深层设计。下图2-4为88点阵LED外观及引脚图,其等效电路如图2-5所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。图2-4 8*8LED点阵外观及引脚图图2-5 8*8LED等效电路图如果需要使用更多的LED点阵,例如16*16,则只需在8x8原理的基础上将四块8x8级联而成,如图3-3所示:图2-6 四块8x8点阵LED级联成16x16点阵此次设计中使用到6块8*8点阵LED级联成3列2行的LED点阵系统,可以显示1个半的汉字,在电路连线时将3个相同行的8*8LED模块的每个行引脚连接到一起,将2个处于同一列的8*8LED模块的每个列引脚连接到一起,部分LED点阵级联模块电路如下图:图2-7 六块8*8LED级联点阵控制电路包括行电路以及列电路,行控制电路由单片机P2.3,P2.4,P2.5,P2.6所控制的74HC154译码器生成16行的译码电平,列控制电路由单片机P2.0,P2.1,P2.2所控制的3片74HC595移位寄存器输出24位的列电平,部分电路图如下:图2-8 单片机控制引脚及行控制电路图2-9 列控制电路此次设计使用154作为行扫描的扩展译码器,使得单片机可仅通过4个IO口可对LED点阵进行16行扫描,提高了单片机IO的利用效率。54/74154 为 4 线16 线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。 如果将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74LS154还可作1线-16线数据分配器。A、B、C、D 译码地址输入端(低电平有效),G1、G2 选通端(低电平有效) 015 输出端(低电平有效),如下为其管脚图和真值表图:图2-10 74LS154管脚图图2-11 74LS154真值表图此次设计使用了3个74HC595进行列扩展,使得单片机只用3个IO口可控制LED点阵的24列输出,提高了IO利用率。74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在SHcp的上升沿输入到移位寄存器中,在STcp的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。下图为其管脚图和真值表:图2-13 74HC595管脚图图2-14 74HC595真值表在LED点阵驱动电路中,因此在译码器74HC154后面加了PNP达林顿管对74HC154的输出电流放大,对每行进行驱动,由于此次实验所用点阵为小型共阳点阵,无需太大电流驱动,即每行可用50mA左右电流驱动即可,因此此次实验实物电路中使用晶体管A733进行简单的电流放大,而在列输出端同时加上ULN2804作为列驱动,点阵每行同时串联上限流电阻220欧姆,防止点阵通过的电流过大,其部分电路如下:图2-15 PNP晶体管放大电路及ULN2804驱动电路2.5 语音播报电路语音播报电路主要实现车型的播报及收费价格的播报。其电路主要分为控制电路和电源电路。由于此次使用的为国产语音芯片WTV080,其电源电压为3.3V,而单片机供电为5V,因此需要通过电压转换电路实现其电源供电。语音播报模块将要播放的语音内容烧录至语音芯片内,由于不需要录音功能,因此可选择较便宜的OTC一次性烧录语音芯片,然后通过单片机控制该模块进行语音组合播放。此次选择的是国产语音芯片WTV080,采用一线串口方式对其进行控制,只需将复位脚RESTB,数据脚DATA以及BUSY忙信号脚接至单片机IO口。WTV080是一款功能强大的一次性编程语音芯片,语音为6K采样频率,音频输出为PWM或DAC模式,在一线串口模式下,可控制音量,打开或关闭功放,有循环播放和停止功能。如下为其管脚图及时序图和播放语音地址图:图2-16 WTV080管脚图图2-17 WTV080控制时序图图2-18 WTV080播放语音地址控制电路通过单片机的P0.0,P0.1,P0.2对语音芯片WTV080实现语音控制,而WTV080的控制方式有多种选择,此次选取的控制方式为控制引脚比较少的一线串口控制方式,其中P0.0接到WTV080的BUSY脚用以通知单片机WTV080是否处于语音播放的忙的状态,而P0.1接到WTV080的P03脚用以串行的传递需要播放声音的地址及相关命令,而P0.2接到WTV080的RESET复位引脚用以复位语音芯片和进行相关控制。由于此次单片机和WTV080的电源电压不同,因此采用芯片手册上经典接线方式,在单片机控制引脚与WTV080引脚间添加1K电阻,其部分电路如下:图2-19 单片机控制语音芯片电路2.6 电源转换电路语音芯片的电源为3.3V,因此需要5V到3.3V电源转换电路。电源转换电路有多种转换芯片可以实现,例如LM2576-3.3可以将输入电压直接转换为3.3V,像常用的7805是将输入电压转换为5V,此次使用的LM317芯片配合外围电路,将输入的5V转换成3.3V,转换后为了确保3.3V电压的稳定,因此在后极加上2200uf电容进行滤波和稳压,具体转换电路及相关元器件参数如下图:图2-20 语音芯片电源转换电路 3 软件系统设计3.1软件结构设计公路收费系统主要实现通过按键来判断车型,然后进行LED点阵显示及语音播报,并在语音播报或者LED点阵显示正进行时,如果又有车辆按键中断输入,则切换至新的车型进行语音播报或者LED点阵显示。软件系统主要包括LED点阵行扫描信号控制,LED点阵列扫描信号控制,语音播报芯片控制,按键输入检测,LED点阵字幕滚动控制,车型判断,延时部分等。程序主要包括主程序、74HC154驱动子程序、74HC595驱动子程序、语音播报控制子程序、LED点阵字幕滚动子程序、按键中断子程序、延时子程序。此次单片机使用的为STC89C52,编译软件使用KEIL C,通过编写并生成相应的.hex文件,然后通过宏晶公司自带STC单片机下载软件将程序下载到MCU中。3.2软件系统的结构 大型公路收费报价系统的软件结构如图3-1所示。主要包括主程序、按键中断、LED点阵行扫描,LED点阵列扫描,点阵字幕滚动,语音播报,车型判断7个部分。按键中断LED点阵行扫描LED点阵列扫描点阵字幕滚动语音播报车型判断主程序Main.c 图3-1 大型公路收费报价系统的软件结构3.3主程序流程图3-2 大型公路收费报价系统的主程序流程图3.4子程序流程图图3-3 LED点阵显示程序流程图3.5程序设计 在主程序中,首先初始化显示屏的列驱动全部清零,使显示屏不亮,然后初始化参数,开中断,初始化语音芯片控制参数,最后进入循环扫描按键的状态,等待中断获取按键值,并进行相应处理。按键中断程序中通过P3.2外部中断0获取是否有按键输入,然后在通过读取P3.5,P3.6,P3.7口的电平获取是何输入车型。语音播报通过单片机的P0.1,P0.2,P0.3对语音芯片进行控制,首先需要将语音芯片进行初始化设置为打开功放和音量调节为最大,然后向单片机发送命令以及播放地址。LED点阵控制需要控制4-16译码器74HC154以及串行移位寄存器74HC595等,通过单片机P2.3,P2.4,P2.5,P2.6发送4位电平经74HC154译码为输出1位低电平,其余均为高,可以控制点阵的16行具体显示某一行,而通过P2.0,P2.1,P2.2输出24bit的数据经3片74HC595串行移位后控制点阵的24列,由于每个汉字或字符经过字库软件转换后相对应的点阵8进制数所存入的数组过于庞大,超过单片机的ram存储范围,而这些字符不需要改变,由此使用静态存储的方式,可将其存入相应的code区,在显示字符时,通过逐行扫描的方式,调用所需要显示的汉字存放的数组值,从而最终显示所需要的汉字或者字符。字幕滚动的原理为在显示汉字的基础上,每显示一次汉字,就将汉字所对应的数组存放的8位数值在下一次扫描时逐位左移即可获得相应滚动的效果,可通过每次扫描显示的次数来调整相应的滚动速度。主要程序文件如下:#include /52单片机头文件#include #include /可使用nop函数sbit BIG=P37;sbit MEDIUM=P36;sbit SMALL=P35;sbit BUSY=P00;sbit DATA=P01;sbit RST=P02;sbit SDA=P20;sbit SLCK=P21;sbit SCLK=P22;sbit BIT0=P23;sbit BIT1=P24;sbit BIT2=P25;sbit BIT3=P26;sbit KEY=P32;sbit P0_1=P01;sbit P1_1=P11;#define uint unsigned int #define uchar unsigned char/*下面2维数组存放所要播放的固定的不会改变的内容,数组过于庞大,而本身内容不会被改变,可以存放在code区播报内容为:“您的车型是 型车,此次收费: 元,祝你一路顺风。”每个汉字占用的位置为16行*16列,数组中每个元素为8字节,因此存放方式为数组每2列存放一个汉字,例如第一个汉字占用的位置为:Sta_100,sta_101,Sta_110,sta_111,Sta_1150,sta_1151,后面的汉字以此类推*/code uchar sta_11644= 0x02,0x00,0x20,0x00,0x01,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x02,0x00,0x00,0x00,0x08,0x40,0x04,0x40,0x08,0x40,0x10,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x01,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x23,0xFE,0x11,0x10,0x7F,0x84,0x00,0x00,0x00,0x00,0x7f,0x84,0x02,0x00,0x00,0x00,0x08,0x40,0x7f,0xf8,0x08,0x40,0x10,0x80,0x00,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00,0x00,0x7c,0x40,0x45,0xfe,0x3f,0xf0,0x00,0x00,0x02,0x00,0x20,0x50,0x09,0x20,0x12,0x24,0x00,0x00,0x00,0x00,0x12,0x24,0x02,0x00,0x00,0x00,0x48,0x40,0x04,0x48,0x08,0xa0,0x10,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x78,0x54,0x20,0x20,0x10,0x00,0x00,0x7f,0xfc,0xfc,0x50,0x01,0x00,0x12,0x24,0x00,0x00,0x00,0x00,0x12,0x24,0x7f,0xfc,0x00,0x00,0x48,0x80,0x3f,0xf8,0x10,0xa0,0x11,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x88,0x54,0x40,0x20,0x10,0x00,0x00,0x04,0x00,0x40,0x50,0x7f,0xfc,0x12,0x24,0x00,0x00,0x00,0x00,0x12,0x24,0x04,0x00,0x00,0x00,0x48,0xfe,0x24,0x40,0x11,0x10,0xfb,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x45,0x50,0x55,0xfc,0x28,0x50,0x00,0x00,0x09,0x00,0x53,0xfe,0x05,0x40,0xff,0xa4,0x00,0x00,0x00,0x00,0xff,0xa4,0x09,0x00,0x00,0x00,0x49,0x08,0x3f,0xfc,0x32,0x08,0x14,0xa0,0x00,0x00,0x00,0x00,0xff,0xfe,0x00,0x00,0x00,0x00,0x7c,0x20,0x55,0x04,0x24,0x50,0x00,0x00,0x11,0x00,0x92,0x52,0x09,0x20,0x12,0x24,0x00,0x00,0x00,0x00,0x12,0x24,0x11,0x00,0x00,0x00,0x4a,0x88,0x08,0x44,0x34,0x06,0x30,0x40,0x00,0x00,0x00,0x00,0x04,0x40,0x00,0x00,0x00,0x00,0x10,0x50,0x55,0x24,0x22,0x90,0x00,0x00,0x21,0x00,0xfe,0x52,0x11,0x10,0x22,0x04,0x00,0x00,0x00,0x00,0x22,0x04,0x21,0x00,0x00,0x00,0x48,0x88,0x10,0x54,0x51,0x10,0x38,0xa0,0x00,0x00,0x00,0x00,0x04,0x40,0x00,0x00,0xff,0xfe,0x10,0x88,0x55,0x24,0x22,0x90,0x00,0x00,0x3f,0xf8,0x12,0x52,0x60,0x08,0x22,0x14,0x00,0x00,0x00,0x00,0x22,0x14,0x3f,0xf8,0x00,0x00,0x48,0x88,0x20,0x08,0x91,0x10,0x55,0x18,0x00,0x00,0x00,0x00,0x04,0x40,0x00,0x00,0x00,0x00,0x11,0x06,0x55,0x24,0x21,0x10,0x00,0x00,0x01,0x00,0x12,0xaa,0x01,0x00,0x41,0x08,0x30,0x00,0x00,0x00,0x41,0x08,0x01,0x00,0x00,0x00,0x58,0x50,0x5f,0xf0,0x11,0x10,0x52,0x06,0x30,0x00,0x00,0x00,0x04,0x40,0x00,0x00,0x00,0x00,0x5c,0xf8,0x55,0x24,0x21,0x10,0x00,0x00,0x01,0x00,0x1e,0xa6,0xff,0xfe,0x81,0x00,0x30,0x00,0x00,0x00,0x81,0x00,0x01,0x00,0x00,0x00,0x68,0x50,0x10,0x10,0x11,0x10,0x95,0xf8,0x30,0x00,0x00,0x00,0x08,0x40,0x00,0x00,0x00,0x00,0x50,0x88,0x55,0x24,0x22,0x90,0x18,0x00,0xff,0xfe,0xf3,0x02,0x02,0x80,0x3f,0xf8,0x00,0x00,0x00,0x00,0x3f,0xf8,0xff,0xfe,0x30,0x00,0x48,0x20,0x11,0x10,0x11,0x10,0x11,0x08,0x00,0x00,0x00,0x00,0x08,0x42,0x30,0x00,0x00,0x00,0x50,0x88,0x55,0x44,0x22,0x92,0x24,0x00,0x01,0x00,0x52,0x02,0x04,0x40,0x01,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x30,0x00,0x08,0x50,0x11,0x10,0x11,0x10,0x11,0x08,0x30,0x00,0x00,0x00,0x10,0x42,0x30,0x00,0x00,0x00,0x50,0x88,0x54,0x50,0x24,0x4a,0x24,0x00,0x01,0x00,0x12,0x02,0x08,0x20,0x01,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x10,0x00,0x08,0x88,0x02,0xc0,0x12,0x10,0x11,0x08,0x30,0x00,0x00,0x00,0x20,0x42,0x10,0x00,0x00,0x00,0x5c,0x88,0x54,0x88,0x48,0x4a,0x18,0x00,0x01,0x00,0x12,0x0a,0x30,0x18,0xff,0xfe,0x00,0x00,0x00,0x00,0xff,0xfe,0x01,0x00,0x20,0x00,0x09,0x04,0x0c,0x30,0x12,0x10,0x11,0xf8,0x00,0x00,0x00,0x00,0x40,0x3e,0x20,0x00,0x00,0x00,0xe0,0xf8,0x85,0x04,0x40,0x06,0x00,0x00,0x01,0x00,0x12,0x04,0xc0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0a,0x02,0x30,0x08,0x14,0x10,0x11,0x08,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x06,0x02,0x80,0x02,0x00,0x00 ;/*下面数组存放要变化的内容;因为每次车型不同,价格也不同,因此播报时会经常有变化,下面数组存放内容为车型+价格:“大 中 小 25 20 15”;播报相应车型时,从该数组选择相应的车型和价格所在位置的数组元素*/code uchar sta_21612=0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x3c,0x18,0x10,0x7e,0x10,0x18,0x01,0x00,0x3f,0xf8,0x01,0x00,0x42,0x24,0x70,0x40,0x70,0x24,0xff,0xfe,0x21,0x08,0x11,0x10,0x42,0x42,0x10,0x40,0x10,0x42,0x01,0x00,0x21,0x08,0x11,0x08,0x42,0x42,0x10,0x40,0x10,0x42,0x01,0x00,0x21,0x08,0x11,0x04,0x04,0x42,0x10,0x58,0x10,0x42,0x02,0x80,0x21,0x08,0x21,0x04,0x04,0x42,0x10,0x64,0x10,0x42,0x02,0x80,0x21,0x08,0x21,0x02,0x08,0x42,0x10,0x02,0x10,0x42,0x04,0x40,0x3f,0xf8,0x41,0x02,0x10,0x42,0x10,0x02,0x10,0x42,0x04,0x40,0x21,0x08,0x81,0x02,0x20,0x42,0x10,0x42,0x10,0x42,0x08,0x20,0x01,0x00,0x01,0x00,0x42,0x24,0x10,0x44,0x10,0x24,0x10,0x10,0x01,0x00,0x01,0x00,0x7e,0x18,0x7c,0x38,0x7c,0x18,0x20,0x08,0x01,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x06,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/*enum CAR_BIG=0x01,CAR_MEDUIM=0x02,CAR_SMALL=0x03,CAR_DEFAULT=0x04CAR_TYPE;CAR_TYPE car;*/xdata uchar car;xdata uchar sta;xdata uchar key_ena;void init(void);/初始化void key_judge(void);/按键判断void voice_play(uchar address);/语音播报控制void drive_595(uchar bcd1,uchar bcd2,uchar bcd3);/74HC595列驱动void drive_154(uchar decode);/74HC154行驱动void voice_init_all(void);/语音芯片初始化void DlyXus(uint Dly);/微秒级延时void DlyXms(uint Dly);/毫秒级延时static void dot_move(uchar type);/LED点阵滚动void key_process(uchar type);/按键处理void DlyXms(uint Dly)uint j; uchar i; for(j=Dly;j0;j-) for(i=180;i0;i-) /Wait for Device Initial _nop_();/空操作 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); void DlyXus(uint Dly) /10usuint j;uchar i;for(j=Dly;j0;j-) for(i=2;i0;i-) _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); void main(void)drive_595(0x00,0x00,0x00); /使显示屏不显示init();/参数初始化IE=0;EA=1;EX0=1;/开中断voice_init_all(); /语音芯片控制初始化while(1)key_judge(); /按键类型判断key_process(car); /按键处理 /*下面函数是对输入的按键类型进行处理,如读取的键值类型为00则为大型车,语音播报内容及点阵显示的类型为大型车,如读取的键值为01则为中型车,语音播报及点阵显示类型为中型车,如读取的键值为02则为小型车,语音播报及点阵显示类型为小型车。语音播报的内容是分块存放的,每个块所存放的地址不同,当要播放相关内容时,查询图2-18的语音播报地址表,每个块内容播报需要有一定的延时,否则后面播放的语音将会使前面正在播放的语音中断。*/void key_process(uchar type)switch(type)case 0x00:/大voice_play(0x15);/您的车型是DlyX

温馨提示

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

评论

0/150

提交评论