当前位置:文档之家› 出租车计价器控制系统电路设计教材

出租车计价器控制系统电路设计教材

出租车计价器控制系统电路设计教材
出租车计价器控制系统电路设计教材

嵌入式系统设计题目:出租车计价器控制系统电路设计

学号:

姓名:深蓝

新型出租车计价器控制电路的设计

第1章绪论

1.1 背景及意义

进入21世纪的今天,科技高速发展。同样,出租车行业也在发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。

我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如2KM)计费数字显示开始从起步价(如¥:6元)增加。当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。

在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的,因此,汽车计价器的研究也是十分有一个应用价值的。

通过本次设计,可以增进对单片机的感性认识,加深对其理论方面的理解,掌握单片机的内部功能模块的应用,了解掌握单片机的软硬件设计过程、方法及实现。

1.2设计要求

主要的外围功能电路有:驱动电路,按键控制电路,掉电保护电路,时钟部分,数码管显示电路等。

通过对以上各功能的设计,制作出的出租车计价器应具有以下功能:

1)上电时显示全为零,通过按下启动按键来开始计价,数码管开始显示起步价和起

步金额;

2)按下模拟开关按键来产生一个脉冲信号,模拟行驶的里程;

3)数码管开始显示所走里程和所应付的金额,并逐渐增加;

4)按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,按下清

零按键,数码管全显示零,以备下次计价。

第2章系统硬件设计

2.1 设计方案与硬件说明

