分享
分销 收藏 举报 申诉 / 22
播放页_导航下方通栏广告

类型基于cpld的出租车计费系统设计-毕设论文.doc

  • 上传人:胜****
  • 文档编号:2664367
  • 上传时间:2024-06-04
  • 格式:DOC
  • 页数:22
  • 大小:323.50KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 cpld 出租车 计费 系统 设计 论文
    资源描述:
    毕业设计论文 基于CPLD的出租车计费器系统设计 摘要: 2 Abstract: 2 1.引言 1 1.1课题背景 1 1.2 国内外研究现状及趋势 1 1.3本文的主要工作 1 2.CPLD、VHDL介绍 1 2.1 CPLD现状及发展 1 2.2 CPLD的结构与特点 2 2.2.1 CPLD基本结构 2 2.2.2 CPLD的特点 2 2.3 VHDL设计优点 3 3.出租车计费器的设计 3 3.1出租车计费器的总体设计 3 3.1.1出租车计费标准 3 3.1.2 总体框架设计 3 3.2出租车计费器主要模块设计 4 3.2.1 速度模块 4 3.2.2 计程模块 4 3.2.3 计时模块 5 3.2.4 计费模块 5 4.整体电路设计 6 4.1 整体电路图 6 4.2 电源电路 6 4.3 启动/停止按键电路 6 4.4 自动清零部分 7 5.系统仿真与下载实现 7 5.1 QuartusⅡ软件介绍 7 5.2仿真结果 8 5.2.1整体仿真 8 5.2.2速度模块仿真 8 5.2.3计程模块仿真 9 5.2.4计时模块仿真 9 5.2.5 计费模块仿真 10 5.3设计测试 10 6.总结及展望 10 致谢 11 参考文献 11 摘要:结果和结论不明确 为了使出租车计费系统设计成本降低、计费准,本文介绍了一种采用CPLD芯片进行出租车计费器的设计方法,描述了该课题的研究意义和应用价值;叙述了CPLD结构原理及其主要运用;介绍了超高速集成电路硬件描述语言的设计和主要功能。本文主要应用可编程逻辑芯片 EPM7128S为核心控制,附加一定外电路组成出租车计费器系统,使用具有移植性强的特点,便于升级及可重复使用的VHDL语言进行设计。 关键字:CPLD,VHDL,出租车计费器 Abstract: In order to reduce design cost taxi billing system, accounting standard, this paper introduces a CPLD chip taxi meter design method, described the research significance and application value; the CPLD structure principle and its main application; introduces the ultra high speed integrated circuit hardware description language is designed and the main functions. In this paper, the main application of the programmable logic chip EPM7128S as the core control, some additional external circuit taxi meter system, with the use of transplantation and strong features, easy to upgrade and repeated use of VHDL language design Key Words: CPLD, VHDL, Taxi fare Registers 1.引言 1.1课题背景 随着城市的发展,出租车行业发展迅速,出租车的附属品也应运而生。传统的出租车计费器大多是由单片机实现的,出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。可以说,早期的计价器就是个里程表。随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。 出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因此,具有良好性能的计价器对广大出租车司机朋友来说是很必要的。 1.2 国内外研究现状及趋势 目前市场上使用的出租车计费器主要采用的都是利用89C51单片机实现的计费器设计,显示方式上主要采用的是固定显示内容的LED显示[1]。社会的发展对传统的出租车计费器提出了更高的要求[2]。近年来,各大城市都在对出租车价格进行调整,由于数量太多,很多城市的调价甚至需要一个月时间才能完成,经常会同一时间出现几个价格,有的城市出租车上还会出现司机人工计价的尴尬情形。这些都暴露了传统计费器灵活性和升级换代能力的不足[3]。 此次选做的毕业课题是“基于CPLD的租出车计费器”,利用现在已经很成熟的可编程逻辑器件来实现这一计费系统,相对用51单片而言,会比较简单,这也同样体现出EDA技术上的优势[4]。其最突出的地方表现在最具现代电子设计技术特征的功能是日益强大的逻辑设计仿真测试技术。 1.3本文的主要工作 利用VHDL(Very-High-Speed Integrated Circuit HardwareDescription Language)语言设计出来的出租车计费器系统将实现计程模块、计时模块以及动态扫描模块等设计方法与技巧。计程模块将用计数器来完成,计数器对脉冲数计数,然后提供给程序数据。通过不同的信号,用比较器可以让我们确定出租车是在车行计程还是车停计时。再将数据传输到计费模块,通过多种条件判定,最后确定输出值,然后相加确定最后的费用,并显示出来。 2.CPLD、VHDL介绍 2.1 CPLD现状及发展 20世纪70年代,最早的可编程逻辑器件——PLD诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成,因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路。为弥补PLD只能设计小规模电路这一缺陷,推出了复杂可编程逻辑器件——CPLD。目前应用已深入网络、仪器仪表、汽车电子、数控机床、航天测控设备等方面。[7] 2.2 CPLD的结构与特点 CPLD主要是由可编程逻辑宏单元围绕中心的可编程互连矩阵单元组成。其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。 2.2.1 CPLD基本结构 经过几十年的发展,许多公司都开发出了CPLD可编程逻辑器件。PLD的总体结构(以MAX7000为例,其他型号的结构与此都非常相似见图2-1): 图2-1 CPLD基本结构 2.2.2 CPLD的特点 CPLD具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。 2.3 VHDL设计优点 第一,它是可以用来描述逻辑设计的结构,比如逻辑设计中有多少个子逻辑,而这些子逻辑又是如何连接的。除此之外,VHDL并不十分关心一个具体逻辑依靠何种方式实现,而是把开发者的精力集中到逻辑所实现的功能上。 第二,VHDL采用类似高级语言的语句格式完成对硬件行为的描述,具备更强的模块化能力,并拥有良好的可读性以及程序的移植性。 第三,VHDL给出逻辑的模拟与调试为设计工作提供了最大的空间。VHDL调试的过程是相当灵活的:一方面可以使用传统的调试方法;另一方面,可以使用一些VHDL原码调试器,这类调试器可以大大加快VHDL程序调试的速度 [5]。 3.出租车计费器的设计 3.1出租车计费器的总体设计 3.1.1出租车计费标准 计费标准为起步3元,车行3公里后为1.4元/公里,当计费达到20元后,每公里加收50%的车费,车停止每3分钟增加0.7元。车费显示出来,有一位小数。 3.1.2 总体框架设计 Speed模块 Time模块 Kilometers 模块 Kmmoney 模块 总费用 总里程 Reset Sp Start 图3-1 出租车计费器系统结构图 系统接收到reset信号后,总费用变为3元,同时其他计数器、寄存器等全部清零。 系统接收到start信号后,首先把部分寄存器赋值,总费用不变,单价price寄存器通过对总费用的判断后赋为3元。其他寄存器和计数器等继续保持为0。 速度模块:通过对速度信号sp的判断,决定变量kinside的值。Kinside即是行进100m所需要的时钟周期数,然后每行进100m,则产生一个脉冲clkout。 计程模块:由于一个clkout信号代表行进100m,故通过对clkout计数,可以获得共行进的距离kmcount。 计时模块:在汽车启动后,当遇到顾客等人或红灯时,出租车采用计时收费的方式。通过对速度信号sp的判断决定是否开始记录时间。当sp=0时,开始记录时间。当时间达到足够长时产生timecount脉冲,并重新计时。一个timecount脉冲相当于等待的时间达到了时间计费的长度。 计费模块:由两个进程组成。其中,一个进程根据条件对enable和price赋值,当记录的距离达到3公里后enable变为1,开始进行每公里收费,当总费用大于20元后,则单价price由原来的1.4元每公里变成2.1元每公里;第二个进程在每个时钟周期判断timeout和clkout的值。当其为1时,则在总费用上加上相应的费用。 3.2出租车计费器主要模块设计 3.2.1 速度模块 速度模块首先根据start信号判断是否开始计费,然后根据输入的速度档位sp的判断,确定行驶100m所需要的时钟数,每前进100m,输出一个clkout信号。同时由cnt对clk进行计数,当cnt等于kinside时,把clkout信号置1,cnt清0。VHDL语言程序见附录,模块原件符号如下。 图3-2 速度模块框图 3.2.2 计程模块 此模块主要用于记录行进的距离,其模块框图如图3-3所示。通过对clkout信号的计数,可以计算行驶的距离kmcount。一个clkout脉冲相当于行进100m所以只要记录clkout的脉冲数目即可确定共行进的距离。Kmcount1为十分位,kmcount2为个位,kmcount3为十位,分别为十进制数。 图3-3 计程模块框图 3.2.3 计时模块 速度模块主要用于计时收费,记录计程车速度为0的时间(如等待红灯),其模块框图如图3-4所示。通过对sp信号的判断,当sp=0,开始记录时间。当时间达到足够长时,产生timecount脉冲,并重新计时。 图3-4 计时模块框图 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-5 计费模块框图 4.整体电路设计 4.1 整体电路图 整体电路如图4-1。硬件电路由CycloneⅡ电路板组成,clk为时钟周期信号,由试验箱产生,start/stop是启动停止按键电路,reset为自动清零电路。电源又AD-DC开关电源供电。 图4-1 整体门电路 4.2 电源电路 电源采用了AD-DC开关电源,输入115VAC到230VAC,输出+5V(4A)。使用开关电源的好处就是比较节省能源,它的转换效率很高,可达85%以上,稳压范围宽,除此之外,还具有稳压精度高、不使用电源变压器等特点。 4.3 启动/停止按键电路 如图4-2所示,采用双刀双路开关,一路开关用于清零部分,由于显示部分特殊要求,即计费停止后屏幕上仍然要保持计费的所有信息,只有当下次计费启动时才清零从新开始计费。另外两路开关,其中一路用于启动指示和启动/停止输出信号给CPLD芯片的I/O口。当按下键后,清零部分和启动计费部分同时进行,但清零只是瞬间的,计费指示灯两起。再次按下键后,开关换到另外的两路,空车指示灯亮起。 图4-2启动/停止按键电路 4.4 自动清零部分 由于显示部分的特殊要求,即计费停止后屏幕上仍然要保持计费的所有信息,只有当下次计费启动时才清零从新开始计费。VHDL语言的特殊性,不能在一个结构中用两个不同的动作使其赋值。所以必须要有一个瞬间清零的信号,当CPLD的清零I/O端口为“1”时就自动清零。使用电容的充放电功能来实现,按键断开时清零输出端为接地,按键闭合时电容充电清零端为高电平,充完电后清零端输出又为低电平,当按键断开后,通过一个2k欧姆的电阻放电,为下次充电做好准备。如图4-3所示。 图4-3 自动清零电路 5.系统仿真与下载实现 5.1 QuartusⅡ软件介绍 QuartusⅡ是Altera公司自行设计的一个完全集成化、易学易用的可编程逻辑设计环境,它提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括: 可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件; 芯片(电路)平面布局连线编辑; LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块; 功能强大的逻辑综合工具; 完备的电路功能仿真与时序逻辑仿真工具; 定时/时序分析与关键路径延时分析; 可使用SignalTapⅡ逻辑分析工具进行嵌入式的逻辑分析; 支持软件源文件的添加和创建,并将它们连接起来生成编程文件; 使用组合编译方法可一次完成整体设计流程; 自动定位编译错误; 高效的期间编程与验证工具; 可读入标准的EDIF网表文件、VHDL网表文件、和Verilog网表文件; 能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件; 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)×里程单价+等待时间×等待单价的出租车计费模式。 6.总结及展望 本文论述了基于CPLD的出租车计费器设计,分别介绍了整个系统和各个模块的设计,使用CPLD芯片、VHDL硬件描述语言作为设计手段,利用自顶向下的模块化设计思路,通过在QuartusⅡ软件下进行的模拟仿真,并进行相应的硬件下载调试,证明所设计的系统完成了出租车计费器的功能,各项技术指标符合预定标准,具有一定实用性。由于本人在经验水平上的欠缺,设计中可能存在很多不足,请各位老师予以指证! 近年来,CPLD在通信、控制、数据计算等领域得到了广泛的应用,利用CPLD来设计电子产品可减少电子系统的开发风险和开发成本;缩短了上市时间;通过在系统编程、远程在线重构等技术降低维护升级成本。并且,CPLD器件的成本越来越低,这些都说明可编程器件已成为现在及未来很长一段时间的主流,用它来实现的出租车计费器省去很多外围电路,稳定,简单有效,将来必然可以设计出更多更强大的功能,提高产品竞争力。未来基于CPLD平台的出租车计费器将会有更低的成本、更小的体积、更安全、更精确和更多功能。 致谢 本次设计从选题到最后完成,都得到了指导老师邵利敏老师的悉心指导。邵老师渊博的知识、严谨的治学态度和诲人不倦的精神永远是我学习的榜样。在系统设计过程中,我也遇到了较多的困难,我十分感谢我的朋友和老师给与我的帮助和支持,使我能顺利完成本系统的设计与实现。 参考文献至少10篇,其中一篇为英文,你得翻译成中文的那篇 [1]江国强.EDA技术与应用[M]. 西安:电子科技大学出版社,2000,310-312. [2]潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005,220-228. [3]甘登岱,田富鹏,朱利娜.EDA培训教程[M].南京:机械工业出版社,1998,215-220. [4]延明,张霖华.数字电路EDA入门[M].北京:邮电大学出版社,2002,195-200. [5]林愿.基于CPLD/FPGA的出租车计费系统的设计实现[M]. 西安:电子科学出版社,2003,94-101. [6]何宾.EDA原理及应用. 北京:清华大学出版社,2009. 附录 VHDL程序 Speed模块 library ieee; --加载库文件 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity speed is port( --定义输入输出端口 clk :in std_logic; reset:in std_logic; start:in std_logic; stop :in std_logic; sp :in std_logic_vector(2 downto 0); clkout:out std_logic ); end speed; architecture rtl of speed is begin process(clk,reset,start,stop,sp) --敏感信号发生变化时,启动进程 type state_type is(s0,s1); --枚举类型; variable s_state:state_type; variable cnt:integer range 0 to 28; variable kinside:integer range 0 to 30; begin case sp is --速度选择 when"000"=>kinside:=0; --停止状态或空档 when"001"=>kinside:=28; --第一档 when"010"=>kinside:=24; --第二档 when"011"=>kinside:=20; --第三档 when"100"=>kinside:=16; --第四档 when"101"=>kinside:=12; --第五档 when"110"=>kinside:=8; --第六档 when"111"=>kinside:=4; --第七档 end case; if reset='1'then --复位清零 s_state:=s0; elsif clk'event and clk='1'then --时钟上升沿到达时,状态转换 case s_state is when s0=> cnt:=0; clkout<='0'; if start='1'then s_state:=s1; else s_state:=s0; end if; when s1=> clkout<='0'; if stop='1'then s_state:=s0; --相当于无客上车 elsif sp="000"then s_state:=s1; --有客上车但车速为0,即刚上车还未起步 elsif cnt=kinside then cnt:=0; clkout<='1'; s_state:=s1; else cnt:=cnt+1; s_state:=s1; end if; end case; end if; end process; end rtl; 1)Times模块 library ieee; --加载库文件 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity times is port( --定义输入输出端口 clk :in std_logic; reset:in std_logic; start:in std_logic; stop :in std_logic; sp :in std_logic_vector(2 downto 0); timecount:out std_logic ); end times; architecture rtl of times is begin process(reset,clk,sp,stop,start) --启动进程 type state_type is(t0,t1,t2); variable t_state:state_type; variable waittime:integer range 0 to 1000; begin if reset='1'then --复位清零 t_state:=t0; elsif(clk'event and clk='1')then --时钟上升沿到达 case t_state is --根据条件完成状态转换 when t0=> waittime:=0; timecount<='0'; if start='1'then t_state:=t1; else t_state:=t0; end if; when t1=> if sp="000"then t_state:=t2; else waittime:=0; t_state:=t1; end if; when t2=> waittime:=waittime+1; --等待时间加1 timecount<='0'; if waittime=1000 then timecount<='1'; --产生一个时间计费脉冲 waittime:=0; elsif stop='1'then t_state:=t0; elsif sp="000"then t_state:=t2; else timecount<='0'; t_state:=t1; end if; end case; end if; end process; end rtl; 1)Kilometers模块 library ieee; --加载库文件 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity kilometers is port( --定义输入输出端口 clkout,reset:in std_logic; kmcnt1:out std_logic_vector(3 downto 0); kmcnt2:out std_logic_vector(3 downto 0); kmcnt3:out std_logic_vector(3 downto 0) ); end kilometers; architecture rtl of kilometers is begin process(clkout,reset) --启动进程 variable km_reg:std_logic_vector(11 downto 0); begin if reset='1'then --复位清零 km_reg:="000000000000"; elsif clkout'event and clkout='1'then --时钟上升沿到达时进行计程 if km_reg(3 downto 0)="1001"then --对应里程十分位 km_reg:=km_reg+"0111"; --十分位向个分位进位 else km_reg(3 downto 0):=km_reg(3 downto 0)+"0001"; end if; end if; kmcnt1<=km_reg(3 downto 0); kmcnt2<=km_reg(7 downto 4); kmcnt3<=km_reg(11 downto 8); end process; end rtl; 1)Kmmoney模块 library ieee; --加载库文件 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity kmmoney is port( --定义输入输出端口 clk :in std_logic; reset :in std_logic; timecount:in std_logic; clkout :in std_logic; kmcnt2 :in std_logic_vector(3 downto 0); kmcnt3 :in std_logic_vector(3 downto 0); count1 :out std_logic_vector(3 downto 0); count2 :out std_logic_vector(3 downto 0); count3 :out std_logic_vector(3 downto 0) ); end kmmoney; architecture rtl of kmmoney is signal cash:std_logic_vector(11 downto 0); signal price:std_logic_vector(3 downto 0); signal enable:std_logic; begin kmmoney1:PROCESS(cash,kmcnt2) --此进程产生下一进程的敏感信号 begin if cash>="000001000000"then price<="0100"; else price<="0100"; end if; if(kmcnt2>="0011")OR(kmcnt3>="0001")then enable<='1'; else enable<='0'; end if; end process; kmmoney2:process(reset,clkout,clk,enable,price,kmcnt2) variable reg2:std_logic_vector(11 downto 0); variable clkout_cnt:integer range 0 to 10; begin if reset='1'then cash<="000000000011"; --起步费用设为3元 elsif clk'event and clk='1'then --判断是否需要时间计费,每20s加一元 if timecount='1'then reg2:=cash; if reg2(3 downto 0)+"0001">"1001"then --产生进位 reg2(7 downto 0):=reg2(7 downto 0)+"00000111"; if reg2(7 downto 4)>"1001"then cash<=reg2+"000001100000"; else cash<=reg2; end if; else cash<=reg2+"0001"; end if; --里程计费 elsif clkout='1' and enable='1'then if clkout_cnt=9 then clkout_cnt:=0; reg2:=cash; if "0000"&reg2(3 downto 0)+price(3 downto 0)>"00001001"then reg2(7 downto 0):= --十位进位 reg2(7 downto 0)+"00000110"+price; if reg2(7 downto 4)>"1001"then --百位进位 cash<=reg2+"000001100000"; else cash<=reg2; end if; else cash<=reg2+price; end if; else --对时钟计数 clkout_cnt:=clkout_cnt+1; end if; end if; end if; end process; count1<=cash(3 downto 0); --总费用的个位 count2<=cash(7 downto 4); --总费用的十位 count3<=cash(11 downto 8); --总费用的百位 end rtl; 1) TOP模块 library ieee; use ieee.std_logic_1164.all; entity top is port( --定义整个系统的输入输出端口 clk :in std_logic; reset :in std_logic; start :in std_logic; stop :in std_logic; sp :in std_logic_vector(2 downto 0); kmcnt1:out std_logic_vector(3 downto 0); kmcnt2:out std_logic_vector(3 downto 0); kmcnt3:out std_logic_vector(3 downto 0); count1:out std_logic_vector(3 downto 0); count2:out std_logic_vector(3 downto 0); count3:out std_logic_vector(3 downto 0) ); end top; architecture rtl of top is --对上述电路模块进行元件定义 component speed is --定义速度模块 port( clk :in std_logic; reset:in std_logic; start:in std_logic; stop :in std_logic; sp :in std_logic_vector(2 down
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:基于cpld的出租车计费系统设计-毕设论文.doc
    链接地址:https://www.zixin.com.cn/doc/2664367.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork