




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 出租车计价系统的设计摘 要本论文在掌握出租车计价器的相关理论知识的基础上,设计了一种基于单片机的智能化出租车计价器。在深入了解国内外相关技术研究现状之后,从硬件和软件两方面出发,完成了出租车计价系统的设计。本课题具有一定的现实意义。系统采用at89c51单片机作为主控单元,实现时钟显示,里程统计和费用计算,语音播报,票据打印等功能,并且在液晶屏上显示信息。系统充分发挥人性化的特点,利用isd1420的语音功能,配合tg12864e液晶模组,模拟实现带语音提示的出租车计价系统。比较真实地模拟出租车的空车、载客、到站及对各状况的费率的计算、统计、显示等功能。完成了系统的硬件设计,同时用c语言编写
2、了源程序,对系统的软件进行了设计。系统所设计的由单片机控制的出租车计价器,为出租车行业提供了新的应用领域,使计费功能得到了完善。关键词:at89c51单片机;tg12864e液晶模组;c语言i design of taximeter system abstractthis paper is on the design and function of a kind of intelligent taximeter i designed based on mcu,according to relevant theories of taximeter.this taximeter system is
3、 designed from the points of both hardware and software,on the basis of in-depth understanding of relevant domestic and foreign technology research. this issue has a practical significance. at89c51 mcu used as a main control unit, this system has the function of displaying the clock, mileage statist
4、ics and cost, voice-broadcasting, printing papers, the information of which will be displayed on the lcd screen. from the point of hardware,this system gives the driver and the passengers relevant information about the conditions of the taxi and the different charging rates and charges on different
5、condition by simulating human voice with the voice funtion of isd1420 , the tg12864e lcd modules, and by simulating the real condition.from the point of software,the system is loaded with program in c-language. this kind of taximeter provides a new application area for the taxi industry and improves
6、 the billing functions.key words:at89c51 mcu;tg12864e lcd module;c languageiii目 录摘 要iabstractii引 言11 绪论21.1 出租车计价器的发展概况21.2 出租车行业的管理现状21.3 计价器设计需要解决的问题32 系统总体介绍42.1 系统组成42.2 系统各部分功能42.2.1 里程计量功能42.2.2 费用计算功能52.2.3 语音播报功能52.2.4 中文菜单显示功能52.2.5 实时时钟功能62.2.6 票据打印功能62.2.7 按键功能63 系统硬件电路设计73.1 控制单元及相关扩展电路设
7、计73.1.1 at89c51的引脚73.1.2 振荡器电路83.1.3 里程计算与计价单元的设计103.1.4 扩展存储器的设计113.1.5 扩展i/o接口的设计143.2 时钟模块173.2.1 ds12887时钟芯片的性能及引脚说明173.2.2 at89c51与ds12887的接口设计193.3 语音播放模块213.3.1 isd1420芯片的引脚功能及性能213.3.2 isd1420芯片与at89c51的接口电路233.4 液晶显示驱动模块243.4.1 tg12864e液晶模组的功能243.4.2 外形尺寸图243.4.3 结构框图243.4.4 模块的外部接口253.4.5
8、液晶显示驱动模块电路图263.5 票据打印模块273.5.1 打印机的选择273.5.2 主要技术性能及接口要求283.5.3 与单片机接口293.6 按键扫描模块294 系统软件设计304.1 系统主程序及显示单元流程框图304.2 里程和费率计算子程序流程图314.3 键盘处理子程序流程图31结 论33参 考 文 献34附录a 系统的硬件原理图35附录b 系统部分源程序36附录c 相关外文文献及译文41致 谢47 引 言随着科学技术的发展,计算机技术带来了科研和生产的许多重大飞跃,特别是单片机的应用已经渗透到生产和生活中的各个方面,有力的推动了社会的发展。单片机以其功能强、体积小、集成度高
9、、功耗低、价格便宜、工作可靠、使用方便等特点,受到广大科技工作者的好评。随着性能的不断提高,单片机的应用范围越来越广,在计算机应用领域已占日益重要的地位。它的应用程度已经成为衡量一个国家科学技术水平的一项重要指标。出租车计价器就是单片机的一个典型的应用。现在市面上的出租车计价器品种繁多,功能强大。作为一个毕业设计的课题,本着从大处着眼,小处入手的原则,对单片机的应用做了一些初步的尝试和探讨。利用at89c51单片机串行口、tg12864e液晶显示模块以及a44e霍尔传感器实现了出租车里程的计数和显示,与语音报价系统结合,初步实现了目前市面上的出租车计价器的一些基本功能。在这短短的3个月的时间里
10、,在指导老师的悉心指导和自己的努力下,基本设计完成了这次毕业设计所要求的功能,实现了预期的目的。由于本人水平有限,时间也很仓促,所以其中难免有不足及错误之处,敬请老师给予批评和指正。1 绪论1.1 出租车计价器的发展概况在我国,出租车行业是八十年代初兴起的一项新兴行业,随着出租车的产生,计价器也就应运而生。但当时在全国还没有一家企业能够生产,因而那个时期的计价器是由台湾引进。台湾是计价器的主要生产场地,目前全世界的计价器中有90%为台湾所生产。现今我国生产计价器的企业有上百家,主要是集中在北京、上海,沈阳和广州等地1。我国第一家生产计价器的厂家是重庆市起重机厂,最早的计价器全部采用机械齿轮结构
11、,只能完成简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可以完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善。当单片机出现并应用于计价器后,现代出租车计价器的模型也就基本具备了,它可以完成计程、计价、显示、语音播报等基本工作。单片机以及外围芯片的不断发展促进了计价器的发展。出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。随着电子技术的发展以及对计价器的不断改进和完善,便产生了诸多的附
12、加功能。例如:led显示功能:数码管的使用让计价器实现多屏显示的功能,可同时显示各项营运数据,使乘客一目了然;永久时钟功能:在非营运状态下,日历时钟芯片的使用可以使计价器显示永久时钟;存储功能:可存储多项营运数据,便于查询;语音功能:实现语音报价及语音提示等。此外,新型数据存储器的应用使得计价器的营运数据在掉电情况下还可以保存10年,功能大大提高。可以说,计价器的发展史在一定程度上反应了现代科技的发展史2,3。本系统解决了以往计价器计价不准确、使用寿命短等缺点,同时,可以随时对单片机的外围电路进行扩展,并通过软件编程实现本系统的不断升级。1.2 出租车行业的管理现状在我国,经济尚处于发展阶段,
13、由于人民的生活水平以及道路交通的限制,私家汽车的拥有率在短期内不会有较大提高,因此出租车扮演着重要角色。出租车计价器则是出租车上必不可少的重要仪器,它是负责出租车营运收费的专用智能化仪表。由于出租车数量的快速增长,出租车的行业管理也就产生了一系列问题。在我国的各大城市中,对出租车行业的管理方式归纳起来可以分为两大类:第一类管理模式是由出租车司机以向私人老板承包的方式进行的,司机只须每天向老板交纳一定的租赁费用,最终由老板按出租车数量向地方和国家缴纳一定的费用即可。因此这种管理模式相对简单,存在的问题也较多,主要体现在以下三点:1. 税收严重流失;2. 现有的出租车票据不统一;3. 乘客与司机之
14、间的纠纷问题。第二类管理模式是通过出租汽车公司实现对出租车的管理,如国外大城市以及国内的上海,北京等地就是采用这种方式。在这种管理模式中,出租车公司是以企业形象存在的实体,司机则是企业的雇员。出租车公司每天营运后应与车队结帐,车队定期向出租车总公司结帐,出租车总公司再向地方政府和国家缴纳各项税收。传统的缴纳方式采用的是现金方式,由于公司没有一种有效的方法掌握司机每天的营运状况,因此司机与公司之间的结帐是很难进行严格管理的,人们越来越觉得这种现金交易的不方便性和不严密性,因此提出了能够通过一种科学的手段实现对出租车行业的闭环管理4。1.3 计价器设计需要解决的问题不同国家和地区的计费方式存在差异
15、。有些地区有夜间收费及郊区收费等,而有些地区则无夜间收费和郊区收费;即使同一地区,不同车型的出租车,其计费方式也有差别;另一方面,出租车还面临几年一次的调价或调整计费方式等问题。因此,所设计的计费器不仅要能满足不同国家和地区的要求,而且计费方式的调整也应当很方便。由于个别地区对计价器有特殊要求,有时必须修改软件;另外,计价器还面临软件的升级。因而,所设计的计价器应能很方便地重新编程。同时,计价器必须要有防作弊功能,能有效防止司机作弊;此外要防止计价器在营运过程中死机5。2 系统总体介绍随着我国交通事业的发展以及道路的不断改进,出租车作为人民生活密切相关的行业正在飞速发展壮大,而出租车计价器的市
16、场也不断扩大。本设计课题正是在现有计价器的基础上进行改进,完成了新型的具有多功能的出租车计价系统的设计,同时解决了现有计价器存在的问题。2.1 系统组成此出租车计价系统以单片机为系统核心,利用at89c51单片机配合tg12864e液晶模组及isd1420语音模块等,实现基本的出租车计价器功能。本系统是由at89c51单片机、液晶显示、里程计数、系统实时时钟、语音输出、打印机等模块组成。系统框图如图2.1所示:at89c51单片机里程计算单元键盘控制驱动实时时钟(ds12887)语音输出(isd1420)打印机(tpup-40a)液晶显示(tg12864e)驱动驱动驱动图2.1 系统功能框图f
17、ig.2.1 functional block diagram of system 2.2 系统各部分功能2.2.1 里程计量功能(1)单片机对传感器输出脉冲进行计数,并将脉冲数换算成公里数;(2)每一个脉冲代表轮胎旋转一周,设轮胎直径为500,则轮胎的周长为:1.571m,即每转一圈的距离。(3)每公里的脉冲数为:1000m/1.571m=636(个脉冲)2.2.2 费用计算功能费用计算参照某市出租车收费标准,包括三部分:起步价、里程、等候时间6。(1)起步价:行驶里程在2.3公里(含2.3公里)以内按起步价7元计费。(2)里程:(根据行驶距离调整价格)当行驶里程超出2.3公里并且小于35公
18、里时,按2.6元/公里收费,这时行驶费用为:行驶费=起步价+2.6(行驶里程-2.3)当行驶里程超过35公里后,要加空驶费,即每公里升至3.50元, 这时行驶费用为:行驶费=起步价+3.5(行驶里程-2.3)(3)等候时间费用:只要堵车之类车停在那里,但是乘客仍然在车上,则采取时间收费,收费方式为:每停留3分钟(含3分钟以内)0.5元,超过3分钟则成倍增加。综上所述,每次乘车收费总金额为:总价=起步价+行驶费+等候时间费用。2.2.3 语音播报功能(1)当初次按下“启动”键,出租车开始启动,系统播放“您好!欢迎乘坐本公司出租汽车,谢谢!”播送完毕,计价器开始计费。(2)按下“加速”键,出租车加
19、速行驶,最高速为100公里。(3)按下“减速”键,出租车减速行驶,最低速为0公里。(4)在行驶状态下,按下“停止”键,表示出租车到站,结束行驶。这时候,系统播放“您好!行驶里程xxx公里,应付xxx元,请检查您的随身物品,欢迎再次乘坐,再见!”的提示音。(5)按下“复位”键,进入空车状态。2.2.4 中文菜单显示功能(1)在空车状态下(启动前),lcd屏幕上显示如下的中文信息:2008年月日时分秒(2)在空车状态下,按下“启动”键,系统播放“您好!欢迎乘坐本公司出租汽车,谢谢!”的提示音,同时在lcd屏幕上显示如下的中文信息:您好!欢迎乘坐本公司出租汽车,谢谢!(3)播完提示音后,进入行驶状态
20、,lcd屏幕显示以下信息:2008年月日时分秒(4)在行驶状态,按下“加速”键,里程显示的公里数增加的速度会不断的变快,金额数值也在作相应的变化。按下“减速”键,里程显示的公里数增加的速度会不断的变慢。起步价:7.0元总里程:. 公里总金额:. 元(5)在行驶状态,按下“停止”键,表示出租车到站,结束行程。这时屏幕显示以下信息:同时,系统播放“您好!行驶里程xxx.xx公里,应付xxx.xx元,请检查您的随身物品,欢迎再次乘坐,再见!”的提示音。2.2.5 实时时钟功能本系统采用实时时钟芯片ds12887作为时钟电路,产生年月日星期时分秒等信号,供系统调用。2.2.6 票据打印功能本系统通过设
21、置票据打印,为乘客提供乘车信息,包括乘车时间,乘车里程,乘车费用等,方便乘客查询。2.2.7 按键功能本系统一共设置5个按键:启动、加速、减速、停止、复位。其中加速键可使出租车的速度由0公里上升到100公里,减速键使出租车的速度由100公里下降到0公里,而复位键则使出租车进入空车状态。3 系统硬件电路设计本出租车计价系统的硬件结构主要由以下几个部分组成的:控制单元模块(at89c51单片机系统)、实时时钟模块、语音播放模块、液晶显示驱动模块、票据打印模块、按键扫描模块等。下面做详细的介绍。3.1 控制单元及相关扩展电路设计控制单元模块:即at89c51单片机系统,包括系统初始化、脉冲的产生、里
22、程的识别和费率的计算、各功能模块的的组织和管理等。控制单元模块在系统中起着重要的作用。at89c51是一种低电压高性能cmos 8位单片机,可以和mcs-51产品指令系统完全兼容,其基本特性如下:有128字节的片内ram,32个可编程i/o端口,两个16位定时/计数器,一个5向量两级中断结构,允许6个中断源,一个全双工串行通信口,片内振荡器及时钟电路。同时,其全静态逻辑的工作频率范围为024mhz,并且支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬
23、件复位7。3.1.1 at89c51的引脚制造工艺为chmos的mcs51系列单片机都采用40引脚的双列直插封装(dip)方式,在40条引脚中有两条用于电流的引脚,两条外接晶体的引脚,4条控制或其它电源复用的引脚,32条i/0口,具体见下图3.1:图3.1 at89c51引脚fig.3.1 pin of at89c51(1)主电源引脚vss和vcc:vcc接+5v电源(2)外接晶体引脚 xtal1、xtal2 :xtal1为内部振荡电源电路反相放大器的输入端,是外接晶体的一个引脚,当采用外接晶体时,此引脚接地。xtal2为内部振动的反相放大器的输出端,是外接晶体的另一端,当采用外接晶体时,此引
24、脚接振荡器。(3)控制或其它电源复位引脚ret/vpd、ale/和/vpp。此外,mcs51系列有四个8位并行i/o口共32根i/0线,每个口均为双向口,用p0p3表示,每个口都有一个8位的锁存器,复位后,他们的状态全为“1”。p0口,双向8位漏极开路型双向i/0口,在访问外部存储器时,它是分时传送的,低字节地址和数据总线p0口能以吸引电流的方式驱动八个lsttl负载。p1口,8位并行输入/输出口,也是一个准双向口带有内部提升电险,它能驱动(吸收或输出电流)四个lsttl负载。p2口,是一个带有内部提升电阻的8位准双向i/0口,在访问外部存储器时它输出高八位地址,p2口可以驱动四个lsttl负
25、载。p3口,是一个带有内部提升电阻的8位双向i/0口,能驱动四个lsttl负载,此外p3口还用于第二功能,详见下表3.1引脚功能。表3.1 at89c51的p3口引脚功能表tab.3.1 menu of p3 mouth of at89c51端口引脚第二功能p3.0 (串行输入口)p3.1(串行输出口)p3.2(外部中断0输入线)p3.3(外部叫断1输入线)p3.4(定时器0外部输入)p3.5(定时器1外部输入)p3.6(外部数据存储器写选通信号输出)p3.7(外部数据存储器读选通信号输出)3.1.2 振荡器电路(1)外部晶振的选用:at89c51的内部有一个用于构成振荡器的高增益反相放大器。
26、该高增益反相放大器的输入端为芯片引脚xtal1,输出端为引脚atal2。这两个引脚跨接石英晶体振荡器(简称晶振)和微调电容,就构成一个稳定的自激振荡器。可取c1=c2=30pf,具体的接法如下图3.2所示:图3.2 外部晶振电路 fig.3.2 external crystal circuit at89c51的工作频率范围在024mhz。在此选用的是12mhz的晶振,振荡周期为1us,机器周期为1us,所以这个晶振可以满足这个系统的要求。晶振的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。但反过来运行速度快对存储器的速度要求越高,对印制电路板(也称印刷电路板)的工艺要求也高,即
27、要求鲜见的寄生电容要小。为了提高温度稳定性,应采用温度稳定性能好的电容8。(2)振荡器电路原理busy状态时钟时钟发生器p2p1foscrf400欧振荡器xtal2xtal1c2c1& q2 q3机器周期6ale图3.3 振荡器工作原理fig.3.3 principle of oscillator单片机内含振荡器电路,但晶体振荡器和电容在片外,由引脚xtal1和xtal2连接到片内。xtal1为振荡器反相放大器和时钟发生电路的输入端,xtal2为反相放大器的输出端。振荡器电路工作原理如图3.3所示。片内时钟发生器实质上是个2分频的触发器,其输入来自振荡器(fosc),输出为2相时钟信号,即状态
28、时钟信号,其频率为fosc/2;状态时钟3分频后为ale信号,其频率为fosc/6;状态时钟6分频后为机器周期信号,其频率为fosc/12。振荡器的工作可以由特殊功能寄存器pcon中的pd为控制。当pd=1时,振荡器停止工作,系统进入低功耗工作状态。3.1.3 里程计算与计价单元的设计里程计算是通过安装在车轮上的霍尔传感器a44e检测到的信号,送到单片机,经处理计算,送给液晶显示单元的9。其原理如图3.4所示。传感器小磁铁车轮耦合滤波整形at89c51单片机p3.2图3.4 传感器测算里程原理图fig.3.4 schematic of sensors calculating mileage 由
29、于a44e 属于开关型的霍尔器件,其工作电压范围比较宽(4.5v18v),其输出的信号符合ttl电平标准,可以直接接到单片机的i/o端口上,而且其最高检测频率可达到1mhz。当车灯为重车状态时(低电平),计价器开始工作。传感器的输出信号经5021光电耦合器后,再经电容滤波及74hc14芯片整形,送单片机的p3.2口(int0)作为信号的输入端。采用外部中断0,车轮每转一圈(设车轮的周长是1.571m),霍尔开关检测并输出一个脉冲信号,引起单片机的中断,对脉冲计数。当计数达到1000次时,也就是1571m,单片机将金额增加,其计算公式:当前单价公里数=金额。不同车型的车轮直径可能不一样,通过软件
30、设置车型,对不同车轮直径的车进行调整。其集成霍尔开关外形及接线如图3.5所示。图3.5 集成霍尔开关外形及接线图fig.3.5 integrated hall switch appearance and wiring diagram3.1.4 扩展存储器的设计mcs51系列单片机由于其芯片结构引脚等原因,单片机内rom、ram等功能部件的数量在使用时往往感到不够,因此需要在片外进行扩展,以满足实际系统的需要。现在大容量的eprom存储器发展很快,价格也日趋便宜,采用大容量8kb以上存贮器比采用小容量的更为适宜。其典型产品有:2716、2732、27512等,由于这次设计采用的是at89c51里
31、边带有一块8k的eprom,所以不需再扩展eprom,而考虑到这次设计所要完成的功能,需扩展一片2817a芯片作为储存之用。10(1)2817a存储芯片简介2817a存储芯片的容量规格是:2k8。芯片外形是28条引脚双列直插式。单一5v工作电源支持读出和写入操作。读出时间不超过250纳秒,写入时间10毫秒。图3.6 2817a引脚fig.3.6 pin of 2817aa10a0:11条地址线d7d0:8条数据线ce:片选输入控制线,低有效。oe:读出控制,低有效。we:写入(编程)控制,低有效。rdy:编程状态指示。高电平表示可以写入,低电平表示需要等待。下表为2817a的工作方式:表3.2
32、 2817a的工作方式tab.3.2 methods of work of 2817aceoewebusya10a0d7d0功能说明1高阻高阻高阻静态隔离001高阻输入地址输出数据读出数据0100输入地址输入数据编程写入(2)at89c51外扩2817a的设计图3.7 2817a与at89c51接口电路图fig.3.7 interface circuit of 2817a and at89c512817a与at89c51单片机的硬件连接图如图3.7所示。在图3.7中,2817a既可作为外部的数据存储器,又可作为程序存储器。at89c51通过p1.0查询2817a的rdy/引脚状态来完成对281
33、7a的写操作。2817a的片选信号由p2.7提供,在系统中有其他rom和ram存储器时,需统一考虑编址问题。连线说明:地址线。图3.7中,2817a的11条地址线(a0a10,容量为2k8位,211=21024=2k)中的低8位a0a7通过锁存器74ls373与p0口连接,高3位a8a10直接与p2口的p2.0p2.2连接。数据线。2817a的8位数据线直接与单片机的p0口相连。控制线。单片机与2817a的控制线连接采用了将外部数据存储器空间和程序存储器空间合并的方法,使得2817a既可以作为程序存储器使用,又可以作为数据存储器使用。单片机中用于控制存储器的管脚有以下三个: 控制程序存储器的读
34、操作,执行指令的取指阶段和执行movx a,a+dptr指令时有效; 控制数据存储器的读操作,执行movx dptr,a和movx ri,a时有效; 控制数据存储器的写操作,执行movx a,dptr和movx a,ri时有效。 :直接接地。由于系统中只扩展了一个程序存储器芯片,因此片选端直接接地,表示2817a一直被选中。:at89c51的程序存储器读选通信号和数据存储器读信号经过“与”操作后,与2817a的读允许信号相连。这样,只要其中一个有效,就可以对2817a进行读操作。也就是说,对2817a既可以看作程序存储器取指令,也可以看作数据存储器读出数据。:与at89c51的数据存储器写信号
35、相连,只要执行数据存储器写操作指令,就可以往2817a中写入数据。:与at89c51的p1.0相连,采用查询方法对2817a的写操作进行管理。2817a在擦、写操作期间,脚为低电平,当字节擦、写完毕时, 为高电平。其实,检测2817a写操作是否完成也可以用中断方式实现,方法是将2817a反相后的与at89c51的中断输入脚 相连。当2817a每擦、写完一个字节,便向单片机提出中断请求。图3.7中,2817a的地址范围是0000h07ffh(无关的管脚取0,该地址范围不是惟一的)。按图3.7连接好后,如果只是把2817a作为程序存储器使用,使用方法与eprom相同。eeprom也可以通过编程器将
36、程序固化进去。如果将2817a作为数据存储器,读操作与使用静态ram一样,直接从给定的地址单元中读取数据即可。向2817a中写数据采用movx dptr,a指令。3.1.5 扩展i/o接口的设计在单片机应用系统中,单片机本身所提供的资源如i/0口,定时器/计数器,串行口等往往不能满足要求,因此需要在单片机上扩展其它外部接口芯片11。(1)采用8255扩展i/o口8255和mcs-51相连,可以为外设提供三个8位的i/o端口:a口、b口和c口,三个端口的功能完全由编程来决定。以下为8255的引脚排列及接口功能:a口、b口和c口。a口、b口和c口均为8位i/o数据口,但结构上略有差别。a口由一个8
37、位的数据输出缓冲/锁存器和一个8位的数据输入缓冲/锁存器组成。b口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲器组成。三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。a、b组控制电路。这是两组根据cpu的命令字控制8255工作方式的电路。a组控制a口及c口的高4位,b组控制b口及c口的低4位。图3.8 8255的引脚fig.3.8 pin of 8255数据缓冲器。这是一个双向三态8位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。读/写控制逻辑。这部分电路接收mcs-51送来的读/写命令和选口地址,用于控制对8255的读/写。数据线(8条):d0d7为
38、数据总线,用于传送cpu和8255之间的数据、命令和状态字。控制线和寻址线(6条):reset为复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255所有内部寄存器清0,所有口都为输入方式。和分别为读/写信号线,输入低电平有效。当为0时(必为1),所选的8255处于读状态,8255送出信息到cpu,反之亦然。为片选线,输入低电平有效。a0、a1为地址输入线。当=0,芯片被选中时,这两位的4种组合00、01、10、11分别用于选择a、b、c口和控制寄存器。i/o口线(24条):pa0pa7、pb0pb7、pc0pc7为24条双向三态i/o总线,分别与a、b、c口相对应,用于8255和
39、外设之间传送数据。电源线(2条):vcc为+5 v,gnd为地线。 (2)8255与at89c51的接口电路 8255和单片机的接口十分简单,只需要一个8位的地址锁存器即可。锁存器用来锁存p0口输出的低8位地址信息。图3.9为8255扩展电路。图3.9 at89c51和8255的接口电路fig.3.9 interface circuit of 8255 and at89c51 连线说明:数据线:8255的8根数据线d0d7直接和p0口一一对应相连就可以了。 控制线:8255的复位线reset与at89c51的复位端相连,都接到at89c51的复位电路上(在图3.9中未画出)。8255的和与at
40、89c51的和一一对应相连。寻址线:8255的和a1、a0分别由p0.7和p0.1、p0.0经地址锁存器74ls373后提供,当然的接法不是惟一的。当系统要同时扩展外部ram时,就要和ram芯片的片选端一起经地址译码电路来获得,以免发生地址冲突。i/o口线:可以根据用户需要连接外部设备。(3)采用8155扩展i/o口intel 8155芯片内容含有256b的ram存储器(静态),ram的存取时间为400s。2个可编程的8位并行口pa和pb,1个可编程的6位并行pc,以及1个14位减法定时器/计数器。pa口和pb口可工作与基本输入/输出方式(同8255的方式0)或选通输入/输出方式(同8255的
41、方式1)。8155可以直接与mcs-51单片机相连,不需要增加任何硬件逻辑。由于8155既有i/o口又具有ram和定时器/计数器,因而是mcs-51单片机系统中常选用的外围接口芯片之一12。8155的内部结构如下:容量为256b8位的静态rami/0接口部分:端口a,可编程8位i/0端口pa07;端口b,可编程8位i/0端口pb07;端口c,可编程6位,i/o 端口pc05;命令寄存器,8位寄存器,只允许写入;状态寄存器,8位寄存器,只允许读出。定时器/计数器部分:8155是一个14位的二进制减法定时器/计数器。8155具有40个引脚,采用双列直插式封装,各引脚功能如下:ad0ad7(三态):
42、是地址/数据总线,可以直接与at89c51的p0口相连接。reset:是由at89c51提供的复位信号,作为总清零器件使用。ale:允许地址锁存信号,该控制信号由at89c51发出,将ad0ad7上的低8位地址片选信号及信号锁存在片内的锁存器内。 :片选信号,这是一个i/0转接口或存储器的选择信号。在片选信号有效下,如该引脚输入一个低电平,则将8155 ram某单元的内容读至数据总线。若输入一个高电平,则将某i/0转接口电路的内容读至数据总线。pa0pa7:一组8根通用的i/0端口线,其输入输出方向由可编程的命令寄存器内容决定。pb0pb7:一组8位的通用i/0端口,其数据输入输出方向由可编程
43、序的命令寄存器内容决定。pc0pc5:这是一组既具有通用i/0端口功能又具有对pa和pb起某种控制作用的i/0电路。图3.10 at89c51和8155的接口电路fig.3.10 interface circuits of 8155 and at89c51timer in:这是14位二进制减法计数器的输入端。timer out:这是一计时器的输出引脚可由计时器的工作方式决定该输出信号的波形。vcc为+5v的电源引脚,vss为+5v的电源的地线。3.2 时钟模块采用日历时钟芯片ds12887构成计时系统,该芯片内部具有非易失性计时时钟,114个字节的nvsram,14个专用寄存器分别存放秒,分,
44、时,星期,日,月,年等时间和日期数据。同时还有百年日历,写保护电路,方波发生器。所以一方面它可完成计时功能;另一方面它内部的日历数据,如年,月,日等,还可作为营运数据保存。最后,日历时钟芯片内部的nvsram区增加了数据存储器的数量。由于芯片内嵌锂电池,在外部电源断电的情况下,数据可保持10年不变。该芯片设置为每秒钟向主机发中断请求,在中断处理程序中,若是空车状态,就取时钟数据,若是重车状态,就计等候时间。133.2.1 ds12887时钟芯片的性能及引脚说明(1)ds12887的主要性能如下:具体时钟、闹钟功能及到2100年的日历功能,可选择12小时制或24小时制计时,有am和pm、星期、夏
45、令时制时间操作及闰年自动补偿等功能。ds12887内部有14个寄存器,包括10个时标寄存器、4个状态寄存器。还有114b作掉电保护用的低功能耗ram。具有用软件编程选择的周期性终端方式和多频率输出的方波发生器功能。该芯片可以满足各种不同的待机要求,最长达24小时。可选择二进制或bcd码来表示时间。工作电压:+4.5+5.5v。工作电流:715ma。工作温度范围:0+(2)引脚说明如下:mot:计算机总线选择端(接低电平为总线方式)。sqw:方波输出,是否输出以及速度由专用寄存器a、b预置参数决定。ad7ad0:地址/数据(双向)总线,由ale信号的下降沿锁存8位地址。:写数据控制信号端,低电平
46、有效。ale:地址锁存信号端。:数据读控制信号端,低电平有效。:片选信号端,低电平有效。:中断申请端,低电平有效,有专用寄存器决定。:复位端,低电平复位nc:空闲端。图3.11 ds12887的引脚fig.3.11 pin of ds128873.2.2 at89c51与ds12887的接口设计(1)ds12887的初始化ds12887采用联系工作制,一般无须每次都初始化,即使是系统复位时也如此。但初始化,首先应禁止芯片内部的更新周期操作。所以应先将ds12887状态寄存器b中的set位置1,然后初始化00h09h时标参数寄存器和状态寄存器a。此后,在通过读状态寄存器c,清除寄存器c中的周期中
47、断标志位pf、报警中断标志af、更新周期结束中断标志位uf。寄存器d中的vrt位在读操作后将自动置1。最后将状态寄存器b中的set位置0,芯片开始计时工作。14(2)时钟单元的使用ds12887共有3个闹钟单元,分别为时、分、秒闹钟单元。在其中写入闹钟时间值并且在时钟中断允许的情况下,每天到该时刻就会产生中断申请信号。但这种方式每天只提供1次中断信号。另一种方式是在闹钟单元中写入“不关心码”:即在时闹钟单元写入c0hffh之间的数据,可每分钟产生1次中断。但这种方式也只是在整点、整分、或每秒产生1次中断。若控制系统要求的定时间隔不是整数时,应该通过软件来调整实现。(3)接口电路图3.12是at
48、89c51单片机与ds12887的接口电路(其中片选地址=#0d00h)。图3.12 at89c51与ds12887的接口电路fig.3.12 interface circuit of ds12887 and at89c51ds12887状态寄存器的参数设置如下:状态寄存器a置为20h,它表示采用的时钟频率为32678hz,禁止引脚sqw输出;状态寄存器b置为22h,它表示允许报警中断,禁止其他中断,为24小时制模式,时标寄存器内容用bcd码表示,禁止方波输出和夏时制服务。如果要求定时间隔为159s的中断申请,那么报警寄存器置ffh,这就表示报警时标处于不关心状态。(4)中断功能说明为了使芯片
49、的功能更加完善,ds12887内部设置了3个独立的中断源,包括定时中断,周期中断以及校准中断。定时中断的设置在上文中已经阐述了,它所引起的中断频率可以从每秒钟产生一次至每天产生一次。对于这3个中断,寄存器b及寄存器c都有相应的控制位来分别控制这3个中断的产生。在寄存器b中,有3个中断使能位,当需要使用某个中断产生中断信号时,必须先将相应的中断使能位置1,芯片才能允许相应的中断信号从irq端输出,若在中断使能位写入0,则禁止相应的中断信号产生。在寄存器c中,有3个中断标志位,与3个中断源是一一对应的。当某个中断发生时,相应的中断标志位被自动置1,须注意的是,这些中断标志位与对应的中断使能位的设置
50、是不相关的,当中断使能位设置为0时,虽然不产生中断信号,但当中断的条件满足时,中断标志就会被置1。所以,中断标志位是一种状态位,用户可通过软件查询这些状态位,当某个中断标志位是1时,表示此中断已经产生了一次。每读取一次寄存器c的内容后,这些标志位都会被清0。当某个中断标志位及中断使能位都为有效时,才会使irq脚产生有效信号(低电平)。在出租车计价器中,日历时钟芯片工作于校准中断方式。15,16对于校准中断,日历时钟芯片ds12887内部具有一个时钟电路,它在每秒钟都会产生一个校准信号来校准寄存器中的日历和时钟数据。在校准周期中,同样会将定时单元中的数据与相应的时钟单元数据进行比较,若二者相同,
51、则发出定时到的信号。在内部电路进行时钟校准时,不能对时钟及日期寄存器进行访问,否则会打乱寄存器中的数据。为了避免这种情况的产生,可以采取两种方法:第一种方法是采用校准中断。如果校准中断开放,则在每一个校正周期结束后都会发出中断信号,表明有多于999ms的时间可用于读取有效的时钟及日历数据。在中断响应完毕后,必须读取寄存器c,将中断标志清0。第二种方法是将寄存器a中的校准标志位uip来判断校准周期是否正在进行中。在寄存器a中有一个校准进行标志位uip,它是一个状态标志位,它在每秒针产生一个高电平。当它为1时,表明校准周期马上要进行,此时不能读取时钟及日期数据;当它为0时,表明有244微秒的时间可
52、用来读取数据,因此中断服务程序读取数据时应避免超过244微秒。3.3 语音播放模块现代仪器仪表越来越智能化,其中的一个重要标志是仪器仪表的语音功能。现在的出租车计价器已经具备了语音的功能,如:当乘客上车时,可以语音报价并问好,当乘客下车时,语音提示结帐等。但随着出租车数量的增长,一些有广告意识的企业希望能在出租车上用语音功能做广告宣传。这样必须分析现有的语音功能是如何实现的,探索出一条语音数据的采集及处理方法。考虑到计价器产品的微型化、智能化,语音芯片采用了集成度较高的isdl420芯片,其最大特点是采用eeprom进行模拟信息直接存取而不必经过a/d和da转换。它内部带有话筒放大器、自动增益
53、控制时钟、扬声器驱动电路等,采用+5v电源供电。在此我选择了isd1420语音芯片完成这部分的功能。173.3.1 isd1420芯片的引脚功能及性能isd1420芯片的引脚如图3.13所示。下面介绍各引脚名称及作用。电源(vcca, vccd):为芯片的模拟和数字的正电源端,芯片内部的模拟和数字电路采用不同的的电源总线,最好分别走线,并且分别引到外封装上,尽可能在靠近电源处再相连,去耦电容应尽量靠近芯片,这样可使噪声最小。地线(vssa,vssd):为芯片的模拟和数字地线,芯片内部的模拟和数字电路也使用不同的地线,这两个引脚最好在引脚焊盘上相连。图3.13 isd1420的引脚fig.3.1
54、3 pin of isd1420录音():低电平有效。只要变低(不管芯片处在节电状态还是正在放音),芯片即开始录音。录音期间,必须保持为低。变高或内存录满后,录音周期结束,芯片自动写入一个称为eom的信息结束标志,使以后的重放操作可以及时停止,之后芯片自动进入节电状态。边沿触发放音():此端出现下降沿时,芯片开始放音。放音持续到出现eom标志或内存结束,之后芯片自动进入节电状态。开始放音后,可以释放。电平触发放音():此端从高变低时,芯片开始放音。放音持续至此端回到高电平,或遇到eom标志,或内存结束。放音结束后芯片自动进入节电状态。话筒输入(mic):此端与片内麦克风前置放大器相连,可以放大
55、1mv20mv范围内的信号。内部的增益可控放大器输入阻抗最大增益24db。一般柱极体话筒给出的电平足够驱动该放大器。外接话筒应通过串联电容耦合到此端。录音指示():处于录音状态时,此端为低,可驱动led。此外,放音遇到eom标志时,此端输出一个低电平脉冲。话筒参考(mic ref):此端是话筒输入参考端。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。如果不用,应该悬空。自动增益控制(agc):agc引脚与内部自动增益放大器相连,它的输出电平可使前置放大器的增益自动调节以便维持进入滤波器的信号为最佳电平,这样可使录制变化很大的音量时失真都能保持最小。agc电路的特征由两个时间常量来描述,即相应时间和释放时间。模拟输出(ana ou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届湖北省恩施州巴东三中物理高一下期末监测试题含解析
- 2025年湖南省永州市第二中学物理高二下期末质量检测模拟试题含解析
- 2025年甘肃省兰州市兰化一中物理高一下期末学业质量监测模拟试题含解析
- 2025年湖南省永州市宁远县一中高二物理第二学期期末综合测试模拟试题含解析
- 2025年福建省福州三校联盟高一物理第二学期期末联考模拟试题含解析
- 学前儿童游戏概述
- 宁夏固原第一中学2025年高二物理第二学期期末联考模拟试题含解析
- 2025年巴音郭楞客运从业资格证
- 专业健身俱乐部会员权益共享协议
- 智能仓储管理系统集成服务协议
- 2024人教版七年级下册生物第三单元 植物的生活 单元测试卷(含答案)
- 国家开放大学行管专科《行政组织学》期末纸质考试总题库(2025春期版)
- 2024-2025学年江苏省南通市高一(上)期末物理试卷(含答案)
- 中药涂擦治疗护理技术操作规范
- 《大金智能控制系统》课件
- 北师大版四年级下册数学口算题1000道带答案
- AAMIST79-2017卫生保健设施蒸汽灭菌和无菌保证综合指南
- 高一下学期期末考试物理试题
- 施工现场重大危险源辨识及监控措施
- DB21T 2414.2-2015 公共场所双语标识英文译法 第2部分:道路交通
- 新产品开发流程
评论
0/150
提交评论