基于51单片机的出租车计价器

发布者:camuspyc最新更新时间:2021-10-12 来源: eefocus关键字:51单片机  出租车计价器  LCD1602 手机看文章 扫描二维码
随时随地手机看文章

一.硬件方案

本设计基于STC89C52单片机、1302时钟芯片准确计时、LCD1602液晶显示、24c02芯片可以掉电存储数据、3v直流电机模拟发动机工作。当无乘客时液晶可以显示时间(年月日时分秒),时间可以按键设置,此时电机不工作;当有乘客时电机工作,可以通过按键开始计费系统工作,有清零键,收费可以修改(包括起价费、超过起价费每公里或分钟收费、白天和夜晚收费标准),可以切换白天和夜晚收费标准,可以按照分钟或公里收费切换。


主要由51单片机最小系统、DS1302时钟芯片准确计时、LCD1602液晶显示、24c02芯片可以掉电存储数据、3v直流电机模拟发动机工作;如图:

在这里插入图片描述

二.设计功能

(1)当无乘客时液晶可以显示时间(年月日时分秒),时间可以按键设置,此时电机不工作;当有乘客时电机工作,可以通过按键开始计费系统工作;

(2)有清零键,收费可以修改(包括起价费、超过起价费每公里或分钟收费、白天和夜晚收费标准);

(3)可以切换白天和夜晚收费标准;

(4)可以按照分钟或公里收费切换。


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

在这里插入图片描述

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计

主程序源码


//初始化函数

void InitTimer0();

//写初值

void SETS();

//读初值

void READS();


//主函数

void main()

{

//初始化

Ds1302_Init();

Init_LCD();

initeeprom();

//SETS();

//读取初始参数

READS();

//定时器初始化

InitTimer0();

//循环

while(1)

{

//时钟模式

if(Mode==0)

{

//读时间

if(Wei==0)

{

Ds1302_Read_Time();

//显示时间

display_NYR(time_buf1,Wei,0);

}

}

else if(Mode==1)

{

//显示计价器信息

display_S(Day,Night,DanJia,ZJ,GL,Time,GT,DN);

}



//时间调整

if(K8==0)

{

delay(20);

//调时

if(K8==0)

{

if(Mode==0)

{

Wei++;

if(Wei==1)

{

SS=1;

}

//闪烁

display_NYR(time_buf1,Wei,SS);

if(Wei==7)

{

Wei=0;

//保存时间

Ds1302_Write_Time();

Init_LCD();

}

}

//调节白天/黑夜起价

else if(Mode==1)

{

if(DN==0)

{

DN=1;

}

else

{

DN=0;

}

}

while(K8==0);

}

}



.........

}

}

关键字:51单片机  出租车计价器  LCD1602 引用地址:基于51单片机的出租车计价器

上一篇:基于51单片机的教室智能照明控制系统
下一篇:基于51单片机的语音万年历设计

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved