进制同步计数器设计报告_第1页
进制同步计数器设计报告_第2页
进制同步计数器设计报告_第3页
进制同步计数器设计报告_第4页
进制同步计数器设计报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江万里学院实验报告成绩成绩:教师:施炯课程名称:可编程逻辑器件应用实验名称:100进制同步计数器设计专业班级:电子103姓名:徐强学号:实验日期:2023.5.10一、实验目的:1、掌握计数器的原理及设计方法;2、设计一个0~100的计数器;3、运用实验二的七段数码管电路进行显示;二、实验规定:1、用VHDL语言进行描写;2、有计数显示输出;3、有清零端和计数使能端;三、实验结果:1.VHDL程序LIBRARYIEEE; USEIEEE.STD_LOGIC_1164.ALL;PACKAGEmy_pkgIS Componentnd2--或门PORT(a,b:INSTD_LOGIC; c:OUTSTD_LOGIC);ENDComponent;Componentled_decoder PORT(din:instd_logic_vector(3downto0);--四位二进制码输入seg:outstd_logic_vector(6downto0));--输出LED七段码 ENDComponent; ComponentCNT60--2位BCD码60进制计数器 PORT (CR:INSTD_LOGIC;EN:INSTD_LOGIC; CLK:INSTD_LOGIC; OUTLOW:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0); OUTHIGH:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0) ); ENDComponent; ComponentCNT100--带使能和清零信号的100进制计数器 PORT ( CLK:INSTD_LOGIC; EN:INSTD_LOGIC; CLR:INSTD_LOGIC; OUTLOW:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0); OUTHIGH:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0) ); ENDComponent; Componentfreq_div--50MHZ时钟分频出1Hz PORT ( clkinput:INSTD_LOGIC; output:OUTSTD_LOGIC ); ENDComponent; Componentjtd--交通灯控制器 PORT ( CLKIN:INSTD_LOGIC;--50MHZ R1,G1,R2,G2,R3,G3,R4,G4:OUTSTD_LOGIC;--红绿灯信号输出 GAO,DI:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0)--倒计时输出 ); ENDComponent; ENDmy_pkg;LIBRARYIEEE; USEIEEE.STD_LOGIC_1164.ALL;USEwork.my_pkg.ALL; --打开程序包ENTITYDemo3ISPORT(CRl:INSTD_LOGIC;ENl:INSTD_LOGIC;CLKIN:INSTD_LOGIC; LEDLOW,LEDHIGH:OUTSTD_LOGIC_VECTOR(6downto0));ENDDemo3;ARCHITECTUREbehvOFDemo3ISSIGNALCLKTEMP:STD_LOGIC;--定义中转信号SIGNALLEDLOWTEMP,LEDHIGHTEMP:STD_LOGIC_VECTOR(3downto0);BEGIN u1:freq_divPORTMAP(CLKIN,CLKTEMP); --位置关联方式 u2:CNT60PORTMAP(CR=>CRl,EN=>ENl,CLK=>CLKTEMP,OUTLOW=>LEDLOWTEMP,OUTHIGH=>LEDHIGHTEMP); --名字关联方式 u3:led_decoderPORTMAP(LEDLOWTEMP,LEDLOW); --低位数码管输出 u4:led_decoderPORTMAP(LEDHIGHTEMP,LEDHIGH); --高位数码管输出ENDbehv;LIBRARYieee;USEieee.std_logic_1164.all;ENTITYfreq_divISPORT( clkinput:INSTD_LOGIC; output:OUTSTD_LOGIC);ENDfreq_div;ARCHITECTURErtOFfreq_divIS SIGNALcount_signal:INTEGER signalmid1:STD_LOGIC; BEGIN PROCESS(clkinput) BEGIN IF(clkinput'EVENTANDclkinput='1')THEN ifcount_signal=24999999then--50MHzdivisionto1Hz count_signal<=0; mid1<=notmid1; else count_signal<=count_signal+1; endif; output<=mid1; endif; ENDPROCESS;endrt;--文献名:decoder.vhdlibraryIEEE;useIEEE.STD_LOGIC_1164.ALL;entityled_decoderisPort(din:instd_logic_vector(3downto0);--四位二进制码输入seg:outstd_logic_vector(6downto0));--输出LED七段码endled_decoder;architectureBehavioralofled_decoderisbegin process(din) begin casedinis when"0000"=> seg<="1000000";--0 when"0001"=>seg<="1111001";--1 when"0010"=>seg<="0100100";--2 when"0011"=>seg<="0110000";--3 when"0100"=>seg<="0011001";--4 when"0101"=>seg<="0010010";--5 when"0110"=>seg<="0000010";--6 when"0111"=>seg<="1011000";--7 when"1000"=>seg<="0000000";--8 when"1001"=>seg<="0010000";--9 whenothers=>seg<="0000110";--E endcase;endprocess;endBehavioral;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT60ISPORT(CR:INSTD_LOGIC;EN:INSTD_LOGIC;CLK:INSTD_LOGIC;OUTLOW:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0);OUTHIGH:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));ENDCNT60;ARCHITECTUREbehavOFCNT60ISBEGIN PROCESS(CLK,CR,EN) BEGIN ifCR='1'then OUTHIGH<="0000"; OUTLOW<="0000"; elsifEN='1'thenIFCLK'EVENTANDCLK='1'THEN IFOUTHIGH="1001"ANDOUTLOW="1001"THEN OUTHIGH<="0000"; OUTLOW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论