文档库 最新最全的文档下载
当前位置:文档库 › 出租车计费器

出租车计费器

出租车计费器
出租车计费器

以下内容根据各专业特点自行确定(如条件、资料、内容、任务、进度安排及要求等):1.设计主要内容及要求

出租车自动计价器EDA设计

1)简要说明

用EDA软件设计一个出租车自动计价器。完成出租车计价计数。

2)任务和要求

设计一个出租车计价器,该计价器的计费系统:行程3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外,以每分钟1.5元计费。并能显示行驶公里数、等待累计时间、总费用。设计指标如下:计价范围:0-999.9元计价分辨率为:0.1元

计程范围:0-99公里计程分辨率:1公里。计时范围:0-59秒计时分辨率:1分。要给出时钟信号,等待信号,公里脉冲,复位端,和相应的显示。分别设计分频模块,控制模块,计量模块,译码和动态扫描显示模块。显示通过数码管显示。

3)训练目标

具备硬件编程语言VHDL设计数字系统的初步能力,熟悉开发环境和流程,掌握技术方法。

2.对设计说明书、论文撰写内容、格式、字数的要求

1)课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。

2)学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。

3)说明书(论文)手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。

4)课程设计说明书(论文)装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。

3.时间进度安排;

摘要

随着微电子技术和计算机的飞速发展与进步,使得电子系统的设计和应用进入了一个全新时代。传统的手工设计过程正在被先进的电子设计自动化(EDA)技术所取代。目前EDA技术已经成为支撑现代电子设计的通用平台,并且逐步向支持系统级设计发展。只有以硬件描述语言(HDL)和逻辑综合为基础的自顶向下的设计方法才能满足日趋复杂的数字系统设计需求。出租车行业的逐步发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确有防作弊功能;而且由于油价的不稳定因素,计费系统需要经常调整,因此用户要求计费器能在不改变硬件的情况下,方便修改计费系统.

该系统利用VHDL语言,它可以利用数字电路与系统的描述、仿真和自动设计,并以MAX+PLUSⅡ软件作为开发平台,设计了出租车计费器系统程序并进行了程序仿真。使其实现计费以及预置和模拟汽车启动、停止、暂停等功能,并动态扫描显示车费数目。

关键词计费器,VHDL

Abstract

Microelectronics and computer technology along with the rapid development and progress, making the design of electronic systems and applications have entered a new era. The traditional manual design process is being advanced electronic design automation (EDA) technology to replace. EDA is currently supporting modern technology has become the universal platform for electronic design, and step by step to support the development of system-level design. Only to hardware description language (HDL) and logic synthesis-based top-down design methodology to meet the increasingly complex needs of digital system design. The progressive development of the taxi industry, the taxi meter is getting higher and higher requirements, the user requires not only the performance of the stability of billing, billing and accurate anti-cheat functions; and as a result of the instability in oil prices, billing system the need for regular adjustment of the meter so that users can request not to change the hardware to facilitate the billing system modifications.

The system is the use of VHDL language, it can make use of digital circuits and system description, simulation and automatic design, and MAX + PLUS Ⅱsoftware as a development platform designed billing system procedures taxi and carried out a simulation program. To the achievement of pre-billing and simulation, as well as car to start, stop, pause and other functions, and dynamic scan shows the number of fares.

Key Words:charge machine,VHDL

目录

摘要...............................................................................................................................I Abstract ...................................................................................................................... II 1 引言. (1)

1.1课题的意义 (1)

1.2课程设计的基本要求 (1)

1.3 本设计的基本原理描述 (1)

1.4程设计的主要工作内容和结构安排 (2)

1.5 EDA设计技术的发展史 (2)

1.5.1 EDA设计技术的主要内容 (3)

1.5.2 EDA设计技术的基本特征 (3)

2 系统设计 (5)

2.1本课程设计的基本方案 (5)

2.2 层次设计的方案 (6)

2.2.1 分频模块的设计 (6)

2.2.2 计量模块的设计 (6)

2.2.3 译码模块的设计 (6)

2.3计费器电路的顶层设计和仿真 (6)

2.3.1出租车自动记费系统的主体电路设计及仿真 (6)

2.3.2 扫描显示电路设计及仿真 (10)

3 出租车计费器顶层电路的设计和仿真 (16)

结论 (17)

致谢 (18)

参考文献 (19)

附录 (20)

1 引言

1.1课题的意义

随着电子技术的发展,目前数字系统的设计科技直接面向用户需求,根据系统的行为和功能要求,自顶向下地逐层完成相应的描述、综合、优化、仿真与验证,直至对器件的配置/编程;这种在系统编程技术(ISP)的设计方法,可以大大地缩短系统的开发周期.而由美国国防部开发的VHDL语言已由IEEE标准化,并成为国际上通用的硬件描述语言.

计费系统在各大,中城市出租车使用中越来越广泛.针对现有计费系统通用性差的缺陷,采用VHDL语言可以开发出租车计费系统:该计费系统的可靠性高,成本低,通用性强.该系统在不改变硬件电路的前提下,具有可以重建系统的功能:采用完全相同电路结构,只要根据各地区的需求在VHDL程序中设置个参数,就可以适应各地区出租车不同计费标准的需要,还可根据各地区需求增加其他功能.

1.2课程设计的基本要求

设计一个出租车计价器,该计价器的记费系统:车起步开始计费。首先显示起步价(首次设计起步费为10.0元),车在行驶3 km以内,等待累计时间3分钟内,只收起步价10.0元。车行驶超过3 km后,按每公里1.6元计费(在10.0元基础上每行驶1 km车费加1.6元),车费依次累加。等待累计时间超过2分钟,按每分钟1元计费(在10.0元基础上每等待1分钟加1.5元),车费依次累加。并且能显示行驶公里数,等待累积时间,总费用.用两位数码管显示总里程,最大为99公里;用两位数码管显示等待时间,最大值为59min.

