搜档网
当前位置:搜档网 › 出租车计价器课程设计论文

出租车计价器课程设计论文

出租车计价器课程设计论文
出租车计价器课程设计论文

河北科技师范学院欧美学院

《微机原理及应用》

课程设计说明

题目:出租车计价器

学院(系):机电科学与工程系

年级专业:电气工程及其自动化1003班

学号:9310100330

学生姓名:霍亮

同组学生:孙云龙尹浩

指导教师:刘佳刘士光

摘要

现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局,预计未来计价器市场很有前景。计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因此,具有良好性能的计价器对广大出租车司机朋友和乘客来说是很必要的。但是现阶段出租车的计费系统功能有时候并不能满足出租车司机的意愿。

大规模集成电路的发展又产生了新一代计价器,也就是全电子化的计价器。它的功能也在不断完善.当单片机出现并应用于计价器后,现代出租车计价器的模型也就基本具备了,它可以完成计程,计价,显示等基本工作。单片机以及外围芯片的不断发展促进了计价器的发展。随着单片机性能不断提高而价格却不断下降,单片机控制得到更广泛的应用,外围芯片的不断发展,使得计价器的功能更加强大,性能更加稳定。随着电子技术的发展以及对计价器的不断改进和完善,便产生了诸多的附加功能。例如:(1)LCD显示功能,液晶屏的使用让计价器实现多屏显示的功能,可同时显示各项营运数据,使乘客一目了然;(2)永久时钟功能,在非营运状态下,日历时钟芯片的使用使计价器可以显示永久时钟;(3)存储功能,可存储多项营运数据,便于查询。新型数据存储器的应用使得计价器的营运数据在掉电情况下还可以保存10年。

关键词:单片机AT89S52;数码管;出租车计价器;AT24C02

摘要 (1)

绪论 (2)

1、本课题的研究目的及意义 (3)

2、出租车计价器的主要设计参数 (4)

2.1、计费功能 (4)

2.2、显示功能 (4)

2.3、按键提供脉冲代替出租车行驶路程 (4)

3、设计方案 (5)

4、电路组成 (6)

4.1、52单片机最小系统 (6)

4.2、存储电路 (6)

4.3、LED显示电路 (7)

4.4、按键控制电路 (7)

4.5、总原理图 (7)

5、功能说明 (9)

5.1、中途等待服务程序 (9)

6、结论与心得 (10)

绪论

出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。国内出租车计价器已经经历了 4 个发展阶段。从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器。出租车计价器计费是否准确才是乘客最关心的问题,而计价器营运数据的管理是否方便才是出租车司机最关注的。因此怎样设计出一种既能准确计价又能方便司机的计价器尤为重要。因此, 本文以单片机AT89S52为核心设计一款多功能出租车计价器,该计价器能实现按时间和里程综合计算车价,能显示时间、里程、单价、总车价等相关信息显示。它比市场上的一些计价器使用更方便,功能更全,还具有系统稳定性好的优点。

1、本课题的研究目的及意义

随着我国经济的迅速发展,人民生活水平的显著提高,城市的交通日趋完善,出租车计价器的应用也越来越广泛。虽然私家车的拥有量在大幅度地提高,但是出租车还是在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器,它是负责出租车营运收费的专用智能化仪表。用户不仅要求计价器性能稳定、计价准确而且对它的要求也越来越高。

近年来,我国出租车行业迅猛发展,出租车已经成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。出租车服务行业和出租车计价器紧密相关,因为出租车必须安装出租车计价器才能投入营运。出租车计价器是一种能根据乘客乘坐出租车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租车的经营者和乘坐出租车的消费者之间用于公平贸易结算的工具,因而计价器计价准确与否,直接关系到经营者和消费者的经济利益。依据国家有关法律、法规,出租车计价器是列入国家首批强制检定的工作计量器具之一,也是近年来国家质量技术监督部门强化管理的六类重点计量器具之一。

出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标

志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,出租车计价器的研究也是十分有应用价值的。

2、出租车计价器的主要设计参数

本课题对出租车计价器的设计要求如下:

设计一个出租车自动计价器,计价包括起步价、行车里程计费、等待时间计费三部分,用数码管显示总金额,行驶公里数,起步价为6.0元,3km之内起步价计费,超过3km,每增加1km增加4.2元,等待时间单价为超过等待时间10秒钟1元。并且可以重新设置白天、晚上和等待时间的单价。

2.1、计费功能

费用的计算是按行驶里程收费。本设计可以手动调起步价格、行车里程计费单价(白天和晚上)、等待时间单价。

(1)当里程<3km时,按起步价计算费用

(2)当里程>3km时,白天按4.2元/km计费加起步价。晚上按2.4元/km 计费加起步价。

(3)等待累计时间>10s时,按1元/min计费

2.2、显示功能

当电路电源接通后,LED数码管全部点亮。前面4位数码管显示总价(起步价),中间2位显示里程,最后两位显示当前单价。

2.3、按键提供脉冲代替出租车行驶路程

本课题是出租车计价器系统的设计。重点是设计出租车计价器的实用性,并尽量使最后的成品接近于商品。整个系统是以89S52单片机为中心,采用按键脉冲对轮胎转数进行计数,实现对出租车里程的测量,并最终计算出结果。

3、设计方案

坐过出租车的人都知道,只要汽车一启动,随着行驶里程的增加,就会看到出租车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值(如4km)计费数字显示开始从起步价(如8元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定的时间(如10分钟),计费显示就增加一个该收的等候费用(如每10分钟收取1.50元)。出租车继续行驶时,停止计算等候费用,继续增加里程计费。到达目的地,便可按显示的数字收费。然后关闭计费器,对计数器清零,等待下次计费开始。

通过考虑,计费系统最终是安装在计程车上的,电源一般不是220V交流电压,而是有电瓶输出的直流电压,因此采用输入一个6~10V的直流电压,再稳压得到5V电压。采用单片机技术,通过单片机作为主控器,利用数码管作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节。

以下是系统流程图,如图2.3所示:

4、电路组成

本设计由52单片机最小系统、存储电路、按键控制电路、LED 显示电路及脉冲计数等几部分组成。

4.1、52单片机最小系统

单片机最小系统包括单片机、晶振电路、复位电路等组成。

4.2、存储电路

无论是智能仪器仪表还是单片机工业控制系统都要求其数据能够安全可靠而不受干扰,特别是一些重要的设定参数(如温度控制设定值)受到干扰后变成一个很大的数字,那么就有可能发生烧箱毁物的破坏性后果,给生产和经济带来损失,因此必须选用可靠的24C02器件作为数据储存单元。

4.3、LED显示电路

由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大,并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动芯片还要能够自动调节输出电流的大小以实现色差平衡温度补偿。而本设计出租车计费器,基本上只需要显示价钱与路程,利用数码管足够实现功能。

4.4、按键控制电路

SB1------返回键,SB2------上调键,SB3------下调键,SB4------设置键,SB5------脉冲触发键

4.5、总原理图

5、功能说明

当电路电源接通后,LED数码管全部点亮。前面4位数码管显示总价(起步价),中间2位显示里程,最后两位显示当前单价。图中使用“计数”按键代替了霍尔传感器,按键每按下一次,就会产生一个“模拟”脉冲,每5个脉冲为1公里。电源刚接通时前4位数码管显示当前的起步价,前3公里价格不变,从第4公里开始,每公里增加一次单价。若在10秒钟内,系统没有接收到脉冲信号,等待系统就会自行启动,每10秒增加一次等待单价。所有价格都可以自行设定。

按键SB1为计价器清零键,即每按下一次,计价器前4位恢复为起步价,中间2位恢复为00,单价不变。SB4键为设置键,按下后第3位数码管显示1,进入白天单价调整;再次按下第3位数码管显示2,为夜间单价;第3次按下为等待单价;第4次为起步价,4种价格全部在最后2位数码管上显示出来。设置完成后,再次按下SB4键,恢复到计价状态。

SB2键为上调键,另一个功能是在计价状态时按下后,可切换白天、夜晚单价。SB3键为下调键。

5.1、中途等待服务程序

当在计数状态下开关没有输出信号,片内的定时器便被启动,每当计时到达一定时间,就对当前金额加上中途等待的单价,以后每10秒都自动加上中途等待的单价。当中途等待结束的时候,就自动切换到正常的计价。

服务程序流程图如图4.1所示:

6、结论与心得

经过这一个星期来不懈的努力与奋斗,我终于在老师的指导下完成了我的课程设计,虽然它还有诸多需要完善的地方,但是拿着这件设计,我仍然有止不住的兴奋。高兴之余,我仍需深思:

这件作品虽能初步解决出租车计算价钱的问题,但它仍有它的局限性,首先它不能自动调整黑天和白夜的单价转换,这个功能我需要以后的设计中努力完善,另外,如果配上语音效果那就更方便了司机和乘客,更加显示人性化和快捷化。

通过这次设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高。虽然遇到了不少困难,但当我通过查资料和翻阅书籍的同时也学到了不少的知识,扩大了知识面,提高了知识水平经过单元设计和系统设计巩固了以前所学的专业知识,从方案形成到准备电路图,到软件设计,到联机调试……每一个小小的步骤,我都得到了很好的锻炼。我学会了怎样有效的收集整合资料;我学会了怎样细心地检查电路;我学会了怎样虚心地寻求帮助;我学会了我也明白了,很多书本上的东西光靠趴在书本上学是学不到其中的精髓的,我们必须亲自去试着实践了,亲自去经历失败了才能对它们真正的掌握。理论必须联系实际,而实践试检验真理的唯一标准,我真正的懂得了这句话的真谛。在我以后的工作和生活中,我从此可以汲取很多经验,凡事都要自己去动下手,去实践一下,遇到困难,要有耐心,有信心,有细心,有恒心,有虚心,只有这样,我才会在逆境中不断前进。

以后在学习与生活中我会更加的去努力,好好的去实现自己,理论与实际相互联系的分重要的,经过这次的课程设计,我学到了很多,对以后工作有很多帮助,这只是一个开始,以后会更加努力去做的更好。

附录:

#include

#include

#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};

/// 0 1 2 3 4 5 6 7 8 9 sbit exter=P3^3; // 外部中断

sbit key0=P2^0; // 清零

sbit key1=P2^1; // 切换/+

sbit key2=P2^2; // -

sbit key3=P2^3; // 功能键

sbit p30=P3^0; // 数码管各位控制

sbit p31=P3^1;

sbit p32=P3^2;

sbit p300=P2^7;//////改进程序四位数码管显示

sbit p34=P3^4;

sbit p35=P3^5;

sbit p36=P3^6;

sbit p37=P3^7;

sbit SDA=P1^3; // IIC引脚,将P1.4口模拟数据口

sbit SCL=P1^4; // IIC引脚,将P1.3口模拟时钟口

uint inter,aa,bb,temp,temp1;

uint zongjia,licheng,dengdai;

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--);

}/// 延时函数

///////////////////////////////////////

//2402 操作函数

//////////////////////////////////////

void start() // IIC开始位

{ SDA = 1;

SCL = 1;

delayNOP();

SDA = 0;

delayNOP();

SCL = 0;

}

void stop() // IIC停止位

{ SDA = 0;

delayNOP();

SCL = 1;

delayNOP();

SDA = 1; }

void respons() // IIC应答位

{ uchar i;

SCL=1;

delayNOP();

while((SDA==1)&&(i<250))

i++;

SCL=0;

delayNOP(); }

uchar read_byte() // 从EEPROM读到MCU

{ uchar i,j;

for(i=0;i<8;i++)

{ SCL=1;

j<<=1; // j左移一位

j|=SDA;

SCL=0; }

return(j); }

void write_byte(uchar date) // 从MCU写到EEPROM {

uchar i,temp;

temp=date;

for(i=0;i<8;i++)

{

temp=temp<<1; // temp等于将temp左移一位的值SCL=0;

delayNOP();

SDA=CY;

delayNOP();

SCL=1;

delayNOP();

}

SCL=0;

delayNOP();

SDA=1;

delayNOP();

}

void write_data(uchar addr, uchar date) // 在指定地址addr处写入数据date {

start();

write_byte(0xa0);

respons();

write_byte(addr);

respons();

write_byte(date);

respons();

stop();

}

uchar read_data(uchar addr) // 在指定地址addr读取数据{

uchar date;

start();

write_byte(0xa0);

respons();

write_byte(addr);

respons();

start();

write_byte(0xa1);

respons();

date=read_byte();

stop();

return date;

}

///////////////////////////////////////////////////////////////////////24C02操作函数

///////价格显示

void display(uint zongjia0,uint licheng0,uint danjia0)

{

uint jqian,jbai,jshi,jge,lshi,lge,dshi,dge;///加入千位

uint numwei,numshu; // 数码管位置分配

jqian=(zongjia0/100)/10%10;

jbai=(zongjia0/100)%10; // 数码管显示总价百位

jshi=zongjia0%100/10; // 数码管显示总价十位

jge=zongjia0%100%10; // 数码管显示总价个位lshi=licheng0/10; // 数码管显示里程十位lge=licheng0%10; // 数码管显示里程个位dshi=danjia0/10; // 数码管显示单价十位dge=danjia0%10;

// 数码管显示单价个位

if(aa)

{

aa=0;

numshu++;

if(numshu==8) // 7个数码管扫描完毕numshu=0;

P3=0xff;

// 数码管全灭

p300=1;

switch(numwei)

{

case 1:p30=0;P0=table[jbai];break;

case 2:p31=0;P0=table[jshi]|0x80;break; ///.

case 3:p32=0;P0=table[jge];break;

case 4:p34=0;P0=table[lshi];break;

case 5:p35=0;P0=table[lge];break;

case 6:p36=0;P0=table[dshi]|0x80;break;///.

case 7:p37=0;P0=table[dge];break;

case 0:p300=0;P0=table[jqian];break;

}

numwei++;

if(numwei==8)

numwei=0;

}

}

//////////////////////////

void keyscan()

{

if(key3==0) // 判断功能调节键是否按下{

delay(5); // 延时5秒消抖

if(key3==0) // 如果功能调节键按下

{

key3num=1; // 功能键按下1次

while(!key3); // 键弹起

delay(5); // 延时5秒

while(!key3);

while(key3num)

{

if(key3num==1) // key3按1次调白天单价

{

if(key1==0) // 判断key1是否按下

{

delay(5);

// 延时5秒消抖

if(key1==0)

// 如果key1按下

{

danjia1++;

// 单价加1

if(danjia1==100)

// 加到100

danjia1=0;

// 给单价赋0

while(!key1);

// 键弹起

delay(5);

// 延时5秒消抖

while(!key1);

// 键弹起

}

}

if(key2==0) // 判断key2是否按下

{

delay(5);

// 延时5秒消抖

if(key2==0)

// 如果key2按下

{

danjia1--;

// 单价减1

if(danjia1==-1) // 单价减到-1

danjia1=99;

// 令单价等于99

while(!key2); // 键弹起

delay(5);

// 延时5秒消抖

while(!key2); // 键弹起

}

}

display(1,0,danjia1); // 数码管显示单价

}

if(key3num==2) // key3按2次调夜晚单价

{

write_data(1,danjia1); // 存单价1

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;

delay(5);

while(!key2);

}

}

display(2,0,danjia2);

}

if(key3num==3) // key3按3次调等待单价{

write_data(2,danjia2); // 存单价2

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);

}

}

display(3,0,danjia3);

}

if(key3num==4) // key3按4次调起步价

{

write_data(3,danjia3); // 存单价3

if(key1==0)

{

delay(5);

{

qibu++;

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);

}

}

display(4,0,qibu);

}

if(key3num==5) // key3按5次退出功能键{

write_data(4,qibu); // 存单价4

key3num=0;

}

if(key3==0)

{

delay(5);

if(key3==0)

{

key3num++;

while(!key3); // 键弹起

delay(5); // 延时

while(!key3); //键弹起

}

}

}

}

}

void init()

{

SDA=1;

SCL=1;

zongjia=0;

licheng=0;

dengdai=0;

/////////////////////////////////////////////////

danjia1=read_data(1); // 白天单价

danjia2=read_data(2); // 夜晚单价

danjia3=read_data(3); // 等待单价

qibu=read_data(4); // 起步价

////////////////////////////////////////////////

aa=0; // 数码管动态扫描的定时器时基个数

bb=0; // 判断是否等待的时基个数

inter=0;

EA=1; // 开总中断

EX1=1; // 开外部中断1

IT1=1; // 触发方式下降沿

TMOD=0x01;

TH0=(65536-1000)/256;

TL0=(65536-1000)%256; ///1ms

ET0=1; // 开定时器T0中断

TR0=1; // 开定时器T0

P3=0x08;

P0=table[0];

}

///////参考资料

void jisuan()

{

if(licheng>3)

zongjia=qibu+(licheng-3)*danjia+dengdai*danjia3; // 金额计算

else

zongjia=qibu+dengdai*danjia3; // 起步公里内金额计算}

////////////////价格计算的算法

出租车计价器课程设计报告

昆明理工大学信息工程与自动化学院学生实验报告 (2012 —2013 学年第 2 学期) 课程名称:可编程逻辑器件设计开课实验室:信自楼 2013 年4月 11日

一、引言 汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。 我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。我们设计采用8086为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用8段数码显示管。 二、总体设计方案 利用8253作为定时/计数器,控制电机转速并测量电机的转数;8255作为输入输出接口,控制数码管显示启动后经过的里程数(小数点后取2位有效值)。 硬件连接说明: 直流电机控制器的基础上,增加了一个电机测速电路构成。 8255的B口作为数码管的笔划码驱动;C口的低4位作为段码控制,显示实际里程,同时,也用于输出键盘的列扫描码;PC6、PC7输入行扫描码,用于识别按键,程序中仅使用了PC6行上的四个按键,其定义如下: X1:启动/停止键;X2:加速键,与X3、X4键组合使用;X3:“+”键;X4:“-”键。 A口仅使用了PA0,输出PWM脉冲信号,通过驱动芯片驱动电机,其输出电压的高低与PWM脉冲的占空比成正比。 电机的转数,通过霍尔元件变换为脉冲个数,送入8253的通道2,计数后,将转数转换为里程数,最小单位为0.01公里,送CPU记录,结果由数码管显示出来。

出租车计价器 课程设计报告

软件学院 课程设计报告 课程 题目出租车计价器 班级集成13-4 专业集成电路设计与集成系统 学生学号 指导教师(填写自己班的指导教师) 年月日 1.课程设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的组合逻

辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 2.课程设计题目描述和要求 2.1.课程设计题目描述 ①.实现计费功能,计费标准为:按行驶里程计费,起步价为7.0元,并在车行3km 后按2.2元/km 计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。 ②.现场模拟功能:以开关或按键模拟公里计数,能模拟汽车起动、停止、暂停等状态。 ③.将车费和路程显示出来,各有一位小数。 2.2.总体设计思路框架 2.3.课程设计题目要求 ①.设计正确,方案合理。 ②.程序精炼,结构清晰。 ③.设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。 ④.上机演示。 ⑤.有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 3.设计思想和设计内容 3.1 出租车计费设计

该出租车计费器按下开关S1后开始计费和计里程数,起步价是7元,行驶3公里,以后2.2元/公里。并且设计选择模块,在车费超过20元每公里加收50%车费即3.3元/公里。 3.2 基本设计思想 出租车计费器根据设计要求可初步分为3方面——显示、记里程数、记费。之后再根据三方面分别设计模块。1.显示模块。一般计数器显示数字为1-F即16进制,而16进制不方便观看,所以在设计这一模块时我们将16进制改为10进制输出进而设计了译码模块。2、里程模块。设计要求对里程计数主要分为两个方面,计数以及公里数比较。即3公里之内收7元,3公里之后20元(通过计算为9公里)以内每公里2.2元,9公里以外为每公里3.3元。所以,我们将里程模块分为里程计数模块以为比较模块。3.计费模块。计费模块同里程比较模块所以将两个模块合二为一,为价格计算模块。 4.Verilog代码 4.1顶层模块 module taxi( clk,stop,rst_n, time1,time2,time3,time4, seg1,seg2,seg3,seg4 ); input clk; input stop; input rst_n; output [6:0]time1; output [6:0]time2; output [6:0]time3; output [6:0]time4;

最新出租车计价器课程设计

出租车计价器课程设 计

大学 《单片机应用与仿真训练》设计报告 出 租 车 计 价 器 姓名: 学号: 3 姓名: 学号: 专业班级:自动化09-7班 指导老师: 所在学院:电气学院 2012年7月4 日 摘要

本设计基于AT89SC51单片机,采用霍尔传感器采集轮胎转数的信息,使用外部中断0将霍尔传感器采集的信息输入到单片机,实现对于出租车行驶里程的计算;对于中途等待以及红绿灯等待,使用定时器计时,并将时间转化为里程数以计费;输出设备采用数码管,本设计采用的是两个4位一体的共阴极数码管,输出里程数和费用;此外,本设计还设计了状态指示灯,用以指示计价器的工作状态和显示状态。 出租车计价器是出租车行业计费系统的核心,是出租车行业发展的重要标志,性能良好的计价器对于乘客和出租车行业都是必需的。 关键词:计价器、单片机、霍尔传感器

目录 1 概述 (4) 1.1 出租车计价器概述 (4) 1.2 单片机的概述 (4) 2 总体方案设计 (6) 2.1 设计任务要求 (6) 2.1.1 设计任务 (6) 2.1.2 设计要求 (6) 2.2 设计的主要功能 (6) 2.3 方案的选取 (7) 2.3.1 硬件设计方案 (7) 2.3.2 软件设计方案 (8) 3 硬件设计 (8) 3.1 AT89S52单片机及最小系统 (9) 3.2 测距单元 (11) 3.3 按键单元和状态显示单元 (14) 3.4 数码显示单元 (15) 4 软件设计 (17) 4.1 系统主程序 (17) 4.2 数据处理子程序 (18) 4.3 等待时间计时子程序 (19) 4.4 键盘扫描子程序 (20) 5 Proteus软件仿真 (21) 6课程设计过程中遇到的问题 (22) 7 课程设计体会 (23) 参考文献 (24) 附1、原程序代码 (25) 附2、系统原理图 (30)

出租车计价器系统完整版

智能电子产品设计与制作 课程设计(论文) 题目: 《出租车计价器系统设计》 学院:电气与电子信息工程学院 专业名称: 学号: 学生姓名: 同组成员: 指导教师: 课设时间:2011年5月23日—2011年6月10日 目录

一.设计目的 (2) 二.设计要求 (2) 三.系统结构 (2) 四.功能模块设计 (3) 五.软件设计 (5) 六.电路组装与调试 (6) 七.电路仿真 (7) 八.总结 (8) 八.附录 (9)

出租车计价器课程设计 一、设计目的 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以红外对管测转速,对实际里程的模拟,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。 二、设计要求 出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟) 三、系统结构 根据设计的要求选择实验的方案:采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89S51单片机为主控器,以红外对管和电机测转速(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管,相对液晶显示价格便宜,利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。 器系统结构图如下: 四、功能模块 1、单片机模块

出租车计价器电路设计

中北大学 课程设计说明书 学生姓名:学号: 学院: 仪器与电子学院 专业: 微电子科学与工程 题目: 出租车计价器电路设计 指导教师:马游春 2014 年 1 月 2 日

目录 1设计目的 (2) 2设计要求 (2) 3设计内容 (2) 1设计过程 (2) 2设计所用器件简介 (4) 3设计所需器件归纳 (7) 4设计结果/仿真结果 (8) 5心得体会 (10) 6参考文献 (10) 附件 (11)

一、设计目的 1.掌握电子电路的一般设计方法和设计流程; 2.学习简单电路系统设计,掌握Protel99的使用方法; 3.掌握锁存器、计数器、加法器等中规模数字集成器件的逻辑功能和使用方法; 4.学习掌握硬件电路设计的全过程。 二、设计要求 1.查阅所用器件技术资料,详细说明设计的出租车计价器工作流程; 2.里程数精确到1公里,起步价按5元/3公里,超出里程单价按1元/1公里进行计价。 3.等候时按1元/15分钟计价。设置一个计时按键处理等候等突发事件; 4.整理设计内容,编写设计说明书。 三、设计内容 1 设计过程 使用NI Multisim12.0软件绘制原理图。 应用NI Multisim10对所设计的电路进行仿真。 使用ALTIUM DESIGNER制作PCB版图。 1.1设计思路 出租车自动计费器是根据客户用车的实际情况而自动显示用车费用的数字仪表。仪表根据用车起价、行车里程计费及等候时间计费三项求得客户用车的总费用,通过数码自动显示。里程传感器可用干簧继电器实现,安装在与汽车车轮相连接的涡轮变速器上的磁铁使干簧继电器在汽车每前进十米闭合一次,即输出一个脉冲信号,实验用一个脉冲源模拟。 通过信号发生器模拟汽车车轮上传感器传来的脉冲信号,用计数器进行计数,然后触发里程计数器进行累加,依次向高位进位并用4位数码管显示路程;另一方面,将传来的脉冲通过比较器与3公里进行比较,大于三公里时开始触发价格计数器累加,并利用加法器与5元相加,也依次向高位进位并用4位数码管显示价格。 1.2 工作原理及硬件框图 本设计方案系统的总体工作原理如图6所示。有两种收费方式(通过按键实现两种收费方式的转换):按行驶里程收费,起步费为5.0元,并在车行3公里后再按1.0 元/公里:按等候时间计费,当车停止不走时,按1.0元/15分钟计费。最高计费为9999.9元,当乘客到达目的地时,将路程及车费显示出来。

基于数电设计出租车里程计价器

电子技术课程设计报告题目:出租车里程计价器设计 学生姓名: 学生学号: 年级: 专业: 班级: 指导教师: 机械与电气工程学院制 2016年11月

出租车计价器课程设计 机械与电气工程学院自动化 1设计的任务与要求 1.1课程设计任务 (1)能够实现计程功能 (2)实现计费功能,计费标准为:按行驶里程收费,起步费为6.0元,并在车行3公里后再按2.0 元/公里,最高计费为99.9元,车停止不计费,能将车费显示出来。 1.2初始参数和要求 (1)74LS160计数器的简介 74LS160 是一个具有异步清零、同步置数、可以保持状态不变的十进制上升沿计数器,共有54/74160 和54/74LS160 两种线路结构型式。 (2)74LS85比较器的简介 74LS85比较器是一个4位数值比较器,它是由高位开始比较,逐位进行。若最高位已比较出大小,则以后各位大小都对比较结果没有影响;如果最高位相等,则比较次高位;同理,次高位已比较出大小,则以后各位大小对结果没有影响。如果4位比较都相等,则再看级联信号输入。级联输入信号是由低位比较器的输出而来。 (3)74LS283加法器的简介 74LS加法器是4为超前进位加法器,能够实现两个数值信号的相加。 (4)初始要求 电路能够实现初始设定,起步费为6.0元,并在车行3公里后再按2.0 元/公里计算,车停止不计费,能将路程及车费显示出来。 2出租车里程计价器设计方案制定 2.1系统工作原理 本设计方案系统的总体工作原理如图1所示。按行驶里程收费,起步费为6.0元,并在车行3公里后再按2.0 元/公里,最高计费为99.9元,车停止不计费,将路程及车费显示出来。

电子设计资料-出租车计价器-程序

#include #define uchar unsigned char sbit P3_4=P3^4; //code uchar tab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,}; //code uchar tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; code uchar tab[10]={0xbf,0x86,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,}; uchar sz[4]; int qw,bw,sw,gw,a,b,c; void disp(void) { for(c=3;c>=0;c--) { SBUF=tab[sz[c]]; while(!TI); TI=0; } } void scjs(void)interrupt 3 { TH1=0X3C; TL1=0xB0; a=a+1; if(a==2) { a=0; P3_4=!P3_4; if(P3_4==0) { b=TH0*256+TL0; ///yw=sz[0]=b/100000; //ww=sz[0]=b/10000%10; qw=sz[0]=b/1000%10; bw=sz[1]=b/100%10; sw=sz[2]=b/10%10; gw=sz[3]=b%10; disp(); } } } main() {

IE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); } 2 #include #define uchar unsigned char sbit P3_4=P3^4; //code uchar tab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,}; //code uchar tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; code uchar tab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,}; uchar sz[6]; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f; void disp(void) { for(c=5;c>=0;c--) { SBUF=tab[sz[c]]; while(!TI); TI=0; } } void scjs(void)interrupt 3 { TH1=0X3C; TL1=0xB0; a=a+1; if(a==2) { a=0; P3_4=!P3_4; if(P3_4==0) { b=TH0*256+TL0;

