AT89C51芯片的出租车计费器的设计

AT89C51芯片的出租车计费器的设计[20200128191241]
摘 要
本文以AT89C52 单片机为中心、附加A44E 霍尔传感器测距,实现对出租车计费统计。设计采用AT24C02 实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。设计的优势在于不但能实现基本的计费,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计费的时候还能作为时钟为司机同志提供方便。
 *查看完整论文请+Q: 351916072 
关键字:AT89C52、霍尔传感器、单价调节、出租车计费器
一、引言 1
二、总体方案设计 2
(一)方案论证与比较 2
(二)单片机系统总体设计 3
(三)芯片简介 4
1、 AT89C52 4
2、AT24C02 5
3、74HC164 6
4、DS1302 7
三、硬件电路设计 8
(一)CPU模块 8
(二) 电源部分设计 9
(三) 路程测量部分设计 9
(四) 数据显示部分设计 10
(五) 时钟部分设计 12
(六) 掉电存储单元AT24C02的设计 12
(七) 按键单元设计 12
四、系统软件设计 14
(一) 主程序 14
(二) 定时中断服务程序 15
(三) 里程计数中断服务程序 15
(四) 中途等待中断服务程序 16
(五) 显示子程序服务程序 16
(六) 程序调试 17
五、 结束语 20
致谢 21
参考文献 22
附录(硬件原理图) 23
附录(源程序) 24
正文
一、引言
凡坐过出租车的人都知道,只要汽车一开动,随着行驶里程的增加,就会看到汽车前面的计费器里程数字显示的读数从零逐渐增大。同时,当行驶到某一值时(如3KM)计费数字显示开始从起步价(如10元)增加。当出租车到达某地需要在那里等候时,司机按动一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。这就是出租车计费器。
我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计费器。出租车计费器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。出租车计费器是出租车营运收费的专用智能仪表,目前市面所使用的计费器大都功能较少,这给出租车行业的服务质量及管理带来一定影响,而功能齐全的计费器大都采用双CPU结构,这又提高了计费器的生产成本。
随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。现在各大中城市出租车行业都已普及自动计费器,所以计费器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计费器的普及也是毫无疑问的,所以未来汽车计费器的市场还是十分有潜力的。
二、总体方案设计
(一)方案论证与比较
出租车计费器是出租车营运收费的专用智能仪表。随着电子技术的发展,出租车计费器的技术已经不断进步和提高国内出租车计费器已经走过了若干个发展阶段。在过去,使用机械式表的出租车,计费方式是通过累计运行中的齿轮转过圈数,根据里程齿轮比,换算出里程的数量,最终计算出收费额。由于机械齿轮相对大尺寸的计算不是很精确,而且易磨损,所以目前使用一个传感器与汽车运行使用传感器接收信息计算里程和票价的方式,因此定价将是非常准确的。所需期间完成这个装置很简单,成本非常低,技术上容易实现。
从传统的机械部件组成,完全由机械,的士计程表机械部件的一部分,到使用半电子的电子电路。出租车计费器计费是否正确,司机是否超速行驶是出租车乘客最关心的问题,仪表数据管理操作方便的出租车司机最关心的。
方案一:采用数字电路控制。其原理方框图如图 1所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计费。
图1 数字电路方案
考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。整体电路的规模较大,所用到的器件多,会造成故障率高,且调试较难,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。
方案二:采用单片机控制。利用单片机丰富的 I/ O端口及其控制的灵活性,实现基本的里程计费功能和价格调节、时钟显示功能。其控制原理框架如图2所示。
图2单片机控制方案
通过比较以上两种方案,单片机方案有较大的变化空间,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。而且灵活性强,可以通过软件编程来完成更多的附加功能;不但能实现所要求的功能而且能在很大的程度上扩展功能,对系统进行升级。所以采用第二种方案。
(二)单片机系统总体设计
总体设计框图见图3。单片机采集并判断空车灯信号,并检测传感器的信号,当出租车启动时,单片机主芯片检测到霍尔传感器的脉冲信号,进行里程计算。没有乘客时:单片机调用实时芯片 DS1302程序和74HC164串口显示驱动程序, LED进行时钟显示。当空车灯掰下乘客上车时:通过DS1302获取时间信息,分辨白天还是晚上,然后调用AT24C02程序获取白天或晚上的单价及起始价,开始计费并显示时间、里程和金额等信息。当空车灯打上乘客下车时:等到出租车再次启动后,单次金额与里程等信息清零复位,从而完成一次计费。
图3 总体设计框图
(三)芯片简介
本设计主要选用的4个芯片,分别为AT89C52、AT24C02、74HC164、DS1302。
1、 AT89C52
图4 单片机引脚图
AT89C52是ATMEL公司生产的51单片机系列的典范。AT89C52是一个低电压、高性能的8位CMOS单片机,片内含8K字节的可反复擦写的Flash只读程序存储器(ROM)和256字节的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性的存储技术而生产,兼容标准MCS-51指令集,片内置有通用8中央处理器和Flash存储单元,功能强大的AT89C52单片机可以提供许多更复杂的系统控制应用。AT89C52有40个引脚,32个外部双向输入/输出(I / O)端口,另外还包括两个外部中断口,3个16位可编程定时计数器,两个全双工串行端口,2个读写口线。它可以根据传统的方法编程,也可以实现在线编程。它将通用的微处理器和Flash存储器结合在一起,尤其是可反复擦写的Flash存储器,可有效地降低开发成本。
2、AT24C02
AT24C02是一个2K位串行E2PROM,它由ATMEL公司提供的,I2C总线结构,其,工作电压在1.8V~5.5V之间,生产工艺是CMOS工艺,其引脚如图5所示。
图5 芯片引脚图
各引脚功能简述如下:
A2~A0: 这3个引脚是器件地址选择引脚。将这3个引脚配置成不同的编码值,在同一串行总线上最多可扩充8片同一容量或不同容量的24系列串行EEPROM芯片。
SDA: 串行数据输入输出口,是一个双向的漏极开路结构的引脚,容量扩展时可以将多片24系列的SDA引脚直接相连。
SCL: 串行移位时钟控制端。写入时,上升沿起作用,读出时,下降沿起作用。
WP: 硬件写保护控制引脚。当其为低电平时,正常写操作,高电平时,实现对EEPROM部分存储区域的硬件写保护功能,对被保护区域只能读不能写。
VSS: 接地。
VCC: 接+5V电压。
AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。
3、74HC164
图6 74HC164引脚图
74HCT16为一高速硅栅CMOS器件,它与低功率肖特基LSTTL(输入通道)器件引脚是兼容的。 74HC164,74HCT164是8位边沿触发式移位寄存器,输入数据为串行方式,输出数据为并行方式。有两个串行输入端,DSA或DSB,选择其中的一个串行输入数据,而另为一端就作为输入的使能控制,高电平使能有效。两个输入或者连接在一起,或者把未使用的输入端接高电平,注意引脚不得悬空。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4711.html

好棒文