资源描述:
《基于vhdl数字钟程序设计说明书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、--基于VHDL的数字钟程序设计--author:卢术平--add:中国--e-mail:lu0shu0ping@163.com--functiondescription:这是一个数字时钟,可以调时间(两种方法),可设置闹钟--originality:每次可设置4个闹钟时间点--shortage:由于按键抖动,给调时和设置时间带来不便LIBRARYIEEE;LIBRARYWORK;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEE
2、E.STD_LOGIC_UNSIGNED.ALL;--USEWORK.shift.ALL;ENTITYshizhongISPORT(CLK1,CLK2,CLR,LD:INSTD_LOGIC;Q1,Q2,Q3,Q4:INSTD_LOGIC;--调时引脚Q5:INSTD_LOGIC;--闹钟开关we,ck:INSTD_LOGIC;--控制设置闹钟时刻WEADD:INSTD_LOGIC_VECTOR(1DOWNTO0);--写数据的地址DIN1,DIN2,DIN3:INSTD_LOGIC_VECTOR(7D
3、OWNTO0);--调时置数,闹钟定时置数DOUT:OUTSTD_LOGIC_VECTOR(6DOWNTO0);--七段译码输出DWEI:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--位选输出NZOUT:OUTSTD_LOGIC--闹钟输出);ENDshizhong;ARCHITECTUREbehaveOFshizhongIS--60进制计数器COMPONENTcount60ISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;--EN:INSTD_LOGIC
4、;LD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);COUT:OUTSTD_LOGIC);ENDCOMPONENT;39--24进制计数器COMPONENTcount24ISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;--EN:INSTD_LOGIC;LD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);DOUT:O
5、UTSTD_LOGIC_VECTOR(7DOWNTO0));ENDCOMPONENT;--七段译码器COMPONENTshumaguanISPORT(a:INSTD_LOGIC_VECTOR(3DOWNTO0);b:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDCOMPONENT;COMPONENTnaozhongISPORT(a,b,d:inSTD_LOGIC;e:OUTSTD_LOGIC);ENDCOMPONENT;--4*24SRAMCOMPONENTsram424ISPO
6、RT(clk1,clk2,we,rd:INSTD_LOGIC;WEADD:INSTD_LOGIC_VECTOR(1DOWNTO0);RDADD:INSTD_LOGIC_VECTOR(1DOWNTO0);DIN:INSTD_LOGIC_VECTOR(23DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(23DOWNTO0));ENDCOMPONENT;--读sramCOMPONENTdushuISPORT(clk,d:inSTD_LOGIC;b:outSTD_LOGIC;e:OUTST
7、D_LOGIC_vector(1downto0));ENDCOMPONENT;39--分频器COMPONENTfenpinqiISPORT(a:inSTD_LOGIC;b:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALCOUT1,COUT2:STD_LOGIC;SIGNALa,b,c:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALd:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALresult:STD_LOGIC_VECTOR(6DOWNTO0
8、);SIGNALm,n:STD_LOGIC;SIGNALnn:STD_LOGIC;SIGNALp:STD_LOGIC;SIGNALzz0,zz1,zz2:STD_LOGIC_VECTOR(23DOWNTO0);SIGNALr1,r2,r3:STD_LOGIC;SIGNALr5:STD_LOGIC_vector(1downto0);BEGIN--闹钟控制程序P1:PROCESS(a,b,c,zz1,we,DIN1,DIN2,DIN3)BEGINzz0<=D