51单片机原理的出租车计价器的设计

【KEY WORD】:AT89C51;Holzer?sensor ;LCD1602;Taxi meter目录
一、引言 1
(一)出租车计费器简介 1
(二)设计任务及要求 1
二、出租车计价系统的设计方案选择 2
三、 硬件电路设计 3
(一)原理图及系统总体框图设计 3
(二)AT89C51单片机概述 3
(三)霍尔传感器模块 6
(四)LCD1602液晶显示器模块 8
(五)按键模块 9
四、系统的软件设计 11
(一) 程序总流程框图 11
(二)定时器中断子函数 12
(三)霍尔传感器测速程序流程 13
(四)判键子程序流程 14
(五)显示子程序 15
五、系统的仿真与调试16
(一) protues仿真.17
(二)编写程序时出现的问题与解决方法18
(三) LCD1602显示乱码与解决方法19
总结 20
参考文献 21
致谢 22
附录 原理图 23
附录 程序 24
一、引言
(一)出租车计费器简介
随着计程车行业的发展,对计程车计费器的要求也越来越高,计程车司机和乘客不仅要求计费器性能稳定和计费标准,而且要求计费器能同时显示起步价、车费、行车路程和始发地等主要信息。安装在与汽车轮相连接的传感器在汽车行进时向自动计费器发送脉冲信号,计费器中的控制器模块处理接收到的脉冲信号后,控制LCD1602液晶显示器,向乘客显示车费、行车路程和始发地等主要信 *好棒文|www.hbsrm.com +Q: *351916072* 
息。本次毕业设计采用AT89C51单片机作为控制核心,外部配合速度切换按键来模拟出租车以不同速度行驶时,这样做的目的是避免了使用霍尔传感器的使用,因为霍尔传感器需要安装在出租车的车轮上,这给系统的调试带来诸多不便。
(二)设计任务及要求
1.设计任务
设计一个基于单片机的出租车计费器;
2.实现功能:
通过霍尔传感器测速模块能够对车的行驶速度进行测量
自动计费的功能:计费器的起步价是5元,当行驶里程大于3km后,计费器按每公里1.3元开始计费,当乘客中途要求停车等待时并且等待时间超过2分钟时,计费器按每分钟1.5元计费。
液晶显示功能:通过LCD1602液晶显示器能够显示起步价、总消费金额、行驶里程、等候时间等相关信息。
二、出租车计价系统的设计方案选择
方案一:采用相关的具有不同逻辑功能的COMS逻辑芯片,总共需要十片芯片,由其组成的系统分为译码驱动显示电路模块、秒信号发生器(时基电路)以及小时分钟计数器三个模块组成。其大致原理为:由分频器对外部输入的时钟信号进行分频,产生1Hz的精准秒信号,然后由计数器对秒信号计数,并通过驱动显示模块将行驶里程以及车费等信息。通过描述可以发现,采用的芯片数量较多,成本高,并且电路形式复杂,所以此方案不适宜。
方案二:采用DSP芯片作为控制核心,TI公司生产的TMS320F28335芯片性能优良,片内集成了大量的常用模块,如16路AD采样通道以及高精准的PWM输出,是工控领域的新型宠儿,然而其成本较高,对于此次的设计来说,无疑增加额外的负担,并且TMS320F28335的优秀性能用在本次设计中时大材小用。另外其开发资料片目前较少,不利于系统的开发。
方案三:采用51单片机作为控制核心,片外配合LCD1602液晶显示器模块、键盘模块、晶振电路模块、复位电路模块等部分构成,由于51单片机再业界内已经具备了相当成熟的开发技术并且开发资料丰富,对于完成本次毕业设计是绝对有利的,另外该方案成本低廉,模块分明并且稳定性强,所以本次设计采用此方案三。
三、硬件电路设计
(一)原理图及系统总体框图设计
本系统采用AT89C51单片机作为控制核心,片外配合霍尔传感器测速模块电路、LCD1602液晶显示器电路、振荡电路模块电路以及复位电路模块来构成整体系统。本系统采用模块化设计,各模块之间关系清晰,分工明确,便于以后对系统功能的修改以及扩展,原理图见附录。
图3-1 系统总体框图
上图为本出租车计费器总体框图设计,其中复位电路与晶振电路同51单片机组成51单片机最小系统,作为本系统的控制核心部分;霍尔传感器测速模块为测量车轮转速的传感器模块,为本系统运作的主要信号来源;LCD1602液晶显示器模块作为显示车速、车费等信息的“窗口”。
(二)AT89C51单片机概述
1.AT89C51单片机组成
图3-2 AT89C51内部结构
ATMEL公司出产的AT89C51是一种带4K字节 FLASH存储器 的单片机,它是一种能在低电压场合工作的高性能CMOS类型的8位处理器。它内部集成的只读存储器具有高达1000多次的可擦除性,这样好的性能使得它非常适合学生做实验。另外这种类型的单片机已经采用了高密度的非易失储存器的制造技术,AT89C51单片机的通用IO管脚能够和工业上广泛采用的MCS-51类型的指令集能够完美兼容。ATMEL公司研发的这种高效率的微控制器将FLASH和性能强大的8位CPU集成在一个芯片里使得它在嵌入式领域有着广泛的应用。常用的AT89C2051型单片机是AT89C51单片机的精简版本。基于上述的特点,在很多嵌入式场合,AT89C51单片机正在发挥着越来越多的作用。DIP-40封装类型AT89C51单片机的芯片引脚图如3-3所示:
图3-3 AT89C51单片机引脚图
2.振荡器特性
XTAL1和XTAL2端口分别AT89C51内部反向放大器的输入和输出管脚。可以将这个反向放大器配置为片内震荡器。石英晶振和陶瓷晶振都可应用在此。在用外部的时钟源做作为震荡信号时,XTAL2不用接。由于进入内部的时钟信号要经二分频电路处理,所以对时钟信号的脉宽没有严格要求,晶振电路如图3-4所示。
图3-4 晶振电路
3.芯片擦除:
可以通过正确的控制信号组合并且保持ALE管脚处于10ms低电平来进行整个EPROM阵列和三个锁定位的电擦除。当EPROM被擦除后,其内部阵列将全部被写1。另外,AT89C51具有稳态逻辑的功能,其支持两种软件可选的掉电模式,可以在低到零频率的条件下稳定逻辑。在低功耗的闲置模式应用下,单片机内部的CPU将停止运行,然而其RAM、计数器/定时器、串口和终端系统仍能正常工作。在掉电的模式应用下,会将RAM中的内容保存起来,振动器将停止工作,片内其他模块也将停止工作,只有等到复位信号来临时才能正常工作。
6脚:使能端;
7~14脚:D0~D7为8位双向数据端;
(一)protues仿真
在protues软件中画出原理图以便于进行仿真,画出原理图后,然后将文件加载到单片机中,最后来仿真,如图所示:

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1946.html

好棒文