ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:901.49KB ,
资源ID:19045555      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19045555.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA出租车计费器课设文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA出租车计费器课设文档格式.docx

1、星期五: 答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。一、出租车计费系统的总体设计1.1 出租车计费设计 本系统为出租车计费系统,有计费、计里程、复位、显示等功能,当按下reset复位键(S1)后开始重新计费和计里程数(复位,计费

2、回复为起步价,里程清空),起步价是6元/2公里,往后汽车每行使1公里计费增加1元。在2公里内,只有计公里数增加,计费不变,当超过两公里后开始跳表。公里数每增加100米,公里数自增0.1公里,公里数每增加1000米,计费自增1元。(根据生活中打的的实际情况,当路程在0-1.9公里时,计费一直显示6元,当路程跳为2公里(满两公里),计费自增1,此后每次进位计费都要自增1)1.2 基本设计思想 本实验要完成的任务就是设计一个简单的出租车计费器,要求起步价是3元,开行1公里,以后1元/1公里。时钟输入为1KHz的系统时钟,直流电机模块每转一圈输出一个脉冲信号给CPU,另外用按键模块S1来作为整个系统的

3、复位按钮,每复位一次,计费器开始重头计费。直流电机模块用来模拟出租车的车轮子,每转动一圈认为是行走1米,所以每旋转1000圈,认为车子前进1公里。系统设计是需要检测电机的转动情况,每转一周,计米计数器增加1。 直流电机每转一圈输出一个脉冲(pulse)信号(但由于本人使用的箱子有问题,故用clk时钟代替pulse脉冲),用按键S1 来作为整个系统的复位按钮(reset),每按下复位键,计费器从头开始计费,里程数清零。脉冲pulse每转1000圈视为汽车行走了1公里,本人以0.1公里为单位进行程序编写。每当pulse上升时,进行计数信号count自增1,当count到达99时,就会在下一次判断时

4、进入里程数和计费数的增加,公里数每增加100米,公里数自增0.1公里,在两公里以前,需要作出判断,计费应该保持6元起步价不变,当2公里以后(根据打的的实际情况,包括2公里),公里数每增加1000米(每进一位),计费自增1元。显示也是本系统的重要步骤,我通过clk时钟和信号move8控制数码管的移位,clk每上升一次,move8移动一位,再用两个case语句控制选段和输出显示。每当clk上升,控制数码管的信号就会移动一位,再通过第一个case语句锁定移动到的需要显示的数码管,然后通过第二个case语句将对应数码管上所需要显示的值(money0-3,kilometre0-3)显示在数码管上,dis

5、p7-0分别对应数码管上的小数点、gfedcba。二、出租车计费系统的功能实现2.1 系统的总体框图 该系统由计费、记里程、脉冲、选段、显示几个部分组成,为了尽可能减少竞争与冒险,本人将该系统写入了一个进程中,在这一个进程中,计费和里程都由pulse脉冲来决定是否增加,显示部分则有clk上升后的不断扫描显示,系统总体框图如下:2.2 程序流程图 1.脉冲流程图 Y N N Y N Y 2.计费、计里程流程图N YN NN Y YNN 3.显示流程图 Y N2.3系统各功能模块的实现library ieee;use ieee.std_logic_1164.all;use ieee.std_log

