收藏 分销(赏)

北理工可编程逻辑器件实验报告.docx

上传人:Fis****915 文档编号:551846 上传时间:2023-12-06 格式:DOCX 页数:7 大小:181.76KB
下载 相关 举报
北理工可编程逻辑器件实验报告.docx_第1页
第1页 / 共7页
北理工可编程逻辑器件实验报告.docx_第2页
第2页 / 共7页
北理工可编程逻辑器件实验报告.docx_第3页
第3页 / 共7页
北理工可编程逻辑器件实验报告.docx_第4页
第4页 / 共7页
北理工可编程逻辑器件实验报告.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 本科实验报告实验名称: 可编程逻辑器件实验报告 课程名称:可编程逻辑器件实验时间:任课教师:实验地点:实验教师:实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:学 院:同组搭档:专 业:成 绩:9999计数器一、实验目的编程实现一个含清零功能9999计数器,并用7段数码管显示。二、实验器材EPM7128STC100-15,计算机三、实验过程(1)原理分析a、分频要实现一个0-9999计数器,并且肉眼可观,但是EPM7128STC100-15系统只有一个6M的时钟,频率太高,肉眼不可见,因此得用一个分频器将系统时钟降下来。本实验用了6个74LS190 BCD计数器级联,可

2、实现1000000分频,从而将系统时钟变为6HZ。b、计数系统分频之后,接下来实现计数,仍然用74LS190 BCD计数器4个级联实现09999的计数功能,将每个计数器的管脚输出。c、扫描实验要求用4个7段数码管输出,计数输出是4个二进制数,因此本步骤的功能是将每个二进制数对应于一个7段数码管,再把单片机系统的时钟(6M Hz)作为扫描的时钟,从而实现4个7段数码管同步显示。d、译码计数输出的是00001001二进制形式的数,而7段数码管是abcdefg七段数码管,要实现这两个的连接,需要一个译码器,来将这四个数同步的显示在七段数码管上。(2)程序及图形设计a、分频和计数 图形设计如下:画好上

3、面的图以后编译后再将上面的设计为一整个芯片,如下图所示:b、扫描 代码:-*LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-*ENTITY Scaner isPORT(rst: instd_logic;- System RSTclk: in std_logic;- System Clocka,b,c,d: instd_logic_vector(3 downto 0);o_data: outstd_logic_vector(3 downto

4、 0);o_comm: outstd_logic_vector(3 downto 0)- disp bit ctrl);END Scaner;-*architecture action of Scaner istype s_type is(LED0,LED1,LED2,LED3);signal s_LED : s_type; - State Signal Declarebeginprocess(clk,rst)beginif rst = 0 theno_comm= 1111;o_data= 1111;s_LEDo_comm= 1110;o_data= d;s_LEDo_comm= 1101;o

5、_data= c;s_LEDo_comm= 1011;o_data= b;s_LEDo_comm= 0111;o_data= a;s_LEDs_LED= LED0;o_comm= 1111;end case;end if;end process; -/end action;同理,画好上面的图以后编译后再将上面的设计为一整个芯片,如下图所示:c、译码 源代码:-*LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-*ENTITY encoder

6、 isPORT(i_data: instd_logic_vector(3 downto 0);- System Data Bus(in)i_rst: instd_logic;- System RSTo_code: out std_logic_vector(7 downto 0)- LED SEGCODE );END encoder;-*architecture behavior of encoder isbeginprocess (i_rst,i_data)beginif i_rst = 0 then-Reset Stateo_codeo_codeo_codeo_codeo_codeo_cod

7、eo_codeo_codeo_codeo_codeo_codeo_code= 01111011; end case;end if;end process; end behavior;同理,画好上面的图以后编译后再将上面的设计为一整个芯片,如下图所示:(3)模块的连接打开一个新的图形编辑窗口,用刚刚设计的芯片设计电路,如下图:(4)管脚的分配将设计好的电路分配到单片机的管脚上,具体分配如下:名称 管脚号rst 89 clk 87o_coad0 75o_coad1 72o_coad2 71o_coad3 70o_coad4 69o_coad5 68o_coad6 67o_coad7 65o_com

8、m0 61o_comm1 63o_comm2 64o_comm3 77(5)烧程序打开Quartus II Programmer ,选择pof文件打开,烧入单片机,具体界面如下图: 观察结果。四、实验结果及问题分析a、实验结果:烧好板子之后,可以看到板子上的7段数码管从0开始计数。b、问题分析:第一次烧进之后板子开始计数,但是显示的数不是09依次计数,而是比较乱,并且现实的数不是09之间的某一个数,像是乱码,查看译码器之后确定译码器没有问题,各个对应的数都正确。最后检查到计数器和扫描器之间的时候,发现计数器后面括号中是从小到大,也就是说MSB是最右边的一位,而扫描器括号中是从大到小,也就是说MSB是最左边的一位。意识到把计数的大小顺序弄错之后,再修改了之后,计数器正常运行。五、心得体会这学期本来就学VHDL语言,虽然软件用的不一样,但是语法结构是一样的。经过了系统的VHDL语言的学习,这门课的VHDL语言没有什么问题,而我从这门课学到最多的是怎么将软件语言和硬件联系到一起,将计算机语言烧录到单片机中的步骤和方法。学会了一门单片机的编程,烧录等一系列的步骤,学习其他的单片机就会容易的很多。最后,感谢老师和师哥的教诲及帮助。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 行业资料 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服