采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89S51单片机为主控器,以A44E霍尔传感器测距(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。

系统结构图如下:

1.1系统结构图

本电路设计的计价器能实现基本的计价功能,单片机计算总价的公式为:总价=起步价+单价*(总里程-起步里程)+1。AT89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。

硬件设计说明

单片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。在这次设计中,我们用到P0口和P2口,P0口为8位三态I/O口,此口为地址总线及数据总线分时复用;P2口为8位准双向口,与地址总线高八位复用;P0口和P2口都有一定的驱动能力,P0口的驱动能力较强。

设计中,为了能够让数码管更好的正常显示,我们采用了驱动电路来驱动。在本次硬件设计中,我们考虑采用芯片74LS245来驱动数码管显示。

设计电路时,考虑到用里程(霍尔)传感器价格昂贵,且不便于试验检测,在设计

中采用一个模拟开关来代替。模拟开关一端接在P3.4口,另一端接地,通过来回高低电平的变化,每按两次,对应的里程数加一。通过在程序中设置的里程和金额的信息,在加上驱动电路的设计,就可以在数码管上分别显示总金额和总里程。

在显示方面,可以用液晶显示,也可以用数码管进行显示。由于在这次设计中只需要显示里程和金额信息,我们采用数码管进行显示。这样既节约了成本,又可以达到显示的目的。同时为了减少硬件的复杂度,我们采用了动态显示方式,选用了共阴极数码管。为了焊接方便,我们选用了集成在一起的数码管。

我们还设计了控制按键,能够很好的对出租车计价器控制,如启动/停止按键,清零按键等。

AT89S51单片机简介

AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器, 128 bytes 的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2

层中断嵌套,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

P0口有二个功能:

1、外部扩展存储器时,当做数据/地址总线。

2、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外

部接上拉电阻。

P1口只做I/O口使用:其内部有上拉电阻。

P2口有两个功能:

1、扩展外部存储器时,当作地址总线使用。

2、做一般I/O口使用,其内部有上拉电阻。

P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。

图2.1 AT89S51引脚图

设计中用到的单片机各管脚(图2.1)功能介绍如下:

VCC:接+5V电源。

VSS:接地。

时钟引脚:XTAL1和XTAL2两端接晶振和30PF的电容,构成时钟电路。

它可以使单片机稳定可靠的运行。

RST:复位信号输入端,高电平有效。当在此引脚加两个机器周期的高电平时,就可以完成复位操作。

P1.0:接启动/停止按键,控制计价。

P1.1:接功能键。

P1.3:接清零键。

P0口接数码管段选端,P2口接驱动芯片。

P3.4(T0):接模拟开关按键,替代了出租车计价器中的霍尔传感器。

P3.1、P3.0口接掉电保护电路。

2.2 硬件系统设计

按下计价按键时,显示起步价和起步里程范围,这些在程序中设置;当等于或超过两公里后,按计算总价的公式为:总价=起步价+单价*(总里程-起步里程)+1进行计价。本设计中,起步价为4元,起步里程为2公里,当然这些数据可以在程序中改写,以满足不同时期价格调整的需要。

2.3 硬件电路组成

硬件组成主要包括:驱动电路、显示电路、复位电路、掉电保护电路、时钟电路、按键电路。

2.3.1 驱动电路

74LS245是我们常用的芯片,用来驱动led或者其他的设备。总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器。本设计用74LS245作为驱动芯片,双向总线发送器/接收器(3S)。

图2.4驱动芯片管脚图

74LS245主要电器特性的典型值如下:

引出端符号:

A A总线端

B B总线端

/G 三态允许端(低电平有效)

DIR 方向控制端

功能表:

表 2.5功能表

利用74LS245来驱动数码管显示,单片机的P2.0到P2.5分别接A0到A5管脚,进行数据的传送,其中AB/BA接高电平,控制数据从A到B进行传送,B0到B5分别接数码管的位选端,驱动数码管依次显示。P2.0到P2.5的数据通过A传送到B中的数据送到数码管,以达到显示数据信息的目的。

2.3.2 显示电路

多数的应用系统,都要配输入和输出外设,LED显示器和LCD显示器,虽然LCD显示效果比较好,已经成为了一种发展趋势,但为了节约成本,我们选用了LED显示器(图2.6)。

在显示方面,我们选用了动态显示。静态显示虽然亮度较高,接口编程容易,但是每位的段码线分别与一个8位的锁存器输出相连。占用的I/O口线比较多,在显示位数较多的情况下,一般都采用动态显示方式。利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示。为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O 口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符。

图2.6 LED数码管图2.7集成数码管

LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。再把多个这样的8字装在一起就成了多位的数码管了。在本设计仿真中使用的是6个一组的共阴8段数码管(图2.7)。

找公共共阴和公共共阳的方法:首先我们找个电源|稳压器(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。共阴极数码管,阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,对应的段就显示。

2.3.3 复位电路

单片机的复位是由外部的复位电路实现的, 复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。除了上电复位外还需要按键手动复位(图2.8)。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源VCC接通而实现的。单片机的复位速度比外围I/O接口电路快为

能够保证系统可靠的复位,在初始化程序中应安排一定的复位延迟时间。

图2.8复位电路

2.3.4 掉电保护电路

掉电保护电路中采用了存储芯片AT24C02。

AT24C02是一个CMOS标准的EEPROM存储器,是AT24CXX系列(AT24C01/02/04/08/16)成员之一,这些EEPROM存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA~110uA,具有标准的I2C总线接口,是应用广泛的小容量存储器之一。

图2.9 AT24C02引脚图

上图是AT24C02的引脚图,这个芯片是一个8脚芯片,内部存储器有256字节。

引脚功能介绍如下:

A0(引脚1):器件地址的A0位,是器件地址的最低位,器件地址排列是A6 A5 A4 A3A2 A1 A0 R/W。

A1(引脚2):器件地址的A1位。

A2(引脚3):器件地址的A2位。

GND(引脚4):地线。

SDA(引脚5):数据总线引脚。

SCL(引脚6):时钟总线引脚。

TEST(引脚7):测试引脚。

Vcc(引脚8):电源线引脚。

本设计采用掉电存储电路图如下:

图2.10掉电存储电路

2.3.5 时钟电路

MCS-51单片机的各功能部件都是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个部分同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作。其实只需在时钟引脚连接上外围的定时控制元件,就可以构成一个稳定的自激振荡器。为更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装得与单片机芯片靠近。

本设计中使用的振荡电路,由12MHZ晶体振荡器和两个约30PF的电容组成,在XTAL1和XTAL2两端跨接晶体,电容的大小不会影响振荡频率的高低。在整个系统中为系统各

个部分提供基准频率,以防因其工作频率不稳定而造成相关设备的工作频率不稳定,晶振可以在电路中产生振荡电流,发出时钟信号。如图2.11所示。

图2.11时钟电路

2.3.6 按键电路

按键控制电路中,单片机的P1.0管脚接启动/停止按键,通过软件编程,当按下按键计数器开始工作,开始计价;当弹起按键时,计数器停止工作,停止计价,启动/停止按键带自锁功能。按下启动按键,开关处于导通状态,这时给P1.0送低电平信号,这时TR0=1,计数器开始工作,调用计价子程序开始计价。清零按键接单片机的P1.3管脚,按下清零按键,P1.3为低电平,调用清零子程序,用于将显示数据清零,在程序中给各位赋0代码(0x3f),以达到清零的目的,方便下次计价。另外为功能键,控制价格调整,这个按键是在没有按下启动/停止按键时有作用,计价过程中无效。

图2.12 按键电路

第3章系统软件设计

3.1 软件总体设计

51单片机的程序设计语言主要有两种:一是汇编程序设计;二是C语言编程设计。两种程序设计语言都有各自的优点。用汇编语言编写和高级语言(C语言)比较起来节省空间,这样对于存储空间仅4Kb的芯片来说是极之有利的,51单片机能更高速的运行。C 语言编写的程序,虽然不象汇编那样速度快、但程序简单易行、并且需要较小的存储空间。C语言作为一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。此外,C语言程序还具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的主流。

本设计就是采用C语言编写的,由于采用模块化操作,使得程序在修改,执行的时候显得方便易行。

3.2 系统程序设计

本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。

在main函数编写开始,要进行初始化,包括对系统初始化和对存储器初始化,要对硬件设备进行初始化,并使硬件处于就绪状态。

通过判断是否计费,调价,清零等状态,来分别调用不同的子程序,使程序在设计之前,就有了很强的逻辑关系。

这些对应于硬件就是通过按下各个控制开关,来分别进行不同的动作,最后数码管根据输入的信息,来显示不同的数据信息,这就达到了软件控制硬件,同时输入信息控制输出信息的目的。

整个程序的流程图如下:

图4.1系统程序流程图

第4章系统调试

系统调试包括软件调试和硬件调试。硬件调试的任务是排除所焊接电路故障。软件调试是利用开发工具进行在线仿真调试。调试的一般过程如图4.1所示:

图4.1 系统调试流程图

系统调试的一般过程是上电运行后观察其运行状态,数码管是否点亮等。软件调试先是各个模块、各个子程序分别调试,最后进行系统联机调试。

4.1 软件调试

4.1.1 编程工具—C51语言

8051单片机的应用程序设计,使用C51语言进行程序设计虽然相对于汇编语言代码效率有所下降,但可以方便地实现程序设计模块化,代码结构清晰、可读性强,易于维护、更新和移植,适合较大规模的单片机程序设计。近年来,随着C51语言的编译器性能的不断提高,在绝大多数应用环境下,C51程序的执行效率已经非常接近汇编语言,因此,使用C51进行单片机程序设计已经成为单片机程序设计的主流选择之一。

4.1.2 程序调试工具—KEIL

本设计的软件都是在 Keil μ Vision 7.5上进行编写,编译,调试以及运行操作。

4.1.3 单片机仿真软件在线调试—PROTEUS

1.打开Proteus软件。

2.选择file菜单下的 open design选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存。

3.将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定。

4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。

下图为软件的仿真窗口图:

4.2系统仿真

下图是通过在Keil C中编译通过,并生成Hex文件,在PROTEUS中仿真通过的整体硬件原理图:

总结

在本次设计中,我们采用AT89S51芯片为核心器件,设计出了简单的出租车计价器,能够实现显示总金额和总里程,按键控制清零,调价。

选题后,我便开始复习单片机方面的知识,也查阅、搜索了很多相关资料,进行总体设计与具体设计,同时也学习仿真软件Protues和编程软件KeiC。由于以前都采用汇编语言实现编程,对用C语言来实现单片机的编程不太习惯,花费了一些时间来熟悉C

语言的编程。在设计开始,要形成流程图,它可以使设计有一定的逻辑性与严密性,使得设计思路明确。采用模块化的设计思想很重要,它方便编写、修改与调试,另外加上必要的注释,便于交流与理解。

这次毕业设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。通过自身的努力以及相关图书资料的帮助,逐渐熟悉了KEIL、PROTEUS和C语言等软件的使用以及硬件检测过程中的一些小技巧。本次设计我学习到不少单片机的知识,但由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题。恳请各位老师批评指正,以使我在以后的学习和实践中加以改进和提高。

程序源代码

#include

//#include

#include

#define uchar unsigned char

#define uint unsigned int

int xscode[6]={0x3f,0x06,0x5b,0x4f,0x66,0x6d}; //显示存储区

int zxscode[6]={0x1f,0x2f,0x37,0x3b,0x3d,0x3e}; //共阴显示片选码

int codetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极数码

int i,j,flag;

uchar sec;

int kk=0; //路程标志位

int jkk=0; //费用

int jflag=0; //费用标志位

int kflag=0; //路程标志位

int zdflag=0; //中断标志位

int kilo=0; //路程

int dj=1; //路程单价

int djflag=0; //路程单价biaozhiwei

sbit key1=P1^0;

sbit key2=P1^1;

sbit key3=P1^2;

sbit key4=P1^3;

sbit key5=P3^4;

sbit SDA=P3^0; //IIC引脚

sbit SCL=P3^1;

void delay()

{;;}

void delay1 (xms) //延时程序子程序

{

uint i,j;

for(i=xms;i>0;i--)

for(j=110;j>0;j--);

}

void start() //IIC开始位

{ SDA = 1;

SCL = 1;

delay();

SDA = 0;

delay();

}

void stop() // IIC停止位

{

SDA = 0;

delay();

SCL = 1;

delay();

SDA = 1;

}

void respons() //IIC应答位

{

uchar i;

SCL=1;

delay();

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

i++;

SCL=0;

delay();

}

void init()

{

SDA=1;

delay();

SCL=1;

delay();

}

uchar read_byte() // 从EEPROM读到MCU

{

uchar i,j;

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

{

SCL=1;

j<<=1;

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;

SCL=0;

delay();

SDA=CY;

delay();

SCL=1;

delay();

}

SCL=0;

delay();

SDA=1;

delay();

}

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;

}

void xianshi() //显示程序子程序

{

for(flag=0;flag<6;flag++)

{

P0= xscode[flag]; //送显示码

P2= zxscode[flag]; // 送片选码

d elay1(2);

P0=0;

}

}

void jijia() //计费子程序

{

if(kk<=2) //计价方案

{jkk=4; //起步价4元

k k=2;

}

else if(kk>2&&kk<=35)

{

jkk=4+dj*(kk-2)+1;

}

else if(kk>35&&kk<900)

{

jkk=4+2*dj*(kk-2)+1;

}

kflag=kk/100; //路程百位

jflag=jkk/100; //路费百位

xscode[2]=codetab[kflag];

xscode[5]=codetab[jflag];

kflag=kk/10; //路程十位

jflag=jkk/10; //路费十位

xscode[1]=codetab[kflag];

xscode[4]=codetab[jflag];

kflag=kk%10; //路程个位

jflag=jkk%10; //路费个位

if(kflag==0){kflag=2;} //不足两公里时,显示两公里

xscode[0]=codetab[kflag];

xscode[3]=codetab[jflag];

}

void qingling()

{

for(i=0;i<=5;i++) //显示码清零

{xscode[i]=0x3f;}

}

void main() //主程序

{ init();

sec=read_data(2);

if(sec>100)

sec=0;

TL0=(65536-2)%256 ; //计数值设置,记满两次产生中断 TH0=(65536-2)/256 ;

TMOD=0x06;

EA=1;

ET0=1;

TR0=0; //关定时器

kilo=0;

qingling();

aa:

if(key1==0) //当键按下去,开始计费

{TR0=1; //开计数器0

kk=kilo;

jijia();}

if(key1==1) //当键松开,停止计费

{

TR0=0; //停计数器1

if(key2==0) //功能调整键

{ delay1(10); //延时判断键是否松开

if(key2==1)

{xscode[2]=codetab[djflag++];}//当p1.2口的按键按下时功能标志位加一 }

if(key3==0&&djflag==2)//当功能键标志位等1时,改变每公里的价钱 {

delay1(10);

if(key3==1)

{dj++;}

xscode[1]= codetab[dj/10] ;//把价钱十位送显示区,单价不能超100 xscode[0]=codetab[dj%10];

}

if(key4==0) //有键按下,清显示,单价会初始值,单价标志位清零 {

qingling();

dj=1;

djflag=0;

}

}

xianshi(); //调显示子程序

goto aa;

}

