搜档网
当前位置:搜档网 › 基于VHDL语言的出租车计费系统设计

基于VHDL语言的出租车计费系统设计

基于VHDL语言的出租车计费系统设计
基于VHDL语言的出租车计费系统设计

基于VHDL 语言的出租车计费系统设计

席砺莼,董丽梅,田梦周,闫宏伟

(河北大学电子信息工程学院 河北保定 071002)

摘 要:利用V HDL 语言设计出租车计费系统,使其实现计费以及预置和模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点。此程序通过下载到特定芯片后,可应用于实际的出租车计费系统中。

关键词:超高速集成电路硬件描述语言;计数器;M A X +PLU S ;高速集成电路

中图分类号:T P 29 文献标识码:B :1004373X (2003)0307903

D esign of Tax i Accoun ti ng System Ba sed on VHDL

X I L ichun ,DON G L i m ei ,T I AN M engzhou ,YAN Hongw ei

Co llege of E lectronics &Info r m ati on Engineering ,H ebeiU niversity ,B aoding ,071002,Ch ina )

Abstract :T he tax i accoun ting system based on V HDL includes the design of the tariff softw are ,the p reset and si m u lati on of the car ′s functi on s such as start ,stop ,pau se and so on 1It disp lays the tariff num ber th rough the dynam ic scann ing circu it 1T he design of th is system has show n the readab ility ,po rtab ility and easily understanding of V HDL as a hard describe language 1T he p rogram can be u sed in the tru ly tax i accoun ting system by dow n loading to the given ch i p 1

Keywords :V HDL ;coun ter ;M A X +PLU S ;V H S I C

收稿日期:20021028

1 前言

目前,电子系统正向集成化、大规模和高速度的

方向发展,集成电路的规模越来越大,复杂程度越来越高,因此传统的门级描述方法显得过于琐碎,难以理解掌握。由美国国防部提出的V HDL (V ery H igh Sp eed In tegrated C ircu it H ardw are D escri p ti on L anguage )即超高速集成电路硬件描述语言,采用高层次的、自顶向下的设计方法来描述硬件,非常适合当前需要。美国国防部为了要解决项目间的信息交换困难和设计维护困难,同时也为解决当时的超高速集成电路(V H S I C ,V ery H igh Sp eed In tegrated C ircu it )计划而提出的一种硬件描述语言。1987年12月IEEE 接受V HDL 为标准的HDL ,这就是今天的IEEE STD 1076-1987和IEEE STD 1076-1993。

M A X +PLU S (M u lti p le A rray M atrix A nd P rogramm ab le L ogic U ser System s )是电子设计不可缺少的工具,他可以接受多种方式的输入:原理图输入、文本输入(硬件描述语言)、第三方EDA 工具提供的接口等。M A X +PLU S 的仿真器具有很强灵活

性,可以控制对单器件或多器件的仿真。M A X +PLU S 还提供了丰富的帮助库。

本文采用V HDL 语言来设计实现出租车计费系统,源程序经美国A ltera 公司的M A X +PLU S 软件调试优化,下载到特定芯片(M A X 系列的EPM 7128SL C 8415)后,可应用于实际的出租车计费系统

中。

2 出租车计费系统的设计211 出租车计费器工作原理

实际中出租车的计费工作原理一般分成3个阶段:

(1)车起步开始计费。首先显示起步价(本次设计起步费为7100元),车在行驶3km 以内,只收起步

价7100元。

(2)车行驶超过3km 后,按每公里212元计费(在7100元基础上每行驶1km 车费加212元),车费依次累加。

(3)行驶路程达到或超过9km 后(车费达到20元),每公里加收50%的车费,车费变成按每公里313元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。若停止则车费清零,

9

7《现代电子技术》2003年第3期总第146期消费电子

等待下一次计费的开始。212 基本设计思想

