- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA课程设计出租车简易计价器
西安邮电大学
FPGA课程设计报告
题 目:出租车简易计价器设计
院 系: 电子工程学院
专业班级: 微电子0901
学生姓名:
导师姓名: 黄海生
起止时间: 2010.06.18 至 2012.06.29
2012年07 月01 日
基于FPGA的出租车简易计价器设计
一.功能要求:
设计一个出租车简易计价器,用FPGA开发板的按键手动来控制出租车的状态,即行驶或等待,数码管显示当前的行驶里程,等待时间以及总共的费用。
二.功能描述:
(1)异步复位,复位信号与时钟信号不同步。
(2)基准时钟(50MHZ)由原来的每秒跳变50M下分成每秒跳变3下,即便于人眼的观察,设计5秒钟里程变化一公里,6秒钟时间等待为一分钟。
(3)用一个拨码开关来控制当前的状态,如果是高电平1则开始计里程,如果是低电平0则开始计等待时间。
(4)用7个7段数码管来显示当前的里程,等待时间以及最后的费用。
(5)手动控制计费系统,当一位客人下车而另一位客人上车则按复位键清0,使得数码管只显示起始价8元。
三.系统描述:
(1)系统结构:
(2)输入输出信号描述
信号 输入/输出 目标/源 功能描述 clk input pin 系统时钟(50MHZ) reset input pin 异步清零,低电平有效 start input pin 状态选择,1时计里程,0时计等待时间 hex0 input pin 显示里程的十位上的数字 hex1 input pin 显示里程个位上的数字 hex2 output pin 显示计时十位上的数字 hex4 output pin 显示计时个位上的数字 hex5 output pin 显示计费百位上的数字 hex6 output pin 显示计费十位上的数字 hex7 output pin 显示计费个位上的数字
(3)顶层划分
(4)设计思想:
计价器功能要求:
出租车起步价为8元,行驶过程中每公里1元,中途停止等待时间累计大于三分钟后按每两分钟1元计价。
计价系统里程显示范围为:0~99公里,分辨率1公里。计价费用显示范围为:0~999元,分辨率1元。等待计时器显示范围为:0~60分钟,分辨率1分钟。
计价系统原理:出租车载客后,启动计费器,整个系统开始运行,里程计数器和时间计数器从0开始计数,费用计数器从8开始计算。再根据行驶里程或停止等待的时间按以上的标准计费。若在行驶状态,则计程器开始加计数,每公里1元。若出租车停止等待状态,则计时器开始加计数,当时间超过三分钟后,计费器以每分钟1元累加。出租车到达目的地停止计费器,显示总费用。
根据出租车计费器的工作过程,本系统采用分层次、分模块的方式设计,其本系统组成框图如下所示。其中行驶路程计数模块、等待时间计数模块和计费模块,用来统计路程、等待时间和总费用,控制模块是用来控制计费模块,数码管显示模块用来显示行驶的公里数、等待累计时间和总费用等信息。
四.模块代码
分频模块:
module fenpin(clk,reset,clk_1);
input clk,reset;
output clk_1;
reg clk_1;
reg [29:0] count;
always@(posedge clk,negedge reset)
begin
if(!reset)
begin
count=0;
clk_1=1b0;
end
else if(count=
begin
count=0;
clk_1=!clk_1;
end
else
count=count+1d1;
end
endmodule
仿真结果:
里程模块:
module licheng(reset,start,clk_1,lch);
input reset,start,clk_1;
output lch;
reg [7:0] lch;
reg [5:0] count;
always@(negedge reset,posedge c
您可能关注的文档
最近下载
- 新22J01《工程做法》(新疆图集).pdf VIP
- 2015-2022年河北省专接本(专升本)《英语》真题合集.pdf VIP
- 【GB_T50779-2022 】石油化工建筑物抗爆设计标准.docx VIP
- 蓄电池内阻试验报告.docx VIP
- 《成本与管理会计(第4版)》习题答案 孙茂竹.pdf
- 劳动合同模板正规【5篇】.docx VIP
- 电气控制与PLC技术应用教学教案.docx VIP
- 22K311-5 防排烟系统设备及部件选用与安装.docx VIP
- 2025青海省从优秀村(社区)党组织书记中考录乡镇公务员32人笔试模拟试题及答案解析.docx VIP
- 最新河北省建设工程竣工验收报告6份(市政基础设施工程).pdf VIP
文档评论(0)