毕业论文之出租车计价器调研报告

调研报告 汽车计价器是乘客与司机双方的交易准则,它是出租车行业进展的重要标志,是出租车中最重要的工具。它关系着交易双方

的利益。具有良好性能的计价器不管是对宽敞出租车司机朋友依旧乘客来讲差不多上专门必要的。因此,汽车计价器的研究也是十分有一个应用价值的。 随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。因此,出租车行业以低价高质的服务给人们带来了出行的享受。然而总存在着买卖纠纷困扰着行业的进展。而在出租车行业中解决这一矛盾的最好方法确实是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。 现在各大中都市出租车行业都已普及自动计价器,因此计价器技术的进展已成定局。而部分小都市尚未普及,但随着都市建设日益加快,象征着都市面貌的出租车行业也将加速进展,计价器的普及也是毫无疑问的,因此以后汽车计价器的市场依旧十分有潜力的。 计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因此,具有良好性能的计价器对宽敞出租车司机朋友来讲是专门必要的。 我国在70年代开始出现出租车,但那时的计费系统大差不多上国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的进展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时刻自主变动单价等功能。随着都市旅游业的进展,出租车行业已成为都市的窗口,象

征着一个都市的文明程度。 采纳模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,关于模式的切换需要用到机械开关,机械开关时刻久了会造成接触不良,功能不易实现。为此我们采纳了单片机进行设计,相对来讲功能强大,用较少的硬件和适当的软件相互配合能够专门容易的实现设计要求,且灵活性强,能够通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就能够轻易而举的实现。幸免了机械开关带来的不稳定因素。 目前, 电子系统正向集成化、大规模和高速度的方向进展, 集成电路的规模越来越大, 复杂程度越来越高, 因此传统的门级描述方法显得过于琐碎, 难以理解掌握。由美国国防部提出的VHDL (Very High Speed Integrated Circuit Hardware Description Language)即超高速集成电路硬件描述语言, 采纳高层次的、自顶向下的设计方法来描述硬件, 特不适合当前需要。美国国防部为了要解决项目间的信息交换困难和设计维护困难, 同时也为解决当时的超高速集成电路(VHS IC Very High Speed Integrated Circuit) 打算而提出的一种硬件描述语言。1987 年12 月IEEE 同意VHDL 为标准的HDL , 这确实是今天的IEEE STD1076- 1987 和IEEE STD1076- 1993。MAX + PLUSII (Multiple Array Matrix And Programmable Logic U ser System s) 是电子设计不可缺少的工具, 他能够同意多种方式的输入: 原理图输入、文本输入(硬件描述语言)、第三方EDA 工具提供的接口等。MAX+ PLUSII 的仿真器具有专门强灵活性, 能够操纵

