出租车计价器课程设计报告.docx

上传人:b****5 文档编号:4165442 上传时间:2022-11-28 格式:DOCX 页数:12 大小:35.65KB
下载 相关 举报
出租车计价器课程设计报告.docx_第1页
第1页 / 共12页
出租车计价器课程设计报告.docx_第2页
第2页 / 共12页
出租车计价器课程设计报告.docx_第3页
第3页 / 共12页
出租车计价器课程设计报告.docx_第4页
第4页 / 共12页
出租车计价器课程设计报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

出租车计价器课程设计报告.docx

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

出租车计价器课程设计报告.docx

出租车计价器课程设计报告

软件学院

课程设计报告

 

课程

题目出租车计价器

班级集成13-4

专业集成电路设计与集成系统

学生学号

指导教师(填写自己班的指导教师)

年月日

 

1.课程设计目的

全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。

2。

课程设计题目描述和要求

2.1.课程设计题目描述

①.实现计费功能,计费标准为:

按行驶里程计费,起步价为7.0元,并在车行3km后按2.2元/km计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。

②.现场模拟功能:

以开关或按键模拟公里计数,能模拟汽车起动、停止、暂停等状态。

③.将车费和路程显示出来,各有一位小数.

2.2。

总体设计思路框架

 

2.3.课程设计题目要求

①.设计正确,方案合理。

②。

程序精炼,结构清晰。

③。

设计报告含程序设计说明,用户使用说明,源程序清单及程序框图.

④。

上机演示。

⑤.有详细的文档。

文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。

3.设计思想和设计内容

3。

1出租车计费设计

该出租车计费器按下开关S1后开始计费和计里程数,起步价是7元,行驶3公里,以后2。

2元/公里。

并且设计选择模块,在车费超过20元每公里加收50%车费即3。

3元/公里.

3。

2基本设计思想

出租车计费器根据设计要求可初步分为3方面——显示、记里程数、记费。

之后再根据三方面分别设计模块。

1.显示模块.一般计数器显示数字为1-F即16进制,而16进制不方便观看,所以在设计这一模块时我们将16进制改为10进制输出进而设计了译码模块。

2、里程模块。

设计要求对里程计数主要分为两个方面,计数以及公里数比较。

即3公里之内收7元,3公里之后20元(通过计算为9公里)以内每公里2.2元,9公里以外为每公里3.3元。

所以,我们将里程模块分为里程计数模块以为比较模块。

3.计费模块。

计费模块同里程比较模块所以将两个模块合二为一,为价格计算模块。

4.Verilog代码

4.1顶层模块

moduletaxi(

clk,stop,rst_n,

time1,time2,time3,time4,

seg1,seg2,seg3,seg4

);

inputclk;

inputstop;

inputrst_n;

output[6:

0]time1;

output[6:

0]time2;

output[6:

0]time3;

output[6:

0]time4;

 

output[6:

0]seg1;

output[6:

0]seg2;

output[6:

0]seg3;

output[6:

0]seg4;

wireclk_fp;

wire[15:

0]distance;

wire[15:

0]price;

wire[15:

0]distan_bcd;

wire[15:

0]price_bcd;

 

fpmy_fp(clk,clk_fp,rst_n,stop);

distance_counterdis_counter(clk_fp,rst_n,stop,distance);

price_counterprice_coun(clk_fp,rst_n,stop,price,distance);

yimaqidistance_BCD(distance,distan_bcd,clk_fp);

yimaqiprice_BCD(price,price_bcd,clk_fp);

dispaly_myaa(clk_fp,distan_bcd,seg1,seg2,seg3,seg4);

dispaly_mybb(clk_fp,price_bcd,time1,time2,time3,time4);

endmodule

4。

2分频模块

modulefp(

clk,clk_fp,rst_n,stop

);//50mhz

inputclk;

inputrst_n;

inputstop;

outputclk_fp;

reg[25:

0]counter;

regclk_fp;

always@(posedgeclkornegedgerst_nornegedgestop)

begin

if(!

rst_n)

begin

clk_fp<=1’d0;

counter<=26’d0;

end

elseif(!

stop)

begin

counter〈=counter;

end

else

begin

if(counter==26'd49_999_999)

begin

clk_fp〈=1'b1;

counter<=1’b0;

end

else

begin

clk_fp〈=1’b0;

counter<=counter+1’b1;

end

end

end

endmodule

4。

3里程计算模块

clk_fp,rst_n,stop,distance

);

inputclk_fp;//1S

inputrst_n;

inputstop;

