当前位置:文档之家› 出租车计费系统设计

出租车计费系统设计

出租车计费系统设计
出租车计费系统设计

毕业论文(设计)

电信学院2009级电子信息工程专业

题目出租车计费系统设计

学生宋雷学号 200907301151

指导教师周尚万

2013年6月1日

摘要

随着测量还有控制技术的发展与应用,以单片机为核心的控制系统的研发与应用在很大程度上提高了生产生活中对汽车测速水平的控制。本文通过红外线测速测量车轮的转速,将所测量得到的信息传输到单片机AT89C51进行计数,从而判断出租车的行驶,停止,倒车等运行状态。最后的结果经过译码器译码然后通过4位键盘的切换,最终在8位LCD显示出相应的速度,路程,费用等有用信息。本文硬件包括红外线传感器及信号放大电路按键接入电路,显示电路;软件上采用C51语言编程。本文设计的系统基本能满足的出租车计费需要。

关键词:at89c51单片机,红外线测速,放大电路,显示电路,出租车计费系统。

Summary

With the measure, as well as the development and application of control technology, the development and application of microcontroller as the core control system has greatly improved the production life of the vehicle speed level control. By infrared gun to measure the speed of the wheel, as measured by the transmission of information to the microcontroller AT89C51 count, in order to determine the taxi driving, stop, reversing running. The final result decoder decodes and then through four keyboard to switch the final 8-bit LCD shows the corresponding speed, distance, fees and other useful information.

This article hardware including infrared sensor and signal amplifier circuit button access circuit, display circuit; C51 programming language software. This design of the system to meet the basic needs of taxi meter.

: AT89C51 microcontroller infrared speed amplifier circuit, display circuit, taxi billing system.

目录:

第一部分实验目的,设计要求,单片机介绍

1.1实验目的

1.2 设计要求

1.3 单片机介绍

1.3.1.主要特性:

1.3.2.管脚说明:

第二部分硬件设计

2.1.1测速模块

2.1.2显示模块

2.1.3复位模块

2.1.4cpu及外设模块

2.1.4.1存储器

2.1.4.2输入输出端口

2.1.4.3中断系统

2.1.4.4定时器/计数器

2.1.5A/D模块D/A模块

2.1.6键盘模块

2.1.7系统总图

第三部分软件设计

附录:软件设计

第一部分实验目的,设计要求,单片机介绍

1.1实验目的

利用主控制单片机at89c51,红外线传感器,led数码管,外围电路,信号放大器及数模还有模数转换电路设计出出租车计费系统。

使用的器件:89c51单片机一块、8155接口芯片一片,74LS245驱动器一片,

八段显示器若干、电阻若干、晶振一个、74LS164移位寄存器若干。

1.2 设计要求

1.2.1该系统的红外线测速部分能够在一般天气状况下正常运转;

1.2.2该系统的单片机部分能够在一般的情况下正常显示

出租车的时间,价钱,路程,速度等参数。

1.3单片机介绍

AT89C51是一种带4K字节闪烁可擦除可编程只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.3.1.主要特性:

·与MCS-51 兼容

·4K字节可编程闪烁存储器

寿命:1000写/擦循环

数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

1.3.2.管脚说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P1口的

管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH ,p0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个

TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序

存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器

的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当震荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上

置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

第二部分硬件设计

2.1.1测速模块

该模块主要应用了红外线测速的原理

现代转速的测量有3个发展阶段

1将反射纸贴在装置的测速盘上进行测量。

2频闪式侧转速利用了频闪效应原理,

首先,在需要测速的装置上做出明显的标记,档标准的装置转轴的转速与被测转速表的闪光频率相等或成一定的倍数关系时,转轴上的额将呈现停留不动的状态,此时,

转速表的显示值将与频闪停留序数的乘积即为转速表的实测值。

3磁电式转速表利用的是非电量电测的原理,它包括磁感应式,电脉冲式和电动式。

该测量方法分为两类:接触式和非接触式两种。

红外线侧转速属于非接触式,测速原理如下:

红外线转速表采用的红外线探头分为直射式和反射式两种。直射式探头、发光管和受光管分别被放在被测物体的两边。发光管射出的光线直接照射到受光管上面,被测物体运动时会阻挡光线产生计数信号,这种探头经常用做光电计数器。反射式的探头、发光管和受光管被放在被测物体的同一侧。当探头接近物体时会接收到脉冲的红外线信号这样测量转速比较方便。

测量转速的探头,根据测量距离可以采用透镜系统,也可以不用透镜系统。当被测物体离开探头距离在15cm以内时,无须采用透镜。探头设计时可采用小功率发光管5GL和光敏受光管3DU5C。如图3-20所示的组装电路,其两管并排放置,两个管子的中心线夹角很小,使它们在10~15cm远处相交。这种探头靠接近物体上漫反射回来的光线工作,对全黑色物体时,接收灵敏度很低,对白色物体和镜面反射体接收最灵敏,也能接收到其他颜色物体的反射光,但相应的探测距离要近些。