总费用=起步费+(里程-3 km)*里程单价+等待时间*等待单价

1.3 本设计的基本原理描述

考虑到目前电子产品的微型化以及模块化,该系统以CPLD芯片为核心硬件,主要采用EDA(电子设计自动化)技术通过其特有的VHDL硬件描述语言对其进行程序编写,以软件设计实现对外界数据的采集反馈来完成其主要的计价,计程,计时功能,并且见所需要的数据信息结合硬件设备想外围电路给予输出.

各部分主要功能包括:信号输入模块,数据模块(将记费模块输出的车费和路程转换成4位的十进制数据),译码/动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动译码管;数码管显示模块将公里数,累计等待时间和记费金额均用数码管显示。

1.4程设计的主要工作内容和结构安排

本文主要研究的是出租车计费系统中各个模块的设计,并为后续研究奠定基础。本文的章节结构如下:

第一章绪论,其中介绍了课题背景,语音识别的发展与现状,以及语音识别的分类方法。

第二章对计费器的原理及实现进行了深入的研究,其中包括时间模块,计费模块,计程模块三大部分等。

本文最后为结论。

1.5 EDA设计技术的发展史

EDA技术伴随着计算机,集成电路,电子系统设计的发展,经历了计算机辅助设计(Computer-Aided Design, CAD),计算机辅助工程设计(Computer-Aided Engineering Design,CAED)和电子设计自动化(EDA)3个发展阶段。

(1)20世纪70年代的计算机辅助设计(CAD)阶段

早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入到大量选用中小规模标准集成电路阶段。人们将这些器件焊接在电路板上,做成初级电子系统,对电子系统的调试是在组装好的印刷电路板(Printed Circuit Board,PCB)上进行的。

由于设计师对图形符号使用数量有限,传统的手工布图方法无法满足产品复杂性的要求,更不能满足工作效率的要求。这时,人们开始将产品设计过程中高度重复性的繁杂劳动,如布图布线工作,用二维图形编辑与分析的CAD工具替代,最具代表性的产品就是美国Accel公司开发的Tango布线软件。由于PCB 布图布线工具受到计算机工作平台的制约,其支持的设计工作有限且性能比较差。20世纪70年代,可以说是EDA技术发展的初期。

(2)20世纪80年代的计算机辅助工程设计(CAED)阶段

初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计的。随着微电子工艺的发展,相继出现了集成上万只晶体管的微处理器,集成几十万直到上百万存储单元的随机存储器和只读存储器。此外,支持定制单元电路设计的硅编辑,掩模编程的门阵列,如标准单元的半定制设计方法以及可编程逻辑器件(PAL 器件和GAL器件)等一系列微结构和微电子学的研究成果都为电子系统的设计提供了新天地。因此可以用少数几种通用的标准芯片实现电子系统的设计。

(3)20世纪90年代电子设计自动化(EDA)阶段

20世纪90年代,设计师逐步从使用硬件转向设计硬件,从单个电子产品开发转向系统级电子产品开发片上系统(SOC)。因此EDA工具是以系统级设计为

核心,包括系统行为级描述与结构综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子设计自动化工具。

1.5.1 EDA设计技术的主要内容

如果把EDA的主要内容和传统绘画过程相比较,那么在开始绘画之前,我们必须准备好纸和笔墨,这里的白纸就相当于我们的设计载体——大规模可编程逻辑器件;绘画所使用的笔墨就好像是我们的软件开发工具;绘画的方式相当于我们的输入方式。由此可见,EDA技术主要包括三部分的内容:①大规模可编程逻辑器件(白纸);②软件开发工具(笔墨);③输入方式(方式)。

1.5.2 EDA设计技术的基本特征

一般来说,EDA设计技术就是指以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以可编程逻辑器件为实验载体,以ASIC 和SOC芯片为设计目标,以电子系统设计为应用方向的电子产品自动化设计过程。通常,EDA设计技术的基本特征主要包括以下几方面:

(1)自顶向下的设计方法

传统的硬件电路设计中常常采用自底向上的设计方法,它首先用来定义设计系统的子模块,同时还进行子模块的具体设计,然后再根据设计的总体要求,将各个功能子模块合成,以完成硬件的总体设计。

随着数字系统规模的不断扩大,自顶向下的设计方法由于其独特的优越性,从而在各种设计方法中脱颖而出,成为目前数字系统设计中常用的设计方法。自顶向下的设计方法实际上就是基于芯片的系统设计方法,它在功能划分,任务分配和设计管理上等方面具有一定的优越性。与传统的自底向上的设计方法比,自顶向下的设计方法有助于在设计的早期发现结构设计中的错误,提高设计的一次成功率。

EDA技术的基本特征之一是采用自顶向下的设计方法。自顶向下的设计方法就是从设计的总体要求出发,自顶向下的将设计划分为不同的功能子模块,每个功能子模块完成一定的逻辑功能。这种设计方法首先设计顶层模块,进行顶层模块的设计,然后将顶层模块中逻辑功能划分成不同的功能子模块,再进行功能子模块的详细设计。

(2)硬件描述语言

随着大规模专用集成电路(ASIC)的开发和研制,为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发时间,各ASIC研制和生产厂家相继开发了用于各自目的的硬件描述语言,采用硬件描述语言进行电子系统设计是当前发展的趋势。

