文档介绍:单片机与嵌入式系统应用课程作业
出租车计价器设计
伍龙军 05075 机械设计及理论
2010年7月4日
摘要:本文介绍了利用单片机AT89C52进行出租车计价器的设计的过程,简要介绍了DS1302涓流充电时钟保持芯片的原理与应用,并用Proteus软件仿真。
关键词:出租车计价器,单片机,DS1302
1 引言
随着生活水平的不断提高,越来越多的人在短距离出行时选择乘坐出租车,因此设计一个性能稳定、计费准确、功能强大、使用方便的计价器就成为了人们关心的问题。本文对出租车计价器进行了初步的设计,现有功能基本能满足当前的需求。
2 基本要求
(1)计价功能,在白天与夜间收费标准不同;
(2)时间显示及修改功能。
假设:,价格为:白天起价1公里5元,;夜间起价1公里6元,。夜间为22:00~次日06:00前。
3 硬件电路设计
计价器总体组成框图如图1所示。
基本外围电路包括晶振电路和复位电路。晶振采用12MHz,方便计时。由于在Proteus中找不到专用复位芯片,所以采用基本的上电与按钮复位电路。如附录1中所示。
下面介绍各部分电路的设计。
在实际应用中,常常使用霍尔传感器测距,轮胎每转一圈即发送一个方波。为方便模拟,这里加入一个信号发生器代替霍尔传感器,用来产生汽车行驶产生的方波。而且信号发生器产生的方波信号可以改变频率,就相当于改变了汽车的行驶速度。再加入示波器后,非常便于观察。
采用单片机的T0计数器计数。并将其设置为门控方式,当外部中断0的值为1时打开中断。如电路图中所示,当计价开关闭合后,相当于将“空车”牌按下,从而打开T0计数器中断,从而当方波进入T0后即计数,使金额和里程增加。当计价开关打开后,外部中断0接口的值变为0,又会引发外部中断0,此时调用清零程序,可将金额、里程等值复位。
、里程显示电路
该设计采用两片6位8段LED显示器。一片显示当前时间,格式为HH:MM:SS。一片显示金额和里程,分别显示三位:金额显示十元、元和角,里程显示十公里、公里、十分之一公里。当未计费时不显示金额和里程。考虑到实际情况,金额和里程均不会达到100,因此采用6位LED显示已足够。
整个显示过程采用轮流显示每一位的方式,由T1计时器计时,每4ms显示一位。显示内容由P0口输出。用2片2-4译码器74LS139,可将P2口低4位送出的内容译码为16个地址,这里采用其中的12个,代表12位LED的显示地址。
这里使用了3个按键,分别为:设置按键、+键、-键。当未计费时即可使用这三个键设置时间。按一下设置按键为设置小时,两下设置分钟,三下设置秒钟,第四下保存设置。设置过程中设置指示灯点亮。若在设置过程中开始计费,则设置不会被保存,且指示灯熄灭。
按键分别接入P2口的高3位,由外部中断1响应。当按下按键后即触发外部中断1。由于按键时间相对于单片机响应时间来说非常长,所以此时可根据P2口的高3位判断是哪个按键按下,再在中断程序中做出相应操作。
DS1302芯片接口电路
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:(1)RES复位,(2)I/O(数据线),(3)SCLK(串行时钟)。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。
DS1302是由DS1202改进而来,增加了以下的特性:双电源管脚用于主电源和备份电源供应,Vcc1为可编程涓流充电电源,附加七个字节存储器。它广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。下面将主要的性能指标作一综合:
实时时钟具有能计算2100 年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力
31×8位暂存数据存储RAM
串行I/O 口方式使得管脚数量最少
宽范围工作电压:~
工作电流:,小于300nA
读/写时钟或RAM数据时,有两种传送方式:单字节传送和多字节传送(字符组方式)
8脚DIP封装或可选的8脚SOIC封装(根据表面装配)
简单3 线接口
与TTL 兼容(Vcc=5V