数字电路与逻辑设计实验报告-数码管扫描显示控制器的设计与实现_第1页
数字电路与逻辑设计实验报告-数码管扫描显示控制器的设计与实现_第2页
数字电路与逻辑设计实验报告-数码管扫描显示控制器的设计与实现_第3页
数字电路与逻辑设计实验报告-数码管扫描显示控制器的设计与实现_第4页
数字电路与逻辑设计实验报告-数码管扫描显示控制器的设计与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

数码管扫描显示掌握器的设计与实现一、六个数码管串行扫描电路试验任务要求:VHDL⑵把握多个数码管动态扫描显示的原理及设计方法设计思路和过程VHDL0、1、2、3、4、566个数码管上,仿真并下载验证其功能:输出,低电平点亮管,使“05”6056catk号数码管亮时输出k.〔6个数码管需要0123、4、566个数码管上VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYshiyanshi1ISPORT(clk,clear:INSTD_LOGIC;cat:OUTSTD_LOGIC_VECTOR(5downto0);b:OUTSTD_LOGIC_VECTOR(6downto0));endshiyanshi1;ARCHITECTUREshumaguanOFshiyanshi1ISSIGNALq_temp:STD_LOGIC_VECTOR(2downto0);BEGINBEGINIF(clk”eventandclk=”1”)THENIFclear=”0”THENq_temp<=“000“;ELSIFq_temp=“101“THENq_temp<=“000“;ELSEq_temp<=q_temp+1;ENDIF;CASEq_tempISWHEN“000“=>cat<=“111110“; --0WHEN“001“=>cat<=“111101“; --1WHEN“010“=>cat<=“111011“; --2WHEN“011“=>cat<=“110111“; --3WHEN“100“=>cat<=“101111“; --4WHEN“101“=>cat<=“011111“; WHENOTHERS=>cat<=“111111“;ENDCASE;CASEq_tempISWHEN“000“=>b<=“1111110“; --0WHEN“001“=>b<=“0110000“; --1WHEN“010“=>b<=“1101101“; --2WHEN“011“=>b<=“1111001“; --3WHEN“100“=>b<=“0110011“; --4WHEN“101“=>b<=“1011011“; WHENOTHERS=>b<=“0000000“;ENDCASE;ENDIF;ENDPROCESS;ENDshumaguan;仿真波形图仿真波形图分析如图,clearcp,cat5cat00505。当时钟频率足够大〔300Hz〕时,数码管可以稳0、1、2、3、4、56个不同的数字图形到6个数码管上。故障及问题分析故障:下载到试验板上后不能正确显示数字态a,b,c,d,e,f,gb0b7a,b,c,d,e,f,g1.试验任务要求:VHDL2.设计思路和过程VHDL012345→123450→234501→345012→450123→501234→012345:M=605;5个数码管依次点亮。当数字输出一个循环时产生一个信号flag,使cat临时不变,然后数字进入下个循环,cat6这样做相当于数字每循环一次,cat012345→123450→234501→345012→450123→501234→012345。为了使数码管能稳定显示,加一个McatCNTOUT,cat6CNTOUTM〔M示的数字的一一对应关系是稳定的〕才能发出下个信号flag使cat再次停滞。VHDLLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYshiyanshi2ISPORT(CLK:INSTD_LOGIC;Y:OUTSTD_LOGIC_VECTOR(6DOWNTO0);CAT:OUTSTD_LOGIC_VECTOR(5DOWNTO0);SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITYshiyanshi2;ARCHITECTUREARTOFshiyanshi2ISSIGNALCNTOUT:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALS,S1:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALJS:STD_LOGIC_VECTOR(8DOWNTO0);SIGNALCLR:STD_LOGIC;SIGNALFLAG:STD_LOGIC;BEGINP1:PROCESS(CLK,FLAG)BEGINIF(CLK”EVENTANDCLK=”1”THEN clk高电平IFCNTOUT=“101THEN --6计数器CNTOUT<=“000“;ELSECNTOUT<=CNTOUT+1;ENDIF;IFJS=“100000000“THEN 该段为分频器JS<=“000000000“;ELSEENDIF;CLR<=JS(8);IFFLAG=”1THEN 该段为掌握数码管的滚动IFS=“101“THENS<=“000“;ELSES<=S+1;ENDIF;ELSEENDIF;

S<=S;ENDIF;ENDPROCESS;BEGINCASECLRISWHEN”1”=>IFCNTOUT=“101“THENFLAG<=”0”;ELSEENDIF;WHEN”0”=>FLAG<=”1”;ENDCASE;ENDPROCESS;BEGINCASESIS 该段为几号数码管亮WHEN“000“=>CAT<=“111110“;WHEN“001“=>CAT<=“111101“;WHEN“010“=>CAT<=“111011“;WHEN“011“=>CAT<=“110111“;WHEN“100“=>CAT<=“101111“;WHEN“101“=>CAT<=“011111“;WHENOTHERS=>CAT<=“111111“;ENDCASE;ENDPROCESS;BEGINCASECNTOUTIS 该段为显示数字WHEN“000“=>Y<=“1111110“;WHEN“001“=>Y<=“0110000“;WHEN“010“=>Y<=“1101101“;WHEN“011“=>Y<=“1111001“;WHEN“100“=>Y<=“0110011“;WHEN“101“=>Y<=“1011011“;WHENOTHERS=>Y<=“0000000“;ENDCASE;ENDPROCESS;ENDARCHITECTUREART;仿真波形图图甲:图乙:图丙:仿真波形图分析如图,CLKYCNTOUTSELCAT5CAT0SELCNTOUTMSEL6345012→450123。故障及问题分析故障一:一开头数码管不能稳定显示分析:没有设计分频器,数码管的各个状态持续时间都不够长。M=256catMflagcatM66*M故障二:增加分频器后数码管仍不能稳定显示CNTOUTMflagcatMcatflag解决:使cat每次停滞时间只有一个时钟周期。三、总结和结论是MAX7000S系列;把握了QUARTUS

温馨提示

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

评论

0/150

提交评论