所谓硬件描述语言就是指对硬件电路进行行为描述,寄存器传输描述或者结构化描述的一种新兴语言,它能比传统的电路原理图更有效的表示硬件电路的特

性。硬件描述语言的特征是科技借鉴高级程序语言设计的具体方法,从而可以对硬件电路的行为和功能结构进行高度抽象化的描述。

硬件描述语言也可以对硬件电路的设计进行不同层次,不同领域的模块验证和综合优化等处理,从而实现硬件电路设计的高度自动化。采用硬件描述语言来设计硬件电路可以大大节省人力和物力,缩短研制周期,适应于小批量产品开发,也适用于大批量产品的样品研制,因而得到了广泛的应用。

在目前的电子设计中,设计人员采用的最有代表性的硬件描述语言是美国国防部开发的VHDL语言。

(3)逻辑综合和优化功能

逻辑综合功能是将较高层次的抽象描述转化到较低级别抽象的一种方法,简单地说,就是将设计的描述转化成底层电路表示。在进行综合时,综合程序将设计描述转化为数据结构,将设计的行为描述转化为寄存器传输级(RTL)描述,然后将RTL描述转换到门级。

从RTL描述转换到门级通常需要3步:首先将RTL描述转化为布尔描述,然后通过一个优化过程将布尔描述转化成优化的布尔描述,最后将优化的布尔描述映射到门级,即生成网表或一种逻辑方程。

优化功能是指根据布尔方程功能等效的原则,利用逻辑综合生成的结果采用更小更快的综合结果代替一些复杂的单元,然后根据制定的目标可以映射成新的网表或者一组逻辑方程。设计人员经常采用的一种优化方法是先将非优化的布尔描述转换成最低级描述(pla格式),然后再采用pla优化技术对这种描述进行优化,最后再尝试使用共享公共项去减少逻辑门的个数。优化的作用是将电路设计的时延缩短到最小和有效利用资源。几乎所有的EDA综合工具都可以利用约束条件对电路设计进行优化。一般情况下,常用约束条件主要包括时间约束和面积约束。

(4)开放性和标准化

一般来说,框架是一种软件平台结构,它的主要功能是为EDA工具提供相应的操作环境。框架的关键在于提供与硬件平台无关的图形用户界面,工具之间的通信,设计数据和设计流程的管理等,另外框架还包括各种与数据库相关的服务项目。

任何一个EDA工具系统只要建立了一个符合标准的开放式框架结构,那么它就可以接纳其他厂商的EDA工具一起进行相应的设计工作。作为一套使用和配置EDA工具软件包的规范,框架可以实现各种EDA工具间的优化组合,并集成在一个易于管理的统一的环境之下,目的是实现资源共享。

随着硬件描述语言等设计数据格式的逐步标准化,不同设计风格和应用的要求导致各具特色的EDA工具被集成在同一个工作站上,从而使EDA框架标准化。如今,新的EDA 工具系统不仅能够实现高层次的自动综合逻辑和测试码的生成,而且还可以用各个仿真器对同一设计进行协同仿真,进一步提高EDA系统的工作效率和设计的正确性。

2 系统设计

2.1本课程设计的基本方案

CPLD具有用户可编程,时序可预测,速度高和容易使用等优点.而且CPLD的可编程性,使修改和产品升级变的方便.用户可以根据原理图或硬件面熟语言自由地设计一个数字系统.然后通过软件仿真事先验证设计的正确性.采用VHDL 语言进行软件编程,利用MAX+PLUSⅡ软件平台进行设计输入,项目处理,项目效验及器件编程等.设计出入可以采用原理图输入,文本输入,波形输入或第三方EDA工具形成.

根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块,计量模块,译码和动态扫描显示模块。

图2.1出租车自动计费器系统框图

2.2 层次设计的方案

2.2.1 分频模块的设计

分频模块对频率为240HZ的输入脉冲进行分频,得到的频率为16HZ、15HZ 和1HZ的3中频率。该模块产生频率信号用于计费,每个1HZ脉冲为0.1元计费控制,15HZ信号为1.5元的计费控制,16HZ信号为1.6元计费控制。

2.2.2 计量模块的设计

计量控制模块是出租车自动计费器系统的主题部分,该模块主要完成等待计时功能,计价功能,计程功能,同时产生3分钟的等待计时使能控制信号en1、行程3公里外的使能控制信号en0。其中计价功能主要完成的任务是:行程3公里内,切等待累计在3分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间3分钟外以每分钟1元计费。计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量自动归零。计程功能主要完成的任务是:计算乘客所行驶的公里数,计程器的量程为99公里,满量自动归零。

2.2.3 译码模块的设计

该模块经过8选1选择器将计费器数据、计时数据、计程数据动态显示输出。其中计费数据送入显示译码模块进行译码,最后送至以百元、十元、元、角为单位对应的数码管上显示,最大显示为999.9元;计时数据送入显示译码模块进行译码,最后送至一分为单位对应的数码管上显示,最大显示为59分;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。

2.3计费器电路的顶层设计和仿真

2.3.1出租车自动记费系统的主体电路设计及仿真

根据上述各个模块功能描述,该电路的核心部分就是记数分频电路,通过VHDL语言的顺序语句IF-THEN-ELSE根据一个或一组条件来选择某一特定的执行通道,生成计费数据,计时数据和里程数据

具体程序如下:

LIBRARY IEEE;

USE IEEE. std_logic_1164.all;

USE IEEE. std_logic_unsigned.all;

USE IEEE. std_logic_arith.all;

ENTITY taxi is

port (clk_240 :in std_logic;

start :in std_logic;

stop :in std_logic;

fin :in std_logic;

cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0);

km1,km0:out std_logic_vector(3 downto 0);

min1,min0:out std_logic_vector(3 downto 0));

end taxi;

architecture behav of taxi is

signal f_15,f_16,f_1:std_logic;

signal q_15:integer range 0 to 15;

signal q_16:integer range 0 to 14;

signal q_1:integer range 0 to 239;

signal w:integer range 0 to 59;

signal c3,c2,c1,c0:std_logic_vector(3 downto 0);

signal k1,k0:std_logic_vector(3 downto 0);

signal m1:std_logic_vector(2 downto 0);

signal m0:std_logic_vector(3 downto 0);

signal en1,en0,f:std_logic;

begin

feipin:process(clk_240,start)

begin

if clk_240'event and clk_240='1'then

if start='0' then

q_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';

else

if q_15=15 then q_15<=0;f_15<='1';

else q_15<=q_15+1;f_15<='0';

end if;

if q_16=14 then q_16<=0;f_16<='1';

else q_16<=q_16+1;f_16<='0';

end if;

if q_1=239 then q_1<=0;f_1<='1';

else q_1<=q_1+1;f_1<='0';

end if;

if en1='1'then f<=f_15;

elsif en0='1'then f<=f_16;

else f<='0';

end if;

end if;

end if;

end process;

main:process(f_1)

begin

if f_1'event and f_1='1'then

if start='0'then

w<=0;en1<='0';en0<='0';m1<="000";m0<="0000";k1<="0000";k0<="000 0";

elsif stop='1'then

if w=59 then w<=0;

if m0="1001"then m0<="0000";

if m1<="101"then m1<="000";

else m1<=m1+1;

end if;

else m0<=m0+1;

end if;

if m1&m0>"0000010"then en1<='1';

else en1<='0';

end if;

else w<=w+1;en1<='0';

end if;

elsif fin='1'then

if k0="1001"then k0<="0000";

if k1="1001"then k1<="0000";

else k1<=k1+1;

end if;

else k0<=k0+1;

end if;

if k1&k0>"00000010"then en0<='1';

else en0<='0';

end if;

else en1<='0';en0<='0';

end if;

cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0;

km1<=k1;km0<=k0;min1<='0'&m1;min0<=m0;

end if;

end process main;

process(f,start)

begin

if start='0'then c3<="0000";c2<="0001";c1<="0000";c0<="0000";

elsif f'event and f='1'then

if c0="1001"then c0<="0000";

if c1="1001"then c1<="0000";

if c2="1001"then c2<="0000";

if c3="1001"then c3<="0000";

else c3<=c3+1;

end if;

else c2<=c2+1;

end if;

else c1<=c1+1;

end if;

else c0<=c0+1;

end if;

end if;

end process;

end behave;

该源程序包括3个进程模块.feipin进程对频率为240HZ的输入脉冲进行分频,得到的频率为16HZ,15HZ和1HZ的3种记费频率信号,供main进程和jifei 进程进行记费,记时,记程之用;main进程完成等待记时功能,记程功能,该模块将等待时间和行驶公里数变换成脉冲个数计算,同时产生2分钟的等待记时使能控制信号en1,行驶3公里外的使能控制信号en0;jifei进程将起步价10元预先固定在电路中,通过对记费脉冲个数的统计计算出整个费用数据.

源程序中输入信号fin是汽车传感器提供的距离脉冲信号:start为汽车计价启动信号,当start=1时,表示开始计费(高电平有效),此时将计价器计费数据初值100(即10.0元)送入,计费信号变量(cha1cha2cha3cha0=0080),里程数清零(km1km0=00),计时记数器清零(min1min0=00);stop为汽车停止等待信号(高电平有效),当stop=1时,表示停车等待状态,并开始等待计时计费.其部分仿真输出波形如图2.2所示:

图2.2 出租车计费器系统的仿真输出波形

图2.3 出租车自动计费器系统的主体FPGA电路元件符号

2.3.2 扫描显示电路设计及仿真

该模块包含8选1选择器,模8计数器,七段数码显示译码器的3个子模块,其VHDL源程序和仿真输出如下

①模8计数器的se的VHDL源程序和仿真

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity se is

port(clk: in std_logic;

a: out std_logic_vector(2 downto 0));

end se;

architecture behav of se is

begin

process(clk)

variable b: std_logic_vector(2 downto 0);

begin

