您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 100进制计数器及译码和数码显示的应用
忻州师范学院电子系课程设计(综合实验)报告(2010--2011年度第二学期)题目:计数、译码和数码显示的应用院系:电子信息科学与技术班级:学号:学生姓名:指导教师:2011-11-25目录一设计要求.....................................................................1二设计思路...................................................................1三设计过程...................................................................11设计原理..............................................................12设计原理图...........................................................2四测试步骤...................................................................2五测试结果分析.............................................................2六模块程序...................................................................31一设计要求1设计并掌握计数器的原理2掌握数码管显示的方法3更好的了解运用EDA技术4设计程序并最终下载进行测试二设计思路应用EDA实验箱产生10HZ脉冲,之后对脉冲进行计数,首先要在实验箱上产生10HZ的脉冲,而后用计数器对其进行计数。每产生一个10HZ的脉冲,计数器就自加一,直到100之后重新返回1开始计数。最终的计数结果将在7段数码管上显示(显示范围1~100)。三设计过程1设计原理设计一个100进制的计数器,时钟信号CLK,清零信号QL,使能端EN,其中CLK输入的是10HZ的脉冲信号,FAY分别是计数器的个十百位,DQ为满一百的进位。在QL=1时对计数器进行清零,在QL=0,EN=1时开始计数。显示译码器LE,ABC分别接计数器输出的个十百位,输出R[6..0]是七段数码管的段码,输出K[2..0]是三位数码管的位选信号。在CLK1的作用下,进行段选和位选,再进行器件打包,连接电路图,最后在实验箱上进行下载。22设计原理图四测试步骤将编写好的程序下载到EDA的实验箱芯片上,然后接通电源,使能端,清零端置一置零,置零置一,观察数码管显示是否正常。五测试结果分析计数器波形图计数器延时分析3显示器波形图显示器延时分析六模块程序计数器模块程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityliuisport(clk,en,ql:instd_logic;4f:outstd_logic_vector(3downto0);a:outstd_logic_vector(3downto0);dq:outstd_logic;y:outstd_logic_vector(3downto0));endliu;architecturehlofliuisbeginprocess(clk,ql,en)variablecq1:std_logic_vector(3downto0);variablecq2:std_logic_vector(3downto0);variablen:std_logic_vector(3downto0);beginifql='1'thencq1:=(others='0');cq2:=(others='0');n:=(others='0');elsifclk'eventandclk='1'thenifen='1'thenifcq19thencq1:=cq1+1;elsifcq1=9andcq29andn1thencq2:=cq2+1;cq1:=(others='0');elsifcq1=9andcq2=9andn1thenn:=n+1;cq1:=(others='0');cq2:=(others='0');elsecq1:=(others='0');cq2:=(others='0');n:=(others='0');endif;if(n=1)and(cq1=1)and(cq2=0)thendq='1';n:=(others='0');cq1:=0001;cq2:=(others='0');elsedq='0';endif;endif;endif;f=cq1;a=cq2;y=n;endprocess;5endhl;显示器模块程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYLEISPORT(CLK1:INSTD_LOGIC;r:OUTSTD_LOGIC_VECTOR(6DOWNTO0);k:OUTSTD_LOGIC_VECTOR(2DOWNTO0);A,B,C:INTEGERRANGE0TO9);END;ARCHITECTUREoneOFLEISSIGNALQ:INTEGERRANGE0TO9;SIGNALCT3:STD_LOGIC_VECTOR(1DOWNTO0);BEGINP1:PROCESS(CT3)BEGINCASECT3ISWHEN00=k=001;Q=A;WHEN01=k=010;Q=B;WHEN10=k=100;Q=C;WHENOTHERS=NULL;ENDCASE;ENDPROCESSP1;P2:PROCESS(CLK1)BEGINIFCLK1'EVENTANDCLK1='1'THENCT3=CT3+1;ENDIF;ENDPROCESSP2;P3:PROCESS(Q)6BEGINCASEQISWHEN0=r=0111111;WHEN1=r=0000110;WHEN2=r=1011011;WHEN3=r=1001111;WHEN4=r=1100110;WHEN5=r=1101101;WHEN6=r=1111101;WHEN7=r=0000111;WHEN8=r=1111111;WHEN9=r=1101111;WHENOTHERS=NULL;ENDCASE;ENDPROCESSP3;END;
本文标题:100进制计数器及译码和数码显示的应用
链接地址:https://www.777doc.com/doc-3094346 .html