单片机出租车计价器课程设计报告书

word完美格式 嵌入式系统基础 课 程 说 明 书 设计题目:出租车计价器 学院:太原理工大学现代科技学院 班级:电子信息 姓名: 学号:

一、设计题目: 出租车计价器 二、设计思路: 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。 我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。 三、设计任务 ●出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通 过线路连接构成一个完整的系统。 ●公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生 一个脉冲信号送给单片机作为一定距离的计数值。 ●显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。 ●定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助 计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号(P3.4)。

五、LED显示电路 对设计总体分析下,只需对其价格进行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 P0.7-P0.0 数码管输出数据 P2.7-P2.4 数码管位选 六、计价器的计价要求 ●计价方式:起价(两公里)白天8元,晚上8.6元;由一开关进行选择。每 公里1.5元。 ●转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计 67个数产生一个溢出中断。 七、电路原理图及引脚

数字电路出租车计价器设计

时序逻辑电路课程设计 引言: 我们组选择了题目一,设计出租车计价器,通过对课本、资料的查阅,再经过构思,设计,搭建电路,仿真,得出了结果,虽然不够完美,但是也掌握了一些知识,增加了对各种原件的印象。下文将详细给出设计。 一、资料查阅 通过参考数字电路课本,以及数字电路实验书,再经过网络查阅,也参考了网上有的类似的设计,想出了电路的基本思路。 二、对于要求的实现 要求1:根据出租车上的速度传感器传来的脉冲个数和设置的里程单价来计算对应的总价格,并将总价格通过LED实时显示。 对于此要求的实现,通过查阅,我们发现了74LS160十位计数器,有预制与清零功能,能进行0-9重复计数。功能表如下 要求2:起步价可以设置:。 由于74LS160有置数功能,所以可以置数,能够要求其从一个确定的数开始计数,所以可以设置起步价。对于从要过了起步价里程才开始计数,因为每一个单位里程是一次脉冲,而芯片又是每一次脉冲才记一次数,所以应用触发器的存储功能来使前几次脉冲无法传至芯片。 要求3:里程单价可以设置。 运用比例乘法器,可以实现脉冲的改变。比如用CC4527比例乘法器,输入一个BCD 数,其输出的脉冲为输入脉冲的BCD的十分之一倍。比如速度传感器的每个脉冲为1km,单价为2元,那么就输入20的BCD数,那么比例乘法器就会输出一个2倍速度传感器脉冲的脉冲信号,以此脉冲作为后面电路的时钟信号,可以实现单价2元。其他单价以此类推,但是由于仿真软件中没有找到比例乘法器,所以仿真中没有单价设置这一项。 要求4:可以对总价格进行复位,从而为下次计费做好准备。

