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

基于FPGA的出租车计费器

基于FPGA的出租车计费器
基于FPGA的出租车计费器

目录

摘要 (1)

Abstract (1)

第一章引言 (2)

1.1课题背景 (2)

1.2本文的主要工作 (2)

第二章 FPGA、VHDL介绍 (4)

2.1 FPGA现状及发展 (4)

2.2 FPGA的结构与特点 (4)

2.2.1 FPGA基本结构 (5)

2.2.2 FPGA的特点 (6)

2.3 VHDL设计优点 (6)

第三章出租车计费器的设计 (7)

3.1出租车计费器的总体设计 (7)

3.1.1出租车计费标准 (7)

3.1.2 总体框架设计 (7)

3.2出租车计费器主要模块设计 (8)

3.2.1 速度模块 (9)

3.2.2 计程模块 (9)

3.2.3 计时模块 (10)

3.2.4 计费模块 (10)

第四章整体电路设计 (11)

4.1 整体电路图 (11)

4.2 电源电路 (11)

4.3 启动/停止按键电路 (11)

4.4 自动清零部分 (12)

第五章系统仿真与下载实现 (13)

5.1 QuartusⅡ软件介绍 (13)

5.1.1软件特点 (13)

5.1.2 QuartusⅡ设计流程: (14)

5.2仿真结果 (14)

5.2.1整体仿真 (14)

5.2.2速度模块仿真 (15)

5.2.3计程模块仿真 (15)

5.2.4计时模块仿真 (16)

5.2.5 计费模块仿真 (16)

5.3设计测试 (17)

第六章总结及展望 (18)

.致谢 (19)

.主要参考文献 (19)

基于FPGA的出租车计费器设计

摘要:随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了很多方便。利用它进行产品开发,可以降低研发成本,缩短研发周期。本文介绍了一种采用FPGA芯片进行出租车计费器的设计方法,描述了研究该课题的意义和应用价值;说明了Altera公司的FPGA结构原理及其主要运用;介绍了超高速集成电路硬件描述语言的主要功能和设计;讲解了出租车计费器的系统原理和功能。本文主要采用了Altera 公司的可编程逻辑芯片EPC2C35F672C8为核心控制,并附加一定外围电路组成出租车计费器,使用目前流行的VHDL语言进行设计,具有移植性强的特点,便于升级及可重复使用。利用QuartusⅡ6.0对所设计的出租车计费器的VHDL代码进行仿真,并在FPGA数字实验系统上实现了该控制。

关键字:FPGA, VHDL, QuartusⅡ,出租车计费器

Design of Taxi Meter Based on FPGA

ABSTRACT:With the rapid development of EDA technology, the design and tools of electronic system have deeply changed. And the large-scale programmable logic device CPLD/FPGA appearance to make convenience for designer. By using it to research and develop, it will help deviser to reduce cost, shorten cycle. This essay introduces a design of taxi meter by using FPGA chip, describes the significance and importance to research this, explain makeup elements of FPGA which is made by Altera Company, introduce the main function and design of Very-High-Speed Integrated Circuit Hardware Description Language, interpret the taxi meter principle and functions of the system. This essay mainly use the EPC2C35F672C8 for core control, and add some outside circuit to make a taxi meter. It is designed with VHDL Language and it can be migrated easier. This make the product much more convenience to repeat use. By using QuartusⅡ6.0 to emulate taxi meter VHDL code, the PFGA digital experiment system can be controlled.

Key Words: FPGA, VHDL, QuartusⅡ, Taxi fare Registers

第一章引言

1.1课题背景

几年来,出租车行业发展迅速,全国大大小小的出租车公司已有数千家,基于出租车的附属品市场前景也是十分广阔。传统的出租车计费器大多是由单片机实现的,发展使用也是十几年了,在稳定性、成本、制造工艺、使用习惯等方面都具有一些优势,但在运营过程中系统不是很稳定,容易造成死机的现象。

传统计费器的不足点:

1.产品更新周期长:传统的计费器利用微控器,大部分功能依靠单片机实现。但单片机的程序不通用,不同芯片指令集不相同,因此设计研发比较困难,周期很长。

2.计价方式不灵活:每次计价标准修改都需要重新烧录芯片,使得每次价格调整都成为很费力的事情,很难适应社会发展的需要。

