基于单片机出租车计价器设计

这篇具有很好参考价值的文章主要介绍了基于单片机出租车计价器设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 功能介绍

  • 以51单片机作为主控系统;
  • 1602液晶屏显示最初的起步价,里程收费,等待时间收费;
  • 按键调整起步价,里程收费,等待时间收费;
  • 电机旋转,通过霍尔传感器检测转速,来模拟出租车行驶;

电路图

基于单片机出租车计价器设计

仿真图

基于单片机出租车计价器设计

元器件清单

B1 5V直流电机+托盘(粘好磁铁)
BT1 2032纽扣电池+电池座
C1,C6 470uf电解电容
C2 104瓷片电容
C3 10uF电解电容
C4, C5 30pf瓷片电容
D1 1N4007二极管
J1 电源接口
K1, K2, K3, K4, K5, K6, K7, K8 轻触按键
P1 4P排针
P2 LCD1602液晶显示屏+16P排母
PR1 8位103排阻
Q1 8550三极管
R1, R2, R3, R7 4.7K电阻
R4 3K电阻
R5, R8, R9 10K电阻
R15 30欧电阻
R6 1K电阻
SW1 自锁开关
U1 DS1302芯片+DIP8底座
U2 STC89C52单片机+DIP40底座

源代码

//User Code 2 主函数整理部分
void main()
{
  TMOD=0x01;
  TH0=0x3C;
  TL0=0xb0;
  ET0=1;
  EA=1;
  TR0=1;		  //配制定时器 0 为常规定时器

  EX0=1;
  IT0=1;		  //外部中断位边沿触发

  LCD1602_cls();  //调用液晶初始化函数
  Read_Memory();
  while(1) 
  {
       Memory();
       if(DJ_Star==1) DJ = 0;
	   else 		  DJ = 1;   //当电机触发标志位为 1 ,就去驱动电机,否则关闭电机
	   Display();  				//调用显示函数
	   read_time1();			//调用读取时间函数
	   Control();
  }


}


void Trigger() interrupt 0 	 //电机托盘上有两个磁铁,当一个磁铁滑过霍尔传感器,会产生一个中断,两个中断就是转动一圈。
 {
     Pulse++;				 //累加
	 if(Pulse>=2) 			 //大于等于 2 ,也就是满足一圈了
	  {
	    Pulse=0;			 //清零,为下次转一圈做准备
		
		if(Page==1) 		 //等于 1 ,也就是开始计费的时候
		 {
		    Mileage_float = Mileage_float +	Perimeter ;   //里程数累加,累加是用的浮点型数,因为整型数据是计算不了小数点后面的数据的,所以先用浮点数计算,再赋值
			//距离=	之前距离 + 轮子周长	
			Mileage = Mileage_float;	   //赋值
		 } 
	  }
 }



void Time0() interrupt 1	 //定时器中断函数
 {
   TH0=0x4C;
   TL0=0xb0; 				 //重新装载初值
   ms++;					 //计时累加
   Key_Dispose1();			 //调用按键处理函数
 

   if(ms%10==0)	 s0=~s0;     //闪烁标志位

   if(ms>=20)				 //计数 20 次,也就是 1S的时间
    {
	  ms=0;					 //清零,为下次时间计时做准备

	  if(DJ_Star==0&&Page==1)  	//在计费界面,并且,电机关闭,那就开始计时等待时间
	   {
	        Waiting_Time++;		//等待时间计数,每隔一秒加一
	   }
   
	   if(Page==1)
	    {
		    Driving_time++;		//总时间计数,每隔一秒加一  
		} 
 
	} 
     
 }

模块介绍

基于单片机出租车计价器设计

霍尔测速

        里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机处理计算,送给显示单元的,其原理如图所示。         

        由于A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL 电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ。

       A44E 集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D 和OC 门输出E 五个基本部分组成。

        在输入端输入电压CC V ,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差H V 输出,该H V 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC 门输出。当施加的磁场达到工作点(即OP B )时,触发器输出高电压(相对于地电位),使三极管导通,此时OC 门输出端输出低电压,通常称这种状态为开。当施加的磁场达到释放点(即rP B )时,触发器输出低电压,三极管截止,使OC 门输出高电压,这种状态为关。这样两次电压变换,使霍耳开关完成了一次开关动作。

参考文献

[1] 丁元杰,吴大伟.《单片微机实题集与实验指导书》[M].机械工业出版社, 2004.P124~125.

[2] 王力强.Prote1DXP 2004电路设计与实践.天津.天津大学出版社.2008

[3] 殷淑英.传感器及其应用. 北京.冶金工业出版社.2008

[4] 刘修文.使用电子电路设计制作300例.北京.中国电力出版社.2001

[5] 伍季松.电子实训与产品制作.北京.北京理工大学出版社.2009

