出租车自动计费器设计课程设计_第1页
出租车自动计费器设计课程设计_第2页
出租车自动计费器设计课程设计_第3页
出租车自动计费器设计课程设计_第4页
出租车自动计费器设计课程设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、eda技术课程设计报告课程设计题目: 出租车自动计费器专 业:电子信息工程班 级: 063141学 号: 06314114姓 名: sgz指导教师: 黄 河 2009年11月11日目录课程设计内容及要求·······························2系统原理图及说明

2、3;································3软件流程图················

3、3;······················4基于vhdl和原理图的混合设计完成对各模块的编写·····5课程设计小结·················&#

4、183;···················8参考资料·····························

5、83;···········8一设计内容与要求出租车自动计费器1、 设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99.99元;2、 行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价3元(3公里起价)均能通过人工输入。3、 行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用bcd码比例乘法器将里程脉冲乘以

6、每公里单价的比例系数,比例系数可由开关预置。例如单价是1.0元/公里,则脉冲当量为0.01元/脉冲。4、 用led显示行驶公里数,两个数码管显示收费金额。二系统原理图及说明2.1外围电路:可以使用汽车的里程计数脉冲,也可以在车轮上加装电磁继电器,在每行驶一定里程发出一次脉冲。在本实验中假设每10米发出一次脉冲。时间信号可以通过电容电感振荡电路或晶体振荡电路产生分频取得。本实验中使通过实验箱的固定脉冲产生模块取得。2.2计数器原理:通过分别设计计程计费计时模块完成各自功能。2.2.1计程模块原理使用4位十进制计数器封装成为8位一百进制计数器。对于外部每10米的里程脉冲,经计数可以每km输出进位脉

7、冲一次。再用一百进制计数器对其进行计数。通过对计数输出信号的译码可以得到里程显示。2.2.2计时模块原理使用1hz的外部脉冲信号,使用5位60进制计数器。可以得到每分钟一次的脉冲输出。再使用一百进制计数器对其进行计数。通过对计数输出信号的译码可以得到时间显示。2.2.3计费模块原理计费模块是设计中的关键模块,也是最难的模块。逻辑复杂,要求多。使用前两模块中的分钟信号作为时间输入,千米信号作为路程输入。使用2个特殊编写的10进制计数器对时间和里程计数。并且在里程计数设置ent输出,在计费小于5元是钳制角金额输出为零。但是角计费照常只是不显示。在金额超过5元时显示。再使用一十进制计数器进行十元计数

8、。2.2.4显示模块原理通过使用74ls138和七段数码管进行显示和显示位选择。这要求输出使用3位输出为位选,对其译码得到数码管地址,7位数据在相应数码管上显示相应的数据。2.3综合通过vhdl和原理图的混合设计完成对各模块的编写,连接。三.程序流程:3.1数据流示意图电写入程序,后由rst(清零)信号置低电平开始。分别控制计时和计程en开始或停止计费。计程和计费中每km或分钟发一次脉冲给计费模块。这三个模块的数据处理信息通过总线输送到显示模块。进行译码。译码输出位选和七段数码管显示信息。由外围电路:74ls138和八位七段数码管显示。前3位金额后四位为里程和计时。中间一位为f,实际可以使用特

9、殊的数码管显示元。3.2设计图1)计时模块是cnt60和其后的cnt100。在1hz的时间脉冲来后先进行60进制计数,获得分钟脉冲。分钟脉冲由100进制计数输出为2个4位2进制bcd码。接显示模块,得到计时(0-99分钟)。2)计程模块是2个100进制计数器,输入的每10米一次脉冲经一次100进制计数获得每km一次的脉冲,由100进制计数输出为2个4位2进制bcd码。接显示模块,得到计程(0-99km)。3)计费模块是经过封装的模块,输入由以上2模块获得的每分钟一次的脉冲和每千米一次的脉冲。经过内部特殊设计的计数器处理,在3km以内不对每千米脉冲计数,直接输出5的4位二进制bcd码,对于分钟脉