本设计基于FPGA的出租车计费器主要由Altera公司的CycloneⅡ型系列芯片EPC2C35F672C8及一些外部控制电路组成。使用软件QuartusⅡ和超高速硬件描述语言VHDL来实现计价标准灵活设定。FPGA在电子设计领域中价格低廉,有良好的发展趋势,它的出现必定会占领大部分数字器件市场。

1.2本文的主要工作

面对出租车行业日益迅猛的发展趋势及对计费器更高的灵活性的要求,本设计希望尝试一些新的方法来予以解决。

(1).利用FPGA取代传统微控器

随着FPGA等数字可编程器件的出现解决了传统电子设计不能完成的任务,利用FPGA来实现出租车计费器,可行性很高,而且电路简单,大大减少外围器件,可以用软件完全仿真,灵活度高,可以设计一些复杂的系统,而且编好的系统可以在不同的FPGA 或CPLD芯片上通用。FPGA能完成任何数字器件的功能,使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。同时由于FPGA的功能完全

取决于VHDL语言编写的程序,不拘泥于某种芯片的特殊指令,更加提高了产品的更新换代能力。

(2).完成基于FPGA的出租车计费器的设计

出租车计费器系统是VHDL语言的实际应用,利用VHDL语言设计出来的出租车计费器系统将实现计程模块、计时模块以及动态扫描模块等设计方法与技巧。计程模块将用计数器来完成,计数器对脉冲数计数,然后提供给程序数据。通过不同的信号,然后用比较器可以让我们确定出租车是在车行计程还是车停计时。再将数据传输到计费模块,通过多种条件判定,最后确定输出值,然后相加确定最后的费用,并显示出来。

第二章 FPGA、VHDL介绍

2.1 FPGA现状及发展

FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称。它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA起源于美国的Xilinx公司,该公司于1985年推出了世界上第一块FPGA芯片。在这二十年的发展过程中,FPGA的硬件体系结构和软件开发工具都在不断的完善,日趋成熟。从最初的1200个可用门,90年代时几十万个可用门,发展到目前数百万门至上千万门的单片FPGA芯片,Xilinx、Altera等世界顶级厂商已经将FPGA器件的集成度提高到一个新的水平。FPGA结合了微电子技术、电路技术、EDA技术,使设计者可以集中精力进行所需逻辑功能的设计,缩短设计周期,提高设计质量。

目前世界上有十几家生产CPLD/FPGA的公司,最重要的几家是Altera、Xilinx、Lattice和Actel。

Actel公司生产的FPGA广泛应用于通信等领域,该公司的部分FPGA系列采用了繁荣死结构,可以应用于航空航天、军事领域。另外一些FPGA采用了Flash工艺制造。

Xilinx公司目前有8款FPGA的DSP。其中Sparten-3A DSP为低端产品,高端的Virtex-DSP分为两个产品线:Virtex-4 SX,采用了65nm工艺的Virtex-5 SXT。所以Xilinx的产品从21最多到352个GMAC/s(千兆乘加/秒),以提供不同范围的性能,同时也增大在存储器方面的带宽。因此最低速产品可以运行到250MHz,告诉产品运行到550MHz;MAC单元从84到640。

Altera公司的高密度StratixⅢ器件拓展FPGA的DSP性能。嵌入式DPS模块运行在550Hz,这些器件可达每秒492千兆乘加(GMAC)的性能,并结合良好的逻辑结构于速度优化的互联。StratixⅡ器件可以引脚完全兼容地移植到HardCopyⅡ结构化ASIC,从而保证客户的设计功能没有任何改变。Altera的新一代结构化ASIC芯片,逻辑相当于多达220万ASIC门,DSP模块相当于额外的140万门,还有集成超过8Mbits的嵌入式存储器。

2.2 FPGA的结构与特点

2.2.1 FPGA基本结构

目前生产FPGA的主要公司有Altera、Xilinx、Lattice和Actel,生产的FPGA品种和型号繁多,尽管这些FPGA的集体结构和性能指标各有特色,但它们都有一个共同之处,即由逻辑功能块排成阵列,并有可编程的互连资源连接这些逻辑功能块,从而实现不同的设计。典型的FPGA通常包含三类基本资源:可编程逻辑功能块、可编程输入/输出块和可编程互联资源,基本结构如图2-1所示。

