多功能数字时钟的设计_eda课程设计报告(编辑修改稿)内容摘要:

h += 1。 if (Month10 = 1 and Month1 = 2) then Month10 = 0。 Month1 = 1。 Year += 1。 if (Year10 = 9 and Year1 = 9) then Year10 = 0。 Year1 = 0。 end if。 if (Year1 9) then Year1 = Year1 + 1。 elsif (Year1 = 9) then Year10 = Year10 + 1。 Year1 = 0。 end if。 end if。 if (Month1 9) then Month1 = Month1 + 1。 elsif (Month1 = 9) then Month10 = Month10 + 1。 Month1 = 0。 end if。 20 end if。 if (Day1 9) then Day1 = Day1 + 1。 elsif (Day1 = 9) then Day10 = Day10 + 1。 Day1 = 0。 end if。 elsif (HOUR1 9) then HOUR1 = HOUR1 + 1。 elsif (HOUR1 = 9) then HOUR1 = 0。 HOUR10 = HOUR10 + 1。 end if。 else MIN10=MIN10+1。 end if。 else MIN1=MIN1+1。 end if。 else SEC10=SEC10+1。 end if。 else SEC1=SEC1+1。 end if。 end if。 end process。 process(Clk) 21 begin if(Clk39。 event and Clk=39。 139。 ) then Music_Count=Music_Count+1。 if(MIN10=5 and MIN1=9 and SEC10=5 and SEC1=0) then 在59分 50 秒开始提示 if((SEC1 MOD 2)=0) then 在偶数秒开始发声 SPK=Music_Count(2)。 嘀 else SPK=39。 039。 end if。 elsif(MIN10=0 and MIN1=0 and SEC10=0 and SEC1=0) then SPK=Music_Count(1)。 嗒 else SPK=39。 039。 end if。 end if。 end process。 process(Clk) begin if(Clk1hz39。 event and Clk1hz=39。 139。 ) then if(MIN10=5 and MIN1=9 and SEC10=5 and SEC14) then 在 59 分 55 秒开始提示 led_Count=led_Count+1。 else led_count=000。 end if。 end if。 end process。 22 process(led_count) begin case (led_count) is when 000=led_display=0000。 when 001=led_display=1001。 when 010=led_display=0110。 when 011=led_display=1010。 when 100=led_display=0101。 when 101=led_display=1111。 when others=led_display=0000。 end case。 led=led_display。 end process。 process(SEG_SEL) begin if (K1 = 39。 139。 ) then case (SEG_SEL+1) is when 000=Disp_Temp=Year10。 when 001=Disp_Temp=Year1。 when 010=Disp_Temp=10。 when 011=Disp_Temp=Month10。 when 100=Disp_Temp=Month1。 when 101=Disp_Temp=10。 when 110=Disp_Temp=Day10。 when 111=Disp_Temp=Day1。 end case。 elsif (K1 = 39。 039。 ) then case (SEG_SEL+1) is when 000=Disp_Temp=HOUR10。 23 when 001=Disp_Temp=HOUR1。 when 010=Disp_Temp=10。 when 011=Disp_Temp=MIN10。 when 100=Disp_Temp=MIN1。 when 101=Disp_Temp=10。 when 110=Disp_Temp=SEC10。 when 111=Disp_Temp=SEC1。 end case。 end if。 end process。 process(Clk) begin if(Clk39。 event and Clk=39。 139。 ) then 扫描累加 SEG_SEL=SEG_SEL+1。 Display=Disp_Decode。 end if。 end process。 process(Disp_Temp) 显示转换 begin case Disp_Temp is when 0=Disp_Decode=00111111。 0 when 1=Disp_Decode=00000110。 1 when 2=Disp_Decode=01011011。 2 when 3=Disp_Decode=01001111。 3 when 4=Disp_Decode=01100110。 4 when 5=Disp_Decode=01101101。 5 when 6=Disp_Decode=01111101。 6 when 7=Disp_Decode=00000111。 7 24 when 8=Disp_Decode=01111111。 8 when 9=Disp_Decode=01101111。 9 when 10=Disp_Decode=01000000。 when others=Disp_Decode=00000000。 全灭 end case。 end process。 process(clk) 显示时序控制 begin if clk39。 event and clk=39。 139。 then dount=dount+1。 if dount=8191 then dount=0000000000000。 if S=15 then S=0000。 else s=S+1。 end if。 s=s+1。 else s=S。 end if。 if cdount15 then cdount=cdount+1。 else cdount=0000。 end if。 end if。 25 keyc=cdount。 end process。 process(s,cdount) begin m=Month10*10+Month1。 d=Day10*10+Day1。 y=year10*10+year1。 if s=0000 then case cdount is when 0000=keyr=1111111111111111。 20 when 0001=keyr=1100111110011111。 when 0010=keyr=1101011111101111。 when 0011=keyr=1101101111110111。 when 0100=keyr=1101110111110111。 when 0101=keyr=1101111011101111。 when 0110=keyr=110111110。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。