出租车计费器的设计.docx

上传人:b****8 文档编号:28696022 上传时间:2023-07-19 格式:DOCX 页数:9 大小:727.61KB
下载 相关 举报
出租车计费器的设计.docx_第1页
第1页 / 共9页
出租车计费器的设计.docx_第2页
第2页 / 共9页
出租车计费器的设计.docx_第3页
第3页 / 共9页
出租车计费器的设计.docx_第4页
第4页 / 共9页
出租车计费器的设计.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

出租车计费器的设计.docx

《出租车计费器的设计.docx》由会员分享,可在线阅读,更多相关《出租车计费器的设计.docx(9页珍藏版)》请在冰豆网上搜索。

出租车计费器的设计.docx

出租车计费器的设计

电子科技大学成都学院学院

 

标准实验报告

(实验)课程名称数字电路EDA设计与应用

 

姓名乱弹的枇杷

学号*******

专业电气工程及其自动化

指导教师张

 

一、实验名称

出租车计费器的设计

二、实验目的

1、了解出租车计费器的工作原理。

2、学会用VHDL语言编写正确的七段码管显示程序。

3、数量掌握用VHDL编写复杂功能模块。

4、进一步数量状态积在系统设计中的应用。

 

1.图形设计方法

二、实验目的

 

三、实验原理

出租车计费器一般都是按公里计费,通常是起步价xx元(xx元可以行走x公里),然后再是xx元/公里。

所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。

通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。

在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。

结果的显示用8个七段码管,前四个显示里程,后三个显示费用。

在设计VHDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。

为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。

比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。

 

四、实验内容

本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1公里,以后1元/公里。

显示部分的七段码管扫描时钟选择时钟模块的1KHz,电机模块的跳线选择GND端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。

另外用按键模块的S1来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。

直流电机用来模拟出租车的车轮子,没转动一圈认为是行走1米,所以每旋转1000圈,认为车子前进1公里。

系统设计是需要检测电机的转动情况,每转一周,计米计数器增加1。

七段码管显示要求为前4个显示里程,后3个显示费用。

实验中所用端口管脚分配关系如下:

端口名

使用模块信号

对应FPGA管脚

说明

CLK

数字信号源

C13

时钟为1KHZ

MOTOR

直流电机模块

AE9

44E脉冲输出

RST

按键开关S1

P25

复位信号

DISPLAY0

数码管A段

F13

 

计价器费用显示

DISPLAY1

数码管B段

F14

DISPLAY2

数码管C段

F15

DISPLAY3

数码管D段

E15

DISPLAY4

数码管E段

F16

DISPLAY5

数码管F段

F17

DISPLAY6

数码管G段

E18

SEG-SEL0

位选DEL0

G18

SEG-SEL1

位选DEL1

G17

SEG-SEL2

位选DEL2

G16

 

五、实验步骤

1、打开QUARTUSII软件,新建一个工程。

2、建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。

3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序。

其程序如下所示:

4、编写完VHDL程序后,保存起来。

5、对自己编写的VHDL程序进行编译,对程序的错误进行修改。

曾出现的错误有:

但当我把位选端的OUT类型改为BUFFER类型后,再编译就没出现问题。

6、编译无误后,依照拨动开关、数码管与FPGA的管脚连接表进行管脚分配。

本次实验管脚分配如下图所示:

 

7、分配完成后,再进行一次全编译,以使管脚分配生效。

8、新建波形文件,对程序进行仿真。

在仿真过程中,为了使仿真长度达到实验中1KM以上,我将endtime设为1ms,将Rst设为高电平,将Clk设为0.1us。

而为了使Motor脉冲每次都能在八个数码管显示完成后达到,使里程加1M,故将Motor时的周期设为0.8us,占空比%1。

其仿真波形如下所示:

在上图中,可以看到当出租车开始启动,八个数码管的显示分别(000-030),当Motor脉冲到后,八个数码管的显示为(0001-030),即行程加了一米;再来一个米脉冲后显示为(0002-030)。

则起步价为3元,出租车路程未到1KM,始终显示基价3元,符合题意。

 

再如上图所示,最左边的八个数码管显示为(1224-032),接下来的八个数码显示管显示为(1225-032)。

则为出租车跑到1224和1225米时,显示价格为3.2元,均符合题意。

因软件原因,仿真也最多仿到里程为一千二百多米,但由前两图知仿真波形均符合题意。

9、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。

观察实验结果是否与自己的编程思想一致。

 

六、实验现象及结果

下载完毕后,在实验箱上的八个数码管,前四个显示里程,后三个显示费用。

当直流电机每转完一圈时,数码管的里程数加1,表示出租车行驶1米。

当里程小于1KM时,数码管显示基价3元,以每每跑100米,费用加1角。

部分结果如下图所示:

 

(1)出租车刚起步时,路程为0,起步价3元

(2)路程不足1千米时,费用显示基价3元

(3)路程1678米时,因路程大于1千米,又跑了600米,故费用显示为3.6元

(4)路程2310米时,费用为4.3元

七、心得体会

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1