图2-1 FPGA基本结构

2.2.2 FPGA的特点

FPGA使用的是可编程的查找表(Look Up Table,LUT)结构,LUT是可编程的最小逻辑结构单元。大部分FPGA采用基于SRAM的查找表逻辑形成结构,就是用SRAM(静态随机存储器)来构成逻辑函数发生器。一个N输入查找表(LUT)可以实现N个输入变量的任何逻辑功能。

目前市场上有三种基本FPGA编程技术:SRAM、反熔丝、Flash。其中SRAM是迄今为止应用范围最广的架构,主要因为它速度快且具有可重编程能力,而繁荣死FPGA只具有一次可编程(One Time Programmable,OTP)能力。基于Flash的FPGA是FPGA领域比较新的技术,也能提供重编程功能。

2.3 VHDL设计优点

利用VHDL语言设计数字逻辑硬件系统具有多方面的优点。

1.VHDL可以用来描述逻辑设计的结构,比如逻辑设计中有多少个子逻辑,而这些子逻辑是如何连接的。

2.VHDL并不十分关心一个具体逻辑是靠何种电路实现的,设计者主要把精力集中电路所能实现的功能上。

3.VHDL采用类似于高级语言的语句格式完成对硬件行为的描述,所以我们称VHDL 为行为描述语言。

4.VHDL所给出的逻辑的模拟与调试为设计者提供了最大的空间,用户甚至不必编写任何测试向量便可进行源代码级的调试。

5.设计者可以非常方便地比较各种方案的可行性和优劣,大大降低了设计的难度。并且设计者的原始描述是非常简练的硬件描述,经过EDA工具处理最终生成付诸生产的电路描述或版图参数描述的工艺文件。

6.VHDL语言具有良好的可读性,VHDL语言中的设计尸体(Design Entity)、程序包(Package)、设计库(Library)为设计人员重复利用别人的设计成果提供了技术手段。

第三章出租车计费器的设计

3.1出租车计费器的总体设计

3.1.1出租车计费标准

车起步开始计费,首先显示起步价,起步费为3.00元,车在行驶3km以内,只收起步价。车行驶超过3km后,每公里2元,车费依次累加。当总费用达到或超过40元时,每公里收费4元。当遇到红灯或客户需要停车等待时,则按时间计费,计费单价为每20秒收费1元。

3.1.2 总体框架设计

系统流程介绍:分析系统设计要求不难得知,整个出租车计费系统按功能主要分为速度模块、计程模块、计时模块和计费模块,其系统结构图如图3-1所示。

图3-1 出租车计费器系统结构图

系统接收到reset信号后,总费用变为3元,同时其他计数器、寄存器等全部清零。

系统接收到start信号后,首先把部分寄存器赋值,总费用不变,单价price寄存器通过对总费用的判断后赋为2元。其他寄存器和计数器等继续保持为0。

速度模块:通过对速度信号sp的判断,决定变量kinside的值。Kinside即是行进100m所需要的时钟周期数,然后每行进100m,则产生一个脉冲clkout。

计程模块:由于一个clkout信号代表行进100m,故通过对clkout计数,可以获得共行进的距离kmcount。

计时模块:在汽车启动后,当遇到顾客等人或红灯时,出租车采用计时收费的方式。通过对速度信号sp的判断决定是否开始记录时间。当sp=0时,开始记录时间。当时间达到足够长时产生timecount脉冲,并重新计时。一个timecount脉冲相当于等待的时间达到了时间计费的长度。这里选择系统时钟频率为500Hz,20s即计数值为1000。

计费模块由两个进程组成。其中,一个进程根据条件对enable和price赋值:当记录的距离达到3公里后enable变为1,开始进行每公里收费,当总费用大于40元后,则单价price由原来的2元每公里编程4元每公里;第二个进程在每个时钟周期判断timeout和clkout的值。当其为1时,则在总费用上加上相应的费用。

3.2出租车计费器主要模块设计

从上述设计方案中我们可以大致得到出租车计费器的系统框图,如图3-2所示。其中clk为输入时钟脉冲,时钟上升沿有效;reset为复位信号,start为开始计费信号,stop为停止计费信号,均高电平有效;SP[2..0]表示出租车状态(停止或不同形式速度);kmcnt和count信号则分别输出出租车行驶的里程和花费。

