数电实验实验报告数码管循环显示_第1页
数电实验实验报告数码管循环显示_第2页
数电实验实验报告数码管循环显示_第3页
数电实验实验报告数码管循环显示_第4页
数电实验实验报告数码管循环显示_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

试验101、成果:同步显示012345代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYsweepISPORT(clk,clr:INSTD_LOGIC;--clk输入时钟;clr状态清零a:OUTSTD_LOGIC_VECTOR(6DOWNTO0);--输出数码管相似段sweep:OUTSTD_LOGIC_VECTOR(5DOWNTO0)--输出cat(数码管选通控制信号)端);ENDsweep;ARCHITECTUREsweep_archOFsweepISSIGNALsweep_arc:STD_LOGIC_VECTOR(5DOWNTO0);--申明内部信号(选通控制信号)SIGNALb:STD_LOGIC_VECTOR(6DOWNTO0);--申明内部信号(相似段信号)BEGINPROCESS(sweep_arc)BEGINIF(clk'eventandclk='1')THENIFclr='0'THEN--状态清零sweep_arc<="011111";b<="0000000";ELSEcasesweep_arcIS--选通控制信号WHEN"011111"=>sweep_arc<="111110";WHEN"111110"=>sweep_arc<="111101";WHEN"111101"=>sweep_arc<="111011";WHEN"111011"=>sweep_arc<="110111";WHEN"110111"=>sweep_arc<="101111";WHEN"101111"=>sweep_arc<="011111";WHENOTHERS=>sweep_arc<="011111";ENDCASE;CASEsweep_arcIS--相似段信号WHEN"011111"=>b<="1011011";WHEN"101111"=>b<="0110011";WHEN"110111"=>b<="1111001";WHEN"111011"=>b<="1101101";WHEN"111101"=>b<="0110000";WHEN"111110"=>b<="1111110";WHENOTHERS=>b<="0000000";ENDCASE;ENDIF;ENDIF;sweep<=sweep_arc;a<=b;ENDPROCESS;END;仿真:管脚:2、(1)成果:循环显示:012345—123450—234501—345012—450123—501234—012345代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsweep2IS PORT(clk:INSTD_LOGIC;--clk输入时钟 sweep2:OUTSTD_LOGIC_VECTOR(5DOWNTO0);--输出数码管相似段 a:OUTSTD_LOGIC_VECTOR(6DOWNTO0)--输出cat(数码管选通控制信号)端 );ENDsweep2;ARCHITECTUREarc_sweep2OFsweep2ISSIGNALnumber:INTEGERRANGE0TO6;--状态申明(6种状态,7种状态值)SIGNALn:INTEGERRANGE0TO6;--申明数码管(6个管,7个值)SIGNALflag:INTEGERRANGE0TO50;--同一状态运行次数BEGIN PROCESS(clk) BEGIN IF(clk'eventANDclk='1')THEN IFn>5THEN n<=0; ELSEn<=n+1; flag<=flag+1; ENDIF; IFflag>20THEN flag<=0; number<=number+1; ENDIF; IFnumber>5THEN number<=0; ENDIF; CASEnumberIS WHEN0=>--状态0,输出012345 CASEnIS WHEN0=>sweep2<="011111";a<="1111110"; WHEN1=>sweep2<="101111";a<="0110000"; WHEN2=>sweep2<="110111";a<="1101101"; WHEN3=>sweep2<="111011";a<="1111001"; WHEN4=>sweep2<="111101";a<="0110011"; WHEN5=>sweep2<="111110";a<="1011011"; WHENOTHERS=>sweep2<="111111"; ENDCASE; WHEN1=>----状态1,输出123450 CASEnIS WHEN0=>sweep2<="011111";a<="0110000"; WHEN1=>sweep2<="101111";a<="1101101"; WHEN2=>sweep2<="110111";a<="1101101"; WHEN3=>sweep2<="111011";a<="1111001"; WHEN4=>sweep2<="111101";a<="0110011"; WHEN5=>sweep2<="111110";a<="1111110"; WHENOTHERS=>sweep2<="111111"; ENDCASE; WHEN2=>--状态2,输出234501 CASEnIS WHEN0=>sweep2<="011111";a<="1101101"; WHEN1=>sweep2<="101111";a<="1111001"; WHEN2=>sweep2<="110111";a<="0110011"; WHEN3=>sweep2<="111011";a<="1011011"; WHEN4=>sweep2<="111101";a<="1111110"; WHEN5=>sweep2<="111110";a<="0110000"; WHENOTHERS=>sweep2<="111111"; ENDCASE; WHEN3=>--状态3,输出345012 CASEnIS WHEN0=>sweep2<="011111";a<="1111001"; WHEN1=>sweep2<="101111";a<="0110011"; WHEN2=>sweep2<="110111";a<="1011011"; WHEN3=>sweep2<="111011";a<="1111110"; WHEN4=>sweep2<="111101";a<="0110000"; WHEN5=>sweep2<="111110";a<="1101101"; WHENOTHERS=>sweep2<="111111"; ENDCASE; WHEN4=>--状态4,输出450123 CASEnIS WHEN0=>sweep2<="011111";a<="0110011"; WHEN1=>sweep2<="101111";a<="1011011"; WHEN2=>sweep2<="110111";a<="1111110"; WHEN3=>sweep2<="111011";a<="0110000"; WHEN4=>sweep2<="111101";a<="1101101"; WHEN5=>sweep2<="111110";a<="1111001"; WHENOTHERS=>sweep2<="111111"; ENDCASE; WHEN5=>--状态5,输出501234 CASEnIS WHEN0=>sweep2<="011111";a<="1011011"; WHEN1=>sweep2<="101111";a<="1111110"; WHEN2=>sweep2<="110111";a<="0110000"; WHEN3=>sweep2<="111011";a<="1101101"; WHEN4=>sweep2<="111101";a<="1111001"; WHEN5=>sweep2<="111110";a<="0110011"; WHENOTHERS=>sweep2<="111111"; ENDCASE; WHENOTHERS=>sweep2<="111111"; ENDCASE; ENDIF; ENDPROCESS;ENDarc_sweep2;仿真:仿真时将循环次数改为1以便观测波形,共6种状态管脚:2、(2)成果:循环显示:012345—12345X—2345XX—345XXX—45XXXX—5XXXXX—XXXXXX—XXXXX0—XXXX01—XXX012—XX0123—X01234—012345代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsweep3IS PORT(clk:INSTD_LOGIC;--clk输入时钟 sweep3:OUTSTD_LOGIC_VECTOR(5DOWNTO0);--输出数码管相似段 a:OUTSTD_LOGIC_VECTOR(6DOWNTO0)--输出cat(数码管选通控制信号)端 );ENDsweep3;ARCHITECTUREarc_sweep3OFsweep3ISSIGNALnumber:INTEGERRANGE0TO12;--状态申明(12种状态,13种状态值)SIGNALn:INTEGERRANGE0TO6;--申明数码管(6个管,7个值)SIGNALflag:INTEGERRANGE0TO50;--同一状态运行次数BEGIN PROCESS(clk) BEGIN IFclk'eventANDclk='1'THEN IFn>5THEN n<=0; ELSEn<=n+1; flag<=flag+1; ENDIF; IFflag>20THEN flag<=0; number<=number+1; ENDIF; IFnumber>11THEN number<=0; ENDIF; CASEnumberIS WHEN0=>--状态0,输出012345 CASEnIS WHEN0=>sweep3<="011111";a<="1111110"; WHEN1=>sweep3<="101111";a<="0110000"; WHEN2=>sweep3<="110111";a<="1101101"; WHEN3=>sweep3<="111011";a<="1111001"; WHEN4=>sweep3<="111101";a<="0110011"; WHEN5=>sweep3<="111110";a<="1011011"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN1=>--状态1,输出12345X CASEnIS WHEN0=>sweep3<="011111";a<="0110000"; WHEN1=>sweep3<="101111";a<="1101101"; WHEN2=>sweep3<="110111";a<="1101101"; WHEN3=>sweep3<="111011";a<="1111001"; WHEN4=>sweep3<="111101";a<="0110011"; WHEN5=>sweep3<="111111";a<="1111110"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN2=>--状态2,输出2345XX CASEnIS WHEN0=>sweep3<="011111";a<="1101101"; WHEN1=>sweep3<="101111";a<="1111001"; WHEN2=>sweep3<="110111";a<="0110011"; WHEN3=>sweep3<="111011";a<="1011011"; WHEN4=>sweep3<="111111";a<="1111110"; WHEN5=>sweep3<="111111";a<="0110000"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN3=>--状态3,输出345XXX CASEnIS WHEN0=>sweep3<="011111";a<="1111001"; WHEN1=>sweep3<="101111";a<="0110011"; WHEN2=>sweep3<="110111";a<="1011011"; WHEN3=>sweep3<="111111";a<="1111110"; WHEN4=>sweep3<="111111";a<="0110000"; WHEN5=>sweep3<="111111";a<="1101101"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN4=>--状态4,输出45XXXX CASEnIS WHEN0=>sweep3<="011111";a<="0110011"; WHEN1=>sweep3<="101111";a<="1011011"; WHEN2=>sweep3<="111111";a<="1111110"; WHEN3=>sweep3<="111111";a<="0110000"; WHEN4=>sweep3<="111111";a<="1101101"; WHEN5=>sweep3<="111111";a<="1111001"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN5=>--状态5,输出5XXXXX CASEnIS WHEN0=>sweep3<="011111";a<="1011011"; WHEN1=>sweep3<="111111";a<="1111110"; WHEN2=>sweep3<="111111";a<="0110000"; WHEN3=>sweep3<="111111";a<="1101101"; WHEN4=>sweep3<="111111";a<="1111001"; WHEN5=>sweep3<="111111";a<="0110011"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN6=>--状态6,输出XXXXXX CASEnIS WHEN0=>sweep3<="111111";a<="1111110"; WHEN1=>sweep3<="111111";a<="0110000"; WHEN2=>sweep3<="111111";a<="1101101"; WHEN3=>sweep3<="111111";a<="1111001"; WHEN4=>sweep3<="111111";a<="0110011"; WHEN5=>sweep3<="111111";a<="1011011"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN7=>--状态7,输出XXXXX0 CASEnIS WHEN0=>sweep3<="111111";a<="0110000"; WHEN1=>sweep3<="111111";a<="1101101"; WHEN2=>sweep3<="111111";a<="1101101"; WHEN3=>sweep3<="111111";a<="1111001"; WHEN4=>sweep3<="111111";a<="0110011"; WHEN5=>sweep3<="111110";a<="1111110"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN8=>--状态8,输出XXXX01 CASEnIS WHEN0=>sweep3<="111111";a<="1101101"; WHEN1=>sweep3<="111111";a<="1111001"; WHEN2=>sweep3<="111111";a<="0110011"; WHEN3=>sweep3<="111111";a<="1011011"; WHEN4=>sweep3<="111101";a<="1111110"; WHEN5=>sweep3<="111110";a<="0110000"; WHENOTHERS=>sweep3<="111111"; ENDCASE; WHEN9=>--状态9,输出XXX012 CASEnIS WHEN0=>sweep3<="111111";a<="1111001"; WHEN1=>sweep3<="111111";a<="0110011"; WHEN2=>sweep3<="111111";a<="1011011"; WHEN3=>sweep3<="111011";a<="1111110"; WHEN4=>sweep

温馨提示

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

评论

0/150

提交评论