10、冲在计费小于5元的时候由钳制信号,使之不显示计数,从而实现计费功能。计费模块输出为3个4位二进制bcd码。接显示模块得到计费(0-99.9元)。4)显示模块输入计费、计时,计程数据总线通过扫描脉冲选择一个bcd码进行译码,每扫描一次进行一位显示。所以扫描脉冲适当取高一点。考虑视觉暂留25帧乘8得200hz以上为好。实际实验中使用了5859hz。四基于vhdl语言和原理图的混合设计完成对各模块的编写4.1十进制计数器cnta.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt

11、a is-clk 计数脉冲-rst 高电平清零-en 高电平使能-dout4位输出-cy 进位脉冲port(clk,rst,en: instd_logic; dout: outstd_logic_vector(3 downto 0);cy: outstd_logic);end cnta;architecture a of cnta isbeginprocess(clk,rst,en) variable cqi:std_logic_vector(3 downto 0); -计数变量 begin if rst='1'then cqi:=(others=>'0'

12、); elsif clk'event and clk='1' thenif en='1' then if cqi<"1010" then cqi:=cqi+1; else cqi:="0001"end if;end if;end if;if cqi="1010" then cy<='1' dout<="0000" -十输出进位否则正常计数输出else cy<='0' dout<=cqi;end if;end pro

13、cess;end a;4.2特殊十进制计数器cntat.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cntat is-clk 计数脉冲-rst 高电平清零-en 高电平使能-dout4位输出-cy 进位脉冲port(ent,clk,rst,en: instd_logic; dout: outstd_logic_vector(3 downto 0);cy: outstd_logic);end cntat;architecture a of cntat isbeginproce

14、ss(clk,rst,en,ent) variable cqi:std_logic_vector(3 downto 0); begin if rst='1'then cqi:=(others=>'0'); elsif clk'event and clk='1' thenif en='1' then if cqi<"1010" then cqi:=cqi+1; else cqi:="0001"end if;end if;end if;if cqi="1010&qu

15、ot; then cy<='1' dout<="0000" else cy<='0' dout<=cqi;end if;if ent='0' then dout<="0000" -ent是牵制输出在小于5元不显示但计数的信号引入end if;end process;end a;4.3 六十进制计数器cnt60.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cn

16、t60 is-clk 计数脉冲-rst 高电平清零-en 高电平使能-dout6位输出-cy 进位脉冲port(clk,rst,en: instd_logic; dout: outstd_logic_vector(5 downto 0);cy: outstd_logic);end cnt60;architecture a of cnt60 isbeginprocess(clk,rst,en) variable cqi:std_logic_vector(5 downto 0); -计数变量6位 begin if rst='1'then cqi:=(others=>'

17、0'); elsif clk'event and clk='1' thenif en='1' then if cqi<"111011" then cqi:=cqi+1; else cqi:="000001"end if;end if;end if;if cqi="111011" then cy<='1' -记50输出0和进位dout <="000000"else cy<='0' dout<=cqi;end

18、if;end process;end a;ent<=en;end process ;end a;  五小结 在此次的计价器设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法.,此次课程设计设计一种基于cpld的出租车计价系统。该系统硬件主要由cpld芯片、车速传感器、外围芯片74lsi64和数码管组成;软件包括显示子程序、时钟子程序、计量子程序等几个子程序模块。该计价器通过四位数码管和三个按键,可以显示时间、单价、起步价、里程数,可以手动切换返程价、郊区价,可以自由修改时间、单价、起步价,可以实现夜间价、低速价的自动转换等功能。可编程逻辑设计是近年来在电子设计领域中出现的新技术,它把复杂的数字系统转化为用一两个可编程逻辑器件即可实现的 “片上”系统,把系统的更新换代转化为简单的系统编程设计,把后期进行的系统调试转移到设计实现之前在计算机上进行的功能仿真和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论