图3-2 出租车计费器系统框图

3.2.1 速度模块

速度模块首先根据start信号判断是否开始计费,然后根据输入的速度档位sp[2..0]的判断,确定行驶100m所需要的时钟数,每前进100m,输出一个clkout信号。同时由cnt对clk进行计数,当cnt等于kinside时,把clkout信号置1,cnt清0。其模块框图如图3-3。

图3-3 速度模块框图

3.2.2 计程模块

此模块主要用于记录行进的距离,其模块框图如图3-4所示。通过对clkout信号的计数,可以计算行驶的距离kmcount。一个clkout脉冲相当于行进100m所以只要记录clkout的脉冲数目即可确定共行进的距离。Kmcount1为十分位,kmcount2为个位,kmcount3为十位,分别为十进制数。

图3-4 计程模块框图

3.2.3 计时模块

速度模块主要用于计时收费,记录计程车速度为0的时间(如等待红灯),其模块框图如图3-5所示。通过对sp信号的判断,当sp=0,开始记录时间。当时间达到足够长时,产生timecount脉冲,并重新计时。

图3-5 计时模块框图

3.2.4 计费模块

计费模块如图3-6所示,可分为kmmoney1和kmmoney2两个进程。

Kmmoney1用于产生enable和price信号。当记录距离达到3km后,enable信号为1,开始进行每公里收费。当总费用大于40元后,单价price由原来的2元变成4元,用作计时收费。通过对sp信号的判断,当sp=0,开始记录时间。当时间达到足够长时,产生timecount脉冲,并重新计时。

Kmmoney2用于判断timecount和clkout的值,当其为1时,总费用加1。最终输出为总费用。

图3-6 计费模块框图

第四章整体电路设计

4.1 整体电路图

整体RTL电路如图4-1。硬件电路由CycloneⅡ电路板组成,clk为时钟周期信号,由试验箱产生,start/stop是启动停止按键电路,reset为自动清零电路。电源又AD-DC 开关电源供电。

图4-1 整体RTL门电路

4.2 电源电路

电源采用了是比较流行的开关电源,AD-DC开关电源,输入115VAC到230VAC,输出+5V(4A)。使用开关电源的好处就是比较节省能源,它的转换效率很高,可达85%以上,稳压范围宽,除此之外,还具有稳压精度高、不使用电源变压器等特点。

4.3 启动/停止按键电路

如图4-2所示,采用双刀双路开关,一路开关用于清零部分,由于显示部分特殊要求,即计费停止后屏幕上荏苒要保持计费的所有信息,只有当下次计费启动时才清零从新开始计费。另外两路开关,其中一路用于启动指示和启动/停止输出信号给FPGA芯片

的I/O口。当按下键后,清零部分和启动计费部分同时进行,但清零只是瞬间的,计费指示灯两起。再次按下键后,开关换到另外的两路,空车指示灯亮起。

图4-2启动/停止按键电路

4.4 自动清零部分

由于显示部分的特殊要求,即计费停止后屏幕上仍然要保持计费的所有信息,只有当下次计费启动时才清零从新开始计费。VHDL语言的特殊性,不能在一个结构中用两个不同的动作使其赋值。所以必须要有一个瞬间清零的信号,当FPGA的清零I/O端口为“1”时就自动清零。使用电容的充放电功能来实现,按键断开时清零输出端为接地,按键闭合时电容充电清零端为高电平,充完电后清零端输出又为低电平,当按键断开后,通过一个2k欧姆的电阻放电,为下次充电做好准备。如图4-3所示。

图4-3 自动清零电路

第五章系统仿真与下载实现

5.1 QuartusⅡ软件介绍

5.1.1软件特点

QuartusⅡ是Altera公司自行设计的一个完全集成化、易学易用的可编程逻辑设计环境,它提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:

1.可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;

2.芯片(电路)平面布局连线编辑;

3.LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;

4.功能强大的逻辑综合工具;

5.完备的电路功能仿真与时序逻辑仿真工具;

6.定时/时序分析与关键路径延时分析;

7.可使用SignalTapⅡ逻辑分析工具进行嵌入式的逻辑分析;

8.支持软件源文件的添加和创建,并将它们连接起来生成编程文件;

9.使用组合编译方法可一次完成整体设计流程;

10.自动定位编译错误;

