实验二-译码器设计.doc

实验二-译码器设计.doc

ID:60816867

大小:70.00 KB

页数:5页

时间:2020-12-20

实验二-译码器设计.doc_第1页
实验二-译码器设计.doc_第2页
实验二-译码器设计.doc_第3页
实验二-译码器设计.doc_第4页
实验二-译码器设计.doc_第5页
资源描述:

《实验二-译码器设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二译码器设计电信5班凌键宇0一、实验准备1)接上usb-blaster到开发板中间的JTAG接口,另一个接口接上电脑USB,然后接上电源设配器,为开发板通电。如果驱动安装成功则进行下个步骤,如果驱动没有安装成功则按照‘USB下载线驱动安装指南.doc’为usb-blaster安装驱动。驱动安装成功则开始按照实验要求进行系统设计。2)本次实验所使用开发板芯片信号为cyclone系列的EP2C8Q208C8N3)下载的步骤见附录。二、实验要求利用硬件描述语言设计一自定义译码器,其主要功能为下表所示:SW0SW1SW2SW3LED0~LED5↓xxx流水点亮1↓xx间隔点亮11↓x追逐点亮111

2、↓全部亮,并闪烁其中,↓表示有键按下,1表示无键按下,x表示不管有没有按键;流水点亮即为LED0先亮,然后LED0灭,LED1亮,依次类推;间隔点亮即为第一状态为LED0亮,第二状态为LED0保持亮、LED2亮,依次类推;追逐点亮即为第一状态为只有LED0亮,第二状态为LED0保持亮、LED1点亮,依次类推。具体LED0~LED5引脚,SW0~SW3引脚分配请参照开发板原理图。三、实验实现实验思路:首先检测按键SW0、SW1、SW2、SW3(按照优先级排序),根据按键进入不同的流水灯状态,然后不断循环。同时不断检测按键来切换流水灯状态。代码如下:libraryIEEE;useIEEE.STD_

3、LOGIC_1164.all;useIEEE.STD_LOGIC_unsigned.all;entityledisport(sysclk:instd_logic;--sw:instd_logic_vector(1down0);sw0,sw1,sw2,sw3:instd_logic;dout:outstd_logic_vector(5downto0));endled;architecturelsdofledissignalcnt:integerrange1downto0;signalcount1,count2,count3,count4:std_logic_vector(3DOWNTO0);si

4、gnalstate:std_logic_vector(1DOWNTO0);beginprocess(sysclk)beginif(sysclk'eventandsysclk='1')thencnt<=cnt+1;if(cnt=1)thencnt<=0;count1<=count1+1;if(count1="1001")thencount1<="0000";endif;count2<=count2+1;if(count2="0010")thencount2<="0000";endif;count3<=count3+1;if(count3="0101")thencount3<="0000";end

5、if;count4<=count4+1;if(count4="0001")thencount4<="0000";endif;endif;if(sw0='0')thenstate<="00";endif;if(sw1='0'andsw0='1')thenstate<="01";endif;if(sw2='0'andsw1='1'andsw0='1')thenstate<="10";endif;if(sw3='0'andsw0='1'andsw1='1'andsw2='1')thenstate<="11";endif;endif;endprocess;process(count1,count2,c

6、ount3,count4)beginif(state="00")thencasecount1iswhen"0000"=>dout<="";when"0001"=>dout<="";when"0010"=>dout<="";when"0011"=>dout<="";when"0100"=>dout<="";when"0101"=>dout<="";when"0110"=>dout<="";when"0111"=>dout<="";when"1000"=>dout<="";when"1001"=>dout<="";whenothers=>null;endcase;elsif(state="01")

7、thencasecount2iswhen"0000"=>dout<="";when"0001"=>dout<="";when"0010"=>dout<="";whenothers=>null;endcase;elsif(state="10")thencasecount3iswhen"0000"=>dout<="";when"0001"=>dout<="";when"0010"=>dout<="";

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。