实验六 8数码管扫描显示.doc

实验六 8数码管扫描显示.doc

ID:55341708

大小:4.24 MB

页数:5页

时间:2020-05-11

实验六 8数码管扫描显示.doc_第1页
实验六 8数码管扫描显示.doc_第2页
实验六 8数码管扫描显示.doc_第3页
实验六 8数码管扫描显示.doc_第4页
实验六 8数码管扫描显示.doc_第5页
资源描述:

《实验六 8数码管扫描显示.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验六8位数码管扫描显示一、实验目的1、了解7段数码管的工作原理;2、学会用于VHDL语言进行程序设计。二、实验原理在本实验中,按一下key0,完成复位功能,clk5选择1Hz,clk3选择的频率越高越好。LED的显示模块原理:LED有段码和位码之分,所谓段码就是让LED显示出8.的八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阴级的LED而言,低电平使能(在本实验箱中所有的LED均位共阴级的),在本实验中设计了一个3位的循环计数器,将计数结果输入到3-8

2、译码器74ls138,译码结果输出即可依次使能每个LED。例如:要让8个LED同时工作,显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应的8位段码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。三、实验程序原程序作如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_SIGNE

3、D.ALL;ENTITYSCAN_SEG8ISPORT(CLK3,CLK5:INSTD_LOGIC;RST:INSTD_LOGIC;SEG_DA:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SEG_SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDSCAN_SEG8;ARCHITECTUREADOOFSCAN_SEG8ISSIGNALSEG_BUF1,SEG_BUF2,SEG_BUF3,SEG_BUF4,SEG_BUF0:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALSEG_B

4、UF5,SEG_BUF6,SEG_BUF7,SEG_BUF8:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALSEG_CNT:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALSEG_TEMP:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALCLK:STD_LOGIC;BEGINPROCESS(CLK5)BEGINIFCLK5'EVENTANDCLK5='1'THENCLK<=NOTCLK;ENDIF;ENDPROCESS;PROCESS(CLK5,RST)BEGINIFCLK5'EVE

5、NTANDCLK5='1'THENIFCLK='1'THENSEG_BUF1<="0001";SEG_BUF2<="0010";SEG_BUF3<="0011";SEG_BUF4<="0100";SEG_BUF5<="0101";SEG_BUF6<="0110";SEG_BUF7<="0111";SEG_BUF8<="1000";ELSESEG_BUF0<=SEG_BUF8;SEG_BUF8<=SEG_BUF7;SEG_BUF7<=SEG_BUF6;SEG_BUF6<=SEG_BUF5;SEG_BUF5<=SEG_BUF4;SEG_BUF

6、4<=SEG_BUF3;SEG_BUF3<=SEG_BUF2;SEG_BUF2<=SEG_BUF1;SEG_BUF1<=SEG_BUF0;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK3,RST)BEGINIFCLK3'EVENTANDCLK3='1'THENIFRST='1'THENSEG_CNT<="000";ELSESEG_CNT<=SEG_CNT+1;ENDIF;ENDIF;ENDPROCESS;SEG_SEL<=SEG_CNT;PROCESS(SEG_CNT,SEG_BUF1,SEG_BUF2,SEG_BU

7、F3,SEG_BUF4,SEG_BUF5,SEG_BUF6,SEG_BUF7,SEG_BUF8)BEGINCASESEG_CNTISWHENO"0"=>SEG_TEMP<=SEG_BUF1;WHENO"1"=>SEG_TEMP<=SEG_BUF2;WHENO"2"=>SEG_TEMP<=SEG_BUF3;WHENO"3"=>SEG_TEMP<=SEG_BUF4;WHENO"4"=>SEG_TEMP<=SEG_BUF5;WHENO"5"=>SEG_TEMP<=SEG_BUF6;WHENO"6"=>SEG_TEMP<=SEG_BUF7;WHE

8、NO"7"=>SEG_TEMP<=SEG_BUF8;WHENOTHERS=>SEG_TEMP<="XXXX";ENDCASE;ENDPROCESS;PROCESS(SEG_TEMP)BEGIN

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

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

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