11.高效的期间编程与验证工具;

12.可读入标准的EDIF网表文件、VHDL网表文件、和Verilog网表文件;

13.能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件;

5.1.2 QuartusⅡ设计流程:

1.设计输入:完成器件的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard 插件管理器、约束编辑器和布局编辑器等工具;

2.综合:包括分析和综合器、辅助工具和RTL查看器等工具;

3.不惧连线:将设计综合后的网表文件映射到实体器件的过程,包括Fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具;

4.时序分析;

5.2仿真结果

5.2.1 整体仿真

对电路整体进行仿真,得出如下仿真波形图5-1。图中,当复位信号reset为高电平时,系统所有寄存器、计数器都清零;当开始计费信号start信号有效时,计费器开始计费,根据出租车行驶的速度sp[2..0]的取值计算所用花费和行驶里程;当停止计费信号有效时,计费器停止工作。

图5-1 出租车计费器仿真波形图

5.2.2速度模块仿真

速度模块的仿真波形图如图5-2所示。该模块根据出租车所处的运行状态和不同的形式速度,对相应数目的时钟周期进行计数,车每行驶100m时输出信号clkout输出高电平。

图5-2 速度模块仿真波形图

5.2.3计程模块仿真

计程模块的仿真波形如图5-3所示。图中,当reset信号有效时,系统复位清零;否则,对输入信号clkout进行十进制计数。

图5-3计程模块仿真波形图

5.2.4计时模块仿真

计时模块的仿真波形图如图5-4所示。预设1000个时钟周期为20s,对时钟周期进行计数,每计1000个时钟周期输出高电平,指示计时20秒。

图5-4 计时模块仿真波形图

5.2.5 计费模块仿真

计费模块的仿真波形图如图5-5所示。当reset信号有效时,系统复位清零;否则,当计时计费信号timecount和计程计费信号clkout为高电平时,按照一定计费规则进行计费。

图5-5计费模块仿真功能图

综上所述,本设计的出租车计费器完全符合系统设计的要求,实现了出租车计费器所需的各项基本功能。

5.3设计测试

利用QuartusⅡ6.0对所设计出租车计费器的VHDL代码进行了仿真,并在Cyclone Ⅱ型可编程数字实现系统上实现了该控制。该数字实现系统分成两部分,一是FPGA的下载板,它主要包括所使用的芯片、RS-232接头、接脚转换插槽等;另一部分是I/O 实验板,它主要包括显示、脉冲输出等。出租车计费器的各部分利用数字实验系统所附的RS-232连接线将计算机中的VHDL代码设计的内容烧录到该实验系统的EPC2C35F672C8芯片中进行测试,测试结果基本实现了总费用=起费用+(里程-3km)×里程单价+等待时间×等待单价的出租车计费模式。

第六章总结及展望

本文论述了基于FPGA的出租车计费器设计,分别介绍了整个系统和各个模块的设计,使用FPGA芯片、VHDL硬件描述语言作为设计手段,利用自顶向下的模块化设计思路,通过在QuartusⅡ软件下进行的模拟仿真,并进行相应的硬件下载调试,证明所设计的系统完成了出租车计费器的功能,各项技术指标符合预定标准,具有一定实用性。由于本人在经验水平上的欠缺,设计中可能存在很多不足,请各位老师予以指证!

近年来,FPGA在通信、控制、数据计算等领域得到了广泛的应用,利用FPGA来设计电子产品可减少电子系统的开发风险和开发成本;缩短了上市时间;通过在系统编程、远程在线重构等技术降低维护升级成本。并且,FPGA器件的成本越来越低,Actel公司发布第三代的基于Flash的可编程逻辑方案,这些新的FPGA芯片最低价将达到1.5美元,代表全球最低成本的FPGA。这些都说明可编程器件已成为现在及未来很长一段时间的主流,用它来实现的出租车计费器省去很多外围电路,稳定,简单有效,将来必然可以设计出更多更强大的功能,提高产品竞争力。未来基于FPGA平台的出租车计费器将会有更低的成本、更小的体积、更安全、更精确和更多功能。

·致谢