测量转速的探头经常用透镜系统。根据光学的折射反射原理,发光管和接收管都固定在探测架上,通过透镜聚焦。在探测架中间用半透腆使发射的红外线折射向转动体,又能使转动的物体反射回来的红外线通过半透膜射向接收管。半透膜上最好涂一层只能透过某个单色波长的物质,或用单色性很好的滤色玻璃制作,使它只能透过固定波长的红外线(例如0.93μm),这样对抗杂散光的干扰更有利。

为了提高反射红外线的能力,通常在转动物体上贴上一小片红外线反射纸,使反射效果极好。有时用镜面、铝箔、洁白平滑的纸、白油漆等也能提供反射性能。当转动物体转到反射纸恰好对着从发光管发出的红外线时,接收管接收到光信号,从单位时间内收到光信号的次数便可测量出转速。

测量远距离转动物体,可用中功率和大功率的发光二极管(HL系列发光二极管),还可以采用砷化镓单异质结激光二极管(如2EJD系列),这种管子的峰值波长为0.90μm,输出功率为2~10W,额定工作电流为15~45A,发射距离超过几十米。相应的接收管仍可采用硅光电三极管3DU5C。

设转动部件线速度Vmax=200km/h,半径: R=20cm,周长: L=2*pi*R=125cm 在转动部件上最多有m个通光孔,光传感器检测得到的脉冲频率只与转动部件的角速度有关设角速度为n转/秒,则脉冲频率f为:f=m*n=m*Vmax/(2*3.14*R)=38*m(HZ) 即使转动部件有10个通光孔此时脉冲频率也只为380HZ。这样完全能达到能被红外线传感器响应的要求。也能达到能被信号处理系统(us级)的响应时间特性的要求。

图2所示为计数器信号输入、频率计信号输入以及转速表信号输入而应用的红外线发射-接收对管的示例。

电路中,调整发射管的限流电阻(200R),可以调整灵敏度,但是注意不能让电流超过50mA,以免烧毁发射管。

输出侧的10K电阻是提供“0”电平时的接地电阻,如果电路里已经有信号输入的接地电阻,则可以省略本处的10K电阻。此电阻不能太小阻值,否则高电平输出会达不到大于3.5V。(这是普通信号的高电平要求,如果是TTL电平标准,可以适当降低,最后是要以实际电路的配合为准的。)

只要在红外线发射-接收对管的中间缺口处插入一件对红外光有遮挡作用的物质,图示的输出端口“OUT”的电平立即从高变成低。如果该遮挡物质是循环连续动作的话,就是一种非常好的无触点信号源。

设转动部件线速度Vmax=200km/h,半径: R=20cm,周长: L=2*pi*R=125cm 在转动部件上最多有m个通光孔,光传感器检测得到的脉冲频率只与转动部件的角速度有关设角速度为n 转/秒,则脉冲频率f为:f=m*n=m*Vmax/(2*3.14*R)=38*m(HZ) 即使转动部件有10个通光孔此时脉冲频率也只为380HZ。这样完全能达到能被红外线传感器响应的要求。也能达到能被信号处理系统(us级)的响应时间特性的要求。

图中所示为计数器信号输入、频率计信号输入以及转速表信号输入而应用的红外线发射-接收对管的示例。

电路中,调整发射管的限流电阻(200),可以用来调整灵敏度,但是必须注意不能让电流超过50mA,避免烧毁发射管。

输出侧的10K电阻是提供“0”电平时的接地电阻,此电阻不能太小阻值,否则高电平输出会达不到大于3.5V。

只要在红外线发射-接收对管的中间缺口处插入一件对红外光有遮挡作用的物质,图示的输出端口“OUT”的电平立即从高变成低。

2.1.2显示模块

Led数码显示管有两种接法:

第一种:共阳极接法,把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5v,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管导通点亮,而输入高电平时则不点亮。

第二种:共阴极接法,把发光二极管的阴极连接在一起构成公共阴极,使用时公共阴极接地,每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时则不点亮。

使用LED数码显示器时要注意区分这两种不同的接法,在器件出厂时其内部的公共端已经接好,用户可根据自己的需要正确使用共阳极接法或共阴极接法。

2.LED数码显示器的显示段码

为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如下

段码位D7 D6 D5 D4 D3 D2 D1 D0

限时段dp g f e d c b a

用LED显示器显示十六进制数和空白字符与P的显示段码如表所示:

字型共阳极段码共阴极断码字型共阳极段码共阴极段码

0 C0H 3FH 9 90H 6FH

1 F9H 06H A 88H 77H