(1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为coun terA ,coun terB ,coun terC ,coun terD ,coun terE 。①计数器A 完成车费百位。②计数器B 完成车费十位和个位。③计数器C 完成车费角和分。④计数器D 完成计数到30(

完成车费的起步价)。⑤计数器E 完成模拟实现车行驶100m 的功能。

(2)行驶过程中车费附加50%的功能:由比较器实现。

(3)车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态数据的显示。

(4)通过分析可以设计出系统的顶层框图如图1所示:

图1 系统的顶层框图

213 具体模块划分并实现及部分程序

计费器按里程收费,每100m 开始一次计费1图2为原理结构图,各模块功能如下:

(1)计数器A 为十进制计数器,其结果为车费的百位,与5位数码管的最高位相连,计数时钟为进位脉冲。程序如下:

lib rary ieee ;

u se ieee 1std _logic _11641all ;u se ieee 1std _logic _arith 1all ;u se ieee 1std _logic _un signed 1all ;----库说明和程序包说明en tity coun ter _A is

po rt (clk ,cen ,clr :in std _logic ;

q _one :ou tstd _logic _vecto r (3dow n to 0);co :ou t std _logic );

----设定输入输出及类型引脚end coun ter _A ;

arch itectu re rtl of coun ter _A is

signal s _one :un signed (3dow n to 0);----定义信号及其类型begin

p rocess (clk ,clr )begin

if (clk ′even t and clk =′

1′)then if (clr =′

0′)then ----设置清零信号

s _one <="0000";

elsif (cen =′

1′)then ----开始计数if (s _one <9)then s _one <=s _one +1;else

s _one <="0000";end if ;

if (cen =′

0′)then ----完成汽车暂停时的保持功能s _one <=s _one ;end if ;end if ;end if ;

q _one <=std _logic _vecto r (s _one );if (s _one =9)then

----输出进位信号

co <=′

0′;else

co <=′

1′;end if ;

end p rocess ;end rt

(2)计数器B 为带预置的模100十进制计数器,

预置数为出租车起步价,车费的十位和个位,与数码管的第2位和第3位相连。计数时钟为计数器C 的进位脉冲信号。

(3)计数器C 为可变步长的模100十进制计数

器,带预置端,预置数为计数步长。计数器C 主要用于累加,当车行驶达到100m 时,计数器计数一次,计数步长为每100m 的行车收费。进位脉冲信号送到计数器B 的“CL K ”端,控制计数器B 的计数步调。

(4)计数器D 为带预置模的十进制加法计数器,预置数为车起步里程3km ,计数脉冲为计数器E 的进位信号。这样当计数器D 计数达到30后,进位输出将为一个高电平,控制计数器A ,B ,C 开始计数,这样就能实现超过3km 后计费器再按每公里加收车费。

图2 计费系统原理结构图

(5)计数器E 为带预置的可变步长的模100计数器,预置端为车速(每秒),如果预置端接入车速表,就

8席砺莼等:基于V HDL 语言的出租车计费系统设计

可以实现计费了,这里用于模拟行车速度。例如:假设当计数器E计数到100则E的“CO”端输出一个高电平。此脉冲信号送给计数器D,使D完成车起步里程3km的功能。在以后的时间里E的“CO”端的脉冲信号送给计数器C,使其完成按每公里收取费用的功能。主要程序如下:

en tity coun ter_E is

po rt(clk,cen,clr:in std_logic;

co:ou t std_logic);

end coun ter_E;

arch ite ctu re rtl of coun ter_E is

signal s_one:un signed(6dow n to0);

begin

p rocess(clk,cen,clr)

begin

if(clk′even t and clk=′1′)then

----在时钟上升沿时刻开始运行

if(clr=′0′)then

----完成清零功能

s_one<="0000000";

elsif(cen=′1′)then

----使能端来控制计数

if(s_one<99)then

s_one<=s_one+1;

else

s_one<="0000000";

end if;

end if;

if(cen=′0′)then

----完成汽车暂停时的保持功能

s_one<=s_one;

end if;

end if;

if(s_one=99)then

----当计数到99时输出进位信号来控制计数器D计数(计数到99表示汽车行驶100m,汽车计费0122元或0133元) co<=′1′;

else

co<=′0′;

end if;

………

(6)与门为2个8输入的8与门,一端用于预置,一端输入当前计费器收费情况,当计费器计费达到或超过一定收费(如20元)时,每公里加收50%的车费,此时该与门输出一个片选信号送M U X。

(7)M U X为16选8的2选1M U X,2个选择输入端分别为每100m收费和50%的每100m收费,片选信号由与门控制。

(8)动态扫描电路将计数器A、B、C的计费状态用数码管显示出来,所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。

214 设计中需注意的问题

(1)在一个进程中只允许一个信号上升沿作为触发条件。

(2)信号值改变后,要经过一个小的延时才能生效,同一个信号不能在多个进程中赋值(因多个信号源不能同时对同一个信号驱动)。

(3)时序电路与组合电路最好不要在同一个进程以免浪费资源。

(4)一个功能模块最好按上升沿信号分多个进程完成,各进程间用信号联系。

(5)同一个信号在进程中的值改变后,要注意该值改变前后,该进程中其他变量的变化,避免逻辑死锁。

(6)在顺序语句中,信号赋值后需一定的延时才能改变而变量不需要延时。

3 结 语

V HDL硬件描述语言打破了硬件和软件设计人员之间互不干涉的界限,可以使用语言的形式来进行数字系统的硬件结构、行为的描述,直接设计数字电路硬件系统。从本文描述的出租车计费系统可以看出,通过编程、下载后,该芯片已经具备了原来需要使用复杂的数字电路实现的功能;这样,使用语言描述的形式,大大缩短了开发周期,减少了开发难度,并使得系统更加灵活、稳健。

参 考 文 献

[1] 候伯亨,顾新1V HDL硬件描述语言与数字逻辑

电路设计1修订版电子工程师必备知识

[M]1西安:西安电子科技大学出版社,19991 [2] 张昌凡,等1可编程逻辑器件及V HDL设计技

术[M]1广州:华南理工大学出版社,20011 [3] 曾繁泰,陈美金1V HDL程序设计[M]1北京:

清华大学出版社,20011

[4] 潘松,等1V HDL实用教程[M]1成都:电子

科技大学出版社,20001

作者简介 席砺莼 1978年出生,河北大学电子信息工程学院硕士研究生,助教。研究方向为通信与信息系统,图像处理。

董丽梅 1976年出生,河北大学电子信息工程学院教师。研究方向为计算机控制技术。

18《现代电子技术》2003年第3期总第146期消费电子

出租车计费系统的设计好

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

VHDL与数字系统课程设计

课程设计报告 实践课题:VHDL与数字系统课程设计 学生:XXX 指导老师:XXX、XXX 系别:电子信息与电气工程系 专业:电子科学与技术 班级:XXX 学号:XXX

一、设计任务 用VHDL设计一个简单的处理器,并完成相关的仿真测试。 .设计要求: 图1是一个处理器的原理图,它包含了一定数量的寄存器、一个复用器、一个加法/减法器(Addsub),一个计数器和一个控制单元。 图1 简单处理器的电路图 数据传输实现过程:16位数据从DIN输入到系统中,可以通过复用器分配给R0~R7和A,复用器也允许数据从一个寄存器传通过Bus送到另外一个寄存器。 加法和减法的实现过程:复用器先将一个数据通过总线放到寄存器A中,然后将另一个数据放到总线上,加法/减法器对这两个数据进行运算,运算结果存入寄存器G中,G中的数据又可根据要求通过复用器转存到其他寄存器中。 1)Rx ←[Ry] :将寄存器Ry中的内容复制到Rx; 2)Mvi Rx,#D :将立即数存入寄存器Rx中去。 所有指令都按9位编码(取自DIN的高9位)存储在指令存储器IR中,编编码规则为IIIXXXYYY,III表示指令,XXX表示Rx寄存器,YYY表示Ry寄存器。立即数#D是在mvi指令存储到IR中之后,通过16位DIN输入

