基于fpga电子时钟系统编程毕业论文报告(编辑修改稿)内容摘要:

TYPE。 BEGIN PROCESS(KEY,CLK_KEY)IS BEGIN IF CLK_KEY39。 EVENT AND CLK_KEY=39。 139。 THEN IF KEY=01THEN SEC_EN=39。 139。 MIN_EN=39。 139。 HOUR_EN=39。 139。 DAY_EN=39。 139。 MON_EN=39。 139。 YEAR_EN=39。 139。 WEEK_EN=39。 139。 CASE MODE IS WHEN NORMAL= MODE=SEC_SET。 SEC=SEC_CUR。 SEC_EN=39。 039。 WHEN SEC_SET=MODE=MIN_SET。 MIN=MIN_CUR。 SEC_EN=39。 139。 MIN=39。 039。 WHEN MIN_SET=MODE=HOUR_SET。 HOUR=HOUR_CUR。 MIN_EN=39。 139。 HOUR_EN=39。 039。 WHEN HOUR_SET=MODE=DAY_SET。 DAY=DAY_CUR。 HOUR_EN=39。 139。 DAY_EN=39。 039。 WHEN DAY_SET=MODE=MON_SET。 MON=MON_CUR。 DAY_EN=39。 139。 MON_EN=39。 039。 12 WHEN MON_SET=MODE=YEAR_SET。 YEAR=YEAR_CUR。 MON_EN=39。 139。 YEAR_EN=39。 039。 WHEN YEAR_SET=MODE=WEEK_SET。 WEEK=WEEK_CUR。 YEAR_EN=39。 139。 WEEK_EN=39。 039。 WHEN WEEK_SET=MODE=NORMAL。 END CASE。 ELSIF KEY=10THEN CASE MODE IS WHEN SEC_SET=SEC_EN=39。 039。 IF SEC=111011THEN SEC=000000。 IF59 ELSE SEC=SEC+1。 END IF。 WHEN MIN_SET=MIN_EN=39。 039。 IF MIN=111011THEN MIN=000000。 IF59 ELSE MIN=MIN+1。 END IF。 WHEN HOUR_SET=HOUR_EN=39。 039。 IF HOUR=11000THEN HOUR=00000。 IF23 ELSE HOUR=HOUR+1。 END IF。 WHEN DAY_SET=DAY_EN=39。 039。 IF DAY=CURRUT_MONTH_DAYS THEN DAY=00001。 ELSE DAY=DAY+1。 END IF。 WHEN MON_SET=MON_EN=39。 039。 IF MON=1100 THEN MON=0001。 IF12 ELSE MON=MON+1。 END IF。 WHEN YEAR_SET=YEAR_EN=39。 039。 IF YEAR=1100011 THEN YEAR=0000000。 IF99 ELSE YEAR=YEAR+1。 END IF。 WHEN WEEK_SET=WEEK_EN=39。 039。 IF WEEK=111 THEN WEEK=001。 IF7 ELSE WEEK=WEEK+1。 END IF。 WHEN OTHERS=NULL。 END CASE。 END IF。 END IF。 END PROCESS。 END ARCHITECTURE ART4。 、 CNT60计数模块的 VHDL源程序 13 LIBRARY IEEE。 USE。 USE。 ENTITY CNT60 IS PORT(LD:IN STD_LOGIC。 CLK:IN STD_LOGIC。 DATA:IN STD_LOGIC_VECTOR(5 DOWNTO 0)。 NUM:BUFFER STD_LOGIC_VECTOR(5 DOWNTO 0)。 CO:OUT STD_LOGIC)。 END ENTITY CNT60。 ARCHITECTURE ART1 OF CNT60 IS BEGIN PROCESS(CLK,LD)IS BEGIN IF(LD=39。 039。 )THEN NUM=DATA。 ELSIF CLK39。 EVENT AND CLK=39。 139。 THEN IF NUM=111011THEN NUM=000000。 CO=39。 139。 ELSE NUM=NUM+1。 CO=39。 039。 END IF。 END IF。 END PROCESS。 END ARCHITECTURE ART1。 、 CNT30计时电路的 VHDL源程序 LIBRARY IEEE。 USE。 USE。 ENTITY CNT30A IS PORT(LD:IN STD_LOGIC。 CLK: IN STD_LOGIC。 YEAR:IN STD_LOGIC_VECTOR(6 DOWNTO 0)。 MONTH:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 DATA:IN STD_LOGIC_VECTOR(4 DOWNTO 0)。 NUM:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0)。 CURRUT_MONTH_DAYS:OUT STD_LOGIC_VECTOR(4 DOWNTO 0)。 CO:OUT STD_LOGIC)。 END ENTITY CNT30A。 ARCHITECTURE ART2 OF CNT30A IS SIGNAL TOTAL_DAYS:STD_LOGIC_VECTOR(4 DOWNTO 0)。 BEGIN PROCESS(CLK,LD)IS 14 VARIABLE IS_RUNYEAR:STD_LOGIC。 BEGIN CASE YEAR IS WHEN0000000=IS_RUNYEAR:=39。 139。 0 WHEN0000100=IS_RUNYEAR:=39。 139。 4 WHEN0001000=IS_RUNYEAR:=39。 139。 8 WHEN0001100=IS_RUNYEAR:=39。 139。 12 WHEN0010000=IS_RUNYEAR:=39。 139。 16 WHEN0010100=IS_RUNYEAR:=39。 139。 20 WHEN0011000=IS_RUNYEAR:=39。 139。 24 WHEN0011100=IS_RUNYEAR:=39。 139。 28 WHEN0100000=IS_RUNYEAR:=39。 139。 32 WHEN0100100=IS_RUNYEAR:=39。 139。 36 WHEN0101000=IS_RUNYEAR:=39。 139。 30 WHEN0101100=IS_RUNYEAR:=39。 139。 44 WHEN0110000=IS_RUNYEAR:=39。 139。 48 WHEN0110100=IS_RUNYEAR:=39。 139。 52 WHEN0111000=IS_RUNYEAR:=39。 139。 56 WHEN0111100=IS_RUNYEAR:=39。 139。 60 WHEN1000000=IS_RUNYEAR:=39。 139。 64 WHEN1000100=IS_RUNYEAR:=39。 139。 68 WHEN1001000=IS_RUNYEAR:=39。 139。 72 WHEN1001100=IS_RUNYEAR:=39。 139。 76 WHEN1010000=IS_RUNYEAR:=39。 139。 80 WHEN1010100=IS_RUNYEAR:=39。 139。 84 WHEN1011000=IS_RUNYEAR:=39。 139。 88 WHEN1011100=IS_RUNYEAR:=39。 139。 92 WHEN1100000=IS_RUNYEAR:=39。 139。 96 WHEN OTHERS =IS_RUNYEAR:=39。 039。 END CASE。 CASE MONTH IS WHEN0000=TOTAL_DAYS=11111。 1YUE WHEN0011=TOTAL_DAYS=11111。 3YUE WHEN0101=TOTAL_DAYS=11111。 5YUE WHEN0111=TOTAL_DAYS=11111。 7YUE。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。