运用74LS160的置数功能,重新对其进行置数即可实现下次重新开始计费。 三、具体电路 时序逻辑:左下角U1为里程脉冲发生器,经过N个D锁存器的延时,才可以传至上面的74LS160芯片,芯片开始计数,显示在右上方的两位显示器上,即计程车的价钱。电路中有两个单刀单置开关,上面的S1和下面的S2。S1的作用为每次重新搭载乘客后的清零和重新显示起步价,S2的功能为开启里程传感器,为计程车进行计价。下面对电路各个部分进行解释: 1.计数部分: 用N块74LS160芯片,即可显示N位十进制数,本次仿真以2位为例,也就是只可以显示0-99元的价格。上图七段显示管U5为十位,U3为个位。如图通过开关S5进行起步价设置控制,芯片有CR和LD引脚,CR为1,LD为0时可以进行置数,入上图,设置起步价为5元。由于当有脉冲时候,才会执行置数功能,而又不能和里程传感器用同一个时钟信号,所以单独设置了一个信号源,通过S1开关,既控制LD电位,又通过与门或门非门作为选择开关控制U16信号源的信号是否输入芯片。当开关断开,LD电位为0,U16信号导通到U2芯片,执行置数功能。当S1开关闭合,CR和LD电位都为1,以里程脉冲作为时钟信号执行计数功能,从预制的数字开始计数。

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

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

课程设计说明书 课程设计名称:《单片机原理与接口技术》课程设计 课程设计题目:基于51单片机的出租车计价器 学院名称:信息工程学院 专业:电子信息工程班级:100415 学号:27 姓名:夏亮晶 同组人:张先生 评分:教师:邓老师 2013年07月01日

基于51单片机原理出租车计价器的设计 摘要 现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。 本设计以 89S51 单片机为中心,利用信号发生器模拟代替霍尔传感器测距,实现对出租车计价统计,输出采用LM016L液晶显示屏。本电路设计的计价器不但能实现基本的计价,而且还能根据里程或手动来调节单价。通过单片机上的键盘上的按键来执行开始、暂停、复位等功能。步骤如下:首先,程序开始做一些必要的初始化工作,等待键盘输入。然后,启动键K1按下后单片机开始计数传感器传来的计数脉冲,在LM016L液晶显示器显示路程,按下K2显示总费用price是多少,当路程超过3Km,才开始计算。通过K3、K4,K5、K6,K7、K8改变单价price个位,十分位,百分位。 关键词:89S51单片机 LM016L液晶显示屏计价器

目录 前言 (1) 第一章出租车计价系统的设计要求与设计方案 (2) 1.1............. 出租车计价器设计要求 2 1.2..................... 系统主要功能 2 1.3................... 方案论证与比较 2 第二章出租车计价系统的硬件设计 (4) 2.1 振荡电路 (4) 2.2 复位电路设计 (4) 2.3 键盘接口电路 (5) 2.4 显示电路 (5) 2.5 路程测量部分 (6) 2.6 单片机各引脚功能说明 (7) 2.7 1602液晶的简介 (8) 第三章出租车计价系统的软件设计 (11) 3.1....................... 系统主程序 11

单片机出租车计价器课程设计

单片机出租车计价器课程 设计 This manuscript was revised on November 28, 2020

嵌入式系统基础 课 程 说 明 书 设计题目:出租车计价器 学院:太原理工大学现代科技学院 班级:电子信息 姓名: 学号: 一、设计题目: 出租车计价器 二、设计思路: 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。 我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。 三、设计任务

出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连接构成一个完整的系统。 公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲信号送给单片机作为一定距离的计数值。 显示器:用LED 显示,动态扫描显示,不断输出即时价格已及时间。 定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数 量即为车行驶 一公 里,并 对价格 进行增 加。在 没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号()。 五、LED 显示电路 对设计总体分析下,只需对其价格进行显示,选用四个LED 数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 六、计价器的计价要求 计价方式:起价(两公里)白天8元,晚上元;由一开关进行选择。每公里元。 转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产生一个溢出中断。 七、电路原理图及引脚 八、源程序 ORG 0000H ;起始地址 AJMP START ORG 001BH ;计数中断地址 LJMP CNT1 ORG 0030H ;主程序地址 START: MOV PSW, #00H MOV IE, #88H ;IE=B MOV TMOD, #60H ;TMOD=01100000B ,T1工作方式2 数码管输出数据 数码管位选 显示小数点(长亮) 计价器工作开关 白天/夜间切换 计数脉冲输入

出租车计价系统设计

分类号:200 届本科生毕业论文 题目:出租车计价系统设计 作者姓名:李小双 学号:2007080416 系(院)、专业:机械与电子工程学院 指导教师姓名:胡波 指导教师职称:讲师