2 A4H 5BH b 83H 7CH

3 B0H 4FH C C6H 39H

4 99H 66H d A1H 5EH

5 92H 6DH E 86H 79H

6 82H 7DH F 84H 71H

7 F8H 07H 空白FFH 00H

8 80H 7FH P 8CH 73H

LED数码显示器以软件为主的接口方法

2.1.3复位模块

系统复位的母的是使系统能够进入一种初始状态,为系统工作做好准备。

2.1.4cpu及外设模块

2.1.4.1存储器

51单片机的存储从物理结构上分为:片内,片外程序存储器与片内,片外数据存储器

4个部分;从寻址空间分布可分为:程序存储器,内部数据存储器,外部数据存储器3大部分;从功能上可分为:程序存储器,内部数据存储器,特殊功能寄存器,位地址空间和外部数据存储器5大部分。

2.1.4.2输入输出端口

51单片机有4个8位并行的输入输出接口p0,p1,p2,p3这4个接口可以并行的输入或输出8位数据,也可以按位使用,即每一位均能独立作输入输出用,每个口虽功能有所不同,但都具有1个锁存器(即特殊功能寄存器p0-p3),1个输出驱动器和2个(p3口为3个)三态缓冲器。P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用的i/o接口。P1口为准双向口,p2也是一准双向口,p3也是一准双向口。

2.1.4.3中断系统

概念:计算机暂时中止正在执行的主程序,转去执行中断服务程序,并在中断服务程序执行完了之后能自动回到原主程序处继续执行,这个过程叫做“中断”。

51单片机的中断系统属于8位单片机中功能较强的1种中断系统,它可以提供5个中断源,

2个外部中断请求INT0和和INT1,2个片内定时器/计数器T0和T1的溢出中断请求TF0和TF1及串行口中断请求T1或RI。每个中断源,每个中断源有两个中断优先级别可供选择,可实现两级中断服务程序嵌套。此外,所有中断均可由软件设定为允许中断或禁止中断,也就是说,用户可以用关中断指令来屏蔽所有的中断请求,也可以用开中断指令使cpu接受中断请求。

单片机的中断系统有两个外部中断源,引脚信号为INT0和INT1。其中断请求触发信号有电平触发和边沿触发两种,当TCON寄存器中的IT0位和IT1位为“0”时采用电平触发;

为“1”时采用边沿触发。

在电平触发方式下,单片机在每一个机器周期的S5P2期间采样中断输入信号INTx的状态

,若为低电平,则可直接直接触发外部中断,这就使得CPU对来自外部的中断申请能得以

及时响应。在这一触发方式中,中断源必须持续请求,一直到中断产生为止。然后,在中断服务程序返回之前,必须撤出中断请求信号,否则机器将认为又发生了1次中断请求。所以

电平触发方式适合于外部中断输入为低电平,且在中断服务程序中能清除该中断源的申请信号的情况。

在边沿触发方式中,如果在INTx端连续采样到1个周期的高电平和紧接着1个周期的低电平,则TCON寄存器中的中断请求标志位IEx就被置位,并由该标志位请求中断。显然,这种

方式的中断请求即使cpu暂时不能响应,中断请求标志由于被保存也不会丢失,而一旦cpu响应中断,进入中断服务程序时,IEx会被CPU自动清除,所以该方式适合于以负脉冲形式输入的外部中断请求。本文中主要运用2个片内定时器/计数器T0和T1的溢出中断

2.1.4.4定时/计数器

在实际的控制系统中常要求有外部实时时钟,以实现定时或延时控制,还要求有外部计数器,

以实现对外界事件进行计数。对于定时/计数器来说,不管是独立的定时器芯片还是单片机内的定时器,大多有以下特点:

(1)定时/计数器有多种工作方式,可以是计数方式也可以是定时方式。

(2)定时/计数器的计数值是可变的,当然对计数的最大值有一定限制,这取决于计数器的位数。计数的最大值也就限制了定时的最大值。

(3)可以按照规定的定时或计数值,在定时时间到或者终止时,发出中断请求,以便实现定时控制。

工作方式0:是一种13位工作方式,由TL1/TL0的低5位和TH1/TH0的8位构成13位计数器(TL1/TL0的高3位无效);

工作方式1:16位工作方式,与工作方式0基本相同,区别仅在于工作方式1的计数器由TL1/TL0和TH1/TH0组成16位计数器,从而比工作方式比工作方式0有更宽的定时/计数范围;

工作方式2:8位自动装入时间常数方式,由TL1/TL0构成8位计数器,TH1/TH0仅用来存放时间常数。启动T1/T0前,TL1/TL0和TH1/TH0装入相同的时间常数,当TL1/TL0计满后,除定时器回零标志TF1置位,具有向CPU请求中断的条件外,TH1/TH0中的时间常数还会自动装入TL1/TL0,并重新开始定时或计数;

