下载此文档

基于CPLD的出租车计费器.doc


文档分类:通信/电子 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
等级:课程设计课程名称嵌入式系统课程设计课题名称基于CPLD的出租车计费器专业电子信息工程班级1201学号19姓名许振跃指导老师林愿2015年9月16日目录1、课程设计任务要求 1EDA发展前景 1任务要求 12、设计步骤 1信号输入 1 数据转换 1数据显示 13、出租车计费系统的实现 2顶层电路设计 2子模块设计 24、系统仿真 5开始信号的仿真结果 5加速信号仿真结果 5显示的仿真结果 5decoder的仿真结果 65、下载调试及实验结果 66、设计心得 7参考文献 81、课程设计任务要求EDA发展前景EDA技术(即ElectronicDesignAutomation技术)就是依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(HardwareDdscriptionLangurage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。任务要求CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能。并最终完成电路的编程调试。具体要求如下:实现计费功能,计费标准为:按行驶里程计费,,,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。现场模拟功能:能模拟汽车起动、停止、暂停以及加速等状态。(3)按计动态扫描电路,将车费和路程显示出来,各有两位小数。2、设计步骤信号输入该模块主要实现计费功能和现场模拟功能。计费标准为:按行驶里程计费,,并在车行3 /km计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号的作用。  数据转换数据转换模块是一个模为10的加法计数器,可将计费模块输出的车费和路程转换成4位的十进制数。 数据显示显示模块是由七段LED数码管译码和动态扫描显示两部分组成。采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其中要求路程和车费都要用2位小数点来表示,所以须设置一个控制小数点的变量,即程序中的dp。这段程序所示的是在数码管的第二、第六个后面显示小数点,实现了路程和车费都用2位小数点表示的功能。数码管控制及译码显示模块将十进制的输入信号用七段数码管显示,由七段发光二极管组成数码显示器,利用字段的不同组合。可分别显示0~9十个数字。3、出租车计费系统的实现顶层电路设计图1系统总体框图子模块设计taxi的实现模块taxi见下图。输入端口speedup,start,pause,stop分别为出租车计费器的加速、起动、暂停、停止按键。实现计费功能,计费标准为:按行驶里程计费,,,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。图2taix模块libraryieee;use;use;entitydecoderisport(clk20mhz:instd_logic; money_in:inintegerrange0to8000; distance_in:inintegerrange0to8000; scan:outstd_logic_vector(7downto0); seq7:outstd_logic_vector(6downto0); dp:outstd_logic);end;architectureoneofdecoderissignalclk1khz:std_logic;signaldata:std_logic_vector(3downto0);signalm_one,m_ten,m_hun,m_tho:std_logic_vector(3downto0);signald_one,d_ten,d_hun,d_tho:std_logic_vector(3downto0);variablenum:integerrange0to9;variabledis:integerrange0to100;variabled:std_logic;beginifstop='1'then money_reg:=0; distance_reg:=0; dis:=0; num:=0;decoder的实现模块decoder见下图。该模块把车费和路程转化为数码管可以显示的信号。图3模块xelsifstart='0'andspeedup="10"andpause='0'andstop='0'then ifnum=9then num:=0; distance_reg:=distance_reg+5; dis:=dis+5; elsenum:=num+1; endif; elsifstart='0'andspeedup="11

基于CPLD的出租车计费器 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人读书之乐
  • 文件大小678 KB
  • 时间2020-02-07