宿州学院毕业设计出租车计价系统设计 200 年月日 摘要 摘要::出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。 关键词:出租车计价器;单片机;控制 ABSTRACT Abstract:Taximeter is both passengers and drivers of the transaction criteria, it is the taxi industry an important symbol, a taxi is the most important tools. It relates to the interests of both transactions. Has a good performance regardless of the meter is a vast number of taxi drivers or passengers are very necessary. Therefore, the car meter is also very much a study of value. The use of analog circuits and digital circuit design of the meter as a whole circuit of a larger scale, using the device, a failure rate is high and difficult to debug, the pattern of switching need to use mechanical switches, mechanical switch will cause a long-time contacts Bad, functions not easy to achieve. SCM used for the design, a relatively powerful, with less hardware and appropriate software can easily coordinate with each other to achieve the design requirements, flexibility and strong, can be programmed by software to complete more of the additional Function. Pricing model for the switch, software programming and can easily cite the achievement. To avoid a mechanical switch the destabilizing factors. Keywords: Taximeter ;89 S51 MCU ;control

C语言出租车计价器课程设计

出租车计价器课程设计目录 前言 1、系统工作原理 1.1 功能说明 1.2 基本原理 2、硬件设计 2.1 单片机最小系统单元 2.2 A44E霍尔传感器检测单元 2.3 AT24C01存储单元 2.4 键盘调整单元 2.5 显示单元 3、软件设计 3.1 系统主程序 3.2 中断程序 3.2.1 里程计数中断程序 3.2.2 中途等待中断程序

3.3 计算程序 3.4 显示程序 3.5 键盘程序 4、总结 参考文献 附录A 系统原理图 附录B 系统源程序 前言 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。 第一章系统工作原理

1.1 功能说明 出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟) 1.2 基本原理 计数器系统主要由五部分组成:A44E霍尔传感器、AT89S52单片机、独立键盘、EEPROM AT24C01和显示数码管。 霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,下次得电后直接从EEPROM读到单片机,系统结构图如图1。

出租车计价器的设计【文献综述】

文献综述 电气工程及其自动化 出租车计价器的设计 1.前言 本毕业设计的题目是《出租车计价器设计》,随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S51单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,采用AT24C02 实现在系统掉电的时候保存单价和系统时间等信息,输出采用8 段数码显示管。本次设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。 2.出租车计价器的发展 出租车行业在我国是八十年代初兴起的一项新兴行业,随着我国国民经济的高速发展,出租汽车已成为城市公共交通的重要组成部分。多年来国内普遍使用的计价器只具备单一的计量功能。目前全世界的计价器中有90%为台湾所生产。现今我国生产计价器的企业有上百家,主要是集中在北京,上海,沈阳和广州等地。我国第一家生产计价器的是重庆市起重机厂,最早的计价器全部采用机械齿轮构,只能完成简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善。出租汽车计价器是一种专

单片机出租车计价器课程设计

嵌入式系统基础 课 程 说 明 书 设计题目:出租车计价器 学院:太原理工大学现代科技学院 班级:电子信息 姓名: 学号: 一、设计题目: 出租车计价器 二、设计思路: 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。 我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。 三、设计任务 ●出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连 接构成一个完整的系统。 ●公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲 信号送给单片机作为一定距离的计数值。

●显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。 ●定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号()。 五、LED显示电路 对Array设计总 体分析 下,只 需对其 价格进 行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 六、计价器的计价要求 ●计价方式:起价(两公里)白天8元,晚上元;由一开关进行选择。每公里元。 ●转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产 生一个溢出中断。 七、电路原理图及引脚 八、源程序 ORG 0000H ;起始地址 AJMP START ORG 001BH ;计数中断地址 LJMP CNT1 ORG 0030H ;主程序地址 START: MOV PSW, #00H MOV IE, #88H ;IE=B MOV TMOD, #60H ;TMOD=01100000B,T1工作方式2 MOV TH1, #0BDH ;自动重装 MOV TL1, #0BDH ;计67个数 SETB TR1 ;计数器启动 CLR ;点亮小数点dp MOV R4, #0FFH ;置数-1

出租车计价器设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:微机系统综合课程设计 课程设计题目: 出租车计价器的设计与实现 院(系): 计算机学院 专 业 : 计算机科学与技术 班 级: 24010104 学 号: 2012040101037 姓 名: 程里 指导教师: 罗振 说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要 求;数据不实 ,不予通过。报告和电子数据必须作为实验现象重复的关键依据。

学术诚信声明 本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。 本人签名: 日期:年月

沈阳航空航天大学课程设计任务书

课程设计总结:

目录 1 引言 0 1.1出租车计价器概述 0 1.2计价器整体功能描述结构 0 1.3各部分电路功能描述 (1) 2计价器硬件设计 (1) 2.1系统的硬件构成及功能 (1) 2.2MCS-51系列单片机内部结构及功能部件 (3) 2.2.1MCS-51系列单片机的内部结构框图 (3) 2.2.2单片机外部引脚说明 (4) 2.2.3并行输入/输出接口 (6) 3系统的软件设计 (6) 3.1软件总体设计 (6) 3.2系统主程序设计 (8) 3.3显示子程序服务程序 (9) 3.4按键服务程序 (9) 4系统调试与测试结果分析 (10) 4.1系统调试 (10) 4.1.1硬件调试 (10) 4.1.2软件调试 (10) 4.1.3软硬件联调 (10) 4.2 电路图 (11) 参考文献 (10) 附录(关键部分程序清单) (13)

相关主题