您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > EDA课程设计——出租车计费器
EDA技术课程设计题目:出租车自动计费器班级:电子xxx班姓名:xxx学号:12345678成绩:[目录]Ⅰ、绪论1.1前言1.2电子系统设计任务书1.3题目分析及构思Ⅱ、方案论证2.1总体方框图2.2功能描述及方案选择Ⅲ、系统设计详述3.1各模块设计原理及仿真3.2整个系统的原理图及仿真Ⅳ、程序设计历程4.1系统设计工作进程4.2仿真实现过程中遇到的问题及排除措施4.3设计收获和体会Ⅴ、附录:参考文献Ⅰ、绪论1.1前言古人云:“百尺竿头,更进一步。”也就是说:我们不要满足于已取得的成就,还要继续努力,不断勇往直前。但高中的时候,高考这块敲门砖就是你的指明灯。而进入大学,我一下子被什么协会、什么学生会、什么球队、学习上的难题……冲昏了头脑,我甚至不知道什么时候该干些什么了。有时候更会发自内心的支持“读书无用论”,因为高中学的是基本知识,而大学学的是理论,因此,对学习的兴趣也就随着变淡了。但深知大学四年不能就这样孤独、寂寞、迷惘、恐惧地度过,所以,还一直端正自己的态度,努力地做好一切事。而课程设计正好弥补大学这种纯理论学习的弊端,也是适应社会主义建设人才的一项重要的实践环节,是理论联系实际的有效方式。高校是工程师的摇篮,要培养德才兼备的合格工程师,必须进行理论知识和实践动手能力的正规会培训。课程设计是我们必须参与的一项实践教学环节。通过课程设计,学生可以综合运用所学的电子设计的理论知识和方法,掌握设计的一般规律,培养解决电子工程中实际问题的能力。还可以学会从机器的功能要求出发,合理选择系统或零件的类型,制定设计方案,正确计算零件的工作能力,工作要求,并考虑制造工艺、使用、维护、经济、安全等问题,训练设计能力。另外,在课程设计的过程当中,学生可以通过查阅、分析、计算、绘图等过程,学习正确运用标准、规范、手册、图册等技术资料,训练设计的基本技能。同时,把在理论教学中学到的知识具体运用到实际工作中,提高学生的综合素质,从而达到电子工程师基本培训的目的,使学生成为既有理论知识,又有实际动手能力的工程技术管理人才。虽然课程设计已经结束,但作为一名大学生对设计中任务要求做出正确的方案以及自己的一些感想做一次总结也很有必要。由于时间仓促和水平有限,课程设计报告书中难免有不当和欠妥之处,敬请老师不吝批评指正。1.2电子系统设计任务书1.设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99.99元.2.行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价8元(3公里起价)均能通过人工输入。3.行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关设置。例如单价是1.0元/公里,则脉冲当量为0.01元/脉冲。4.用LED显示行驶公里数,两个数码管显示收费金额。1.3题目分析及构思1.等候时间计费需要时间转换成脉冲个数,用每个脉冲表示的金额与脉冲数相乘即得计费数,例如100个脉冲表示10分钟。而10分钟收费0.5元,则脉冲当量0.05元/脉冲,如果将脉冲当量设置成与行车里程计费相同(0.01元/脉冲),则10分钟内的脉冲数应为500个。2.用LED显示等候时间,两个数码管显示等候时间收费金额。3.用加法器几项收费相加:P=P1+P2+P34.P1为起价,P2为行车里程计费,P3为等候时间计费,用两个数码管表示结。5.8选1选择器将计费数据(4位BCD码)、计时数据(2位BCD码)、计程数据(2位BCD码)动态选择输出。6.利用MAX+PLUSⅡ软件在计算机上完成设计、编程测试、波形仿真最后并下载到器件中,进行调试。Ⅱ、方案论证2.1总体方框图图1-1总体功能原理图2.2功能描述及方案选择该设计问题自顶向下可分为分频模块、计量模块、计费模块、控制模块、译码和动态扫描显示模块。(1)分频模块分频模块对频率为240Hz的输入脉冲进行分频,得到的频率为16Hz,15Hz和1Hz的三种频率。该模块产生频率信号用于计费,15HZ信号为0.1元的计费控制,16Hz信号为1元计费控制。(2)计量控制模块计量控制模块是出租车自动计费器系统的主体部分,该模块主要完成等待计时功能、计价功能、计程功能,同时产生3分种的等待计时使能控制信号en1,行程3公里外的使能控制信号en0。其中计价功能主要完成的任务是:行程3公里内,起步费为8元;3公里外以每公里1.0元计费,等待累计时间以每分钟0.05元计费;计时功能主要完成的任务是:计算乘客的等待累计时间,计时器的量程为59分,满量程自动归零;计程功能主要完成的任务是:计算乘客所行驶的公里数。计程器的量程为99公里,满量程自动归零。(3)译码显示模块该模块经过8选1选择器将计费数据(4位BCD码)、计时数据(2位BCD码)、计程数据(2位BCD码)动态选择输出。其中计费数据送入显示译码模块进行译码,最后送至十元、元、角、分为单位对应的数码管上显示,最大显示为99.99元;计时数据送入显示译码模块进行译码,最后送至分为单位对应的数码管上显示,最大显示为59秒;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。Ⅲ、系统设计详述3.1分频功能实现的源代码如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityfpisport(clk_240:instd_logic;q15:outstd_logic;q16:outstd_logic;q1:outstd_logic);endfp;architectureqqoffpisbeginprocess(clk_240)variablecout15:integerrange0to15;variablecout16:integerrange0to14;variablecout1:integerrange0to239;beginifclk_240'eventandclk_240='1'thenifcout15=15thencout15:=0;q15='1';elsecout15:=cout15+1;q15='0';endif;ifcout16=14thencout16:=0;q16='1';elsecout16:=cout16+1;q16='0';endif;ifcout1=239thencout15:=0;q1='1';elsecout1:=cout1+1;q1='0';endif;endif;endprocess;endqq;3.1分频模块波形仿真图图3-1分频模块仿真波形图由图3-1可知:当输入240HZ的clk脉冲信号时,clk每出现240个脉冲时q1、q15、q16分别出现1、15、16个,相当于计费0.01元、0.05元、1.0元,帮助计费。3.2计量功能模块实现的源代码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityjiliangisport(start:instd_logic;fin:instd_logic;stop:instd_logic;clk_240:instd_logic;en1,en0:bufferstd_logic;k1,k0:bufferstd_logic_vector(3downto0);m1,m0:bufferstd_logic_vector(3downto0));endjiliang;architecturert2ofjiliangissignalw:integerrange0to59;beginprocess(clk_240)beginifclk_240'eventandclk_240='1'thenifstart='0'thenw=0;en1='0';en0='0';m1=0000;m0=0000;k1=0000;k0=0000;elsifstop='1'thenifw=59thenw=0;ifm0=1001thenm0=0000;ifm1=0101thenm1=0000;elsem1=m1+1;endif;elsem0=m0+1;endif;ifm1&m000000001thenen1='1';elseen1='0';endif;elsew=w+1;en1='0';endif;elsiffin='1'thenifk0=1001thenk0=0000;ifk1=1001thenk1=0000;elsek1=k1+1;endif;elsek0=k0+1;endif;ifk1&k000000010thenen0='1';elseen0='0';endif;elseen1='0';en0='0';endif;endif;endprocess;endrt2;计量模块波形仿真图图3-2计量模块波形仿真图由图3-2可知:由于讲输入参数fin一直设为高,将stop一直设为低。所以k1、k0记录路程的输出量有值,而m1、m0记录等待时间的输出量没有值。3.3计费功能实现的源代码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityjifeiisport(clk2:instd_logic;start:instd_logic;c0,c1,c2,c3:bufferstd_logic_vector(3downto0));endjifei;architecturert3ofjifeiisbeginprocess(clk2,start)beginifstart='0'thenc3=0000;c2=0000;c1=1000;c0=0000;elsifclk2'eventandclk2='1'thenifc0=1001thenc0=0000;ifc1=1001thenc1=0000;ifc2=1001thenc2=0000;ifc3=1001thenc3=0000;elsec3=c3+1;endif;elsec2=c2+1;endif;elsec1=c1+1;endif;elsec0=c0+1;endif;endif;endprocess;endrt3;计费模块波形仿真图图3-3计费模块波形仿真图由图3-3可知:输入一个脉冲信号,同时当start为高时开始计价;c0、c1、c2、c3为价格的显示信号,逢9后一位将进1。3.4实现控制功能源代码如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitykongzhiisport(ent0,ent1:instd_logic;clk_in1:instd_logic;clk_in2:instd_logic;clk_out:outstd_logic);endkongzhi;architecturert4ofkongzhiisbeginprocess(ent0,ent1)beginifent0='1'thenclk_out=clk_in1;elsifent1='1'thenclk_out=clk_in2;endif;endprocess;endrt4;控制模块波形仿真图图3-4控制模块波形仿真图由图3-4可知:本模块主要是通过两个不同的输入使能信号,对两个
本文标题:EDA课程设计——出租车计费器
链接地址:https://www.777doc.com/doc-7413932 .html