《2022年出租车计费器的方案设计书 .pdf》由会员分享,可在线阅读,更多相关《2022年出租车计费器的方案设计书 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计 报 告课程名称数字系统与逻辑设计课题名称出租车计费器的设计专业通信工程班级学号姓名指导教师乔汇东胡倩2011年 7 月 9 日湖南工程学院课 程 设 计 任 务 书课程名称数字系统与逻辑设计课题出租车计费器的设计专业班级精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 13 页学生姓名学号指导老师乔汇东胡倩审批乔汇东任务书下达日期 2011 年 7 月 2 日任 务 完 成 日 期2011年7月9日数字系统与逻辑设计课程设计任务书一 、设计目的全面熟悉、掌握VHDL 语言基本知识,掌握利用VHDL 语言对常用的的组合逻辑电
2、路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。二、设计要求1、设计正确,方案合理。2、程序精炼,结构清晰。3、设计报告 5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。4、上机演示。5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。三、进度安排第二 十周星期一:课题讲解,查阅资料星期二:总体设计,详细设计星期三:编程,上机调试、修改程序星期四:上机调试、完善程序星期五:答辩星期六 -星期天:撰写课程设计
3、报告附:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 13 页课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4 大小的图纸及程序清单)。正文的格式:一级标题用3 号黑体 ,二级标题用四号宋体加粗,正文用小四号宋体。行距为22。正文的内容 :一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。目录一、 出租车系统主要功能 . 1 二、 出租车计费系统功能模块 . 1 1. 计费模块 .
4、1 2. 计程模块: . 1 三、 出租车计费系统的功能实现. 2 1. 系统的总体框图: . 2 2. 程序流程图: . 2 3. 系统各功能模块的实现:. 2 四、 系统调试与仿真 . 3 1. 错误提示: . 3 2. 系统仿真结果: . 4 五、 总结与体会 . 4 六、 附录. 5 1. 顶层模块: . 5 2. 计量模块: . 7 3. 计费模块: . 8 七、 评分表 . 9一、出租车系统主要功能设计要求:本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价 3 元,准行1 公里,以后1 元/公里。时钟输入为一个1KHz 的系统时钟,直流电机模块每转一圈输出一个脉冲信号
5、给CPU,另外用按键模块的精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 13 页S1 来作为整个系统的复位按钮,每复位一次,计费器从开始计费。直流电机模块用来模拟出租车的车轮子,每转动一圈认为是行走1 M,所以每旋转1000 圈,认为车子前进1 公里。系统设计是需要检测电机的转动情况,每转一周,计 M 计数器增加 1。设计思想:整设计由计程模块,计费模块和显示模块三个部分组成。其中计量模块是整个系统实现里程计数重要部分;同时脉冲信号来实现系统的计费。显示模块主要是显示用8 个七段码管,前四个显示里程,后四个显示费用。二、出租车计费系统
6、功能模块1. 计费模块当计费信号 S1 一直处于高电平即计费状态时,本模块根据控制模块选择出的信号从而对不同单价的时段进行计费。即行程在1km 内,起步价 3 元;1km 外以每公里按1 远计费。 leg0、leg1、leg2、leg3 分别表示费用的显示。模块元件为 :2. 计程模块:计算乘客所行驶的公里数,当行驶里程大于1km 时,本模块中pulse 脉冲信号变为 1;当 clk1 每来一个上升沿,计程器就自增1,计程器的量程为9.9km,满量程后自动归零。元件框图为:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 13 页三、出租
7、车计费系统的功能实现1. 系统的总体框图:2. 程序流程图:3. 系统各功能模块的实现:计费模块:计费模块计程模块显示复位信号M 脉冲开始S1=1? S1=1? 脉冲信号 ? 脉冲信号 ? 里程清零费用清零里程加0.001公里计费加一元结束否是否是进程 1 进程 2 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 13 页计程模块:显示模块:四、系统调试与仿真1. 错误提示:错误分析:从这可以看出来是工程名不统一,应该把工程名同意改为taxi。这是我们经常犯的错误。错误分析: shuju 没有定义。精选学习资料 - - - - - -
8、- - - 名师归纳总结 - - - - - - -第 6 页,共 13 页2. 系统仿真结果:五、总结与体会短短几天的EDA 课程设计已经接近尾声了,我们从挑选课设题目,查阅资料,到研究出总体设计,详细设计,再到最后的编程上机调试,修改程序,完善程序,收获颇多。我学会在这其中解决了很多问题,也帮同学解决了许多问题。出租车计费器系统的设计已全部完成,但我的设计不能实现动态扫描电路显示车费数目。车暂停时停止计费。若停止清零,等待下一次计费的开始。出租车计费系统设计中体现了VHDL 覆盖面广,描述能力强,是一个多层次的硬件描述语言及PLD 器件速度快,使用方便,便于修改等特点。我们再次熟悉和增强了
9、对VHDL 语言的基本知识,熟悉利用VHDL 语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来。VHDL 硬件描述语言打破了硬件和软件设计人员之间互不干涉的界限,可以使用语言的形式来进行数字系统的硬件结构、行为的描述,直接设计数字电路硬件系统。通过编程、下载后,该芯片已经具备了原来需要使用复杂的数字电路实现的功能;更加了解和加深了对编制和调试程序的技巧,进一步提高了上机动手能力,培养了使用设计综合电路的能力,养成了提供文档资料的习惯和规范编程的思想。在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否
10、不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。最后,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 13 页我们衷心的感谢课设期间一直指导和陪伴着我们的老师。六、附录1. 顶层模
11、块:library IEEE。use IEEE.STD_LOGIC_1164.ALL。use IEEE.STD_LOGIC_ARITH.ALL 。use IEEE.STD_LOGIC_UNSIGNED.ALL 。entity taxi is port(clk:in std_logic。 -系统始终信号 S1: in std_logic。 -复位信号 pulse: in std_logic。 -车轮脉冲信号 LEG,BT: out std_logic_vector(7 downto 0)。end taxi。architecture rt4 of taxi is component jifei p
12、ort(clk2:in std_logic。S1: in std_logic。count0,count1,count2,count3: buffer std_logic_vector(3 downto 0) 。 end component 。 component jiliang port( S1:in std_logic。clk1:in std_logic。k3,k2,k1,k0: buffer std_logic_vector(3 downto 0)。 end component 。 signal a,b: std_logic 。 signal shuju,c,d,e,f,h,i,j,k:s
13、td_logic_vector(3 downto 0)。 signal cnt:std_logic_vector(2 downto 0)。begin u1:jiliang port map(clk1=pulse,S1=S1,k0=c,k1=d,k2=e,k3=f)。-例化计精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 13 页量模块 u2:jifei port map(clk2=pulse,S1=S1,count0=h,count1=i,count2=j,count3=k) 。-例化计费模块 M1:process (cnt,clk)
14、begin if clkevent and clk=1then case cnt is when 000=BT=00000001。shujuBT=00000010。shujuBT=00000100。shujuBT=00001000。shujuBT=00010000。shujuBT=00100000。shujuBT=01000000。shujuBT=10000000。shujuNULL。end case 。end if。end process M1 。M2: process(clk) begin if clkevent and clk=1 then cntLEGLEGLEGLEGLEGLEGLE
15、GLEGLEGLEGNULL。end case 。end if。end process M3 。end rt4。2. 计量模块:library IEEE。use IEEE.STD_LOGIC_1164.ALL。use IEEE.STD_LOGIC_ARITH.ALL 。use IEEE.STD_LOGIC_UNSIGNED.ALL 。entity jiliang is port(S1: in std_logic。 clk1: in std_logic。 k3,k2,k1,k0: buffer std_logic_vector(3 downto 0)。end jiliang。architectu
16、re behav of jiliang is begin process(clk1,S1) begin if S1=0 then k3=0000。k2=0000 。k1=0000。k0=0000。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 13 页 elsif clk1event and clk1=1 then if k0=1001 then k0=0000 。if k1=1001 then k1=0000 。 if k2=1001 then k2=0000 。 if k3=1001 then k3=0000 。 else k3=
17、k3+1。end if。 else k2=k2+1。end if。 else k1=k1+1。end if。 else k0=k0+1。end if。 end if。end process 。end behav 。3. 计费模块:library IEEE。use IEEE.STD_LOGIC_1164.ALL。use IEEE.STD_LOGIC_ARITH.ALL 。use IEEE.STD_LOGIC_UNSIGNED.ALL 。entity jifei is port(clk2:in std_logic。 -时钟信号 S1: in std_logic。 -复位信号 count0,coun
18、t1,count2,count3: buffer std_logic_vector(3 downto 0) 。end jifei。architecture behav of jifei is begin process(clk2,S1) variable m:integer range 0 to 1000:=0 。 -定义变量精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 13 页begin if S1=0 then count3=0000 。 count2=0000 。 count1=0000 。count0=0011。 elsif
19、 clk2event and clk2=1 then m:=m+1。 if m MOD 1000=0 then -取模算法 if count0=1001 then count0=0000。 if count1=1001 then count1=0000。 if count2=1001 then count2=0000。 if count3=1001 then count3=0000。 else count3=count3+1 。 end if。 else count2=count2+1 。 end if。 else count1=count1+1 。 end if。 else count0=count0+1 。 m:=0。 end if。 end if。 end if。end process 。end behav 。七、评分表计算机与通信学院课程设计评分表课题名称:项目评价精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 13 页教师签名:日期:设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 13 页
限制150内