实验二-用七段LED显示8421BCD码的VHDL设计_第1页
实验二-用七段LED显示8421BCD码的VHDL设计_第2页
实验二-用七段LED显示8421BCD码的VHDL设计_第3页
实验二-用七段LED显示8421BCD码的VHDL设计_第4页
实验二-用七段LED显示8421BCD码的VHDL设计_第5页
全文预览已结束

下载本文档

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

文档简介

EDA实验报告〔二〕实验地点:211大楼606&609任课教师:窦衡学生姓名:李志学号:2402401024实验二用七段LED显示8421BCD码的VHDL设计一、预习内容1、结合附录一了解EDA实验箱的原理;2、七段LED显示原理;3、怎样用VHDL实现8421BCD码在七段LED数码管上显示。二、实验目的了解VHDL进行EDA设计的根本步骤;学会用MAX+PLUSⅡ进行时序仿真;了解EDA实验箱的根本功能;三、实验器材PC机一台、EDA教学实验系统一台、下载电缆一根〔已接好〕、导线假设干四、实验内容用VHDL设计具有去除端、使能端,计数范围为0~999的计数器设计。输出为8421BCD码;用VHDL设计七段LED译码显示电路;MAX+PLUSⅡ进行时序仿真;下载该程序验证程序是否正确;请事先准备一个软盘或优盘,本实验程序需要保存,后面实验需要用到。五、实验步骤1、写出七段译码器和具有去除端、使能端,计数范围为0~999的计数器的VHDL源程序,编译通过;2、进行波形仿真;3、选定器件、映射管脚、编译、下载。六、实验原理和设计1、8421BCD编码在数字系统中常用四位二进制代码来表示一位十进制数字0、1、2、﹒﹒﹒、9,称之为二-十进制代码,即BCD码。将十进制数编成BCD码的电路,称为称二-十进制〔BCD〕编码器。二-十进制编码的方案很多,假设BCD编码器采用8421编码方案,称为8421BCD编码器。2、七段译码器下列图为译码器逻辑图,请按图进行连线。其中A,B,C,D接拨号开关,a,b,c,d,e,f,g接数码显示接口,管脚映射均为I/O口,映射后,通过拨号开关改变输入二进制码,那么输出数码管上显示相应的数值。译码器真值表数值输入输出ABCDabcdefg000001111110100010110000200101101101300111111001401000110011501011011011601101011111701111110000810001111111910011111011A10101110111B10110011111C11001001110D11010111101E11101001111F111110001113、实现框图4、VHDL源程序:--0-999BCD码计数器描述LIBRARYIEEE;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;EntityCOUNT100IsPort(Clk,Rst,En,Load:instd_logic;data1,data2,data3:instd_logic_vector(3downto0);conl,conm,conh:bufferstd_logic_vector(3downto0));EndCOUNT100;ArchitectureCOUNTofCOUNT100IsBeginprocess(Rst,Clk)beginifRst='1'thenconl<="0000";conm<="0000";conh<="0000";elsifrising_edge(Clk)thenifEn='1'thenconl<=conl;conh<=conh;conm<=conm;elsifLoad='1'thenconl<=data1;conm<=data2;conh<=data3;elsif(conl="1001"andconm="1001"andconh="1001")thenconl<="0000";conm<="0000";conh<="0000";elsifconl="1001"thenifconm="1001"thenconl<="0000";conm<="0000";conh<=conh+1;elseconm<=conm+1;conl<="0000";endif;elseconl<=conl+1;endif;endif;endprocess;EndCOUNT;--七段译码器描述libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityseven_codeisport(count:instd_logic_vector(3downto0);scode:outstd_logic_vector(6downto0));endseven_code;architecturebehaveofseven_codeisbeginprocess(count)begincasecountiswhen"0000"=>scode<="1111110";when"0001"=>scode<="0110000";when"0010"=>scode<="1101101";when"0011"=>scode<="1111001";when"0100"=>scode<="0110011";when"0101"=>scode<="1011011";when"0110"=>scode<="1011000";when"0111"=>scode<="1110000";when"1000"=>scode<="1111111";when"1001"=>scode<="1111011";whenothers=>scode<="0000000";endcase;endprocess;endbehave;七、试验结果及总结1、系统仿真情况:计数器时序仿真结果如下列图所示系统时序仿真结果如下列图所示2、结果分析:由系统时序仿真结果可以看出,本系统符合设计要求,计数器的三位计数值由七段译码器译码输出。八、实验心得体会通过这次试验我了解了VHDL进行EDA设计的根本步骤,学会了用MAX+PLUSⅡ进行时序仿真,了解了EDA实验箱的根本功能。九、问题及思考如果要求译出0~9和‘-’,程序该如何修改呢?libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityseven_codeisport(count:instd_logic_vector(3downto0);scode:outstd_logic_vector(6downto0));endseven_code;architecturebehaveofseven_codeisbeginprocess(count)begincasecountiswhen"0000"=>scode<="1111110";when"0001"=>scode<="0110000";when"0010"=>scode<="1101101";when"0011"=>scode<="1111001";when"0100"=>scode<="0110011";when"0101"=>scode<="1011011";when"0110"=>s

温馨提示

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

评论

0/150

提交评论