专题七动态扫描电路设计.ppt_第1页
专题七动态扫描电路设计.ppt_第2页
专题七动态扫描电路设计.ppt_第3页
专题七动态扫描电路设计.ppt_第4页
专题七动态扫描电路设计.ppt_第5页
免费预览已结束,剩余29页可下载查看

下载本文档

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

文档简介

专题七:七段显示器动态扫描电路设计,一、教学内容:七段显示器动态扫描电路设计二、教学目的及要求:1、掌握VHDL语言的基本结构及编程思想。2、掌握七段显示器动态扫描电路设计方法。三、授课课时:6课时,设计要求:,1、设计一个七段数码管动态扫描电路。数码管个数为8个,共阴极接法。2、设计一电路,控制上述电路实现“12345678”八个数字的显示,要求显示方式为:(1)自左至右逐个点亮数码管,最后全亮;再重复以上动作,每次变化时间间隔为1秒。(2)自左至右点亮数码管,每次只点亮一个,最后全息灭,再重复以上动作,每次变化时间间隔为1秒。(3)先中间两个点亮,再依次向外点亮;全亮后,再依次向中间熄灭;重复上述步骤,每次变化时间间隔为1秒。,相当于实现8279的显示部分的功能,一、七段显示器动态扫描电路设计框图,双口RAM,二、存储器设计(8位8字节静态随机存储器SRAM),LIBRARYieee;USEieee.std_logic_1164.all;ENTITYMEMO_RD_WRISPORT(WR,RD:INSTD_LOGIC;A:INSTD_LOGIC_VECTOR(2DOWNTO0);B:INSTD_LOGIC_VECTOR(2DOWNTO0);D:INSTD_LOGIC_VECTOR(7DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDMEMO_RD_WR;,ARCHITECTUREaOFMEMO_RD_WRISSIGNALQ0,Q1,Q2,Q3:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALQ4,Q5,Q6,Q7:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(WR,A)BEGINIFWR=1THENCASEAISWHEN000=Q0Q1Q2Q3Q4Q5Q6Q7NULL;ENDCASE;ENDIF;ENDPROCESS;,PROCESS(RD,B)BEGINIFRD=1THENCASEBISWHEN000=QQQQQQQQNULL;ENDCASE;ENDIF;ENDPROCESS;ENDa;,仿真结果:,三、同步时钟CLK频率计算,CLK频率计算:根据人的视觉暂留现象,一个数码管所要显示的字符只要在一秒内点亮24次以上,则感觉上该数码管没有熄灭一样。若8只数码管要出现这种效果,要求在一秒内每只数码管要闪亮24次以上。则CLK频率应为24X8192Hz以上,为了减少闪烁现象,达到较好的显示效果,取CLK频率为1024Hz,每秒内每个数码管显示次数为128次。CLK1=CLK;CLK2=CLK;,四、循环取数电路设计,LIBRARYieee;USEieee.std_logic_1164.all;ENTITYGET_CODEISPORT(CLK1:INSTD_LOGIC;D:INSTD_LOGIC_VECTOR(7DOWNTO0);RD:OUTSTD_LOGIC;A:OUTSTD_LOGIC_VECTOR(2DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDGET_CODE;,该电路利用地址线A00、A01、A02对存储器循环取数,并通过DOUT7.0送数码管显示。每个CLK1时钟取出一个显示码并立即送数码管显示。,循环取数电路内部功能图,CLK1的上升沿锁存,ARCHITECTUREaOFGET_CODEISSIGNALLOAD:STD_LOGIC;SIGNALQQ:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALNUM:INTEGERRANGE7DOWNTO0;BEGINRD=1;LOAD=CLK1;PROCESS(CLK1)BEGINIFCLK1EVENTANDCLK1=1THENNUMAAAAAAAANULL;ENDCASE;ENDPROCESS;PROCESS(LOAD)BEGINIFLOADEVENTANDLOAD=1THEN-上升沿锁存QQ=D;ENDIF;ENDPROCESS;DOUT(7DOWNTO0)=QQ(7DOWNTO0);ENDa;,五、扫描控制器设计,LIBRARYieee;USEieee.std_logic_1164.all;ENTITYSCAN_8ISPORT(CLK2:INSTD_LOGIC;C:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDSCAN_8;,扫描控制器时序图,ARCHITECTUREaOFSCAN_8ISSIGNALNUM:INTEGERRANGE7DOWNTO0;BEGINPROCESS(CLK2)BEGINIFCLK2EVENTANDCLK2=1THENIFNUMCCCCCCCCNULL;ENDCASE;ENDPROCESS;ENDA;,地址,数据线,扫描控制器电路图,存储器电路,读显示码电路,列扫描电路,应用实例一:显示“01234567”八个数字,LIBRARYieee;USEieee.std_logic_1164.all;ENTITYdisp_dataISPORT(CLK:INSTD_LOGIC;WR:OUTSTD_LOGIC;A:OUTSTD_LOGIC_VECTOR(2DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDdisp_data;ARCHITECTUREaOFdisp_dataIS-SIGNALQQ:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALNUM:INTEGERRANGE7DOWNTO0;BEGINWR=1;PROCESS(CLK)BEGINIFCLKEVENTANDCLK=1THENIFNUM=7THENNUM=NUM+1;ELSENUMQQQQQQQQNULL;ENDCASE;ENDPROCESS;ENDa;,应用实例二:数字增加顺序重复显示“12345678”八个数字,应用实例三:单数字顺序重复显示“12345678”八个数字,七段显示器动态扫描电路设计框图,LIBRARYieee;USEieee.std_logic_1164.all;ENTITYdisp_data2ISPORT(clk,clk1s:INSTD_LOGIC;WR:OUTSTD_LOGIC;A:OUTSTD_LOGIC_VECTOR(2DOWNTO0);Qout:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDdisp_data2;,ARCHITECTUREaOFdisp_data2ISSIGNALNUM1:INTEGERRANGE7DOWNTO0;SIGNALnum2:INTEGERRANGE8DOWNTO0;SIGNALq0,q1,q2,q3,q4,q5,q6,q7:STD_LOGIC_VECTOR(7DOWNTO0);BEGINWR=1;process(clk)beginifclkeventandclk=1thenifnum1=7thennum1=num1+1;elsenum1AAAAAAAANULL;endcase;endprocess;,process(clk1s)beginifclk1seventandclk1s=1thenifnum28thennum2=num2+1;elsenum2q0q0q0=00000110;q1=01011011;q2=00000000;q3=00000000;q4=00000000;q5=00000000;q6=00000000;q7q0q0q0q0=000001

温馨提示

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

评论

0/150

提交评论