工作方式3:2个8位方式,工作方式3只适用于定时器0。如果使定时器1为工作方式3,则定时器1将处于关闭状态。[2]

在本次出租车计费系统的设计中,我们将要采取什么工作方式,可以由以下推导决定:假设计程车轮胎周长为2米,计费按每公里计费制折算:

每公里计费次数=1000/2=500次

故工作方式3和工作方式2的计数宽度达不到设计要求。工作方式0和工作方式1可任选其一,我们不妨采用工作方式1来实现本次设计的计费方案。

51单片机的定时器/计数器采用增量方式计数。当运行于计数器方式时,每当引脚出现下跳沿,计数器自动加1,无论是作定时用还是计数用,当T0或T1加满回零后,定时器回零标志置1。而当允许中断时TF可以申请中断进而在中断服务程序中相应的操作;TF也可以用程序判断定时到或计数满的标志位。

所以我们必须首先确定为达到计数满500次申请中断要求的计数初值,以下给出了计数初值的确定过程:

将10进制数(500)10换算成16进制=1F4H;

对1F4H求补=FE0BH;FE0BH即为计数初值;

故将FEH存放在TH1/TH0,将0BH存放在TL1/TL0。

2.1.5A/D模块D/A模块

自动控制是单片机应用的一个重要领域。在自动控制领域中,除数字量之外经常会遇到另一种物理量,即模拟量,由于计算机只能处理数字量,因此计算机系统中凡遇到有模拟量的地

方,就要进行模拟量向数字量或数字量向模拟量的转换,也就出现了单片机的数/模转换(D/A) 和模/数转换(A/D)的接口问题。现在这些转换器都已集成化,具有体积小,功能强,可靠性高,误差小,功耗低等特点。

模/数转换(A/D)用以实现模拟量向数字量的转换。按转换原理可分为4种:计数式,双积分式,逐次逼近式及并行式A/D转换器。

目前最常用的是双积分式和逐次逼近式。双积分式A/D转换器的主要优点为转换精度高,抗干扰性能好,价格便宜;缺点是转换速度较慢。因此这种转换器主要用于速度要求不高的场合。另一种常用的A/D转换器是逐次逼近式。逐次逼近式A/D转换器是一种速度较快,精度较高的转换器,其转换时间大约在几微妙到几百微妙之间。

典型A/D转换器芯片ADC0809简介

ADC0809的内部逻辑图

8路

模拟量

开关

地址

锁存与译码8位

A/D转换器

三态输出

锁存器

IN0 .

.

.

. IN7

A

B

C

ALE

ST CLK

VR VR

(+) (-)8

OE

EOC

D0

.

.

.

D7

D/A转换器的输入为数字量,经转换后输出为模拟量。有关D/A转换器的技术性能指标很多,如:绝对精度,相对精度,线性度,输出电压范围…….对这些技术性能指标,仅对几个与接口有关的技术性能指标作一介绍。

分辨率,分辨率是D/A转换器对输入量变化敏感程度的描述,与输入数字量的位数有关。

如果数字量的位数为n,则D/A转换器的分辨率为2的负n次方。这就意味着D/A转换器能对满刻度的为2的负n次方输入量作出反应。即是说,数字量的位数越多,分辨率就越高,亦即转换器对输入量变化的敏感程度也就越高。使用时,应根据分辨率的需要来选定转换器的位数。

8位输入寄存器

8位DAC 寄存器

8位D/A 转换器

&

>=1

>=1

D7........D0

ILE

CS WR1

WR2X FER

LE1

LE2

Vref

IOUT2

IOUT1

Rfb

AGND

2.1.6键盘模块

对于8051单片机来说,一般利用p0到p2口中的任意两个口构成多达8*8的键盘,其中1个作为输入口,1个作为输出口。

如果单片机本身的口线已被占用的话则可以外口i/o 接口芯片。

2.1.7系统总图

第三部分软件设计

乘客上车显示起步价6.0元,2km后以1.4元每公里加价。通过键盘操作,使得LCD可以显示路程,费用,速度,时间这四个结果。

用INT0计算脉冲数并转化为路程(lucheng),路程达到100m时给以公里为单位的路程加上0.1即0.1公里。路程达到2km后以1.4元每1000m加价。

用定时器0处理速度计算,定时50ms*20=1s,每秒采样一次脉冲数存放在(count_pluse),并转化为速度(sudu),在LED上显示出来且每秒刷新一次。

附录:软件设计

#include

#define uchar unsigned char

#define uint unsigned int

xdata uchar addr_8155 _at_ 0x7f00;

xdata uchar addr_8155a _at_ 0x7f01;

xdata uchar addr_8155b _at_ 0x7f02;

xdata uchar addr_8155c _at_ 0x7f03;

uchar

