北邮数电综合实验-自行车尾灯精选.docx

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北邮数电综合实验-自行车尾灯精选

姓名学院信息与通信工程学院班级学号数字电路综合实验自行车尾灯系统一 设计课题的任务要求基本要求:1.设置夜间模式开关键。打开开关后,自行车尾灯指示系统开始工作并用两个数码管进行计时显示,最大计时时长为 99 秒。同时有不小于 5 秒的开机音乐,此时自行车处于正常行驶状态;2.当自行车处于正常行驶状态时,8×8 点阵显示三种自定义图案(与下面的左转、右转和刹车不同)。 三种图案轮流显示, 自动进行切换, 每种图案采用呼吸灯模式进行显示,图案由亮到暗、由暗到亮的用时均为 1.5 秒;3.当自行车左转时,选择“左转”按键, 8×8 点阵显示红色左箭头,并向左滚动显示,若无其他按键操作, 10 秒后回到正常行驶状态;4.当自行车右转时,选择“右转”按键, 8×8 点阵显示红色右箭头,并向右滚动显示,若无其他按键操作, 10 秒后回到正常行驶状态;5.当自行车处于刹车状态时,选择“刹车”按键, 8×8 点阵显示红色“X”图案,若无其他按键操作, 5 秒后回到正常行驶状态。提高要求:1.增加夜间智能启动模式。利用光敏传感技术使自行车在行驶过程中,根据光线强弱自动开启尾灯功能,显示行驶状态。2.采用倾斜开关代替左转、右转按键,实现自行车转弯时的自动检测和状态显示;3.自拟其他功能。*自拟功能:使用lcd液晶屏实时地显示当前时间和当前行驶状态(第一行显示时间,第二行显示状态)添加行驶记录功能。使用一个拨码开关开启行驶记录模式,然后点击btn1,btn2,btn3,分别查看最近三次行驶状态的变化,以及变化的时间。二 系统设计设计思路采用分模块开发的方式,将整个系统的实现分割为很多个模块,包括分频器模块,计时器模块,状态控制模块等,一共13个模块。每一个模块对应一个component,最后在顶层文件中将他们连接起来。所以整体的设计思路是:根据要求设计基本的流程图,逻辑划分框图,状态转移图。根据逻辑划分框图,开始分模块的开发。将当前模块与之前的模块连接并测试,确认成功,再开始下一模块的开发。在模块开发中,根据实际遇到的问题作出调整(模块之间的连接方式,模块内部的实现方式)。最后进行总体的调试,排除存在的bug。总体框图系统流程图逻辑划分框图状态转移图分块设计:状态控制器(state_control.vhd)entity state_control isport(clk:in std_logic;--50MHzclk_second:in std_logic;--1Hzturn_left,turn_right,recover,stop,poweroff:in std_logic;--外部按键输入:左转,右转,恢复正常行驶,刹车,夜间模式开关state:out integer range 0 to 4;--0:开机音乐,1:正常行驶,2:左转,3:右转,4:刹车save_flag:out std_logic--状态变化时为1,触发data_merge2模块,保存此时的状态);end state_control;*使用整数0-4代表5个不同的状态,根据状态转移图,在不同的输入下转变为不同状态;*为了实现要求中定时转换状态的功能,引入一个计数器,并且在进入新状态时清零。分频器(fenpin.vhd)ENTITY fenpin ISPORT(clk:IN STD_LOGIC;--50MHzclk_out1:OUT STD_LOGIC;--200Hzclk_out2:OUT STD_LOGIC;--1Hzclk_out3:OUT STD_LOGIC;--12.5MHzclk_1MHz,clk_4Hz:OUT STD_LOGIC);END fenpin;*系统时钟为50MHz,根据各模块的需求分出不同的频率。*clk_out1:数码管扫描,按键消抖;clk_out2:计时;clk_out3:脉冲宽度调制;clk_1MHz:音符分频;clk_4Hz:图案滚动显示,音符切换计时器(jishi.vhd)ENTITY jishi ISPORT(clk_in:IN STD_LOGIC;--1Hzsec_outl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--输出低位的2进制形式sec_outh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--输出高位的2进制形式sec_decimalh,sec_decimall:OUT INTEGER RANGE 0 TO 9;--输出高位,低位的十进制形式state_in:IN INTEGER RANGE 0 TO 4--输入当前状态);END jishi;*输入1Hz的时钟信号,跟随此信号进行计时。*输出计时的高位和低位,以及十六进制形式。直接用于数码管和lcd的显示。数码管选择器(led_

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档