出租车计价器代码
- 格式:docx
- 大小:14.22 KB
- 文档页数:8
出租车计价器故障代码---5p
最近,出租车司机朋友们正在经历着混乱和困惑。
原因是出租车计价器突然出现5p故障代码。
这意味着,出租车司机们在完成一次行程后,收到的费用会受到一定的影响。
首先,在解决5p故障的过程中,出租车司机们很多情况下需要进行重置。
尤其是在抵达乘客目的地之后,大多数故障代码都要求出租车司机们进行重置操作。
然而,在某些情况下,当乘客要求司机们读取费用信息时,计价器仍然会出现5p故障代码。
此外,在出现5p故障后,还可以通过更换计价器来解决问题。
当司机们检查到计价器不能正常工作时,他们可以从许多供应商处购买新的计价器。
购买新的计价器可以解决司机们出现的5p故障问题,但同时要花费相当多的金钱才能重新购买。
最后,出租车司机们可以通过向专业的出租车计价器维修商寻求帮助来解决5p故障的问题。
在5p故障出现时,司机们可以直接联系出租车计价器维修商,专业的技术人员可以根据故障的具体原因,对出租车计价器进行必要的维护和修复,尽快恢复计价器的正常工作状态。
以上就是关于出租车计价器出现5p故障代码出现时,司机可以采取的措施。
司机们应该根据计价器的实际情况,选择最合适的解决方案,以尽可能地降低费用,为乘客提供更安全和便利的服务。
分类号编号毕业设计题目:基于单片机的出租车计价器的设计——电子设计系别信息工程学院专业电子信息工程姓名学号2010年6月1 日学院毕业设计任务书设计题目:基于单片机的出租车计价器的设计——硬件部分专业:电子信息工程班级学号:姓名:指导教师:设计期限:2011年3月1日开始2011年6月1日结束院、系:北京信息工程学院2011年3 月1 日一、设计目的通过毕业设计使学生了解和掌握单片机应用技术;了解和掌握C语言的程序设计同硬件电路的结合;熟练运用proteus,keilC等软件的操作;了解和掌握单片机硬件电路的焊接和调试;了解和掌握掉电存储芯片AT24C02、霍尔传感器A44E、数码管、驱动芯片74LS245等外部接口芯片器件的应用。
二、主要设计内容实现出租车行驶里程和总金额的显示,预设起步价和起步公里数;实现清零、复位和掉电保护功能;实现对单价的调整。
三、重点研究问题(1)按下启动按键,显示起步里程与起步价。
(2)按模拟传感器信号的按键,显示行驶里程与总金额。
(3)按键控制清零、复位、掉电保护、调整预设单价。
(4)在软件中实现起步价,单价。
四、主要技术指标(1)数码管显示起步里程、单价,总里程、总金额。
(2)用按键控制清零、复位、掉电保护、调整预设单价。
五、设计成果要求(1)源程序通过编译、运行(2)软件烧录单片机硬件进行调试,运行(3)实现所述功能(4)电路板焊接、检测(5)最终提交软硬件、设计说明书、外文翻译、毕业设计说明书等六、其它参考文献:[1] 谭浩强.C程序设计(第二版).清华大学出版社.2003[2]潘永雄.新编单片机原理与应用.西安电子科技大学出版社.2003设计开题报告2011年3 月15日摘要现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
出租车计价器课程设计一.设计任务设计并制作一台出租车计价器。
调试时采用10赫兹脉冲信号模拟,每个脉冲代表汽车行进10米。
基本要求:(1) 不同情况具有不同的收费标准白天 1元/公里 晚上 2元/公里 途中等待(>30秒开始收费) 1元/30秒(2) 数据输出(6位LED数码管显示)单价(元)输出2 位 路程(公里)输出2 位 总金额(元)输出2 位(3) 按键(4个)启动计价开关 数据复位(清零) 白天/晚上转换 途中等待转换二、硬件电路设计及描述1.硬件电路原理图(如图1所示)图1硬件电路原理图如图1所示6个数码管显示分别显示单位(元),里程,总金额。
采用动态显示方式,由P0口接6个数码管的八段,P2口分别接6个数码管的公共端,P0口输出数码管的字段码,P2口输出数码管的字位码。
接于P3.0,P3.1,P3.2的三个按键S1—S3为调整按键,S1为启动计价键,S2为白天晚上转换键,S3为数据复位(清零)键,SW1为途中等待转换键。
三、软件设计流程及描述1.出租车计价器的程序设计P3.0为启动按键(通过键盘扫描形式)P3.1为白天黑夜转换按键(通过键盘扫描形式)P3.2 为复位清零按键(以外部中断0的形式实现)定时器0 用于等待时间的定时,工作在方式1定时器1 用于计数用于计数,工作在方式2(1) 存储单元分配71H单元:脉冲计数单元;72H单元:总金额十位显示单元;73H单元:总金额个位显示单元;74H单元:里程十位显示单元;75H单元:里程个位显示单元;76H单元:单价个位显示单元;77单元:单价十位显示单元。
55H:50ms计数单元。
(2) 主程序设计主程序流程图如图2所示,由于用到了外部中断0,所以,按中断系统的编程结构在0000H处放置一条长跳转指令LJMP START跳转到主程序入口,在外部中断0的中断入口地址0003H处放置一条长跳转指令LJMP EXT0跳转到外部中断0服务程序处。
目录1课程设计目的22设计任务与要求22.1设计任务22.2设计要求23系统组成24模块设计34.1秒分频模块34.2控制模块34.3计量模块34.3.1计价部分44.3.2计时部分44.3.3计程部分44.4译码显示模块45程序调试运行45.1顶层原理图45.2仿真结果56硬件验证66.1引脚锁定66.2硬件验证情况77、课程设计总结77.1、收获77.2、心得体会8参考文献9附录10出租车自动计价器的设计1课程设计目的为培养学生树立正确的设计思想和实事求是的工作作风,学习运用所学基础知识理论、专业知识、基本技能去分析和解决工程技术实际问题,提高学生的综合素质,使学生成为工程应用型合格人才,故进行《EDA技术及应用》的课程设计。
帮助学生全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。
2设计任务与要求2.1设计任务本课题要求设计车租车自动计价器,能基本实现自动计价的功能。
2.2设计要求本出租车计价器的计费系统:行程3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外以每分钟1.5元计费。
并能显示行驶公里数、等待累计时间、总费用。
设计的主要技术指标如下:①、计价范围:0~999.9元计价分辨率:0.1元②、计程范围:0~99公里计程分辨率:1公里③、计时范围:0~59分计时分辨率:1分3系统组成出租车自动计价器的系统方框图如图1所示:它有分频模块、控制模块、计时模块、计费模块及显示等模块组成。
图1.出租车自动计价器的系统方框图4模块设计4.1秒分频模块秒分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,15Hz和1Hz 的三种频率。
摘要出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。
复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。
时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。
在上电时LED数码管显示最初的起步价,里程收费,等待时间收费三种收费。
按暂停键,计价器可暂停计价,按查询键,在LED数码管上可以显示运行时等待的时间。
通过计算可以得出总共的费用和总的路程。
在这里主要是以AT89S52单片机为核心控制器,P0口、P2 口接两片四合一数码管,P1口接按键,通过按键输入。
关键词:单片机 AT89S52;LED数码管;出租车计费器;目录1 概述 (1)1.1 课题简介 (1)1.2 功能要求 (1)2 系统总体方案及硬件设计 (2)2.1 系统工作原理及总体方案 (2)2.2 单片机最小系统单元 (3)2.3 霍尔传感器检测单元 (3)2.4 键盘调整单元 (5)2.5 显示单元 (5)3 软件设计 (7)3.1系统主程序 (7)3.2 按键扫描程序 (8)3.3 中断程序 (9)3.4 计算程序 (10)3.5 显示程序 (10)4 实验仿真 (12)4.1 Proteus介绍 (12)4.2 调试与测试 (12)4.3 里程计价测试 (12)5 课程设计体会 (14)参考文献 (15)附1:系统原理图 (16)附2:源程序代码 (16)1 概述1.1 课题简介出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
MD6000型出租汽车税控计价器限制条件的查询和设置一、限制条件的查询1、在空车状态下,连续按上键至金额屏显示“CH-04”,按下键进入刷卡时间限制查询:金额屏前两位显示“G1”,后两位显示“- -”或“ON ”,(其中“- -”表示刷卡时间限制无效,“ON ”表示刷卡时间限制有效);单价屏、计程屏和计时屏显示刷卡限制时间。
如图1:表示刷卡时间限制有效,刷卡限制时间是2009年8月20日14点0分。
2、在刷卡时间限制查询状态下按上键,可以进入运营次数限制查询:金额屏前两位显示“G2”,后两位显示“- -”或“ON ”,(其中“- -”表示运营次数限制无效,“ON ”表示运营次数限制有效);计时屏显示运营限制次数,单价屏显示计价器内已有运营次数。
如图2:表示运营次数限制有效,运营限制次数为999条,计价器内已有运营次数为120条。
3、在运营次数限制查询状态下按上键,可以进入工作时间限制查询:金额屏前两位显示“G3”,后两位显示“- -”或“ON ”,(其中“- -”表示工作时间限制无效,“ON ”表示工作时间限制有效);计时屏显示运营限制的工作时间,单价屏显示司机目前的工作时间。
如图3:表示工作时间限制无效,运营限制工作时间为10小时0分,司机目前的工作时间为2小时15分。
4、在工作时间限制查询状态下按上键,可以进入里程限制查询:金额屏前两位显示“G4”,后两位显示“- -”或“ON ”,(其中“- -”表示里程限制无效,“ON ”表示里程限制有效);单价屏显示限制里程,计程屏显示提示里程,计时屏显示剩余里程。
如图4:表示里程限制有效,限制里程为5500公里,提示里程为1000公里,剩余里程为3400公里。
图1 图2 图3 图4二、限制条件的设置1、刷卡时间限制、运营次数限制和工作时间限制是通过一卡通管理软件设置,在公司例会刷卡时由司机卡自动下载至计价器。
2、里程限制是用专用的里程限制卡来设置,同一张里程限制卡可以设置同公司所有计价器,具体操作方法如下:在以上4种限制条件查询状态下,将里程限制卡插入计价器,可以显示卡上里程限制条件:金额屏前两位显示“G4”,后两位闪烁显示“- -”或“ON ”,(其中“- -”表示里程限制无效,“ON ”表示里程限制有效);单价屏闪烁显示限制里程,计程屏闪烁显示提示里程。
出租车计价器代码#include<reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();_nop_();}; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; sbit exter=P3^3; //外部中断sbit key0=P1^0; //清零sbit key1=P1^1; //切换/+sbit key2=P1^2; //-sbit key3=P1^3; //功能键sbit SCL=P2^2;uint inter,aa,bb,temp,temp1,numwei;uint zongjine,licheng,dengdai;uint zongjine1,licheng1;uint key3num,qiehuantemp,delaytemp;uchar danjia1,danjia2,danjia3,danjia,qibu;void delay(uint x) //延时时基为1ms{int i,j;for(i=x;i>0;i--)for(j=340;j>0;j--);}void display() //数码管显示{//数码管动态显示switch(numwei){case 0:P3=0xfe;P0=table[zongjine/100];break;case 1:P3=0xfd;P0=table[zongjine%100/10]+0x80;break;case 2:P3=0xfb;P0=table[zongjine%100%10];break;case 3:P3=0xef;P0=table[licheng/10];break;case 4:P3=0xdf;P0=table[licheng%10];break;case 5:P3=0xbf;P0=table[danjia/10]+0x80;break;case 6:P3=0x7f;P0=table[danjia%10];break;}if(numwei==7)numwei=0;}void keyscan() //键盘扫描{if(key3==0) //功能键调节{delay(5);if(key3==0){key3num++;if(key3num==5) key3num=0;while(!key3);delay(5);while(!key3);while(key3num){if(key3num==1) //调白天单价{if(key1==0){delay(5);if(key1==0){danjia1++;if(danjia1==100)danjia1=0;while(!key1);delay(5);while(!key1);}}if(key2==0){delay(5);if(key2==0){danjia1--;if(danjia1==-1)while(!key2);delay(5);while(!key2);}}zongjine=100;licheng=0;danjia=danjia1;}if(key3num==2) //调夜晚单价{if(key1==0){delay(5);if(key1==0){danjia2++;if(danjia2==100)danjia2=0;while(!key1);delay(5);while(!key1);}}if(key2==0){delay(5);if(key2==0){danjia2--;if(danjia2==-1)danjia2=99;while(!key2);delay(5);while(!key2);}}zongjine=200;danjia=danjia2;}if(key3num==3) //调等待单价{if(key1==0){delay(5);if(key1==0){danjia3++;if(danjia3==100)danjia3=0;while(!key1);delay(5);while(!key1);}}if(key2==0){delay(5);if(key2==0){danjia3--;if(danjia3==-1)danjia3=99;while(!key2);delay(5);while(!key2);}}zongjine=300;licheng=0;danjia=danjia3;}if(key3num==4) //调起步价{if(key1==0){delay(5);if(key1==0){if(qibu==100)qibu=0;while(!key1);delay(5);while(!key1);}}if(key2==0){delay(5);if(key2==0){qibu--;if(qibu==-1)qibu=99;while(!key2);delay(5);while(!key2);}}zongjine=400;licheng=0;danjia=qibu;}if(key3num==5) //退出功能键{key3num=0;}if(key3==0){delay(5);if(key3==0){key3num++;while(!key3);delay(5);while(!key3);}}}}}}void init(){zongjine=0;licheng=0;danjia=0;bb=0; //判断是否等待的时基个数inter=0;EA=1; //开总中断EX1=1; //开外部中断1IT1=1; //触发方式下降沿TMOD=0x01;TH0=(65536-3000)/256;TL0=(65536-3000)%256;ET0=1; //开定时器T0中断TR0=1; //开定时器T0P3=0x08;P0=table[0];}void jisuan(){if(licheng>3)zongjine1=qibu+(licheng-3)*danjia+dengdai*danjia3; //金额计算elsezongjine1=qibu+dengdai*danjia3; //起步公里内金额计算}void qiehuan(){if(key1==0) //白天夜晚切换{delay(5); //键盘防抖if(key1==0)qiehuantemp=!qiehuantemp;while(!key1);delay(5);while(!key1);}if(qiehuantemp==0)danjia=danjia2;if(qiehuantemp==1)danjia=danjia1;}void main(){init();qiehuantemp=1;key3num=0;while(1){if(key3num==0){zongjine=zongjine1,danjia=danjia,EX1=1;}else EX1=0;qiehuan(); //切换白天夜晚单价jisuan(); //计算总金额keyscan();if(key0==0) //清零键init();}}void inter1() interrupt 2 //脉冲中断{inter++;if(inter==50){inter=0;licheng++;if(licheng==100) licheng=0;}}void timer0() interrupt 1{TH0=(65536-3000)/256;TL0=(65536-3000)%256;display();bb++;temp1=licheng; //测试是否进入等待if(bb==10000) //10s无反应进入等待计费{bb=0;if(temp&&temp1) dengdai++;temp=licheng;}}。