void Timer0_Int() interrupt 1 using 2 // 计数器0中断服务

{

zdflag=zdflag+1; //中断标志位加一

if(zdflag==2) //当中断产生二次后,路程加一公里并清中断标志位 {

zdflag=0;

kilo=kilo+1;

}

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

昆明理工大学信息工程与自动化学院学生实验报告 (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、单片机模块

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

电子技术课程设计报告题目:出租车里程计价器设计 学生姓名: 学生学号: 年级: 专业: 班级: 指导教师: 机械与电气工程学院制 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元,车停止不计费,将路程及车费显示出来。

电子线路CAD课程设计报告出租车计价器

电子电路CAD课程设计 课题名称出租车计价设计 所在院系 班级 学号 姓名 指导老师 时间

目录 第一章引言 (4) 第二章设计方案 (5) 2.1出租汽车里程计价表设计的要求及技术指标 2.2设计方案论证 第三章电路原理图的绘制 (7) 第四章电路板图的绘制 (8) 第五章课程设计总结 (12) 第六章电子元件清单 (13) 第七章总电路原理图 (14) 第八章参考文献 (16)

第一章引言 随着生活水平的提高,人们已经不再满足于衣食住的享受,出行的舒适已经受到越来越多人的关注。于是,出租车行业低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷,困扰着行业的发展。而在出租车行业中解决这矛盾的最好的方法就是使用计价器,用规范的价格来为乘客提供更加方便快捷的服务。同时,出租车计价器是乘客与司机双方的交易准则,是出租车行业发展的重要标志,它关系着交易双方的利益。现在,城市建设日益加快,象征着城市面貌的出租车行业也将加快发展,计价器的普及是毫无疑问的,所以未来出租车行业计价器的市场是很有潜力的。本文是为了探索计价器的设计而制作的。随着计算机和信息技术的发展,EDA(Electronic Design Automation,电子设计自动化)技术已经代替了传统手工设计和制作印刷电路板的方法,成为现代电子工程领域的一门新技术。EDA技术的发展和推广极大地推动了电子工业的发展,由此各类EDA工具软件也如雨后春笋般地蓬勃发展起来。原理图设计、PCB设计、电路仿真和PLD设计都是EDA设计技术中的重要组成部分,而Altium公司(原Protel Technology公司)推出的Protel DXP软件全面集成了EDA设计几大技术,而且它还包含了电路仿真印刷电路板的信号完整性分析、可编程逻辑器件FPGA数字电路设计和VHDL硬件描述语言的应用

(VHDL实验报告)出租车计费器的设计

电子科技大学成都学院学院

一、实验名称 出租车计费器的设计 二、实验目的 1、了解出租车计费器的工作原理。 2、学会用V HDL 语言编写正确的七段码管显示程序。 3、数量掌握用V HDL 编写复杂功能模块。 4、进一步数量状态积在系统设计中的应用。 三、实验原理 出租车计费器一般都是按公里计费,通常是起步价 xx元(xx元可以行走x公里),然后再是x x元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用 8 个七段码管,前四个显示里程,后三个显示费用。 在设计VHDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。 为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。 四、实验内容 本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1公里,以后1元/公里。显示部分的七段码管扫描时钟选择时钟模块的

1KHz,电机模块的跳线选择GND端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。另外用按键模块的S1来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。直流电机用来模拟出租车的车轮子,没转动一圈认为是行走1米,所以每旋转1000 圈,认为车子前进1公里。系统设计是需要检测电机的转动情况,每转一周,计米计数器增加 1。七段码管显示要求为前 4个显示里程,后3个显示费用。 五、实验步骤 1、打开Q UARTUSII 软件,新建一个工程。 2、建完工程之后,再新建一个V HDL File,打开V HDL 编辑器对话框。 3、按照实验原理和自己的想法,在V HDL 编辑窗口编写V HDL 程序。其 程序如下所示:

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

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

的利益。具有良好性能的计价器不管是对宽敞出租车司机朋友依旧乘客来讲差不多上专门必要的。因此,汽车计价器的研究也是十分有一个应用价值的。 随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。因此,出租车行业以低价高质的服务给人们带来了出行的享受。然而总存在着买卖纠纷困扰着行业的进展。而在出租车行业中解决这一矛盾的最好方法确实是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。 现在各大中都市出租车行业都已普及自动计价器,因此计价器技术的进展已成定局。而部分小都市尚未普及,但随着都市建设日益加快,象征着都市面貌的出租车行业也将加速进展,计价器的普及也是毫无疑问的,因此以后汽车计价器的市场依旧十分有潜力的。 计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因此,具有良好性能的计价器对宽敞出租车司机朋友来讲是专门必要的。 我国在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个数产生一个溢出中断。 七、电路原理图及引脚

基于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

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

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

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

理工大学 《单片机应用与仿真训练》设计报告出租车计价器设计 学号: 专业班级: 指导老师: 所在学院: 2012年6月25日

摘要 本设计用直流电机转动模拟出租车车轮转动,实现出租车多功能的计价功能。设计采用AT89S52单片机为主控芯片,用光电对管检测电机转盘转速,采用24C02芯片为系统在掉电时路程、钱数等重要信息提供存储保护,采用两个四位8段共阴数码管显示里程、总价格和等待时间等信息。本设计可以实现单双程设置、系统暂停、空车指示、信息显示、掉电保护等功能。 出租车计价是根据车所行驶的路程以及乘客乘车的方式综合决定的。出租车行驶总路程可以通过车轮的周长乘车轮旋转圈数得到。即可计算得到车轮旋转几周出租车能行驶一公里的路程。使用光电对管能方便地计量车轮旋转的圈数,输出的脉冲信号被接入到AT89S52单片机系统中,通过计算接收到的脉冲个数,计算出当前所行驶的路程,并且可以计算实时的速度。与此同时,根据不同的收费标准计算收费。通过键盘能够实现往返设置,启动、暂停、停止计价器、设置单返程等。 关键字:出租车计价器,AT89S52,24C02,光电对管 Abstract This design with DC motor to rotate the analog taxi wheels turning, multi-purpose taxi pricing function. Design using AT89S52 MCU for master chip with a photoelectric tube test motor turntable speed, AT24C02 chip to make the system power-down distance, money and other important information on the storage

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

《单片机应用与仿真训练》设计报告出租车计价器设计 姓名学号: 专业班级: 指导老师: 所在学院: 2012年6月25日

摘要 本设计用直流电机转动模拟出租车车轮转动,实现出租车多功能地计价功能.设计采用AT89S52单片机为主控芯片,用光电对管检测电机转盘转速,采用24C02芯片为系统在掉电时路程、钱数等重要信息提供存储保护,采用两个四位8段共阴数码管显示里程、总价格和等待时间等信息.本设计可以实现单双程设置、系统暂停、空车指示、信息显示、掉电保护等功能. 出租车计价是根据车所行驶地路程以及乘客乘车地方式综合决定地.出租车行驶总路程可以通过车轮地周长乘车轮旋转圈数得到.即可计算得到车轮旋转几周出租车能行驶一公里地路程.使用光电对管能方便地计量车轮旋转地圈数,输出地脉冲信号被接入到AT89S52单片机系统中,通过计算接收到地脉冲个数,计算出当前所行驶地路程,并且可以计算实时地速度.与此同时,根据不同地收费标准计算收费.通过键盘能够实现往返设置,启动、暂停、停止计价器、设置单返程等. 关键字:出租车计价器,AT89S52,24C02,光电对管 Abstract This design with DC motor to rotate the analog taxi wheels turning, multi-purpose taxi pricing function. Design using AT89S52 MCU for master chip with a photoelectric tube test motor turntable speed, AT24C02 chip to make the system power-down distance, money and other important information on the storage protection, the use of two four-segment common cathode digital display tube mileage, the total price and waiting time information. This design enables single and double-way set, system halted, empty instructions, information display, power-down protection and other functions. The taxi meter according to the distance traveled by the vehicle and passengers ride the decision. Taxi driving the total distance by the circumference of the wheel drive wheel rotation laps. Can be calculated by the wheel rotation a few weeks a taxi to travel one kilometer away. The use of opto-the number of turns of the tube can be easily measured wheel rotation, the output

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

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

毕业论文(出租车计价器设计)

河北机电职业技术学院 姓名:陆大鹏 系别:电气工程系 班级:应用电子技术

河北机电职业技术学院毕业论文 基于51单片机设计的多功能 出租车计价器

河北机电职业技术学院毕业论文 目录 第1章引言·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1 1. 1 出租车计价器概述~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1 1. 2 本设计任务~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1 1.2.1 设计任务~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 1.2.2 设计要求~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1 1. 3 系统主要功能~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2 第2章出租车计价器硬件设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 2.1 系统的硬件构成及功能~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2 2. 2 AT89S51单片机及其引脚说明~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2 2.3 AT24C02引脚图及其引脚功能~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~4 2. 4 AT24C02 掉电存储单元的设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5 2.5 里程计算、计价单元的设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~6 2.6 数据显示单元设计·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~6 第3章系统软件设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~8 3. 1 系统主程序设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~8 3. 2 定时中断程序设计·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 3. 3 里程计数中断服务程序设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~10 3.4 中途等待中断服务程序设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~10 3. 5 键盘服务程序设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~10 3. 6 显示子程序服务程序设计~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~10第4章系统调试与测试结果分析~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~11 4. 1 使用的仪器仪表~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~11 4.2 系统调试~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~11 结束语~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~12 1、计价表使用说明~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~12 2、全部源程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~12

相关主题
文本预览
相关文档 最新文档