摘要
随着城市化进程的加速,公交车和出租车已成为城市居民日常出行的主要交通方式之一。为满足日益增长的出行需求,本文设计了一种基于单片机的公交车出租车计费器,通过LCD12864显示起步价、白天和黑夜模式、计时器以及单价等信息,并可通过按键进行白天晚上模式选择和起步价设置等操作。该设计旨在提高计费器的智能化水平,为乘客提供更加便捷、准确的计费服务。
关键词:单片机;公交车出租车计费器;LCD12864显示;白天黑夜模式;计时器;单价起步价设置
一、引言
随着城市公共交通的不断发展,公交车和出租车计费器的准确性和便捷性对于提升乘客满意度和运营效率具有重要意义。传统的计费器存在操作复杂、显示不直观等问题,无法满足现代交通服务的需求。因此,本文设计了一种基于单片机的公交车出租车计费器,旨在解决传统计费器存在的问题,提高计费服务的智能化水平。
二、系统设计
2.1 系统总体架构
本系统主要由单片机、LCD12864显示屏、按键模块、计时器模块和电源模块组成。单片机作为核心控制器,负责接收按键输入、控制计时器模块、处理数据,并通过LCD12864显示屏显示相关信息。
2.2 LCD12864显示屏设计
LCD12864显示屏用于实时显示起步价、白天和黑夜模式、计时器以及单价等信息。通过单片机控制显示屏的段选和位选信号,实现不同信息的显示。显示屏界面设计简洁明了,方便乘客查看。
2.3 白天黑夜模式设计
本系统根据时间自动切换白天和黑夜模式。白天模式下,计费标准按正常费率计算;黑夜模式下,由于夜间行车风险增加,费率会相应提高。单片机通过读取实时时间信息,自动判断当前模式并调整费率。
2.4 计时器模块设计
计时器模块用于记录乘客乘车时间,并根据时间计算费用。单片机通过计时器模块获取时间信息,结合当前模式和单价信息,计算出总费用并显示在LCD12864显示屏上。
2.5 按键模块设计
按键模块用于乘客和司机进行模式选择和起步价设置等操作。通过按下不同的按键,单片机接收相应的输入信号,并根据信号进行相应的处理和控制。
三、系统实现
3.1 硬件选型与搭建
本系统选用常见的STC89C52单片机作为核心控制器,搭配LCD12864显示屏、按键模块、计时器模块和电源模块等外围器件搭建硬件平台。通过合理的电路设计和元件选型,确保系统的稳定性和可靠性。
3.2 软件编程
软件编程方面,采用C语言进行单片机程序的编写。程序主要包括初始化模块、按键处理模块、计时器模块、数据处理模块和LCD12864显示模块等。通过合理的程序设计,实现系统的各项功能。
四、系统测试与结果分析
对系统进行全面的测试,包括白天黑夜模式切换测试、计时器准确性测试、按键功能测试以及LCD12864显示屏显示测试等。测试结果表明,系统工作正常,各项功能均符合预期要求。
五、结论与展望
本文设计了一种基于单片机的公交车出租车计费器,实现了起步价、白天和黑夜模式、计时器以及单价等信息的显示和设置功能。通过LCD12864显示屏和按键模块,为乘客和司机提供了便捷的操作界面。未来可以进一步优化系统的性能,增加更多实用的功能,如语音提示、电子支付等,以满足不同用户的需求。
【资源下载】下载地址:点击下载 1335 百度网盘https://docs.qq.com/doc/DWEpnR2pOWU91b3p4?pub=1&dver=2.1.26967325
#include <reg51.h>
#include <LCD12864.H>
#include <key.h>
#include <timer.h>
#include <interrupt.h>
int i;
extern int flag_mode;
extern int flag_state;
extern int flag_base;
extern int flag_price;
extern int time;
extern int s_s;
extern int s_g;
extern int f_s;
extern int f_g;
extern int m_s;
extern int m_g;
extern int flag_run;
extern int flag_sum;
int sum=0;
void init_LCD()
{
InitLCD(); //初始化LCD12864
ClearScreen(0);
//第一行内容:
ShowChina(0,16*0+0,0+10);
ShowChina(0,16*1+0,1+10); //模式
ShowChina(0,16*2+8,2+10);
ShowChina(0,16*3+8,3+10);
ShowChina(0,16*4+8,4+10);//起步价
ShowChina(0,16*5+16,5+10);
ShowChina(0,16*6+16,6+10);//单价