基于51单片机的出租车计价器设计【程序+proteus仿真+参考论文+AD原理图】

本文介绍了使用STC89C52单片机控制的出租车计费系统,包含日期时间显示、温度监测、计费功能及设置选项,利用DS1302、LCD1602等模块,并在Proteus中进行仿真。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一、项目功能简介

 整个设计系统由STC89C52单片机+DS1302时钟模块+LCD1602显示模块+DS18B20温度模块+24C02存储模块+L298电机驱动模块里+按键模块+蜂鸣器模块组成。

具体功能:

1、LCD1602显示日期时间、温度,计费开始显示起步价、里程价、总路程和总费用。

2、可设置时间、白天夜晚模式、白天起步价、白天里程价、夜晚起步价、夜晚里程价、电机的转速。

3、白天夜晚模式的起步价、里程价存储在24C02里面。

4、电机模拟霍尔传感器输出脉冲,计算总路程。

5、电机速度可调。

二、系统构成图


三、仿真

本次项目采用proteus8.11软件实现仿真设计。由于proteus软件版本原因,不能确保proteus其他版本软件能够正常运行,请安装好对应软件版本(版本一致或者高于这个版本都可以)

四、程序

void main()
{
  LCD_Init();            //LCD的初始化
  DS1302_Init();          //时间模块的初始化
  Timer0_Init();          //定时器0的初始化  
  Timer1_Init();          //定时器1的初始化  
  IT_init();            //外部中断初始化
  Motor_init();          //电机初始化  
//  DS1302_SetTime();        //用于DS1302第一次启动,写入时间
  DS1302_ReadTime();        //读取时间
  Temp_Buffer = Get_temp();      //读取DS18B20的值
  Delay_ms(500);          //等待1s等待DS18B20数据稳定。否则可能会出现85℃。
  LCD_ShowString(1,1,"  -  -  ");  //LCD先显示时间日期的标号
  LCD_ShowString(2,1,"  :  :  ");  
  AT24C02_Read(0,Price_num,6);  //从24C02读取单价数据
  BUZZ_F();            //初始化完成,蜂鸣器响一下
  while(1)
  {
//    Delay_ms(5);              //延时
    KeyNumber = Key();            //检测哪个按键被按下
    ShowSet();                //进入设置
    if(KeyNumber == 1 && SET_flag == 0 )  //按键1被按下 ,未进入其他界面
    {
      MODE++;                //显示界面++
      LCD_WriteCommand(0x01);        //清理LCD显示屏幕
      if(MODE > 2)            //只有三个显示界面,0-1-2  普通界面-时间设置界面-单价设置界面
      {
        MODE = 0 ;
      }
      if(MODE == 0 )            //退出设置模式,显示时间日期,运行模式,先显示时间
      {
        LCD_ShowString(1,1,"  -  -  ");  
        LCD_ShowString(2,1,"  :  :  ");
      }
      if(MODE == 1 )            //设置模式1 ,进入时间设置和速度设置
      {
        LCD_ShowString(1,1,"  -  -  ");  //LCD先显示时间日期的标号
        LCD_ShowString(2,1,"  :  :  ");
      }
      if(MODE == 2 )            //设置模式2 ,进入单价设置,白天和晚上
      {
        LCD_ShowString(1,1,"  R/ Km  R/Km D");
        LCD_ShowString(2,1,"  R/ Km  R/Km N");
      }
    }
    switch(MODE)              //显示选择模式
    {
      case 0: TimeShow();break;      //时间日期
      case 1: TimeSETShow();break;    //时间设置
      case 2: Price_SETShow();break;    //单价设置
      case 3: BD_Show();break;      //计费开始
    }
  }
}

五、原理图

本原理图利用AD17软件设计。

六、参考论文

总共有12k字的论文,都是自己收集资料纯手打的。

论文仅限于参考,内容跟项目对应。

七、全部资料


八、资料获取

关注公众号,后台回复:51出租车

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值