table[15]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0x89,0x86, 0xC7,0xFF};

//共阳七段码表,0~14,前10个为数字0~9,10'-',11'H',12'E',13'L',14空

uchar disp_date[8];//led上显示的 8个数字

uchar count_pluse=0;//脉冲计数

uchar disp_state=3;//1复位,2费用和时间,3路程和速度

uchar num=20;//配合计数器0实现1s定时

uint wait_time=0,chengche_time=0;//等待时间s

float lucheng,sudu,jijia;

bit flag=0;//1,计算价格和时间;0,停止

void disp();

void delay(uint x);

void get_disp(float d1,float d2);

uchar keyscan();

void main()

{

uchar key;

addr_8155=0x03;//8155控制字

TMOD=0x11; //timer0完成1s定时,timer1显示定时,方式1 TH0=-(50000/256);

TL0=-(50000%256);//50ms

TH1=-(20000/256);

TL1=-(20000%256);//20ms

IP=0x09;//中断优先级,PX0=1,PT1=1,PT0=0

IT0=1;// out int0 跳变边沿触发

EX0=1;

ET0=1;

ET1=1;

EA=1;//打开相关中断

TR0=1;

TR1=1;//TIMER 启动

while(1)//按键控制,改变状态和显示

{

key=keyscan();

if(key==1)

{ disp_state=1;flag=0;//复位,显示0000 0000

while(key!=2)

key=keyscan();

wait_time=0;//启动计价,计算候时

chengche_time=0;

lucheng=0;

jijia=0;

flag=1;

while(key!=1)

{

key=keyscan();

switch(key)

{case 3:disp_state=2;break;

case 4:disp_state=3;break;

default:disp_state=2;break;

}

}

}

}

}

void out_int0() interrupt 0

{

count_pluse++;

}

void timer0_int() interrupt 1

