出租车计价器

出租车计价器
出租车计价器

出租车计价器课程设计

学生姓名:专业:

班级:学号:

初始条件:

本设计利用QuartusⅡ软件编写VHDL代码,运用EDA实验板上的FPGA、数码管、点阵模块、按键、拨码开关等硬件资源,实现简易的出租车计价器的相关功能。

要求完成的主要任务:

1.课程设计工作量:4次课。

2.技术要求:

(一)基本要求:

①行驶公里:用时钟 2 秒钟表示出租车匀速行驶 1 公里,在行车 5 公里以内,按起步价 13 元收费,超过 5 公里部分,以每公里 2 元收费。燃油附加费为每运次 1 元。途中等待:用按键控制中途等待,等待少于(包括)5 秒不收费,超过 5 秒后每等待 3 秒钟加收 1 元。

②用数码管分时显示计费金额、行驶里程和等候时间。字母 A 表示当前处于显示计费金额状态,字母 B 表示当前处于显示行驶里程状态,字母 C 表示当前处于显示等候时间状态。

③用按键控制出租车空驶、载客状态并用点阵显示空驶、载客状态。

(二)提高要求:

①用点阵滚动显示收费单据。

②具有夜间模式,基本单价加收 20%的费用。出租汽车收费结算以元为单位,元以下四舍五入。

③出租车行驶速度可调可控。

④多人乘车,分段计价。

⑤自拟其它功能。

摘要

本文介绍了一种采用单片FPGA芯片进行出租车计费器的设计方法,主要阐述如何使用新兴的EDA器件取代传统的电子设计方法,利用FPGA的可编程性,简洁而又多变的设计方法,缩短了研发周期,同时使出租车计费器体积更小功能更强大。本设计实现了出租车计费器所需的一些基本功能,计费包括起步价、行车里程计费、等待时间计费,同时考虑到出租车行业的一些特殊性,更注重了把一些新的思路加入到设计中。主要包括采用了FPGA芯片,使用VHDL语言进行编程,使其具有了更强的移植性,更加利于产品升级。

关键词:VHDL;计费器;QuartusⅡ;FPGA

Abstract

This paper describes the use of a single chip FPGA for the design of accounting-fee machine, mainly on how to use the emerging EDA electronic devices designed to replace traditional methods, using the programmable FPGA, concise and changing the design Ways to shorten the development cycle, so that taxi accounting-fee machine in a smaller more powerful. The design and implementation of the taxi accounting-fee machine for some basic functions, including billing starting price, driving metered, the waiting time billing, taking into account the special nature of some of the taxi industry, to pay more attention to a number of new Ideas into the design. Mainly including the use of the FPGA chip, the use of VHDL programming, so as to make it a stronger transplanted, and more conducive to product upgrades.

Key words: VHDL, accounting-fee machine , Quartus Ⅱ, FPGA

1.绪论