的。 有一些指令,如加法指令和减法指令,需要在总线上多次传输数据,因此需要多个时钟周期才能完成。控制单元使用了一个两位计数器来区分这些指令执行的每一个阶段。当Run信号置位时,处理器开始执行DIN输 时间 指令 T0T1T2T3 (mv):I0 (mvi):I1 (add):I2 (sub):I3 IR in IR in IR in IR in RY out,RX in,Done DIN out,RX in,Done RX out,A in RX out,A in ---- ---- RY out,G in,Addsub RY out,G in,Addsub ---- ---- G out,RX in,Done G out,RX in,Done 二、实现功能说明 2.1 mv Rx,Ry 实现的功能:将寄存器Rx的值赋给寄存器Ry(以mv R0, R5为例) (1 )计数器为“00”时,指令寄存器的置位控制信号输入端IRin=1有效,将DIN输入的数据的高9位锁存。 置位的控制信号如图3加粗黑线所示。 图3 (2)计数器为“01”时,首先控制单元根据设计器为“00”时输入的指令,向复用器发出选通控制信号,复用器根据该控制信号让R5的值输出到总线上,然后控制单元控制寄存器R0将总线上的值锁存,完成整个寄存器对寄存器的赋值过程。置位的控制信号和数据流如图4加粗黑线所示。 图4

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

软件学院 课程设计报告 课程 题目出租车计价器 班级集成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