{ float wait_jijia;

TH0=-(50000/256);

TL0=-(50000%256);//重载初值

num--;

if(num==0)

{

num=20;

//计算各各参数,根据count_pluse

sudu=1.25*count_pluse*3.6;//1.25周长,3.6为M/S到KM/H的转换 lucheng+=1.25*count_pluse;//m,单位

if(flag==1) {

chengche_time++;//s,单位

if(count_pluse<4.5)

wait_time++;//s,单位

if(lucheng/1000<3)

jijia=7;

else {wait_jijia=(uchar)(wait_time/10);

jijia=7+1.5*lucheng/1000+0.1*wait_jijia;//元,单位 }

}

count_pluse=0;

}

}

void timer1_int() interrupt 3

{ uchar i;

TH1=-(20000/256);

TL1=-(20000%256);//重载初值

switch(disp_state)//参数转化然后显示

{case 1:disp_date[0]=0;

disp_date[1]=0;

disp_date[2]=0;

disp_date[3]=0;

disp_date[4]=0;

disp_date[5]=0;

disp_date[6]=0;

disp_date[7]=0;

break;// 0000 0000 ;

case 2:get_disp(jijia,chengche_time/60);break;

case 3:get_disp(lucheng/1000,sudu);break;

default:

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

disp_date[i]=14;break;//不合规则,显示nothing

}

delay(8);

disp();

}

void disp()

{

出租车计费系统的设计好

1.所选题目:出租车计费器 2.设计要求:设计一个出租车计费器,能按路程计费,具体要求如下: (1)实现计费功能,计费标准为:按行驶里程计费,起步价为7.00元,并在汽车行驶2km 后按1.2元/km 计费,当里程数达到15km 后,没千米加收50%的空驶费,车辆停止和暂停时不计费。 (2)现场模拟汽车的启动、停止、暂停和换挡等状态。 (3)设计数码管显示电路,将车费和路程显示出来,各有1位小数。 3.设计原理:设计该出租车有启动键、停止键、暂停键和档位键。启动键为脉冲触发信号,当其为一个脉冲时,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)以此来实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用于改变车速,不同的档位对应着不同的车速,同时路程计数的速度也不同。 4.模块设计:出租车计费器可分为两大模块,即控制模块和译码显示模块。系统框图如下: 5.电路符号:出租车计费器的输入信号有:计费时钟脉冲clk ;汽车启动键start ;汽车停止键stop ;档位speedup 。输出信号:7段显示控制信号seg7;小数点dp 。 6.具体设计流程: (1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA ,counterB ,counterC ,counterD ,counterE 。①计数器A 完成车费百位。②计数器B 完成车费十位和个位。③计数器C 完成车费角和分(显示时只显示角)。④计数器D 完成计数到20(完成车费的起步价)。⑤计数器E 完成模拟实现车行驶100 m 的功能。 计费时钟 档位 启动 控制模块 显示模块 暂停 停止

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

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

推荐-基于FPGA出租车计费系统的设计 精品

南京大学金陵学院 本科毕业 院系信息科学与工程系 专业电子信息科学与技术 题目基于FPGA出租车计费系统的设计 提交日期20XX年6月3 日

摘要 通过出租车计费系统的设计,详细介绍了如何使用硬件描述语言Verilog HDL设计复杂逻辑电路的步骤和过程,以及应用美国ALTERA公司的Quartus II 9.0软件进行系统设计、仿真和下载实现的方法。通过设计,可以看到在EDA平台上用CPLD器件构成该数字系统的设计思想和实现过程。论述了计费模块、时钟模块、动态显示模块、计费形式判断模块、控制模块等的设计方法和技巧。 关键词:CPLD/FPGA; 电子自动化设计; Verilog HDL硬件描述语言; 出租车计费器; Quartus II 9.0软件

ABSTRACT Taxi billing system through the design, details how to use the hardware des-cription language Verilog HDL design plexity and the process logic and the applicatio-n of the U.S. pany's Quartus II 9.0 ALTERA software system design, simulation, anddownload the realization of the method. By design, you can see in the EDA platform usi-ng CPLD devices constitute the digital system design and implementation process. Discuss-es the billing module, clock module, dynamic display module, billing forms to judge mod-ule, control module and other design methods and techniques. Keywords: CPLD/FPGA; EDA; Verilog HDL; Taxi Billing Machine; Quartus II 9.0

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

出租车计价器课程设 计

大学 《单片机应用与仿真训练》设计报告 出 租 车 计 价 器 姓名: 学号: 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、单片机模块

出租车自动计费系统

课程设计

东北石油大学课程设计任务书 课程EDA技术课程设计 题目出租车自动计费系统 专业电子信息工程姓名邵文瀚学号080901140717 主要内容、基本要求、主要参考资料等 主要内容: 设计一个最大量程为99.99元的出租车自动计费,计费器具有行车里程计费、等候时间计费及起价三部分功能,并用数码管显示车费的数目。 基本要求: 1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99.99元; 2、行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价3元(3公里起价)均能通过人工输入。 3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置。例如单价是1.0元/公里,则脉冲当量为0.01元/脉冲。 4、用LED显示行驶公里数,两个数码管显示收费金额。 主要参考资料: [1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006. [3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003. 完成期限2011.3.11 指导教师 专业负责人 2011年3月7日

一、总体设计思想 1.基本原理 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用8段数码显示管。 大体设计思路为把传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,系统结构图如图。 2.设计框图 根据计费器设计要求,可将该系统分成四大模块,一块为计费模块,一块为时间计时模块,一块为路程控制模块,另一块为输出显示模块。

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

时序逻辑电路课程设计 引言: 我们组选择了题目一,设计出租车计价器,通过对课本、资料的查阅,再经过构思,设计,搭建电路,仿真,得出了结果,虽然不够完美,但是也掌握了一些知识,增加了对各种原件的印象。下文将详细给出设计。 一、资料查阅 通过参考数字电路课本,以及数字电路实验书,再经过网络查阅,也参考了网上有的类似的设计,想出了电路的基本思路。 二、对于要求的实现 要求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,以里程脉冲作为时钟信号执行计数功能,从预制的数字开始计数。

出租车计费系统的设计 毕业设计论文

目录 摘要 (1) 第1章绪论 (2) 第2章系统设计 (3) 2.1系统组成 (3) 2.1.1 计费及显示 (3) 2.1.2 时钟及显示 (3) 2.1.3 计费开始提示 (1) 2.2功能模块设计 (1) 第3章硬件及软件实现 (3) 3.1传感器 (3) 3.1.1 光电传感器电路设计 (3) 3.1.2车轮光电开关检测电路 (4) 3.2单片机 (4) 3.2.1 8051 单片机功能方块图 (5) 3.2.2 AT89S51单片机简介 (7) 3.2.3 AT89S5l与51系列单片机相比具有如下特点 (8) 3.2.4 89S51的内部框图 (9) 3.2.5 中断控制 (11) 3.2.6 单片机控制程序设计 (12) 3.2.7 单片机汇编语言源程序 (16) 3.3显示及按键控制系统 (31) 3.3.1 LED数码管 (31) 3.3.2 数据显示电路的设计 (32) 第4章系统检测及分析 (34) 4.1系统仿真/硬件验证 (34) 4.1.1 系统的调试方法 (34) 4.1.2 系统的硬件验证 (34) 4.2设计技巧分析 (35) 结论 (36) 附录A: FPGA芯片引脚 (37)

摘要 本系统电源电压为+16V,速度传感器具有汽车每运行1㎞提供1000个脉冲信号的特性。显示器可以采用LED数码管。系统采用单片机和FPGA的结合进行系统的主体设计,测控FPGA芯片通过采集传感器脉冲信号WCLK进行里程计算,里程计费,利用外部脉冲信号SCLK产生标准时钟信号,以计算等待时间,等待费用,并产生里程标志(LCBZ),等待标志(DDBZ),熄灯标志(XDBZ)等有关控制标志信号,同时根据单片机发出的开始信号(START),时段标志(SDBZ),传输数据选择(SEL)等控制信号将有关计算结果传送给FPGA芯片。单片机MCU除了完成键盘扫描,显示控制外,还通过P0口与FPGA进行数据交换,并向测控FPGA芯片发出有关控制信号。本设计方案利用单片机和FPGA的结合,发挥它们各自的长处,分工清晰,实际使用和操作符合大众逻辑,容易被人接受。而且,单片机丰富的I/O口和FPGA 模块化的设计为系统功能的扩展提供了空间和便利。 关键词计费系统,单片机,FPGA芯片

出租车系统设计

出租车计费系统设计 功能分析 本设计主要介绍了出租车计费系统的设计思路和过程,并给出了所涉及的相关知识的详细介绍。EDA技术应用,单片机的功能及应用,传感器检测技术,VHDL编程语言及汇编语言程序,显示系统设计及按键控制, 目前,普遍的出租车计费器仅仅具有时钟,起步价,里程计费,等待计费及显示几个功能。其发展前景是可观的,将来的产品除具有这些功能外,另外还可增加如下功能:防作弊功能,IC卡付费:顾客能在制定点购买一定额度的"顾客IC卡",乘车后可用IC卡付帐,付帐是否成功有相应的提示。车主可定期将总营业额写入"车主IC卡"中,并据此IC卡向所属公司领取报酬。车票资料打印:顾客付费后可打印发票,打印内容包括车主信息和车费信息等。可打印车主总营业额信息。语音播报:当乘客上车时,可自动问候乘客,当到达目的地,自动播报乘车费用并礼貌再见,表达希望下次乘坐的意思。增加的这些功能将会更好地为乘客服务。 计费及显示 ①里程,即汽车行程里程,用四位数字显示,显示方式为"XXX.X",单位为㎞,精确到0.1 ㎞。 ②单价,即里程单价,用三位数字显示,显示方式为"X.XX",单价为元/㎞,根据每天不同的时间段有两种情况:当时间段为06:00~23:00时单价为1.4元/㎞,其他时间段内单价为1.80元/ ㎞。 ③等候时间,用四位数字显示分钟和秒,显示方式为"XX:XX",等候的定义是:当汽车行驶速度小于或等于12㎞/h时为"等候"。在等候时间大于1小时的情况下,可以不显示等候时间,但必须对等候时间进行统计计算。

④等候单价,等候单价有两种情况:在等候时间小于1小时的情况下,等候单价为1元每5分钟;在等候时间大于1小时的情况下,等候单价为20元每小 时。 ⑤费用的计算,出租车的起价为5.00元,当里程小于2㎞时,按起价计算费用;当里程大于2㎞时按下式计算费用:费用=里程*里程单价+等候时间*等候单价。 ⑥费用的显示,用五位数字显示,显示方式为"XXX.XX",单价为元。 时钟及显示 当出租车在通常运行状态下,应能显示当前的时间,在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟. 计费开始提示 当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。 功能模块设计 根据系统的设计要求,将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。 分频器模块FPQ:将外部时钟信号SCLK(设计时假设为1024HZ)经过适当分频后,产生1HZ的系统工作用基准时钟信号CLK1HZ,供给系统中的有关模块计时用。 等待判别模块DDPB:根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,计算单位时间里WCLK的脉冲个数(每㎞产生1000

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

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 掌握电子电路的一般设计方法和设计流程; 2 学习使用PROTEL软件绘制电路原理图及印刷板图; 3 掌握应用EWB对所设计的电路进行仿真,通过仿真结果验证设计的正 确性。 二、设计要求 设计一个出租车计费系统,具体要求如下: 1. 能够实现计费功能。按照太原出租车的计费标准。 2.能够实现显示功能。分别用四位数字显示行驶里程和总费用,计价分辨率为0.1元。 三、设计内容 1 设计过程 1)使用PROTEL软件绘制原理图。 2)制作PCB版图。 3)应用EWB对所设计的电路进行仿真。 2 设计框图 (1) 各个模块的功能说明 -74160,是一个4位二进制的计数器,它具有异步清除端与同步清除端不同的是,它不受时钟脉冲控制,只要来有效电平,就立即清零,无需再等下一个计 数脉冲的有效沿到来。 具体功能如下: 1.异步清零功能 只要(CR的非)有效电平到来,无论有无CP脉冲,输出为“0”。在图形符号中,

CR的非的信号为CT=0,若接成七进制计数器,这里要特别注意,控制清零端的 信号不是N-1(6),而是N(7)状态。其实,很容易解释,由于异步清零端信号 一旦出现就立即生效,如刚出现0111,就立即送到(CR的非)端,使状态变为 0000。所以,清零信号是非常短暂的,仅是过度状态,不能成为计数的一个状态。 清零端是低电平有效。 2.同步置数功能 当(LD的非)为有效电平时,计数功能被禁止,在CP脉冲上升沿作用下D0~ D3的数据被置入计数器并呈现在Q0~Q3端。若接成七进制计数器,控制置数 端的信号是N(7)状态,如在D0~D3置入0000,则在Q0~Q3端呈现的数据 就是0110。 7448七段显示译码器 7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。该集成显示译码器设有多个辅助控制端,以增强器件的功能。 7448的功能表如表5.3.4所示,它有3个辅助控制端LT、RBI、BI/RBO,现简要说明如下: 1. 灭灯输入BI/RBO BI/RBO是特殊控制端,有时作为输入,有时作为输出。当BI/RBO作输入使用且BI =0时,无论其它输入端是什么电平,所有各段输入a~g均为0,所以字形熄灭。 表5.3.4 7488功能表

出租车计费系统

课程设计报告项目名称:出租车计价器设计与制作 课程名称:单片机技术 二级学院:电气与电子工程学院 系:电气工程系 班级:14电气4班 学号:29 学生姓名:黄凌周 小组成员:刘智超黄凌周 指导教师:钟立华 成绩:

报告完成日期2016年12月20日 目录 摘要2 1 课程设计任务书3 1.1 课程设计任务3 1.2 课程设计方案3 2硬件电路设计4 2.1 振荡电路4 2.2 复位电路设计5 2.3 键盘接口电路5 2.4 显示电路6 2.4.1 1602LCD的基本参数及引脚功能6 2.4.2 显示模块采用1602液晶显示接口电路7 2.5 单片机各引脚功能说明7 3软件设计10 3.1 单片机资源使用10 3.2 单片机软件模块设计10 3.2.1 中断子函数10 3.2.2 判键子函数11 3.2.3 显示子程序11 3.3 总程序流程框图12 总结13 参考文献14 附录1 元件件清单15

附录2原理图16 附录3 程序清单17 摘要 本设计的是一个基于单片机STC89C52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。 在上电时字符型液晶1602显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。通过按键模拟出租车的运行,暂停,停止。在1602液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。在这里主要是以STC89C52单片机为核心控制器,P1口接1602液晶显示模块。 关键字STC89C52;1602液晶;出租车计费器

出租车计费系统的设计

摘要

The design of taxi billing system Abstract The design is for a multi-function taxi meter billing system. It can complete a variety of billing functions and can be charged by one kilometer. The fare and distance will be displayed by dynamic scanning circuit. This design uses hardware description language VHDL. It researches on the EDA software platform and the design uses the software of Quartus II as a development platform, using top-down design method. This taxi meter billing system based on FPGA is made up of four basic blocks. The main chip of the system is EP1K100QC208-3 which is made by the company of ALTERA .The system is made up of frequency module, mileage count module, billing module and dynamic scanning module. The program we designed can be compiled and simulation, then it can be downloaded to the FPGA / CPLD chip. The results show that the system can complete a variety of fare functions and will be displayed at the same time. It’s also able to simulate the taxi start, stop and suspend state. Keyword:Billing system; hardware description language; FPGA; display

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

单片机出租车计价器课程 设计 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

EDA课程设计(论文)-出租车计费系统verilog语言模板

摘要 摘要: 出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用FPGA进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。 设计好之后,用1602液晶显示器,显示你想要显示的数据。 关键词:出租车计价器控制 1602

目录 绪论 (3) 第一章系统设计 (4) 1出租车计费系统的概述: (4) 2设计的意义 (4) 3统设计要求 (4) 第二章系统设计方案 (5) 第三章主要模块 (6) 1 时间模块: (6) 2路程模块: (7) 3计费模块: (8) 4速度模块: (9) 5总的框图为: (10) 第四章硬件实现 (11) 1系统的调试方法 (11) 2系统调试的软/硬件 (11) 3 系统调试显示结果 (11) 小结 (13) 谢辞 (14) 参考文献: (15) 附录 (16) 程序: (16)

绪论 近年来,我国出租汽车行业迅猛发展,出租汽车已成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。它对繁荣经济、促进发展、方便群众、改善交通起到了积极作用。出租汽车对我国人民物质和文化生活影响之大、作用之广是前所未有的。出租汽车行业的服务水平和程度已经成为现代化的重要标志。 出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运。出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器量值准确与否,直接关系到经营者和消费者的经济利益,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、IC卡付费、语音报话、和电脑串行通信等功能,而这些与电子技术的发展是分不开的。 二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI 的过程。同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。

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