人类社会已经进入信息化时代,信息社会的发展离不开电子产品的进步。现代电子产品在性能提高、复杂度降低的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数万个晶体管;后者的核心就是EDA技术[1]。没有EDA技术的支持,想要完成超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必须对EDA技术提出新要求。EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(VHDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件[2]。

可编程逻辑器件自20世纪70年代以来,经历了PAL、GAL、CPLD、FPGA几个发展阶段,其中CPLD、FPGA属高密度可编程逻辑器件,目前集成度以高达200万门/片,它将掩膜ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制和小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以和容易地转由ASIC实现,因此开发风险也大为降低。CPLD/FPGA器件已成为现代高层次电子设计方法的实现载体[3]。

VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为3种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL 来完成[4]。另外,VHDL还有以下优点:VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;VHDL的设计不依赖于特定的器件,方便了工艺的转换。VHDL是一个标准语言,为众多的EDA场上支持,因此移植性好[5]。

2.设计内容及要求

2.1.设计的目的及主要任务

2.1.1.设计的目的

①学会在QuartusⅡ环境中运用VHDL语言设计方法构建具有一定逻辑功能的模块,并能运用图形设计方法完成顶层原理图的设计。

②掌握出租车自动计费器的主要功能与在FPGA中的实现方法。

2.1.2.设计任务及主要技术指标

①设计一个出租车计价器。要求显示行驶里程、停车时间和计费值:

用时钟 2 秒钟表示出租车匀速行驶 1 公里,在行车 5 公里以内,按起步价 13 元收费,超过 5 公里部分,以每公里 2 元收费。燃油附加费为每运次 1 元。途中等待:用按键控制中途等待,等待少于(包括)5 秒不收费,超过 5 秒后每等待 3 秒钟加收 1 元。

②运用QuartusⅡ软件中的仿真功能对所设计的出租车自动计费器的各个模块及顶

层电路的功能进行仿真分析。

③将所设计的整个系统写入FPGA器件中,加上需要的外围电路在实验箱上实现整个

系统的硬件搭建。

2.2.设计思想

本次设计首先在QuartusⅡ环境中对出租车自动计费器的各个部分利用VHDL这一硬件描述语言予以设计,生成模块。主要有:运算控制模块、分频器、显示模块这三大部分组成。由顶层模块协调控制完成设计任务。

3.设计原理与仿真结果

3.1.设计原理及方法

出租车自动计费器系统流程图

本次设计首先在QuartusⅡ环境中对出租车自动计费器的各个部分利用VHDL这一硬件描述语言予以设计,进行仿真,然后编写顶层模块将各个模块连接,并对相互之间的信号进行必要处理,从而实现整机功能,最后在实验板上进行物理测试,寻找漏洞、调整参数,最终确定设计。

3.2.单元模块设计

3.2.1.分频器模块设计

程序代码:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY fenpinqi IS

PORT( clk:IN STD_LOGIC;

clk1,clk2,clk3:OUT STD_LOGIC);

END fenpinqi;

ARCHITECTURE behave OF fenpinqi IS

SIGNAL temp1,temp2,temp3:STD_LOGIC;

BEGIN

p1:PROCESS(clk)

variable count1:integer:=0; --2000HZ分频,用于数码管扫描显示

BEGIN

IF clk'EVENT AND clk='1' THEN

IF count1=12499 THEN

count1:=0;

temp1<=not temp1;

ELSE

count1:=count1+1;

END IF;

clk1<=temp1;

END IF;

END PROCESS p1;

p2:process(clk)

variable count2:integer:=0;

BEGIN

IF clk'EVENT AND clk='1' THEN --1 Hz分频,用于等待时间计算

IF count2=24999999 THEN

count2:=0;

temp2<=not temp2;

ELSE

count2:=count2+1;

END IF;

clk2<=temp2;

END IF;

END PROCESS p2;

p3:process(clk)

variable count3:integer:=0;

BEGIN

IF clk'EVENT AND clk='1' THEN --0.5Hz分频,用于里程计算 IF count3=49999999 THEN

count3:=0;

temp3<=not temp3;

ELSE

count3:=count3+1;

END IF;

clk3<=temp3;

END IF;

END PROCESS p3;

END behave;

模块儿实现:

仿真实现:

3.2.2.计价器模块设计

程序代码:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY jijia IS

PORT( clk2,clk3,rst:IN STD_LOGIC;

btn1,btn2,btn3:IN STD_LOGIC;

mile,pause,price:out integer range 0 to 99);

end jijia;

ARCHITECTURE behave OF jijia IS

signal mile_out,pause_out,price_out:integer range 0 to 99:=0; signal i:integer range 0 to 1;

signal j:integer range 0 to 1;

begin

p1:PROCESS(rst,btn1,btn2,btn3) --中间变量赋值 begin

if rst='0' then

i<=0;

j<=0;

else

if btn1'event and btn1='1' then

i<=1;

j<=0;

end if;

if btn2='1' then

i<=0;

j<=1;

end if;

if btn3='1' then

i<=0;

j<=0;

end if;

end if;

end process p1;

p2:process(rst,clk3,i) --计算里程

begin

if rst='0' then

mile_out<=0;

else

if rst='1' then

if clk3'event and clk3='1' then

if i=1 then

mile_out<=mile_out+1;

end if;

end if;

end if;

end if;

mile<=mile_out;

end process p2;

p3:process(rst,clk2,j) --计算等待时间

begin

if rst='0' then

pause_out<=0;

else

if rst='1' then

if clk2'event and clk2='1' then

if j=1 then

pause_out<=pause_out+1;

end if;

end if;

end if;

end if;

pause<=pause_out;

end process p3;

p4:process(rst,mile_out,pause_out) --总费用的结算 begin

if rst='0' then

price_out<=0;

end if;

if rst='1' then

if mile_out<=5 and pause_out<=5 then

price_out<=14;

end if;

if mile_out>5 and pause_out<=5 then

price_out<=14+(mile_out-5)*2;

end if;

if mile_out<=5 and pause_out>5 then

price_out<=14+(pause_out-5)/3;

end if;

if mile_out>5 and pause_out>5 then

price_out<=14+(mile_out-5)*2+(pause_out-5)/3;

end if;

end if;

price<=price_out;

end process p4;

end behave;

模块儿实现:

仿真实现:

3.2.3.显示模块设计

程序代码:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

entity xianshi is

port

(clk1,rst:in std_logic;

mile,price,pause:in integer range 0 to 99;

smg:out std_logic_vector(6 downto 0); --数码管7段显示

cat:out std_logic_vector(5 downto 0)); --数码管地址

end xianshi;

architecture behave of xianshi is

signal l:integer range 0 to 5; --用于调整扫描显示的中间量begin

p1:process(clk1,price,mile,pause) --数码管扫描显示

begin

if rst='0' then

cat<="111111";

l<=0;

else

if clk1'event and clk1='1' then

if l=5 then

l<=0;

else

l<=l+1;

end if;

end if;

case l is

when 0=>cat<="101111";

case mile mod 10 is --显示里程个位

when 0 =>smg<="0111111";

when 1 =>smg<="0000110";

when 2 =>smg<="1011011";

when 3 =>smg<="1001111";

when 4 =>smg<="1100110";

when 5 =>smg<="1101101";

when 6 =>smg<="1111101";

when 7 =>smg<="0000111";

when 8 =>smg<="1111111";

when 9 =>smg<="1101111";

when others=>smg<="0000000";

end case;

when 1=>cat<="011111";

case (mile-mile mod 10)/10 is --显示里程十位 when 0 =>smg<="0111111";

when 1 =>smg<="0000110";

when 2 =>smg<="1011011";

when 3 =>smg<="1001111";

when 4 =>smg<="1100110";

when 5 =>smg<="1101101";

when 6 =>smg<="1111101";

when 7 =>smg<="0000111";

when 8 =>smg<="1111111";

when 9 =>smg<="1101111";

when others=>smg<="0000000";

end case;

when 2=>cat<="111011";

case pause mod 10 is --显示等待时间个位 when 0 =>smg<="0111111";

when 1 =>smg<="0000110";

when 2 =>smg<="1011011";

when 3 =>smg<="1001111";

when 4 =>smg<="1100110";

when 5 =>smg<="1101101";

when 6 =>smg<="1111101";

when 7 =>smg<="0000111";

when 8 =>smg<="1111111";

when 9 =>smg<="1101111";

when others=>smg<="0000000";

end case;

when 3=>cat<="110111";

case (pause-pause mod 10)/10 is --显示等待时间十位 when 0 =>smg<="0111111";

when 1 =>smg<="0000110";

when 2 =>smg<="1011011";

when 3 =>smg<="1001111";

when 4 =>smg<="1100110";

when 5 =>smg<="1101101";

when 6 =>smg<="1111101";

when 7 =>smg<="0000111";

when 8 =>smg<="1111111";

when 9 =>smg<="1101111";

when others=>smg<="0000000";

end case;

when 4=>cat<="111110";

case price mod 10 is --显示费用个位 when 0 =>smg<="0111111";

when 1 =>smg<="0000110";

when 2 =>smg<="1011011";

when 3 =>smg<="1001111";

when 4 =>smg<="1100110";

when 5 =>smg<="1101101";

when 6 =>smg<="1111101";

when 7 =>smg<="0000111";

when 8 =>smg<="1111111";

when 9 =>smg<="1101111";

when others=>smg<="0000000";

end case;

when 5=>cat<="111101";

case (price-price mod 10)/10 is --显示费用十位 when 0 =>smg<="0111111";

when 1 =>smg<="0000110";

when 2 =>smg<="1011011";

when 3 =>smg<="1001111";

when 4 =>smg<="1100110";

when 5 =>smg<="1101101";

when 6 =>smg<="1111101";

when 7 =>smg<="0000111";

when 8 =>smg<="1111111";

when 9 =>smg<="1101111";

when others=>smg<="0000000";

end case;

when others=>cat<="111111";

end case;

end if;

end process p1;

end behave;

模块儿实现:

仿真实现:

3.2.

4.点阵模块设计

程序代码:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY dianzhen IS

PORT(clk1,rst:IN STD_LOGIC;

rowout:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); colout:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END dianzhen;

ARCHITECTURE behave OF dianzhen IS

SIGNAL row:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL col:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL cnt:INTEGER RANGE 0 TO 7;

BEGIN

p1:PROCESS(clk1)

BEGIN

IF(clk1'EVENT AND clk1='1')THEN

IF(cnt=7)THEN cnt<=0;

ELSE

cnt<=cnt+1;

END IF;

END IF;

END PROCESS;

p2:PROCESS(cnt)

BEGIN

IF(rst='0')THEN

CASE cnt IS

WHEN 7=>row<="01111111";col<="00000000"; WHEN 0=>row<="10111111";col<="01111110"; WHEN 1=>row<="11011111";col<="01111110"; WHEN 2=>row<="11101111";col<="01111110"; WHEN 3=>row<="11110111";col<="01111110"; WHEN 4=>row<="11111011";col<="01111110"; WHEN 5=>row<="11111101";col<="01111110"; WHEN 6=>row<="11111110";col<="00000000";

END CASE;

ELSE

CASE cnt IS

WHEN 7=>row<="01111111";col<="00000000"; WHEN 0=>row<="10111111";col<="00000000"; WHEN 1=>row<="11011111";col<="00000000"; WHEN 2=>row<="11101111";col<="00000000"; WHEN 3=>row<="11110111";col<="00000000"; WHEN 4=>row<="11111011";col<="00000000"; WHEN 5=>row<="11111101";col<="00000000"; WHEN 6=>row<="11111110";col<="00000000";

END CASE;

END IF;

END PROCESS;

rowout<=row;

colout<=col;

END behave;

模块儿实现:

仿真实现:

3.2.5.运算控制模块TAXI设计

模块儿实现:

4.硬件调试

在完成程序综合后,进行硬件调试之前,先要对芯片进行定义。具体操作如下:

首先点击Assignments—Device,选择实验箱所用芯片型号EP1C3T144C8。点选Device and Pin Options。在这里选择Unused Pins选项卡,将Reserve all unused pins选为As input tri-stated。

然后开始进行管脚设定,根据实验箱的资源配置设置如下:

芯片管脚分配表

再次进行综合,正确后就可将文件下载到芯片中。连接下载线,调整实验箱的跳线后,打开电源,经QuartusⅡ中的“PROGRAMMER”菜单,调出编程器窗口。按下编程器窗口中的“START”按钮,设计的内容就开始下载到FPGA芯片中。

进行多组功能组合测试,显示结果符合设计要求,证明设计成功。

5.总结

出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停

止则车费清零,等待下一次计费的开始。各模块完成后,在将它们组合成完整的出租车系统,在设计过程中还需要改进的是控制系统的纠错功能。出租车计费系统的设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的硬件描述语言及PLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。

6.心得体会

本次课程设计至此已经接近尾声,两周的时间虽然很短暂,但在这四次课的设计过程中收获颇丰。设计的核心内容就是QuartusⅡ环境中,利用VHDL语言设计出基于FPGA的出租车计费器。整个设计过程中首先对EDA(电子设计自动化)这门课程有了更深的了解,因为课程设计本身要求将以前所学的理论知识运用到实际的电路设计当中去,在电路的设计过程中,无形中便加深了对VHDL语言的了解及运用能力,对课本以及以前学过的知识有了一个更好的总结与理解;以前的EDA实验只是针对某一个小的功能设计,而此次得EDA 课程设计对我们的总体电路的设计的要求更严格,需要通过翻阅复习以前学过的知识确立了实验总体设计方案,然后逐步细化进行各模块的设计;其次,在电路仿真的过程中总会出现一些问题,需要我们细心解决,所以这两周下来,我对电路故障的排查能力有了很大的提高;再次,通过此次课程设计,我对设计所用到的软件有了更加深刻地了解,这对我们以后的工作和学习的帮助都很有用处。

感谢学校给我们这次机会,锻炼了我们的动手能力。通过这次课设让我明白了理论和实际操作之间差距,而且也让我很明确得意识到自己在VHDL语言的语法理解上有很多的知识漏洞,以后应该多钻研一下。同时也感谢指导老师在设计过程中的辅导以及同学的帮助。

7.参考文献

[1]潘松,黄继业.EDA技术与VHDL.北京:清华大学出版社,2007.1.

[2]宋嘉玉,孙丽霞.EDA实用技术.北京:人民邮电出版社,2006.12.

[3]齐洪喜,陆颖.VHDL电路设计实用技术.北京:清华大学出版社,2004.5.

[4]刘艳萍,高振斌,李志军.EDA实用技术及应用.北京:国防工业出版社,2006.1.

[5]章彬宏.EDA应用技术.北京:北京理工大学出版社,2007.7.

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

新疆大学 课程设计报告 所属院系:电气工程学院 专业:电气工程及其自动化课程名称:电子技术基础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毫秒脉冲波形图

出租车计价器系统完整版

智能电子产品设计与制作 课程设计(论文) 题目: 《出租车计价器系统设计》 学院:电气与电子信息工程学院 专业名称: 学号: 学生姓名: 同组成员: 指导教师: 课设时间: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、单片机模块

简易出租车里程计费器

测控08级综合课程设计 题目:简易出租车里程计费器 摘要:本系统以STC89C52RC单片机为控制核心,辅以键盘调节、12864显示、蜂鸣器报警、车速模拟、车速检测及信息存储电路,实现了出租车计价器的行车里程和车速的实时检测与显示、计价金额显示以及价格预置等功能,满足了题目中基本部分及发挥部分的要求。在此基础上,还增加了断电保护、蜂鸣器警示、行驶里程等功能。该系统功能齐全,实用性强。经测试,计价器的各项显示指标均满足题目要求。 关键词:出租车里程计费器;STC89C52RC+;MOC70T2;;掉电保护;

Abstract: This system uses STC89C52 microcontroller as control core. With the keyboard control circuit, digital display circuit, beep alarm circuit, speed measureement circuit, speed detection circuit and information storage circuit,this system realizes function of the meter taxi driving mileage ,display and detection of real-time speed, valuation display and price set in advance, it meets all essential and additional requirement. Additional function such as power-off protection , beep alarm the print of mileage and consumption is added. This system is fully functioned and easy to implement. The measurement results show that all indicators of this taxi meter meet the requirement.

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

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

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

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

出租车计价器设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:微机系统综合课程设计 课程设计题目: 出租车计价器的设计与实现 院(系): 计算机学院 专 业 : 计算机科学与技术 班 级: 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、引入问题 2、布置任务 3、建立数学模型 4、确定算法画出流程图: 5、编写应用程序 6、进行作品展示

7、活动反思 [关于教学策略] 通过项目式学习,一般要求学生应以小组为单位,联系学习、生活的实践,设计学习任务、课题或项目,教师只起组织、指导作用,并考虑制定可行的评价方案。 对于在项目活动中出现学生思维出现盲点或陷入小巷思维时,教师因势利导,给与学生适时的引导与帮助。这样将更有利于学生正确地分析问题、思考问题,学生思维才能得到更有效的培养和锻炼。 最后,期望通过本项目学生能充分理解分支结构解决问题的基本思想,根据算法画出流程图。同时能形成相互研究讨论的风气,逐步养成合作学习的好风气,取长补短、共同提高。二、教学目标 知识目标: 1、理解分支结构解决问题的基本思想; 2、能用分支结构算法来解决实际问题。 能力目标: 1、培养和提高学生逻辑思维能力,使学生完成对分支结构算法的设计; 2、通过对实际问题的解决,培养学生在算法研究中的自学探究能力和解决具体问题的能力。 情感目标: 1、创设情境,激发学生兴趣,提高学生学习的主动性和积极性。让学生知道算法设计在现实生活中的重要性和程序设计的实用性; 2、倡导同学间的相互研究讨论的风气,逐步养成合作学习的好风气,取长补短、共同提高。 三、教学重点与难点 重点:把解决实际问题的方法用分支结构算法表达出来 难点:分支结构算法特点和作用的归纳 四、教学资源 1、调查学生使用搜索引擎的情况。 2、教师用VB程序编写一个出租车计价器软件。 3、设计学生活动,准备活动中碰到的问题。 4、多媒体网络机房,网络展示评价平台。 五、教学过程 1、引入:出租车乘过吗?了解费用怎么计算?

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

目录 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 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

出租车计价器控制电路的设计方案

数字电子课程设计 课题名称出租车计价器控制电路的设计 所在院系机电学院 班级07自动化<2)班 学号200710320227 姓名龚涛 指导老师张玲 时间2009-12-27

景德镇陶瓷学院 数字电子课程设计任务书 班级:07自动化<2)班姓名:龚涛指导老师:张玲