if(clk'event and clk='1')then

if(b="111") then

b:="000";

else

b:=b+1;

end if;

end if;

a<=b;

end process;

end behav;

源程序中输入信号clk为系统输入的240HZ基准时钟,输出为3位二进制编码,其仿真输出的如图 2.4所示:

图2.4 模8计数器se仿真输出波形

图2.5 计数器原件图

②8选1选择器mux8_1的VHDL源程序和仿真

library ieee;

use ieee.std_logic_1164.all;

entity mux8_1 is

port(c: in std_logic_vector(2 downto 0);

dp: out std_logic;

a1,a2,a3,a4,b1,b2,t1,t2:in std_logic_vector(3 downto 0);

d:out std_logic_vector(3 downto 0));

end mux8_1;

architecture behav of mux8_1 is

begin

process(c,a1,a2,a3,a4,b1,b2,t1,t2)

variable comb: std_logic_vector(2 downto 0);

begin

comb:=c;

case comb is

when"000"=>d<=a1; dp<='0';

when"001"=>d<=a2; dp<='0';

when"010"=>d<=a3; dp<='1';

when"011"=>d<=a4; dp<='0';

when"100"=>d<=b1; dp<='0';

when"101"=>d<=b2; dp<='0';

when"110"=>d<=t1; dp<='0';

when"111"=>d<=t2; dp<='0';

when others=>null;

end case;

end process;

end behav;

源程序中输入信号c[2..0]为系统选择输入,a1a2a3a4为计费BCD码输入b1b2为公里数BCD输入,t1t2为计时时间的BCD码输出,d 为4位BCD码输出, pd 为小数点指示信号(仅计费数据输出时有一位小数),其仿真输出波形和元件符号如图2.6所示:

图2.6 8选1选择图2.6 计费输出波形

器mux8_1仿真输出波形

图2.6选择器mux8_1

图2.7 8选1选择器mux8_1原件图

③七段数码显示译码器VHDL的源程序和仿真

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity di_led is

port(

d:in std_logic_vector(3 downto 0);

q:out std_logic_vector(6 downto 0)

);

end di_led;

architecture behav of di_led is

begin

process(d)

begin

case d is

when"0000"=>q<="0111111"; when"0001"=>q<="0000110";

when"0010"=>q<="1011011";

when"0011"=>q<="1001111";

when"0100"=>q<="1100110";

when"0101"=>q<="1101101";

when"0110"=>q<="1111101";

when"0111"=>q<="0100111";

when"1000"=>q<="1111111";

when others=>q<="1101111";

end case;

end process;

end behav;

源程序中输入信号d[3..0]为BCD码输入,q[6..0]为七段译码输出(高电平有效).其仿真输出的波形和元件符号如图2.8所示:

图2.8 七段数码显示译码器仿真输出波形

图2.9七段数码显示译码器元件图

④ 3_8译码器的VHDL源程序和仿真

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

entity decode3_8 is

port (

din : in std_logic_vector(2 downto 0) ;

dout : out std_logic_vector(7 downto 0)

);

end decode3_8 ;

architecture RTL of decode3_8 is

begin

dout <= "10000000" when ( din = "111" ) else

"01000000" when ( din = "110" ) else

"00100000" when ( din = "101" ) else

"00010000" when ( din = "100" ) else

"00001000" when ( din = "011" ) else

"00000100" when ( din = "010" ) else

"00000010" when ( din = "001" ) else

"00000001" ;

end RTL ;

源程序中输入信号a为3位二进制编码,输出eq[0..7]为动态显示输出,其仿真输出波形和元件符号如图2.8所示:

图2.8 3-8译码器仿真输出波形

图2.9 3-8译码器的元件符号图

出租车计费系统的设计好

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 的功能。 计费时钟 档位 启动 控制模块 显示模块 暂停 停止

课程设计出租车计费器

推南呼紐厚院 电子技术课程设计报告 题 目:基于Multisum 的出租车计价器课 程设计 级:3班 指导教师:聂文艳 机械与电气工程学院制 2015年3月 学生姓名: 学生学号: 李少华 1314050317 13级 年 级: 业: 电气工程及其自动化

目录 设计任务 ....................... 1.1 设计目的和意义 . ...................... 1.1.1 目的 ................... 1.1.2 意义 ................... 1.2 初始参数和要求 . ...................... 1.2.1 74LS160 计数器的简介 1.2.2 1.2.3 1.2.4 1.2.5 系统设计 2.1 2.2 74LS85 比较器的简介 74LS283 加法器的简介 初始要求 . .......................... 所用软件工具 . .............. 2.3 系统工作原理 . .......................................... 器件选择 ............................... 2.2.1 74LS160 计数器的功能 ............. 2.2.2 74LS283 加法器组成预置数计数器 2.2.3 74LS85 比较器的组成和内部结构 2.2.4 设计所需的器件归纳 . ................................. 电路设计 . ................................................ 2.3.1 2.3.2 2.3.3 2.3.4 路程的计数及显示 ..... 路程与预设值的比较 . 加 法器的预置 . ............... 电路整体的整合 . ......... 电路仿真测试 ............................ 2.4.1 路程计数及显示 . ............................... 2.4.2 系统整体电路运行及车费的显示 . 2.4.3 仿真结论 . ......................................... 总结 ........................................ 3.1 结论 . ...................................................... 3.2 优点与不足 . .............................................. 3.3 心得与体会 .............................. 参考文献 ................................... 2.4 3 3 3 4 4 4 4 4 4 4 5 5 6 6 7 8 9 9 9 10 10 11 11 11 12 12 13 13 13 13 14

(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 程序。其 程序如下所示:

课程设计-出租车自动计费器设计

新疆大学 课程设计报告 所属院系:电气工程学院 专业:电气工程及其自动化课程名称:电子技术基础B 设计题目:出租车自动计费器班级:电气#####班 学生姓名:要要 学生学号:@@@@@@ 指导老师: 常翠宁刘兵完成日期:2013. 1. 4

出租车自动计费器 一、总体方案的选择 1.拟定系统方案框图: 方案一: 汽车在行驶时,里程传感器将里程数转换成与之成正比的脉冲个数,然后由计数译码电路变成收费金额。里程传感器由磁铁和干簧管组成,磁铁置于变速器涡轮上,每行驶100米,磁铁与干簧管重合一次,即输出一个脉冲信号,则10个脉冲/公里(设为P3)。里程单价(设2.1元/公里)可由两位(B2=2、B1=1)BCD拨码开关设置,经比例乘法器(如J 690)后将里程计费变换成脉冲数P1=P3(1B2+0.1B1)。由于P3=10,则P1为21个脉冲,即脉冲当量为0.1元/脉冲。 同理,等车计费也可以转换成脉冲当量,这需要由脉冲发生器产生10个脉冲/10分钟(设为P4),如果等车单价为0.6元/10分钟(置B4=0、B3=6),经比例乘法器后将等车计费变换成脉冲数P2=P4(0B4+0.1B3)。由于P4=10,则P2为6个脉冲,即得到相同的脉冲当量为0.1元/脉冲。同理,起步价(设3元)也可以转换成脉冲数(P0= 单价/当量=5/0.1=50个脉冲)或者将P0作为计数器的预置信号(框图所示)。最后行车费用转换成脉冲总数P=P0+P1+P2,其结果用译码显示器显示。 图1:出租车自动计费器方案一框图

脉冲,行程里程及起步电路则是60毫秒/脉冲。而等候电路为6秒/脉冲。实现此电路我用555多谐振荡器构成。为了减少实验测量时间,我把脉冲周期都缩小了1000倍,即0.06毫秒/脉冲和6毫秒/脉冲。设计电路图及仿真波形图如下: 图3:0.06毫秒555多谐振荡脉冲电路 图4:0.06毫秒脉冲波形图

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

出租车自动计费器设计(课程设计报告模板)

. . . 目录 1 绪论 (1) 1.1设计背景 (1) 1.2QUARTUS II简介 (1) 1.3VHDL语言基础 (2) 2 出租车计费器总体设计结构 (2) 2.1系统设计要求和目的 (2) 2.2.1 系统设计要求 (2) 2.2.1 系统设计目的 (2) 2.2设计思路 (3) 2.3系统总体结构 (3) 2.4出租车计费器系统工作流程图 (4) 3 出租车计费器的实现 (5) 3.1出租车计费器的顶层原理图 (5) 3.2系统各功能模块的实现 (5) 3.2.1 计费模块JIFEI (5) 3.2.2 计量模块JILIANG (6) 3.2.3 显示控制模块SELTIME (7) 3.2.4 显示模块DELED (7) 4 出租车计费器系统仿真及分析 (8) 4.1计费系统的仿真 (8) 4.2单元模块的仿真及分析 (10) 4.2.1 译码显示模块的仿真及分析 (10) 4.2.2 显示控制模块的仿真及分析 (12) 4.2.3 计量模块的仿真及分析 (13) 4.2.4 计费模块的仿真及分析 (13) 5 锁定管脚及硬件实现 (14) 5.1锁定管脚图 (14) 5.2硬件实现 (14) 5.2.1 显示结果的几种情况 (15) 5.2.2 硬件实现总结 (16) 6 设计体会与总结 (17) 参考文献 (18) 附录 (19) 1JILIANG模块的VHDL编程 (19) 2JIFEI模块的VHDL编程 (21) 3SELTIME控制模块的VHDL编程 (22) 4DELED模块的VHDL编程 (23)

1 绪论 1.1 设计背景 随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具,它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。出租车计费器是出租车营运收费的专用智能化仪表,是出租车市场规化,标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备,简单易用,计量准确的出租车计费器是加强出租车行业管理,提高服务质量的必需品。本设计就是采用VHDL硬件描述语言作为设计手段,采用自己的设计思路,得到一种出租车计价系统的软件结构,通过Quartus II 6.0软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求,具有一定的实用性。 1.2 QUARTUS II简介 QUARTUS II 是Altera公司的综合性CPLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL等多种设计输入形式,嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整CPLD设计流程。QUARTUS II 支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera QUARTUS II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

出租车自动计费器设计(课程设计报告模板)课件

目录 1 绪论 (1) 1.1设计背景 (1) 1.2QUARTUS II简介 (1) 1.3VHDL语言基础 (2) 2 出租车计费器总体设计结构 (2) 2.1系统设计要求和目的 (2) 2.2.1 系统设计要求 (2) 2.2.1 系统设计目的 (2) 2.2设计思路 (3) 2.3系统总体结构 (3) 2.4出租车计费器系统工作流程图 (4) 3 出租车计费器的实现 (5) 3.1出租车计费器的顶层原理图 (5) 3.2系统各功能模块的实现 (5) 3.2.1 计费模块JIFEI (5) 3.2.2 计量模块JILIANG (6) 3.2.3 显示控制模块SELTIME (7) 3.2.4 显示模块DELED (7) 4 出租车计费器系统仿真及分析 (8) 4.1计费系统的仿真 (8) 4.2单元模块的仿真及分析 (10) 4.2.1 译码显示模块的仿真及分析 (10) 4.2.2 显示控制模块的仿真及分析 (11) 4.2.3 计量模块的仿真及分析 (12) 4.2.4 计费模块的仿真及分析 (12) 5 锁定管脚及硬件实现 (13) 5.1锁定管脚图 (13) 5.2硬件实现 (13) 5.2.1 显示结果的几种情况 (14) 5.2.2 硬件实现总结 (15) 6 设计体会与总结 (16) 参考文献 (17) 附录 (18) 1JILIANG模块的VHDL程序 (18) 2JIFEI模块的VHDL程序 (19) 3SELTIME控制模块的VHDL程序 (20) 4DELED模块的VHDL程序 (21)

1 绪论 1.1 设计背景 随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具,它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是具有一定意义的。出租车计费器是出租车营运收费的专用智能化仪表,是出租车市场规范化,标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备,简单易用,计量准确的出租车计费器是加强出租车行业管理,提高服务质量的必需品。本设计就是采用VHDL硬件描述语言作为设计手段,采用自己的设计思路,得到一种出租车计价系统的软件结构,通过Quartus II 6.0软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求,具有一定的实用性。 1.2 QUARTUS II简介 QUARTUS II 是Altera公司的综合性CPLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整CPLD设计流程。QUARTUS II 支持Altera 的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera QUARTUS II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

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

摘要 出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计的是一个基于单片机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:根据出租车上的速度传感器传来的脉冲个数和设置的里程单价来计算对应的总价格,并将总价格通过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,以里程脉冲作为时钟信号执行计数功能,从预制的数字开始计数。

基于verilog HDL的出租车计费器

《EDA技术与应用》实训报告 学号 姓名 指导教师:江国强杨艺敏 2011 年4 月28 日

实训题目:出租车计费器 1.系统设计 1.1 设计要求 1.1.1 设计任务 设计并制作一台出租车计费器。 1.1.2 技术要求 ①用EDA实训仪的I/O设备和PLD芯片实现出租车计费器的设计。 ②出租车起步开始计程和计费,计程系统按实际公里数计程,计费 系统首先显示起步价(如7.0),车行驶2km以内,只收起步价7 元。 ③出租车行驶超过2km后,按每公里1.6元在7.0元的基础上增加。 ④出租车行驶超过10km后(或超过20元路费),每公里加收50% 的车费,即车费变为每公里2.4元。 ⑤出租车达到目的地后,(用一个按钮)计程和计费数据清零,为 下一次计费开始。 1.2 方案比较 最初计费模块选择乘法,但占用资源过多,所以选择分段加法来解决 1.3 方案论证 1.3.1 总体思路 整个系统主要由计程兼计费模块组成,另外添加计时器和流水灯模块作为附加功能,最后由选择模块选择输出费用或时间,分频模块作为路程模拟输入。 1.3.2 设计方案 分频器将实训仪的时钟转换成1s或0.1s的脉冲模拟行进一公里,将脉冲输入计程兼计费模块进行路程累加和计费,同时输出路程数和费用。流水灯则按行进路程进行亮灭,附加的时钟功能可以查看时间。最后由选择模块进行费用和时间间的切换。

2.各个模块程序的设计 ①分频模块:模拟车辆行进,分1s/km档和0.1s/km档 module fpq(clk,cout,k1); input clk,k1; reg [24:0] q; output reg cout; always @(posedge clk) begin case(k1) 0: begin q=q+1; if (q==20000000-1) begin cout=1;q=0;end else cout=0; end 1: begin q=q+1 ; if (q==2000000-1) begin cout=1;q=0;end else cout=0; end

eda课程设计-出租车自动计费器

电子信息科学与技术专业课程设计任务书

一、设计任务及要求 设计一个出租车计价器:计费包括起步价、行车里程计费、等待时间计费3部分。 用3位数码管显示金额,最大值为999.9元,最小计价单元为0.1元;行程3公里内,且等待时间累计3分钟内,起步价10元,超过3公里,以每公里1.6元计费,等待时间单价为每分钟1.5元;用两位数码管显示总里程,最大值为99公里 用两位数码管显示等待时间,最大值为59min。 二、设计原理及总体框图 出租车自动计费器分为分频模块、控制模块、计量模块、计费模块、译码和显示模块。 A)、设计原理: (1) 分频模块 分频模块对频率为240HZ的输入脉冲进行分频,得到的频率为16HZ、15HZ、和1HZ的3种频率。该模块产生频率信号用于计费,每个脉冲为0.1元计费控制,其中15Hz信号为1.5元的计费控制,16Hz信号为1.6元计费控制。 (2) 计量控制模块 计量控制模块式出租车自动计费器系统的主体部分,该模块主要完成等待计时功能、计价功能、计程功能,同时产生3分钟的等待计时使能控制信号en1、行程3公里外的使能控制信号en0。其中计价功能主要完成的任务是:行程3公里内 且等待累计时间在3分钟内 起步价为10元 3公里以外每公里1.6元计费,等待时间3分钟以外每分钟1.5元计费。计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量程自动归零。计程主要完成的任务是:计算乘客所行驶的公里数,计价器的量程为99公里,满量程自动归零。 (3) 译码显示模块 该模块利用实验板上的译码器和数码管分别将输出的计费数据(4位BCD

出租车计价器设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:微机系统综合课程设计 课程设计题目: 出租车计价器的设计与实现 院(系): 计算机学院 专 业 : 计算机科学与技术 班 级: 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)

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

目录 摘要 (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芯片

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

出租车计费器 一、实验目的 1.了解各元件的基本原理。 2.数字电子技术知识综合运用。 3.学习电路调试的基本结论,巩固扩大所学的知识。 4.熟悉Multisim10基本运用。 二、组要实验器材 三、设计任务 出租车自动计费器是根据客户用车的实际情况而自动计算、显示车费的数字表。数字表根据用车起步价、行车里程计费及等候时间计费三项显示客户用车总费用,打印单据,还可设置起步、停车的音乐提示或语言提示。 1.自动计费器具有行车里程计费、等候时间计费和起步费三部分,三项计费统一用4位数码管显示,最大金额为99.99元。 2.行车里程单价设为1.80元/km,等候时间计费设为1.5元/10分钟,起步费设为8.00元。要求行车时,计费值每公里刷新一次;等候时每10分钟刷新一次;行车不到1km或等候不足10分钟则忽略计费。 3.在启动和停车时给出声音提示。 四、设计方案 因为出租车计费器的设计方案不止一种,我们就就涉及数电知识采用计数器电路为主实现自动计费。

分别将行车里程、等候时间都按相同的比价转换成脉冲信号,然后对这些脉冲进行计数,而起价可以通过预置送入计数器作为初值,如图1的原理框图所示。行车里程计数电路每行车1km输出一个脉冲信号,启动行车单价计数器输出与单价对应的脉冲数,例如单价是1.80元/km,则设计一个一百八十进制计数器,每公里输出180个脉冲到总费计数器,即每个脉冲为0.01元。等候时间计数器将来自时钟电路的秒脉冲作六百进制计数,得到10分钟信号,用10分钟信号控制一个一百五十进制计数器(等候10分钟单价计数器)向总费计数器输入150个脉冲。这样,总费计数器根据起步价所置的初值,加上里程脉冲、等候时间脉冲即可得到总的用车费用。 图1 出租车计费器原理框图一 上述方案中,如果将里程单价计数器和10分钟等候单价计数器用比例乘法器完成,则可以得到较简练的电路。它将里程脉冲乘以单价比例系数得到代表里程费用的脉冲信号,等候时间脉冲乘以单位时间的比例系数得到代表等候时间的时间费用脉冲,然后将这两部分脉冲求和。 如果总费计数器采用BCD码加法器,即利用每计满1km的里程信号、每等候10分钟的时间信号控制加法器加上相应的单价值,就能计算出用车费用。

出租车自动计费器

目录 摘要 (1) 1 概述 (2) 1.1 基本要求 (2) 1.2 功能介绍 (2) 2 设计方案 (3) 2.1设计原理 (3) 3 硬件电路 (4) 3.1 单片机最小系统 (4) 3.2 按键电路 (5) 3.3 数码管显示电路 (6) 3.4 LCD1602显示电路 (6) 4 软件设计 (8) 4.1单片机I/O资源使用 (8) 4.2 单片机软件模块设计 (8) 4.3 程序框图 (9) 5 PROTEUS仿真 (13) 5.1 总仿真电路图 (13)

5.2 不调价仿真 (13) 5.3 调价仿真 (14) 6 心得体会 (16) 参考文献 (18) 附录1 原件清单 (19) 附录2 程序 (20) 附录3 原理图 (34)

出租车自动计费器设计 摘要 近些年来,出租车成为了人们出行重要的交通工具之一,出租车以低价高质的服务给人们带来了不少方便。基于单片机系统设计的出租车计费器以单片机作为核心的控制元件,具有功能强,性能可靠,电路简单,成本低的特点,加上经过优化的程序,使其具有很高的智能化水平。 本次设计中,硬件设计主电路以AT89S51单片机为核心控制元件,输出采用LCD1602液晶屏和四位一体数码管,显示起价、每公里单价、等待价格、行驶总里程和总金额,并配有多个按键,以供手动调节乘车价格。 关键词:计费器51单片机LCD1602 数码管

1 概述 1.1 基本要求 ①以MCS-51系列单片机为核心,设计出租车自动计费器。 ②设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99.99元。 ③行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价3元(3公里起价)均能通过人工输入。 ④行车里程的计费以一个脉冲模拟汽车前进十米, ⑤用LED显示行驶公里数和收费金额。 一、计费功能 费用按行驶里程计费,起步价为3元。 1、当行驶里程小于或等于3公里,按起步价计费 2、当行驶里程大于3公里,每公里收费1元,不足1公里不计 3、等待时间为每10分钟收费0.5元,不足10分钟不计 二、显示功能 1、显示行驶里程:用LCD1602液晶屏显示,显示方式为“XX”,单位为Km,范围0-99Km 2、显示等候时间:用LCD1602液晶屏显示,显示方式为“XX”,单位Min,范围0-99Min 3、显示总费用:用四位数码管显示,显示方式为“XX.X”,单位元,范围3-99.9元1.2 功能介绍 本出租车自动计费,上电后显示默认的起步价,每公里计费单价,等待时间计费单

出租车计费系统的设计

摘要

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

出租车计费器EDA

南京理工大学 EDA 设计(II) 实验报告 作者:____________________ 学号:_________________ 学院(系): ___________ 自动化学院_______________ 专业:____________________ 自动化_________________ 标题___________________ 出租车计费器______________ 指导老师: 实验日期:2015 年9月

目录 1 绪论1 2 系统总体设计1 2.1 系统设计思想1 2.2 系统功能概述1 2.3 系统总体组成结构1 3 系统各模块详细设计2 3.1 计时模块2 3.2 按键控制模块2 3.3 动态显示模块3 3.4 里程和车费计算模块4 3.5 我的部分4 4 系统调试5 4.1 系统仿真5 4.2 系统实际验证5 4.3 调试过程中遇到的问题与解决方法5 5 总结与心得体会 6 致谢6 参考文献7

出租车计费器 1 绪论 EDA是电子设计自动化(Electronic Design Automation )的缩写,发展于20世纪90年代。 EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 本次EDAS计使用MAX+plus II实验开发系统,学习并掌握VHD硬件描述语言 的基本语法以及设计方法和思想,将已学过的数字电子设计知识综合运用于电子系统的设计中,掌握运用VHDL设计电子系统的流程和方法,加强和培养自己对电子系统的设计能力。 综合设计的任务是用一周的时间,在EDA软件MAX+plus II上用VHD语言设计完成一个电子技术综合问题,小组成员分工,负责各个子模块的设计,最后将各个模块整合起来,连接整体电路,分配引脚,下载到实验班上进行测试。 2系统总体设计 2.1 系统设计思想 用VHDL语言设计出符合功能要求的的出租车计费器系统,完成设计后使用系统实验箱下载验证。 2.2 系统功能概述 1、计费功能:计费标准为按行驶里程收费,起步价为11元,车行3公里后每公里1.4元,车停止时不计费; 2、实现模拟功能:能模拟汽车启动、暂停及停止状态; 3、实现显示功能:能在数码管上显示出公里数及总费用。

出租车计费器的设计

电子科技大学成都学院学院 标准实验报告 (实验)课程名称数字电路EDA设计与应用 姓名乱弹的枇杷 学号1240830 专业电气工程及其自动化 指导教师张

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

相关文档
相关文档 最新文档