




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 设计思路分析1. 实验要求设计一个出租车计价器,要求显示里程和金额。起步和到达停车时要求有声音提示;行程小于基本里程时,显示起步价,基本里程、起步价要求可通过按键自己设定;行程大于基本里程时,每多行一公里,在起步价上加X元,X可由按键设定;当出租车等待时,由司机按下等候键,每等待一分钟加Y元,Y可由按键设定;用脉冲信号模拟轮胎的转数,设每计一个脉冲汽车前进100米,系统中所需脉冲均由实验箱的50MHz晶振分频提供。2. 根据要求确定模块及其分析1. 按键消抖模块: 分析:由于外部按钮在动作时必然产生抖动,若不消除则容易导致多次检测到边沿而产生错误判断。 功能:此模块用于消除产生的抖动波形。2. 50MHz分频模块: 分析:要求100m产生的脉冲,并且需要等待计价和声音提示,所以有必要对50MHz进行分频成分钟、秒钟和发声频率。将系统所有需要用到的频率,由此模块产生,使程序模块化分工明确。 功能:此模块模拟出车行驶100m产生的脉冲,并完成每1Km产生一个脉冲输出;产生1s、1min、蜂鸣器鸣叫所需的频率方波。3. 蜂鸣器控制模块: 分析:题目要求只有在起步和到达停车时要求有声音提示,所以需要检测起步和停止这两个状态,然后决定是否发声。功能:完成检测当前状态并决定是否驱动蜂鸣器。4. 设置数据存储器模块: 分析:对起步价、基本里程、每公里价格及等待价格都是可用户设定的,所以通过按键对这些数据进行设定,为了方便操作,需对输入按键的读取采用模式选择形式。为了对其他模块的兼容性,采用当前模式状态输出。 功能:设置并寄存起步价、基本里程、每公里价格及等待价格。5. 停止复位模块: 分析:由于停止是在系统任何情况下都能进行的,所以建立单独的模块对复位进行动作,输出复位时钟。 功能:检测是否复位系统本次运行。6. 数据检测模块: 分析:要对行驶路程及价格进行计数处理,所以需要设计一个模块读取外部寄存器的相关数据,结合外部脉冲,处理这些数据,从而得出所需的数据。 功能:对获取模拟脉冲、时间及设置信息并进行处理,决定输出内容,如价格,行驶里程,或设置状态下的起步价、基本里程等。7. 数据显示处理模块: 分析:由于数码管显示代码和实际数据不同,所以需要进行转换,对于显示排列及显示滚动均由一个模块完成,使得显示情况和外部数据状态无关,即外部模块只需给值,无需决定其因如何显示。简化其他数据处理模块的程序。 功能:将获得的数据转换为数码管显示的代码,并完成移动显示功能。8. 数码管显示模块: 分析:读取7段代码,进行八位数码管扫描显示。 功能:显示获得的数据代码。2. 系统结构设计及分析1.系统系统的总体模块图: 2. 系统引脚分配图:3.系统各功能模块的实现:1. 按键消抖模块:a.模块图 带自保持消抖按钮模块 不带带自保持消抖按钮模块b.仿真波形c.实现思想:采用抽样比较的方式进行消抖,即连续对输入抽样,比较抽样十次数据是否相等,相等则使得输出为十次相等的值,否则继续抽样。实际中抽样频率保持在1KHz。2. 50MHz分频模块a.模块图b.仿真波形3. 蜂鸣器控制模块:a.模块图b.仿真波形c.实现思想:当输入开始按钮按下并为启动状态,或结束按钮按下且为结束状态,蜂鸣器输出频率方波驱动蜂鸣器。4. 设置数据存储器模块:a.模块图b.仿真波形c.实现程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity set isport(upBut,dnBut,setKey,cmod1,cmod2:in std_logic; bs,sp,xp,yp:out std_logic_vector(3 downto 0); dismod:out std_logic );end;architecture one of set issignal modc:std_logic_vector(1 downto 0);signal bst,spt,xpt,ypt:std_logic_vector(3 downto 0);signal cKey:std_logic;beginmodc = cmod2 & cmod1;bs = bst;sp = spt;xp = xpt;yp = ypt;cKey dismod dismod dismod dismod null;end case;end if;end process;process(cKey)beginif cKeyevent and cKey = 1 thenif setKey = 1 thencase modc iswhen 00 = if upBut = 1 then bst = bst + 1;else bst if upBut = 1 then spt = spt + 1;else spt if upBut = 1 then xpt = xpt + 1;else xpt if upBut = 1 then ypt = ypt + 1;else ypt null;end case;end if;end if;end process;end;5. 停止复位模块:a.模块图b.仿真波形c.实现思想:由于在数据检测模块中对1km或1min 产生的脉冲检测间隔过长,进程无法瞬间检测结束脉冲而复位数据,所以此模块采用和检测脉冲异或的方式,将复位电平转化为复位频率方波,从而解决无法及时复位或程序复杂化的缺点。6. 数据检测模块:a.模块图b.仿真波形c.说明:根据mod1和mod2决定当前模块工作状态,从而从不同数据口读读取数据并进行处理,同时输出相应的数据。7. 数据显示处理模块:a.模块图b.仿真波形c.说明:mven为滚动显示时能端,outV即为经value1和value2转换后的数码管显示代码,即每个数码管的各段对应一位数据线,8为数码管对应56位。a.模块图b.仿真波形c.实现方法:采用动态扫描的方式实现。3.系统使用说明总结:通过本次两个星期的EDA课程设计,加深了我对VHDL的理解,并能够熟悉运用QuartusII 开发环境。并且在不断的实物实践中,让我学会了怎样去发现问题和解决问题的方法,对实物操作能力也有了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西赣州市市直医疗卫生单位及赣州市立医院招聘专业技术人员389人考前自测高频考点模拟试题附答案详解
- 安全培训教师工作手册课件
- 2025年4月浙江杭州高新区(滨江)教育系统直接考核招聘编外人员考前自测高频考点模拟试题及参考答案详解一套
- 小学安全协管员培训课件
- 2025河南新乡市拓晋科技中等专业学校招聘模拟试卷及完整答案详解一套
- 河北省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【交通运输大类】模拟练习
- 2025广西百色市平果市道路运输发展中心城镇公益性岗位人员招聘1人模拟试卷(含答案详解)
- 2025年三硼酸锂(LBO)晶体项目发展计划
- Glufosfamide-Standard-生命科学试剂-MCE
- 2025河南新乡市长垣市高章士学校招聘考前自测高频考点模拟试题及一套参考答案详解
- 2025年驾驶员安全培训考试试题库卷(答案+解析)
- 无人机培训课件
- 2025辽宁沈阳副食集团所属企业招聘3人考试参考题库及答案解析
- 200米充电桩施工方案(3篇)
- 储罐区的安全题库及答案解析
- 交大入党测试题及答案
- 培训如何开早会的课件
- 劳务人员入厂安全培训课件
- 2025年河北沧州市中心医院、沧州博施康养集团公开招聘辅助岗工作人员113名考试参考试题及答案解析
- 2025版全新论坛讲座活动承接合同模板下载
- 药店冷链药品知识培训内容课件
评论
0/150
提交评论