教研室主任签字:年月日 目录 0.前言4 1.设计要求及原理4 1.1 设计要求4 1.2 基本原理4 2.各单元设计说明5 2.1 单片机最小系统单元5 2.2 A44E霍尔传感器检测单元6 2.3 AT24C01存储单元7 2.4 键盘调整单元8 2.5 显示单元9 3程序设计9 3.1 系统主程序9 3.2 中断程序10 3.2.1 里程计数中断程序10

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

出租车计价器说明

出租车计价器 1功能描述 出租车计价器是有液晶显示,按键控制,进行价格的设定,实现模拟出租车计价器的控制。 2产品模块配置 1. EDM606-12864点阵液晶 2. EDM001-MCS51单片机主板 3. EDM403-8位独立按键 4. EDM502直流电机 5. EDM405 PNP三极管驱动 6. EDM314+-5V,+-12V直流电源模块 3 单元模块电路及功能 1. EDM314+-5V,+-12V主流电源模块为各模块提供电源。 4产品模块连线 各模块都连接电源 5V,GND。 EDM001-MCS51主机:P00~P07 连EDM606-12864点阵液晶: DB0~DB7 EDM001-MCS51主机:P10~P17 连EDM606-12864点阵液晶: RST~NC EDM001-MCS51主机:P20~P27 连 EDM403-8位独立按键: F2~左 EDM001-MCS51主机:P30 连 EDM405 PNP三极管驱动: IN EDM001-MCS51主机:P32 连 EDM502直流电机:PULSE EDM405 PNP三极管驱动:OUT 连 EDM502直流电机:M- EDM502直流电机:M+ 连 VCC 产品原理图:

6 实验步骤及调试 F2为开机键 F1为菜单设置保存键 SET为启动键 0K按一次为暂停键按二次为完成键 上为菜单设置键 下为菜单设置键 左为菜单设置键 右为菜单设置键 功能使用说明:连线完成上电 按F2开机过五秒后进入出租车计价器菜单按F1 设置菜单此时设置的菜单会变黑,按左右键进行加减(只有价格可以修改)当要修改其他的参数的时候会提示不能操作,(因为路程等其他参数是不能进行修改的不符合实际)价格设置完成后按F1保存按SET启动电机转动当遇到堵车或其他原因要暂时停车可按OK键在此行驶时按SET键即可继续启动, 停止时按OK键,按F1键查看菜单行驶》单价》总价》时间》总路程》载人次数》工作时间》累计金额。 再按OK,清零。 当提示无权操作的时候,按F1返回。

简易出租车计价器设计

简易出租车计价器 摘要:介绍了一种以单片机为核心的多功能出租车计价器,该计价器采用单CPU结构,具有计量功能、掉电保护功能、语音功能等。文中阐述了系统的硬件及软件结构。 关键词:出租车计价器单片机多功能 ABSTRACT:This paper present a new type of taximeter based on single chip microcomputer. In addition to metering the distance, this kind of taximeter have safe memory function, speech function and so on. The article mainly introduces the system hardware and software. KEYWORDS:Taximeter single chip microcomputer multi-function 第1节引言 汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。 电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。 随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。 现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。 …… 1.1出租车计价器概述 本电路以89S51 单片机为中心、附加A44E 霍尔传感器测距,实现对出租车计价统计,采用AT24C02 实现在系统掉电的时候保存单价和系统时间等信息,输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。 1.2本设计任务 1.2.1设计任务 设计简易出租车计价器 1.2.2 课程设计目的

