欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    综合课程设计——模拟交通灯实验报告.docx

    • 资源ID:26995283       资源大小:14.89KB        全文页数:10页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    综合课程设计——模拟交通灯实验报告.docx

    综合课程设计模拟交通灯实验报告 标 准 实 验 报 告学生姓名: 指导教师: 一、实验室名称: 二、实验项目名称:综合课程设计1模拟交通灯实验 三、实验原理: 1、交通信号灯基本转换原理 本实验所模拟的交通信号灯的转换原理如下图: 转移状态图 默认的初始状态为红灯状态,做 30 秒减计时。当时间从30 秒递减到0 秒后,红灯状态变为绿灯状态;重新30 秒减计时,递减到0 秒后,绿灯状态变为黄灯状态;做5 秒减计时,递减到0 秒后,黄灯状态变为红灯状态。如此循环进行转换。 2、自由按键电路 KEY1 对应P102,KEY2 对应P101。 3、八段数码管和动态显示原理 八段就是指数码管里有八个小LED 发光二极管,通过控制不同的LED 发光二极管的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型。共阴极就是将八个LED 的阴极连在一起,让其接地,这样给任何一个LED 的另一端高电平,它便能点亮;共阳极就是将八个LED 的阳极连在一起。其原理图如下: 数码管电路原理图 其中引脚图的两个COM 端连在一起就是公共端。共阴极数码管要将其接地,共阳极数码管将其接+5V 电源。一个八段数码管用来表示一位,多个数码管并列在一起即可构成多位数字,它们的段选线(即a,b,c,d,e,f,g,dp)都连在一起,而各自的公共端为位选线。显示时,数据都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8 段即对应一个字节(Byte)的8 位,a 对应最低位,dp 对应最高位。所以如果想让数码管显示数字0,那么共阴极数码管的字符编码为00111111 即0x3f;共阳极数码管的字符编码为11000000 即0xc0。可以看出两个编码的各位正好相反。如下图所示: 8段数码管的共阴共阳差异 4、数码动态显示 数码管动态显示即轮流向各位数码管送出字符编码和相应的位选信号,利用发光二极管的余辉和人眼的视觉暂留作用,使人感觉好像各位的数码管都同时在显示。相比于静态显示,动态显示的亮度要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 5、FPGA硬件管脚的配置 在实现时首先要做的事是管脚的配置,根据程序的功能来配置管脚从而可以从实验板上观察到所需的状态。注意每一段的对应以及功能的设置。 四、实验目的: 1、进一步熟悉基于FPGA的硬件编程实现; 2、掌握如何实效编程; 3、熟悉程序基于ISE的仿真以及改错; 4、掌握编程数码显示的方法; 5、实现自主创新,编程实现自己的想法,并熟悉利用FPGA硬件实现编程; 五、实验内容: 编写 VHDL 代码、生成下载文件,下载设计到FPGA 实现如下功能: 模拟路口交通信号灯的红、黄、绿灯的变化过程,分别用三个LED 灯表示,并在数码管上动态显示当前状态剩余时间。要求红灯持续时间为30 秒,黄灯5 秒,绿灯30 秒。 六、实验器材(设备、元器件): FPGA实验板一块、下载线一套、PC机一台 七、实验步骤: 1、打开桌面EDA文件夹中的ISE软件,并新建一个ADD_SUB工程; 2、在“Sources in Project”子窗口中右击,选择Add Source ,添加 VHDL设计文件,编写程序; 3、保存并进行语法检错,若有错误返回修改,直到没有错误提示为止; 4、连接好FPGA和下载线套装; 5、进行管脚配置,在“Sources in Project”子窗口中右击,选择Add Source ,选择添加 .ucf 文件,打开所添加的 .ucf 文件在对应的地 方输入管脚即可,或者是打开工程文件夹,找到ADD_SUB.ucf文件以文 本文档方式打开,在里面编写形如:NET "clk" LOC = "p18" ;(“”中 的为信号名称,=后面的为对应管脚)的管脚配置参数,编写完成后保存。 6、把程序进行仿真并载入到FPGA实验板上观察现象是否与理论一致; 7、若不符合则,返回修改程序,直到现象符合。 八、实验数据及结果分析: 1、设计思路: 根据实验要求发现,实验中首先需要1s的时钟来对三种灯进行计时,所用FPGA实验板的时钟为40MHz,所以在程序一开始需要对其进行处理。采用米利状态机来进行设计,并在状态中设置转换时间递减,当时间到零时触发状态转换。对于时间的显示利用数码管,由于有两位设置状态来实现转换显示。在最前方再加以复位设置,便可完成。 2、实验程序: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity jtd is port ( en : out std_logic_vector(7 downto 0); dataout : out std_logic_vector(7 downto 0); led0,led1,led2 :out std_logic; clk : in std_logic; rst : in std_logic ); end jtd; architecture arch of jtd is constant state0 : std_logic_vector(2 downto 0) := "000" constant state1 : std_logic_vector(2 downto 0) := "001" signal state : std_logic_vector(2 downto 0); signal count : std_logic_vector(18 downto 0); signal cnt : std_logic_vector(26 downto 0); signal tim : std_logic_vector(6 downto 0); signal num : std_logic_vector(4 downto 0); signal num1 : std_logic_vector(3 downto 0); signal num2 : std_logic_vector(3 downto 0); signal waittime0 : std_logic_vector(4 downto 0) := "11110" signal waittime1 : std_logic_vector(4 downto 0) := "00101" signal waittime2 : std_logic_vector(4 downto 0) := "11110" signal dataout_temp : std_logic_vector(3 downto 0); TYPE state_type Is (S0,S1,S2); SIGNAL current_state,next_state : state_type; begin process(clk,rst) begin if(rst = '0') then state state state state IF waittime0="00000"then next_state IF waittime1="00000"then next_state IF waittime2="00000"then next_state led0 led0 led0 "0011101") then num1 "0010011") then num1 "0001001") then num1 en en NULL; end case; end process; process(dataout_temp) begin case dataout_temp is WHEN "0000" => dataout dataout dataout dataout dataout dataout dataout dataout dataout dataout NULL; end case; end process; end arch; 3、管脚配置 NET "clk" LOC = "p18" ; NET "dataout" LOC = "p140" ; NET "dataout" LOC = "p139" ; NET "dataout" LOC = "p141" ; NET "dataout" LOC = "p4" ; NET "dataout" LOC = "p5" ; NET "dataout" LOC = "p6" ; NET "dataout" LOC = "p7" ; NET "dataout" LOC = "p10" ; NET "en" LOC = "p21" ; NET "en" LOC = "p20" ; NET "en" LOC = "p19" ; NET "en" LOC = "p11" ; NET "en" LOC = "p12" ; NET "en" LOC = "p13" ; NET "en" LOC = "p22" ; NET "en" LOC = "p23" ; NET "led0" LOC = "p85" ; NET "led1" LOC = "p83" ; NET "led2" LOC = "p79" ; NET "rst" LOC = "p102" ; 九、实验结论: 1、程序的FPGA硬件实现需要对其内部管脚进行编码; 2、在将程序烧录到FPGA板子上时特别注意对应位流文件要选择正确; 3、提高显示时钟频率能够让动态显示数码管显示不同的数值; 4、利用状态机有效地实现了,分时的输入数值和显示功能; 5,在综合时ISE软件会自动的综合掉对输出没有影响的信号。 十、总结及心得体会: 通过编写程序,深刻的学习到VHDL编程的精髓以及在编程过程中应该注意的一些语法之类的问题,在仿真过程中也清晰地学习到了利用FPGA进行设计仿真的流程以及需要注意的问题。通过课程设计大大的提升了动手能力以及对学习到的知识的应用实践。 十一、对本实验过程及方法、手段的改进建议: 由于所用FPGA实验板没有黄色LED所以建议换一块FPGA实验板 报告评分: 指导教师签字:

    注意事项

    本文(综合课程设计——模拟交通灯实验报告.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开