eda模可变计数器设计

eda模可变计数器设计

ID:10586306

大小:321.50 KB

页数:8页

时间:2018-07-07

eda模可变计数器设计_第1页
eda模可变计数器设计_第2页
eda模可变计数器设计_第3页
eda模可变计数器设计_第4页
eda模可变计数器设计_第5页
资源描述:

《eda模可变计数器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、·南昌大学实验报告学生姓名:邱永洪学号:6100210026专业班级:中兴101班实验类型:□验证□综合■设计□创新实验日期:2012.10.19实验二模可变计数器的设计一、实验目的1、学习设计脉冲分频程序的设计,掌握分频的作用。2、学会利用控制位M来控制计数器的模值。二、实验内容与要求1、计设置一位控制模的位M,要求M=0,模23计数;当M=1,模109计数;2、计数结果用三位数码管显示,显示BCD码;3、利用Quartus软件实现波形仿真;4、应用实验箱验证此计数器的功能。三、实验思路1、要求分别实现

2、模23和模109的计数,因些我分别用GW、SW、BW代表个位,十位和百位。还有一个控制模的位M,当M为0时实现模23计数,只用到GW和SW分别为个位和十位;当M为1时实现模109计数,用GW、SW、BW分别为个位,十位和百位计数。2、由于要求用三个数码管显示,由于每次只能只能选中一个数码管显示管,因此我使用了数码管的动态扫描来实现视觉上多个数码管显示管同时显示的效果,这个步骤中分频计的作用很重要。我使用了一个可变的R作为分频计的初值。3、计数时分两种情况1)、当M为0时,实现模23计数,当个位为9则向十位

3、进位,并个位清0,当个位小于9,则个位自身加1;计数到22时当下一个时钟上升沿到来时就清0重计。2)、当M为1时,实现模109计数,当个位为9则向十位进位,并个位清0,当个位小于9,则个位自身加1;当个位和十位均为9时,就向百位进位,同时个位和十位自身清0;计数到108时当下一个时钟上升沿到来时就清0重计。四、实验程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;8ENTITYcountISPORT(CLK,M,

4、EN,RST:INSTD_LOGIC;R:INSTD_LOGIC_VECTOR(7DOWNTO0);---分频计数初值sel0,sel1,sel2:bufferSTD_LOGIC;SG:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--数码管八段CLK1:bufferSTD_LOGIC;GW,SW,BW:bufferSTD_LOGIC_VECTOR(3DOWNTO0);--计数器的个,十,百位COUT:OUTSTD_LOGIC;--溢出信号SEL:OUTSTD_LOGIC_VECTOR(7D

5、OWNTO0)--位选信号);ENDcount;ARCHITECTUREbehavOFcountISSIGNALCNT,X:STD_LOGIC_VECTOR(7DOWNTO0);--数码管分频计数SIGNALJ:STD_LOGIC_VECTOR(11DOWNTO0);--12位BCD计数值SIGNALCNT8:STD_LOGIC_VECTOR(2DOWNTO0);--数码管选择SIGNALA:STD_LOGIC_VECTOR(3DOWNTO0);--数码管显示值SIGNALMODEL:STD_LOGIC_

6、VECTOR(11DOWNTO0);--模长信号BEGINP1:PROCESS(CLK,R)--进程P1分出的频率用来数码管的位BEGINX<=R;IFCLK'EVENTANDCLK='1'THENCNT<=CNT+1;IFCNT=X-1THENCLK1<='1';CNT<="00000000";--R分频:R是一个八位的二进制数ELSECLK1<='0';ENDIF;ENDIF;ENDPROCESS;P2:PROCESS(EN,RST,M,CLK1)--计数BEGINCASEMISWHEN'0'=>MO

7、DEL<="000000100010";--23WHEN'1'=>MODEL<="000100001000";--109ENDCASE;GW<=J(3downto0);8SW<=J(7downto4);BW<=J(11downto8);IFRST='1'THENJ<=(others=>'0');ELSIFCLK1'EVENTANDCLK1='1'THENIFEN='1'THENIFJ

8、<=J+103;ENDIF;ELSEJ<=J+1;ENDIF;ELSEJ<=(others=>'0');ENDIF;ENDIF;ENDIF;ENDPROCESS;P3:PROCESS(CLK)--数码管控制BEGINIFCLK'EVENTANDCLK='1'THENIFCNT8<"010"THENCNT8<=CNT8+1;ELSECNT8<=(OTHERS=>'0');ENDIF;ENDIF;SEL(0)<=sel0;SEL(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。