出租车自动计费器EDA设计

出租车自动计费器EDA设计 6.7.1 设计要求 设计一个出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费三部分,用三位数码管显示金额,最大值为元,最小计价单元为元,行程 3公里内,且等待累计时间3分钟内,起步费为8元,超过3公里,以每公里元计费,等待时间单价为每分钟1元。用两位数码管显示总里程。最大为99公里,用两位数码管显示等待时间,最大值为59min。 6.7.2原理描述 根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块计量模块、译码和动态扫描显示模块,其系统框图如图6-63所示,各模块功能如下: 图6-63出租车自动计费器系统框图 1分频模块 & 分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,10Hz和1Hz的三种频率。该模块产生频率信号用于计费,每个1HZ脉冲为元计费控制,10HZ信号为1元的计费控制,16Hz信号为元计费控制。 2 计量控制模块 计量控制模块是出租车自动计费器系统的主体部分,该模块主要完成等待计时功能、计价功能、计程功能,同时产生3分种的等待计时使能控制信号en1, 行程 3公里外的使能控制信号en0。其中计价功能主要完成的任务是:行程 3公里内,且等待累计时间3分钟内,起步费为8元;3公里外以每公里元计费,等待累计时间3分钟外以每分钟1元计费;计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量程自动归零;计程功能主要完成的任务是:计算乘客所行驶的公里数。计程器的量程为99公里,满量程自动归零。 3 译码显示模块 该模块经过8选1选择器将计费数据(4位BCD码)、计时数据(2位BCD码)、计程数据(2位BCD码)动态选择输出。其中计费数据jifei4~ jifei1~送入显示译码模块进行译码,最后送至百元、十元、元、角为单位对应的数码管上显示,最大显示为元;计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示,最大显示为59秒;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。