[6] 郭小军.电子电路仿真. 北京.北京理工大学出版社.2009

[7] 杨志忠.数字电子技术. 北京.高等教育出版社.2008

        本文介绍了在设计的过程的关键点,供大家参考学习,如果有错误或者不明白的可以直接私信作者,或者添加微信biyezhan007。

基于单片机出租车计价器设计文章来源地址https://www.toymoban.com/news/detail-501071.html

到了这里,关于基于单片机出租车计价器设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 出租车计价c语言

    本关任务:根据某城市普通出租车收费标准编写程序对车费进行计算。具体标准如下: 起步里程为3km,起步费为10元;10km以内超起步里程部分,每千米2元,超过10km以上的部分加收50%的回空补贴费,即每千米3元。营运过程中,因堵车及乘客要求临时停车的,按每5分钟2元计收

    2024年02月07日
    浏览(32)
  • Java语言怎么编写一个程序计算出租车的运输费用:出租车起步15公里以内20块钱,需要支付调头费用

    下面是一个Java语言编写的计算出租车运输费用的程序:   ```java import java.util.Scanner;   public class TaxiFareCalculator {     public static void main(String[] args) {         Scanner input = new Scanner(System.in);           System.out.print(\\\"请输入出租车行驶的里程(公里):\\\");         double distance

    2024年02月12日
    浏览(39)
  • 出租车GPS轨迹数据分析

    •使用numpy、pandas等完成“00.csv”文件读取; •剔除无效数据:GPS 采集出租车轨迹数据的过程中,可能因设备问题 导致数据没有采集到,故而在原始轨迹数据集中记录为空值。因此,需 要将每个采样点中有效字段为空值的数据进行剔除,即剔除 DeviceID、 Longitude、Latitude、

    2024年02月04日
    浏览(37)
  • FPGA出租车计费系统设计

            设计一个简易的出租车计费系统,实现计价功能,计费标准为按里程收费, 起步价为6.00 元,当里程小于3公里时,按起步价收费, 超过3公里后按1.2元 /公里收费。         实现车辆行驶的模拟:能模拟汽车的 启动,暂停,停止 等状态。         计费显示部分设计

    2024年02月04日
    浏览(48)
  • 企业spark案例 —— 出租车轨迹分析(Python)

    头歌的大数据作业,答案没找着,遂自己整了一份 第1关:SparkSql 数据清洗 任务描述 本关任务:将出租车轨迹数据规整化,清洗掉多余的字符串。 相关知识 为了完成本关任务,你需要掌握:1. 如何使用 SparkSQL 读取 CSV 文件,2. 如何使用正则表达式清洗掉多余字符串。 编程要

    2024年02月03日
    浏览(39)
  • LeetCode 2008. 出租车的最大盈利:动态规划 + 哈希表

    力扣题目链接:https://leetcode.cn/problems/maximum-earnings-from-taxi/ 你驾驶出租车行驶在一条有 n  个地点的路上。这 n  个地点从近到远编号为  1  到  n  ,你想要从 1  开到 n  ,通过接乘客订单盈利。你只能沿着编号递增的方向前进,不能改变方向。 乘客信息用一个下标从 0  开

    2024年02月04日
    浏览(36)
  • 仿滴滴打车百度地图定位查找附近出租车或门店信息

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随

    2024年02月09日
    浏览(47)
  • 【Cocos 3d】从零开始自制3d出租车小游戏

    本文很长,建议收藏食用。 课程来源: 游戏开发教程 | 零基础也可以用18堂课自制一款3D小游戏 | Cocos Creator 3D 中文教程(合集)p1~p6 简介: 资源下载:https://github.com/cocos-creator/tutorial-taxi-game 适合学习人群:本教程假定你对编程有一定的了解,ts,js 学习过其中之一。 如果不

    2024年02月02日
    浏览(42)
  • 出租车模拟计费Verilog代码AX301开发板Quartus

    名称:出租车模拟计费Verilog代码AX301开发板Quartus 软件:Quartus 语言:Verilog 代码功能: 出租车模拟计费系统的实现 设计一个模拟的出租车计费系统,能显示里程和费用。 要求:(1)自行设定车速,根据计时转换为里程,里程显示方式为XXX,单位为km; (2)费用的计算及显

    2024年01月17日
    浏览(33)
  • 使用TransBigData快速高效地处理、分析、挖掘出租车GPS数据

    TransBigData是一个为交通时空大数据处理、分析和可视化而开发的Python包。TransBigData为处理常见的交通时空大数据(如出租车GPS数据、共享单车数据和公交车GPS数据等)提供了快速而简洁的方法。TransBigData为交通时空大数据分析的各个阶段提供了多种处理方法,代码简洁、高效、

    2024年02月14日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包