本次设计从选题到最后完成,都得到了指导老师付敏老师的悉心指导。付老师渊博的知识、严谨的治学态度和诲人不倦的精神永远是我学习的榜样。同时,感谢论文指导组的刘海力老师和郭仟老师对选题的分析。在系统设计过程中,我也遇到了较多的困难,我十分感谢我的朋友和老师给与我的帮助和支持,使我能顺利完成本系统的设计与实现。

·主要参考文献

[1] 刘韬,楼兴华. 《FPGA数字电子系统设计与开发实例导航》[M]. 北京:人民邮电出版社,2005.6,27~36.

[2] 王辉,殷颖,陈婷,俞一鸣. MAX+plusⅡ和QuartusⅡ应用于开发技巧[M]. 北京:机械工业出版社,2007.1,293~316.

[3] 焦敏. FPGA 在出租车计费器上的应用研究[J];中国科技信息,2009(9):145~146.

[4] 茅丰. 基于FPGA 的出租车计费器[J];电子技术应用,2007.3.

[5] 廖艳秋. FPGA 的出租车计费器[J];电子科技大学,2008.10.

[6] 吴冬梅,吴延海,邓玉玖. 基于CPLD/FPGA 的出租车计费器[J];电子技术应用,2004(11):71~73.

[7] 黄智伟. FPGA 系统设计与实践[M].,北京:电子工业出版社,2005,200~217.

[8] 黄建新,刘迈,谭克俊. 基于FPGA芯片设计出租车计费器的研究[J]. 吉林化工学院学报,2003(03):52~55.

[9] 候伯亨,顾新. VHDL 硬件描述语言与数字逻辑电路设计[M]. 西安:西安电子科技大学出版社,2000.

[10] 姜雪松,VHDL设计实例与仿真[M].北京:机械工业出版社,2007.1,91~103.

[11] 王彦芳,王小平,王彦永等.用可编程逻辑器件实现专用数字集成电路的功能设计[J].半导体情报,2000,37(5)48~51.

[12] 张立,张光新,柴磊等. FPGA 在多功能计费器系统中的应用[J]. 仪器仪表学报,2005,26(8):7352737.

[13] 林愿. 基于CPLD/FPGA 的出租车计费器系统的设计实现[J]. 国外电子元器件,2007(07):26~29.

[14] 周润景,图雅,张丽敏. 基于Quartus II 的FPGA/CPLD 数字系统设计实例[J]. 北京:电子工业出版社,2007.

[15] 刘欲晓,方强,黄宛宁.EDA技术与VHDL电路开发应用实践[M];北京:电子工业出版社,2009(4),175~186.

[16] [英]Jone Wulenskl. VHDL Digtal System Design[M],北京:电子工业出版社,2004,10~105.

[17] San Jose. MAX+PLUS II Introduction USA[M]:Altera Corporation,2004,52~69.

课程设计出租车计费器

推南呼紐厚院 电子技术课程设计报告 题 目:基于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

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

昆明理工大学信息工程与自动化学院学生实验报告 (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记录,结果由数码管显示出来。

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

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

出租车计价器课程设 计

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

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

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

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

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

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

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

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

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

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

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

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

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) 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 功能介绍 本出租车自动计费,上电后显示默认的起步价,每公里计费单价,等待时间计费单

出租车计费器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、实现显示功能:能在数码管上显示出公里数及总费用。

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

单片机出租车计价器课程 设计 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 数码管输出数据 数码管位选 显示小数点(长亮) 计价器工作开关 白天/夜间切换 计数脉冲输入

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

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

出租车计费器的设计

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

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

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

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

●显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。 ●定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号()。 五、LED显示电路 对Array设计总 体分析 下,只 需对其 价格进 行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 六、计价器的计价要求 ●计价方式:起价(两公里)白天8元,晚上元;由一开关进行选择。每公里元。 ●转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产 生一个溢出中断。 七、电路原理图及引脚 八、源程序 ORG 0000H ;起始地址 AJMP START ORG 001BH ;计数中断地址 LJMP CNT1 ORG 0030H ;主程序地址 START: MOV PSW, #00H MOV IE, #88H ;IE=B MOV TMOD, #60H ;TMOD=01100000B,T1工作方式2 MOV TH1, #0BDH ;自动重装 MOV TL1, #0BDH ;计67个数 SETB TR1 ;计数器启动 CLR ;点亮小数点dp MOV R4, #0FFH ;置数-1

出租车计价器说明

出租车计价器 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返回。

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