出租车计价器报告(共10篇)

出租车计价器报告(共 10 篇) 课程设计说明书 课程:EDA 技术基础 题目:出租车计费器 学班级专 XX 年12 月20 日 长沙理工大学课程设计任务书 物理与电子科学学院电信专业 1201 班姓名田伟正课程名称 EDA 技术基础题目出租车计费器 长沙理工大学课程设计成绩评定表 目录 1.设计任务. ......................................1 2.设计方案. ......................................1 3.各功能模块的原理及思路分析.....................分频模块. ...................................计量模块. ...................................2 计费模块. ...................................控制模块. ...................................显示模块. ...................................4 模拟出租车脉冲信号发生器....................4 头文件.

.....................................54.个人模块. ..........................55.个人模块方案验证. ..............................76.心得体会. ......................................8 参考文献. . (9) 1.设计任务 设计一个出租车自动计费器,计费包括起步价、行车 里程计费、等待时间计费三部分。起步价为元,2 公里之内按起步价计费,超过 2 公里,每公里增加元,等待时间单价为每 1 分钟元。用数码管显示总金额、总里程、等待时间。设汽车每前进十米里程传感器输出一个脉冲。 设计一个测试用模拟车速的脉冲源,模拟的车速可通 过按键调整,范围为 5km/h~200km/h 发挥部分: 时钟,白天夜间计费模式 按长沙市出租车现行收费标准设计计费器 2.设计方案 根据设计要求,系统的输入信号有:系统时钟信号CLK,出租车启动信号 START,出租车每十米输出一个脉冲,等待信号 STOP,公里信号 FIN。系统的输出信号有:总费用数C0-C3,行驶距离 K0-K1 和等待时间 M0-M1 等。系统组成方框图如下所示,它由模拟出租车脉冲信号、分频模块、计量模块、计费模块、控制模块和显示模块六部分组成。总流程图:

出租车自动计费器EDA设计

6.7出租车自动计费器EDA设计 6.7.1 设计要求 设计一个出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费三部分,用三位数码管显示金额,最大值为999.9元,最小计价单元为0.1元,行程3公里内,且等待累计时间3分钟内,起步费为8元,超过3公里,以每公里1.6元计费,等待时间单价为每分钟1元。用两位数码管显示总里程。最大为99公里,用两位数码管显示等待时间,最大值为59min。 6.7.2原理描述 根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块计量模块、译码和动态扫描显示模块,其系统框图如图6-63所示,各模块功能如下: 图6-63出租车自动计费器系统框图 1分频模块 分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,10Hz和1Hz的三种频率。该模块产生频率信号用于计费,每个1HZ脉冲为0.1元计费控制,10HZ信号为1元的计费控制,16Hz信号为1.6元计费控制。 2 计量控制模块 计量控制模块是出租车自动计费器系统的主体部分,该模块主要完成等待计时功能、计价功能、计程功能,同时产生3分种的等待计时使能控制信号en1, 行程 3公里外的使能控制信号en0。其中计价功能主要完成的任务是:行程 3公里内,且等待累计时间3分钟内,起步费为8元;3公里外以每公里1.6元计费,等待累计时间3分钟外以每分钟1元计费;计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量程自动归零;计程功能主要完成的任务是:计算乘客所行驶的公里数。计程器的量程为99公里,满量程自动归零。 3 译码显示模块 该模块经过8选1选择器将计费数据(4位BCD码)、计时数据(2位BCD码)、计程数据(2位BCD码)动态选择输出。其中计费数据jifei4~ jifei1~送入显示译码模块进行译码,最后送至百元、十元、元、角为单位对应的数码管上显示,最大显示为999.9元;计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示,最大显示为59秒;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。

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

嵌入式系统设计题目:出租车计价器控制系统电路设计 学号: 姓名:深蓝

新型出租车计价器控制电路的设计 第1章绪论 1.1 背景及意义 进入21世纪的今天,科技高速发展。同样,出租车行业也在发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。 我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如2KM)计费数字显示开始从起步价(如¥:6元)增加。当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。 在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的,因此,汽车计价器的研究也是十分有一个应用价值的。 通过本次设计,可以增进对单片机的感性认识,加深对其理论方面的理解,掌握单片机的内部功能模块的应用,了解掌握单片机的软硬件设计过程、方法及实现。 1.2设计要求 主要的外围功能电路有:驱动电路,按键控制电路,掉电保护电路,时钟部分,数码管显示电路等。 通过对以上各功能的设计,制作出的出租车计价器应具有以下功能: 1)上电时显示全为零,通过按下启动按键来开始计价,数码管开始显示起步价和起 步金额; 2)按下模拟开关按键来产生一个脉冲信号,模拟行驶的里程; 3)数码管开始显示所走里程和所应付的金额,并逐渐增加; 4)按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,按下清 零按键,数码管全显示零,以备下次计价。

出租车计价器设计与实现.

西安电子科技大学 单片机电路设计报告 设计题目:出租车计价器设计与实现 系部计算机系 专业计算机科学与技术 班级030914 学生姓名罗维、张长建、邓海霞

学号03091350 田玉敏指导教师 2011年11月24 日 1.前言 本文介绍了出租车计价器系统在实际生产生活中的重要性,介绍一种以单片机STC89C52 为核心的出租车计价器的设计,阐述硬件设计过程中关键技术的处理。 在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。 本设计采用STC89C52单片机为主控器,实现对出租车的计价设计,输出采8段数码显示管,74LS245芯片和74LS138芯片驱动。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜来调节单价,同时具有计时功能。