6、ic_unsigned.all;entity taxi is -实体,设置输入、输出 port(reset:in std_logic; pulse: -脉冲,转1圈为1米,控制计费、计里程 clk: -时钟,控制显示 sel:out std_logic_vector(7 downto 0); -选择数码管 disp: -选择发光数字 money_0:out std_logic_vector(3 downto 0); -输出四位费用 money_1: money_2: money_3: kilometre_0: -输出四位里程,其中一位为小数 kilometre_1: kilometre_2:

7、kilometre_3:out std_logic_vector(3 downto 0);end entity taxi;architecture functions of taxi is -结构体 signal count:integer range 0 to 100; -计脉冲数,每100次0.1公里清零1次 signal money0:std_logic_vector(3 downto 0); signal money1: signal money2: signal money3: signal kilometre0: signal kilometre1: signal kilometr

8、e2: signal kilometre3: signal move8:std_logic_vector(2 downto 0); -控制数码管选位,不断移动 signal a : -接收计费、计里程数,控制数码管显示 signal b :std_logic; -控制公里数第二位的小数点显示 begin process(pulse,reset,clk) -进程,三个敏感信号 begin if reset=0 then -reset=0,复位 kilometre0=0000; kilometre1 kilometre2 kilometre3 money00110 money1 money2 mo

9、ney3 elsif pulseevent and pulse=1 then -否则,当脉冲小于或大于等于100次时 if count100 then count=count+1; elsif kilometre09 then -公里第一位小于9,第一位加1 kilometre0=kilometre0+0001 kilometre1=kilometre1; kilometre2=kilometre2; kilometre3=kilometre3; count=0; -只要进入以下判断,都会清零,重新计数 elsif kilometre10 or kilometre20 or kilometre

10、30 then -当第二位大于2时或更高位不为0时(大于2公里),开始计费 -由于计程车都是在新进一公里时就跳表,所以在低位为9时就 -要加钱,如2.1公里时计费就应该显示6+1=7元,以下相同代码 -均表示相同的意思 if money09 then money0=money0+ else money0 if money19 then money1=money1+ else money1 if money29 then money2=money2+ else money2 if money39 then money3=money3+ else money3 end if; end if; el

11、sif kilometre29 and kilometre1=9 and kilometre0=9 then -当前两位为9,第 -三位小于9时 =kilometre2+ if money0 else money0 if money1 else money1 if money2 else money2 if money3 else money3 elsif kilometre39 and kilometre2=9 and kilometre1=9 and kilometre0=9 then -当前三位均为9,第四位小于9时=kilometre3+ elsif kilometre3=9 and

12、kilometre2=9 and kilometre1=9 and kilometre0=9 then -当四位均为9时,清零 end if; end if; if clkevent and clk= then -时钟控制显示,每上升一次,move8移动一次 move8sel10000000a=money0;b= when 00101000000=money1;01000100000=money2;01100010000=money3;10000001000=kilometre0;1010000010011000000010 b11100000001 end case; if b= then

13、-当需要显示的是公里的第二位时(个位),需要小数点 -将a送入的数据通过数码管显示 case a is when dispnull; else -当需要显示的是其他位数据时,不需要小数点 case a is 00111111 -000110000 -101011011 -201001111 -301100110 -401101101 -501111101 -600000111 -701111111 -801101111 -9 end process;money_0 -输出money_2=money2;money_1money_3kilometre_0kilometre_1kilometre_2

14、kilometre_3end architecture functions; -结束三、系统调试与仿真实验编写和仿真环境:Quartus II 9.0 (64-Bit)/ Windows 7 (64-Bit)1.编写程序和编译:程序编写完成后,成功通过编译。2.参数设置:设置end time为10s,设置pulse为1ms,设置clk为100ms。3.设置复位:在仿真后观察复位是否有效,若复位无效则可能是代码有错误。4.仿真:从大体图可以看出,0-1.9公里时,计费为起步价2元,没有出现跳表的情况当公里数跳到2.0公里时,计费跳表为7元,此后公里数每加1,计费跳表一次。下图为当公里数到达5公里

15、时,计费显示为10元,计费器进位,公里进位和计费进位均可正常实现。将end time 设置为100s后观察,各项结果也是正确无误的。5.执行复位:当reset置为0时复位,里程数清零,计费器调回起步价6元。6.选位sel:通过clk时钟上升控制move8不断移位,不断扫描,通过case语句来控制sel的值,决定哪一位数码管亮,并同时将所要显示的内容赋给a,a在下一个case语句中作为判断条件控制显示什么数字。通过仿真结果可以看出,sel可以正常工作,不断地从sel7扫描到sel0;美中不足的是依然存在一些毛刺,但是通过接入工具箱看到的实际情况是,该毛刺不会影响系统正常运行,无混乱跳表的情况出现

16、。7.控制显示disp:将上一个case语句中的a(存放计费、计公里数)作为下一个case的判断条件,通过不断扫描来显示各个数码管上所要显示的数字。由下图可以得知,在0-335.544ms之间,disp显示的数值为“”、“”,数码管转化为所需要显示的数字则为6、0,对应上个截图中sel选位,sel正好在sel7时显示为6,sel5-6时,为0,可见数码管中只有计费的第一位为6,其余位数均为0,可见当前正在起步价(初始)状态,当1.342s左右,disp7为1,说明扫描到了计公里数的个位(表面该位带小数点),对应上图sel2,sel2正好是控制公里数个位,所以也符合要求,当选到其他位数码管时,d

17、isp7均为0,都满足要求,虽然disp内也存在毛刺,但是并没有影响实验的实际运行效果。四、总结与体会 本周我们进行了EDA的课程设计,感受了VHDL语言编程的方法和技巧,在这几天的学习时间里,我感受到了VHDL语言和其他编程语言的不同,通过独立完成课程设计,使我更加熟悉了该语言,了解了该语言方面的知识,纠正了在学习过程中经常犯的一些问题和逻辑思维上的错误,这一次的课程设计让我受益匪浅。EDA是电子设计自动化(Electronic design Automation)的缩写,EDA是一门用途广泛的学科,它以计算机为工具,在EDA平台上用VHDL语言完成设计仿真下载,通过这门学科,我们可以把我们的思想转化为现实,所以学好EDA这门课程是非常重要的。本次我的EDA课程设计题目为出租车计费器系统,该系统要求能够与现实生活中的士车上的计费器实现相同的功能。在做这个课题之前,我先进行了思考和步骤的罗列,但是还是没有考虑完善

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

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