output[15:

0]distance;

reg[15:

0]distance;

always@(posedgeclk_fpornegedgerst_n)

begin

if(!

rst_n)

distance<=8'd0;

elseif(!

stop)

distance<=distance;

else

distance〈=distance+5'd10;

end

endmodule

4.4价格计算模块

moduleprice_counter(

clk_fp,rst_n,

stop,price,distance

);

 

inputclk_fp;//1S

inputrst_n;

inputstop;

input[15:

0]distance;

 

output[15:

0]price;

reg[15:

0]price;

always@(posedgeclk_fpornegedgerst_nornegedgestop)

begin

if(!

rst_n)

price<=8’d0;

elseif(!

stop)

price<=price;

else

if(distance〈=30)

price〈=16'd70;

elseif(distance<=90&&30

price〈=price+16’d22;

else

price〈=price+16'd33;

end

endmodule

4。

5译码模块

moduleyimaqi(

num_hex,BCD,clk_fp

);

input[15:

0]num_hex;

inputclk_fp;

output[15:

0]BCD;

 

reg[15:

0]BCD;

reg[3:

0]yima[3:

0];

 

always@(posedgeclk_fp)

begin

yima[0]〈=(num_hex)%10;

yima[1]〈=(num_hex/10)%10;

yima[2]〈=(num_hex/100)%10;

yima[3]〈=(num_hex/1000)%10;

BCD〈={yima[3],yima[2],yima[1],yima[0]};

end

endmodule

4。

6显示器模块

clk_fp,BCD,seg1,seg2,

seg3,seg4

);

inputclk_fp;

input[15:

0]BCD;

output[6:

0]seg1;

output[6:

0]seg2;

output[6:

0]seg3;

output[6:

0]seg4;

reg[7:

0]seg1;

reg[7:

0]seg2;

reg[7:

0]seg3;

reg[7:

0]seg4;

reg[3:

0]shumaguan_aa[3:

0];

alwaysshumaguan_aa[0]〈=BCD[3:

0];

alwaysshumaguan_aa[1]〈=BCD[7:

4];

alwaysshumaguan_aa[2]〈=BCD[11:

8];

alwaysshumaguan_aa[3]<=BCD[15:

12];

parameterseg_num0=7'hC0,

seg_num1=7’hF9,

seg_num2=7'hA4,

seg_num3=7’hB0,

seg_num4=7'h99,

seg_num5=7'h92,

seg_num6=7'h82,

seg_num7=7'hF8,

seg_num8=7’h80,

seg_num9=7'h90;

always@(posedgeclk_fp)

begin

case(shumaguan_aa[0])

4'd0:

seg1<=seg_num0;

4’d1:

seg1<=seg_num1;

4'd2:

seg1〈=seg_num2;

4’d3:

seg1<=seg_num3;

4’d4:

seg1<=seg_num4;

4’d5:

seg1〈=seg_num5;

4’d6:

seg1<=seg_num6;

4’d7:

seg1〈=seg_num7;

4’d8:

seg1<=seg_num8;

4’d9:

seg1〈=seg_num9;

default:

seg1〈=seg_num0;

endcase

case(shumaguan_aa[1])

4'd0:

seg2<=(seg_num0&7’b0111_1111);

4’d1:

seg2〈=(seg_num1&7'b0111_1111);

4'd2:

seg2〈=(seg_num2&7'b0111_1111);

4’d3:

seg2<=(seg_num3&7'b0111_1111);

4'd4:

seg2〈=(seg_num4&7’b0111_1111);

4’d5:

seg2〈=(seg_num5&7’b0111_1111);

4’d6:

seg2<=(seg_num6&7'b0111_1111);

4’d7:

seg2<=(seg_num7&7'b0111_1111);

4’d8:

seg2〈=(seg_num8&7'b0111_1111);

4’d9:

seg2<=(seg_num9&7’b0111_1111);

default:

seg2<=(seg_num0&7'b0111_1111);

endcase

case(shumaguan_aa[2])

4'd0:

seg3〈=seg_num0;

4'd1:

seg3<=seg_num1;

4’d2:

seg3<=seg_num2;

4'd3:

seg3〈=seg_num3;

4'd4:

seg3〈=seg_num4;

4'd5:

seg3〈=seg_num5;

4’d6:

seg3<=seg_num6;

4'd7:

seg3〈=seg_num7;

4’d8:

seg3〈=seg_num8;

4'd9:

seg3<=seg_num9;

default:

seg3〈=seg_num1;

endcase

case(shumaguan_aa[3])

4’d0:

seg4〈=seg_num0;

4'd1:

seg4<=seg_num1;

4'd2:

seg4<=seg_num2;

4’d3:

seg4<=seg_num3;

4’d4:

seg4〈=seg_num4;

4'd5:

seg4〈=seg_num5;

4'd6:

seg4<=seg_num6;

4’d7:

seg4<=seg_num7;

4’d8:

seg4〈=seg_num8;

4'd9:

seg4〈=seg_num9;

default:

seg4<=seg_num0;

endcase

end

endmodule

5。

经验总结

在这次设计过程中,我们遇到了很多问题,例如,在预置好起步价时,当里程超过基本里程时,价钱开始增加,在复位时出现了一些问题,还有在里程比较器和时间比较器中,最初比较器只用了一个只能比较一位二进制数,然而当里程大于10km或时间大于10分钟时比较器出现了问题,还有就是将超过的时间和里程转化为价钱时,仿真时出现了错误,而在所有问题中最主要问题是整个电路的连接问题。

我们最初的办法是将整个模块分块做出来,当每个模块都运行正确的时候再将他们整合在一起。

虽然有很多次的努力,可是我们没有成功.后来经过仔细思考,我试着改变电路整体模块电路中元件,最终才得到了我们的预期结果.经过这次多.不仅仅是关于数字电子电路的知识,更有的是让我们学到了面对人生的知识.当我们由寻找的迷茫,到找到有关参考书籍困惑,再到设计过程中的烦忧,最后到解决后的舒心,我们学会了一种面对困难不屈不挠的精神,我们发现,只要你真正的静下心来钻研,其实一切很简单,只不过因为当时我们的害怕心理,还有我们的浮躁,让我们乱了阵脚。

所以不管我们以后是做什么事情,最最重要的是要静下心,然后努力,这样之后,我坚信,成功就在不远方.

通过此次课程设计让我能够亲身参予电子产品的设计师使我更加深深地体会到:

现代的社会是信息的社会,很多与人们生活紧密相关的产品都是电子产品比如决定现代社会发展方向的电脑以及几乎每个同学都拥有的收音机等等无不说明电子产品的重要性。

作为一名测控专业大三的大学生,我认识到我不仅要学好课本上的知识,还要学会将所学到的知识联系并应用到现实生活中,做到理论联系实际.经过三个星期的设计过程,我学到了很多东西,对一年以来所学过的数电方面的知识也重新学习了一遍,也对自己在数字电子方面的能力有了更客观的评价,在这次设计过程中,从最基本的查元件,找资料做起,了解了完整的电子设计的一般步骤,也和同学共同探讨研究,学到了很多课堂上学不到的东西,也遇到了各种各样从没想过的问题,并认真的解决了它们,另外对各种电子类设计的计算机辅助手段有了更深一步的接触,同时也使我增加了对电子方面知识的兴趣,也从中发现了自己的一些不尽如人意的地方,以后要多改进。

课程设计让我体会到知识运用的重要性,但精神上的丰收更大,使我更加自信,而且,我想我找到了自己的方向。

通过这次实验,让我学会了使用quartus软件,而且认识到电路设计并不是一个简单的事,首先要整理好整体电路设计的思路,每一个模块必须要衔接上,逻辑思维要很好,才能把电路设计出来.

从理论设计到仿真软件仿真,再到确定具体方案。

整个过程都需要我们充分利用所学的知识进行思考、借鉴。

通过本次设计,我加深了对课本知识的认识,同时为了这次课程设计的完成阅读了大量资料,加深了书本中各种器件的认识与了解,同时为后期的复习打下了一定的基础。

6。

参考文献

[1]毕满清。

模拟电子技术基础.第一版。

北京:

电子工业出版社,2008。

[2]毕满清。

电子技术实验与课程设计。

第3版。

北京:

机械工业出版社,2005.

[3]陈晓文.电子线路课程设计.第1版。

北京:

电子工业出版社,2004.

[4]谢自美.电子线路综合设计。

第1版.武汉:

华中科技大学出版社,2006.

[5]阎石.数字电子技术基础.第4版.北京:

高等教育出版社,1998.

[6]韩焱.数字电子技术基础。

第1版.北京:

电子工业出版社,2009.

[7]徐小军主编。

电子技术实验与课程设计指导。

数学电路分册.南京:

东南大学出版社,2005.

[8]郁汉琪。

数字电路实验及课程设计指导书。

中国电力出版社,2007.

 

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

当前位置:首页 > 小学教育 > 数学

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

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