2.系统整体设计 设计要求 设计一款基于STC89C52单片机的出租车计价器 基本功能(1)根据输入的模拟脉冲实现同步计费,起步价设为7 元,每公里费用 初始设为2元 (2)能够根据白天/晚上切换单价 (3)具有清零功能 (4)八位数码管动态显示(计费模式下4位显示路程,4位显示费用) (5)具有计时功能 (6)能够在计时模式和计费模式之间切换 (7)按键要求:白天/晚上切换、中断输入、清零、计时模式/计费模式切换 系统功能 本次设计的出租车计价器的主要功能有:金额输出、里程输出、数据复位、白天/晚上单价转换、计时等。输出采用2个4位8段共阳极数码管。计费模式下前四位显示金额,后四位显示里程,计时模式下八位全用来显示时间。 设计方案 本设计是由硬件设计和软件设计两部分所组成。软件设计要进行程序的编写和软件仿真;硬件设计要进行原理图设计,PCB设计,制作电路板和硬件调试等

最新出租车计价器设计

出租车计价器设计

综合实验 ——出租车计价器设计 前言 随着微电子技术的发展,现代电子技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。 本学期,学校开设了EDA和VHDL课程的学习,而学习一门编程语言,最好的方法莫过于在一个完整的系统开发过程中进行。因此,EDA综合实验就是一个最好的学习实践机会。 随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计价器是出租车营运收费的专用智能化仪表是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。本实验就是采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过在 Quartus II软件下进行模拟仿真,并进行相应的硬件下载调试,证明所设计的电路系统完成了出租车计价器的功能,各技术指标符合预定标准,具有一定实用性。

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

课程设计 课程设计名称: EDA课程设计 专业班级:电科1002班 学生姓名:XXX 学号: 2010483602XX 指导教师: XXX 课程设计时间:2013-2-25~2013-3-8

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

审查意见指导教师签字: 教研室主任签字:庆辉 2013年 2月 25日 一、设计任务及要求 设计一个出租车计价器:计费包括起步价、行车里程计费、等待时间计费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公里,满量程自动归零。

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

摘要 随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于89C51单片机的多功能出租车计价器,阐述硬件设计过程中关键技术的处理。结果表明该计价器具有集计程、计时、计费、存储等多种计量功能,并且具有打印和显示等多种功能。本课题主要研究出租车计价器的硬件设计。论文详细阐述了该计价器的总体设计:时钟电路模块、掉电存储模块、里程检测模块、LED显示模块、键盘模块等。

目录 引言 (3) 1. 设计背景 (4) 1.1课题背景 (4) 1.2设计内容 (4) 2出租车计价器系统简介 (4) 3系统硬件设计 (5) 3.1主控制器选择 (5) 3.2LED显示模块 (6) 3.3掉电保护模块 (7) 3.4里程采集模块 (8) 3.5按键输入模块 (9) 3.6晶振系统 (10) 3.7复位电路 (10) 3.8时钟模块 (12) 4软件设计简介 (13) 4.1汇编语言简介 (13) 4.2程序设计 (14) 5电路仿真 (17) 5.1Proteus软件介绍 (17) 5.2出租车计价器proteus仿真 (18) 5总结 (19) 参考文献 (19) 附录:源程序代码 (19)

引言 出租车行业在我国是八十年代初兴起的一项新兴行业,随着出租车行业的发展,出租车已经是城市交通的重要组成部分,出租车计费器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计费器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。要将出租车计价系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节单价以及计价方式。因此,研究出租车计价器及扩大其应用,有着非常现实的意义。 多年来国内普遍使用的计价器只具备单一的计量功能。目前全世界的计价器中有90%为台湾所生产。现今我国生产计价器的企业有上百家,主要是集中在北京,上海,沈阳和广州等地。 我国第一家生产计价器的是重庆市起重机厂,最早的计价器全部采用机械齿轮构,只能完成简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善。出租汽车计价器是一种专用的计量仪器,它安装在出租汽车上,能连续累加,并指示出行程中任一时刻乘客应付费用的总数,其金额值是计程和计时时间的函数。出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。随着电子技术的发展以及对计价器的不断改进和完善,便产生了诸多的附加功能。例如:(1)LED显示功能,数码管的使用让计价器实现多屏显示的功能,可同时显示各项营运数据,使乘客一目了然;(2)永久时钟功能,在非营运状态下,日历时钟芯片的使用使计价器可以显示永久时钟;(3)存储功能,可存储多项营运数据,便于查询。新型数据存储器的应用使得计价器的营运数据在掉电情况下还可以保存10年。

相关文档
最新文档