VHDL语言与EDA课程设计

湖南人文科技学院 课程设计报告课程名称: VHDL语言与EDA课程设计 ~ 设计题目:出租车自动计价器设计 系别: 专业: 班级: 学生姓名: 学号: 起止日期: 2011年6月13日~2011年6月26日 $ 指导教师: 教研室主任:

摘要 随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计价器是出租车营运收费的专用智能化仪表,是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。根据预定的设计要求和设计思路,我们使用VHDL硬件描述语言设计了一个实际的基于Altera FPGA芯片的出租车自动计价器系统,介绍了该系统的电路结构和程序设计。通过在软件中编译和下载测试,得到了仿真波形和关键的设计结果。经过在实验箱上进行硬件测试,证明该出租车计价系统具有实用出租车计价器的基本功能,如能进一步完善,将可以实用化和市场化。 关键词:出租车自动计价器;VHDL; FPGA ;

目录 设计要求 (1) 1、方案论证与对比 (1) 方案一 (1) 方案二 (2) 两种方案的对比 (2) 2、实验步骤和设计过程 (2) 计程模块 (2) 等待计时模块 (2) 计费模块 (3) 3、调试与操作说明 (3) 中的VHDL程序 (3) 程序的编译与及仿真波形 (6) 程序的下载与功能的测试 (7) 4、课程设计心得体会 (9) 5、元器件及仪器设备明细 (10) 6、参考文献 (11) 7、致谢 (12)

出租车计价器系统完整版

智能电子产品设计与制作 课程设计(论文) 题目: 《出租车计价器系统设计》 学院:电气与电子信息工程学院 专业名称: 学号: 学生姓名: 同组成员: 指导教师: 课设时间: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,以里程脉冲作为时钟信号执行计数功能,从预制的数字开始计数。

跑马灯VHDL课程设计报告

跑马灯VHDL课程设计 一、设计任务 控制8个led进行花式显示,设计四种显示模式: 1.从左到右逐个点亮led; 2.从右到左逐个点亮led; 3.从两边到中间逐个点亮led; 4.从中间到两边逐个点亮led; 四种模式循环切换,由复位键rst控制系统的运行与停止. 二、设计过程 根据系统设计要求,采用状态机进行设计,状态机具有四种状态,每种状态完成一种显示模式四种状态间使用case语句进行切换. 程序如下: library ieee; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_1164.all; entity pmd is port( clk, rst: in std_logic; y: buffer std_logic_vector(7 downto 0)); end pmd; architecture behave of pmd is type states is (state0, state1, state2, state3); signal state: states;

