vdhl语言出租车计费器课程设计报告.docxVIP

  • 24
  • 0
  • 约1.11万字
  • 约 38页
  • 2020-03-09 发布于江西
  • 举报
电子技术课程设计 —出租车计费器的设计 学院:电子信息工程学院 班级: 姓名: 学号: 指导教师: 日期:2009 年 12 月 08 日 输入 输入信号模块 数据转换模块 片选信号产生模块 动态描述/译码/数码管显示模块 数码管控制电路 出租车计费器设计 一、 设计任务与要求 设计并制作一台出租车计费系统,要求如下: ﹙1﹚实现计费功能,计费标准为:按行程里程收费,起步价为 7.00 元, 在车行 3 公里后再按 2.2 元/公里计费,当计费器达到或超过 20 元时, 每公里加收 50﹪的车费。 ﹙2﹚实现模拟功能:能模拟汽车启动、停止、暂停、加速的状态 ﹙3﹚设计动态扫描电路,将车费和里程显示出来,各有两位小数。 二、 总体框图 (1) 系统总体结构 出租车计费器的组成如上图所示,各部分主要功能包括输入信号模块对车轮 传感器传送的脉冲信号进行计数,并以高低脉冲模拟出租汽车启动,停止,暂 停,加速按钮,具有输入信号作用;数据转换器模块将计费模块输出的车费和 路程转换成 4 位的十进制数据;译码/动态扫描模块将路程与费用的数值译码后 用动态扫描的方式驱动数码管;数码管显示模块将公里数和计费金额均用 4 位 开始Y=7Y=7+2.2xY=3.3x+7结 开始 Y=7 Y=7+2.2x Y=3.3x+7 结束 LED 数码管显示 。 (2)其流程图如下图所示: 输入行车里程数 x x0 and x=3 x3 and x9 输出车费 y (3)各模块设计功能及设计思路 ★ 信号输入模块 该模块主要实现计费功能和现场模拟功能。计费标准为:按行驶里程计 费,起步价为7.00元,并在车行3 km后按2.20元/km计费,当计费器达到 或超过20元时,每公里加收50%的车费,车停止不计费。并以高低脉冲模 拟出租汽车启动、停止、暂停、加速按钮,具有输入信号的作用。 ★ 数据转换模块 数据转换模块是一个模为 10 的加法计数器,可将计费模块输出的车费和 路程转换成 4 位的十进制数。 ★ 显示模块 显示模块是由七段 LED 数码管译码和动态扫描显示两部分组成。采用的 是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其 中要求路程和车费都要用 2 位小数点来表示,所以须设置一个控制小数点 的变量,即程序中的 dp。这段程序所示的是在数码管的第二、第六个后面 显示小数点,实现了路程和车费都用 2 位小数点表示的功能。数码管控制 及译码显示模块将十进制的输入信号用七段数码管显示,由七段发光二极 管组成数码显示器,利用字段的不同组合。可分别显示 0~9 十个数字。 ★ 片选信号产生模块 片选信号产生模块是对数码管进行片选并让其能够按照要求显示数据的模 块 三、 选择器件 设计开发软件:Quartus II6.0 EDA 实验箱 :EL 教学实验箱 四、 功能模块 (1) jifei 模块 此模块为计费模块(即总体结构中的信号输入模块),实现计费功能,计 费标准为:按行驶里程计费,起步价为7.00元,并在车行3公里后按2.20元/km 计费,当计数器达到或超过20元时,每公里加收50%的车费,即按3.30元/km计 费。CLK、START、STOP、PAUSE、JS为输入信号,分别代表汽车的起动、停止、 暂停和加速,CLK为扫描时钟,硬件实现时加入时钟信号,另有两个输出,即 CHEFEI和LUC,分别代表车费和路程,当车处于行驶状态时,此模块会自动记录 下路程与车费状况并作为转换模块的输入。 jifei模块源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jfmk is port(clk,start,stop,pause,js:in std_logic; chefei,luc:out integer range 0 to 8000); end jfmk; architecture one of jfmk is begin process(clk,start,stop,pause,js) variable a,b:std_logic; variable aa:integer range 0 to 100; variable chf,lc:integer range 0 to 8000; variable num:integer range 0 to 9; begin if(clkevent and clk=1)then if(stop=0) then chf:=0; num:=0; b:=1; aa:=0; lc:=0; elsif(start=0) then b:=0; chf:=700; lc:=0; elsif(

文档评论(0)

1亿VIP精品文档

相关文档