begin process (clk, rst) begin if rst='1' then y<="00000000" ; state <= state0; elsif (clk'event and clk='1') then case state is when state0 => if y="00000000" then y<="10000000";state <= state0; elsif y="10000000" then y<="01000000";state <= state0; elsif y="01000000" then y<="00100000";state <= state0; elsif y="00100000" then y<="00010000";state <= state0; elsif y="00010000" then y<="00001000";state <= state0; elsif y="00001000" then y<="00000100";state <= state0; elsif y="00000100" then y<="00000010";state <= state0; elsif y="00000010" then y<="00000001";state <= state1; end if; when state1 => if y="00000001" then y<="00000010";state <= state1; elsif y="00000010" then y<="00000100";state <= state1; elsif y="00000100" then y<="00001000";state <= state1; elsif y="00001000" then y<="00010000";state <= state1; elsif y="00010000" then y<="00100000";state <= state1; elsif y="00100000" then y<="01000000";state <= state1;

出租车系统设计

出租车计费系统设计 功能分析 本设计主要介绍了出租车计费系统的设计思路和过程,并给出了所涉及的相关知识的详细介绍。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

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

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

VHDL课程设计-PS2键盘

VHDL课程设计-PS2键盘

目录 一、课程设计的目的与任务 (3) 二、课程设计题目 (3) 1、指定题目: (3) 2、自选题目: (3) 三、课程设计的内容与要求 (3) 1、设计内容 (4) 2、设计要求 (4) 四、实验仪器设备 (4) 五、设计方案 (4) 1、PS2解码 (4) 2、设计思路 (6) 3、模块设计 (7) 4、各模块分析 (8) (1)PS2时钟检测模块 8 (2)PS2解码模块 10 (3)PS2组合模块 12 (4)控制LED模块 14 (5)PS2总的组合模块 16 六、综合与仿真 (17) 1、综合 (17) 2、仿真 (18) (1)电平检测模块仿真 (18) (2)LED灯控制模块仿真 (18)

(3)PS2_module总模块仿真 (19) 七、硬件下载 (23) 八、心得体会 (24) 九、参考文献 (24) 一、课程设计的目的与任务 (1)熟练掌握EDA工具软件QuartusII的使用; (2)熟练用VHDL硬件描述语言描述数字电路; (3)学会使用VHDL进行大规模集成电路设计; (4)学会用CPLD\FPGA使用系统硬件验证电路设计的正确性; (5)初步掌握EDA技术并具备一定的可编程逻辑芯片的开发能力; 二、课程设计题目 1、指定题目: 0 :多功能计数器;1 :数字秒表;2 :简易数字钟;3 :简易频率计; 4 :彩灯控制器; 5 :交通灯控制器; 6 :四路智力竞赛抢答器; 7 :简易微波炉控制器;8 :表决器;9 :数字密码锁; 我的的学号尾数是2,所以我要做的题目是简易数字钟。由于我之前已经学过Verilog HDL和VHDL,所以简易数字钟相对于我比较简单,我完成了简易数字钟并验收后,再选择了另一个自选题目来完成。 简易数字钟:设计一个以“秒”为基准信号的简易数字钟,显示时、分、秒,同时可实现整点报时和清零(我已经完成,而且已经验收了)。 2、自选题目: 在完成了数字钟的设计后,我选择了另一个设计的题目,那就是PS2键盘扫描。所以这次课程设计我的报告主要详细写的是PS2键盘扫描的程序,而不是简易数字钟。 PS键盘扫描:设计一个PS键盘扫描程序,能接受键盘的输入时钟和数据,区别哪一个键输入,同时解译通码和断码,使用LED灯来显示收到的数据。三、课程设计的内容与要求

出租车计费系统

课程设计报告项目名称:出租车计价器设计与制作 课程名称:单片机技术 二级学院:电气与电子工程学院 系:电气工程系 班级: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

VHDL课程设计报告---交通灯设计

课程设计 课程名称:交通灯设计. 学院:电气工程学院专业:测仪姓名:学号: 年级:级任课教师: 2012年 1月12日

电气工程学院 课程设计任务书 课题名称:交通灯控制器的设计 专业、班级:测控技术与仪器测仪班 指导教师: 20 年1 月2 日至20 年1 月13 日共2周 指导教师签名: 教研室主任签名: 分管院长签名:

一、课程设计内容 1.学习ALTERA公司的FPGA/CPLD的结构、特点和性能。 2.学习集成开发软件MAX+plus II/Quartus II的使用及设计过程。 3.熟悉EDA工具设计数字电路设计方法,掌握VHDL硬件描述语言设计方法。 4.根据给定题目设计数字电路,来加深对可编程逻辑器件的理解和掌握。 二、课程设计应完成的工作 1.在所选择器件内完成交通灯控制器的设计,要求设计完成后芯片具有交通灯控制器的全部功能、包括显示和操作接口。 2.交通灯控制器要求控制十字路口两道路的交通灯,两道路交替通行,每次通行时间可设定20——60秒之间,每个路口要求有前行、禁止、人行灯。 (根据实际设计进度考虑可以增加左右转向灯,等待和通行时间显示等)。 3.撰写设计说明书一份(不少于2000字),阐述系统的工作原理,软、硬件设计方法,重点阐述软件思路。说明书应包括封面、任务书、目录、摘要、正文、参考文献(资料)等内容,以及硬件电路综合图和软件程序清单等材料。 注:设计说明书题目字体用小三,黑体,正文字体用五号字,宋体,小标题用四号及小四,宋体,并用A4纸打印。 三、课程设计进程安排

四、设计资料及参考文献 1.康华光主编,《电子技术基础-数字部分》,高等教育出版社,1998。2.谭会生等主编,《EDA技术及应用》,西安电子科技大学出版社,2001 3.潘松等主编,《EDA技术实用教程》,科学出版社,2006 4.雷伏容主编,《VHDL电路设计》,清华大学出版社,2006 5.Charles H.Roth等著,《数字系统设计与VHDL》,电子工业出版社,2008 五、成绩评定综合以下因素: (1) 说明书及设计图纸的质量(占50%)。 (2) 独立工作能力及设计过程的表现(占30%)。 (3) 回答问题的情况(占20%)。 说明书和图纸部分评分分值分布如下:

出租车计价系统设计

分类号: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以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。

相关主题