freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

fpga多功能電子鐘畢業(yè)論文-文庫吧

2025-06-13 08:13 本頁面


【正文】 最大值時都會回到1,然后循環(huán)計數(shù),此時clk2=0。如果是非閏年,并且是1月,day模塊開始則從1計數(shù)到31,而如果是2月,則day模塊開始計時從1計數(shù)到29,如果其他月份時,則計數(shù)從1到30,之后并輸出一個控制信號clk2控制month模塊,此時clk2=1 ,計數(shù)到最大值時都會回到1,然后循環(huán)計數(shù),此時clk2=0。詳細代碼描述見附錄天模塊。核心代碼: elsif (clkd39。event and clkd=39。139。) then if ( yearin rem 4 =0) then 當前為閏年 if ((monthin=1) or (monthin=3) or (monthin=5) or (monthin=7) or (monthin=8) or ( monthin=10) or (monthin=12)) then當前為大月31天 if(qd=31) then qd=1。clk2=39。139。 elsif qd31 then qd=qd+1。 clk2=39。039。 end if。 elsif (monthin=2) then 當前為小月29天 if(qd=29) then qd=1。clk2=39。139。 elsif qd29 then qd=qd+1。 clk2=39。039。 end if。elsif ((monthin=4) or (monthin=6) or (monthin=9) or (monthin=11)) then if(qd=30) then qd=1。clk2=39。139。當前為中月30天 elsif qd30 then qd=qd+1。 clk2=39。039。 end if。 end if。 elsif ((monthin=1) or (monthin=3) or (monthin=5) or (monthin=7) or (monthin=8) or (monthin=10) or (monthin=12)) then 非閏年大月份31天 if(qd=31) then qd=1。clk2=39。139。 elsif qd31 then qd=qd+1。 clk2=39。039。 end if。 elsif monthin=2 then 非閏年小月28天 if(qd=28) then qd=1。clk2=39。139。 elsif qd28 then qd=qd+1。 clk2=39。039。 end if。 elsif ((monthin=4) or (monthin=6) or (monthin=9) or (monthin=11)) then非閏年中月30天 if(qd=30) then qd=1。clk2=39。139。 elsif qd30 then qd=qd+1。 clk2=39。039。 end if。圖10管腳說明如下:clkd:時鐘信號Setd:校時設置信號 Yearin:閏年檢查信號Monthin:月份檢測信號Clks2:進位信號QtdQtdQtdQtd4:輸出的天時鐘 圖10 天計數(shù)結(jié)構(gòu)閏年2月294月30天其仿真波形如下: 圖11 天模塊計數(shù)仿真根據(jù)以上圖11波形圖可以知道閏年二月為29天,4月為30天,由于條件限制,還有其他月份沒有顯示出來,這里只截取了部分仿真波形,總的來說,天模塊是符合設計要求的。 月份模塊 在月份模塊中,采用12進制,計數(shù)到12后返回1,并且產(chǎn)生一個進位信號clk4作為年模塊的時鐘信號,核心代碼和秒模塊相似,這里省略,詳細代碼描述見附錄月模塊。圖12管腳說明如下:其中clkm:時鐘信號Setm:校時設置信號Alarmm:鬧鈴校時設置信號Clks4:進位信號QtmQtmQtmQtmQtm5:輸出的月份時鐘其仿真波形如下: 圖12 月計數(shù)結(jié)構(gòu) 圖13 月模塊計數(shù)仿真 由以上圖13波形圖可以知道,初始設置是5月份,當計數(shù)到12后返回1,符合月份的規(guī)律要求,并且計數(shù)到12后,產(chǎn)生一個進位作為年模塊的時鐘輸入。 當前模塊中的時鐘信號來臨時, 年的計數(shù)就開始從預定的值開始計數(shù),一直計數(shù)到2099,核心代碼和秒模塊相似,這里省略,詳細代碼代碼描述見附錄年模塊。圖14管腳說明如下:clky:時鐘信號Sety:校時設置信號Alarmy:鬧鈴校時設置信號QtyQtyQtyQtyQty5:輸出的年時鐘 圖14 年計數(shù)結(jié)構(gòu)其仿真波形如下: 圖15 年模塊計數(shù)仿真 根據(jù)以上圖15波形,由于我們只設置了2015到2099年的時間,所以年的計數(shù)值最大只能到2099年,如果有需要擴大年份可以自行修改該模塊的代碼參數(shù)。 陽歷轉(zhuǎn)陰歷模塊 這個模塊能夠?qū)崿F(xiàn)陽歷轉(zhuǎn)陰歷,程序使用了一個制表的模式,它包含了從2014年到2099年之間的農(nóng)歷信息,在程序中每一個年份使用23位的輸入作為表述農(nóng)歷月份大小月、農(nóng)歷閏年的的月份以及其大小月、當年春節(jié)對應的陽歷日期的數(shù)據(jù)。其中,高四位表示當年閏年的月份,如果為“0000”,表示沒有閏月;第19位到第8位分別對應的是農(nóng)歷1月到12月的大小月,如果對應的位數(shù)為0,則表示當月是小月29天,否則為大月30天;第7位表示的是閏月份的大小月;第6到第5位表示的是當年春節(jié)對應的月份;最后低五位表示的當年春節(jié)對應公歷的日期。這個模塊只包含了86個年份的信息數(shù)據(jù),但也可以根據(jù)需要自行擴充更多的年份。在這個制表中,可能會存在有個別的天數(shù)差異而導致對應的日期轉(zhuǎn)換錯誤,在實驗中如果發(fā)現(xiàn)存在這些信息錯誤,可以通過修改制表中對應的錯誤信息來修正。代碼描述見附錄陰陽歷轉(zhuǎn)換模塊。核心代碼如下:節(jié)前if (month11)or (month1=1 and day1) then春節(jié)前 Tyear=year11。Tyear_1=year11。輸出的農(nóng)歷年份 day13:=day1+(1(3 downto 0)month1(3 downto 0))*11111。當前日期距離春節(jié)的總天數(shù) if day13=mmday12 then天數(shù)小于農(nóng)歷12月份的天數(shù)Tmonth=000001100。對應的農(nóng)歷月份輸出Tday=mmday12day13+1。對應的農(nóng)歷日輸出Tmonth_1=000001100。Tday_1=mmday12day13+1。Else大于12月份天數(shù)if Q(23 downto 20)=1100 then判斷12月是不是農(nóng)歷閏月Tmonth=000001100。Tday=mmday12+mmday13day13+1。Tmonth_1=000001100。Tday_1=mmday12+mmday13day13+1。Else 農(nóng)歷12月不是閏月Tmonth=000001011。Tday=mmday12+mmday11day13+1。Tmonth_1=000001011。Tday_1=mmday12+mmday11day13+1。end if。end if。節(jié)后i:=20。j:=000000000。day12:=000000000。L1:while (i8) loopi:=i1。j:=j+1。x:=00000000amp。Q(i)。day12:=day12+000011101+x。當前農(nóng)歷日期距離春節(jié)天數(shù)day12if day12day11 then exit L1。day11表示當前陽歷日期距離春節(jié)天數(shù)end if。if Q(23 downto 20)=j then day12:=day12+mday1。當前月份是閏月,則加上該閏月天數(shù)mday1if day12day11 then exit L1。end if。end if。end loop L1。圖16管腳如下:year1:輸入的陽歷年份Month1:輸入的陽歷月份Day1:輸入的陽歷日期Tyear、tyear_1:輸出農(nóng)歷年份Tmonth、tmonth_1::輸出的農(nóng)歷月份Tday、Tday_:輸出的農(nóng)歷日期Chu1:除夕的信號提醒,作為傳統(tǒng)節(jié)日提醒 圖16 陽歷轉(zhuǎn)陰歷結(jié)構(gòu) 模塊的輸入信號其仿真波形如下: 圖17 陽歷轉(zhuǎn)陰歷仿真由以上圖17的波形仿真圖可以知道,陽歷相對應的陰歷日期,可以通過手機或者掛歷進行對照,發(fā)現(xiàn)仿真出來的農(nóng)歷日期和掛歷上農(nóng)歷日期是一致的。但是不一定代表對所有的日期都能準確表示,原因在于代碼中的個別年份信息記錄可能出現(xiàn)錯誤,如果發(fā)現(xiàn)仿真出來的波形存在錯誤現(xiàn)象,我們可以通過修改代碼中個別年份的信息參數(shù)即可??偟膩碚f陽歷轉(zhuǎn)陰歷是可以實現(xiàn)的。在最后輸出一個chu1信號,可以作為除夕的傳統(tǒng)節(jié)假日提醒。 鬧鈴閏年模塊 鬧鈴模塊是通過設置的鬧鈴時間和當前時間進行對照,進而判斷是否有鬧鈴提醒,即如果當前時間和設置的鬧鈴時間一致,對應輸出就會置1,否則為0;在這個模塊中還存在閏年的提醒功能,如果輸入的年份run是一個閏年,那么對應出就會置1,否則為0。在這個模塊中,我們只取分鐘和小時的對照時間,代碼描述見附錄。核心代碼:if (( run rem 4 =0 )and (mn1a/=mn2a or h1a/=h2a)) then ring=10。 是閏年,提醒elsif ((run rem 4 =0) and mn1a=mn2a and h1a=h2a ) then ring=11。閏年,鬧鈴提醒elsif ((run rem 4 /=0) and mn1a=mn2a and h1a=h2a ) then ring=01。鬧鈴提醒圖18管腳說明如下run:輸入月份信號,判斷是否閏年Mn1a、h1a:輸入鬧鈴預置時間信號Mn2a、h2a:當前時間的信號Ring:輸出信號,“10”表示只有閏年,“01”表示鬧鈴 “11”表示既是閏年,也有鬧鈴,否則都沒有 圖18 鬧鈴結(jié)構(gòu)閏年提醒鬧鈴提醒其仿真波形如下: 圖19 鬧鈴波形仿真 根據(jù) 圖19仿真波形可以知道,當年不存在閏年的時候,當鬧鈴時間到后,ring1(閏年)為0,ring0 (鬧鈴)為1;當年不存在閏年的時候,當鬧鈴時間到后,ring1(閏年)為1,ring1 (鬧鈴)為1;由此可以知道,閏年提醒,鬧鈴提醒都可以通過此模塊來實現(xiàn)。 譯碼轉(zhuǎn)換模塊 添加這個模塊,是因為以上的程序都是以整型數(shù)據(jù)類型存在的,而我們需要把程序下載到DE2_70開發(fā)板中,并使數(shù)據(jù)能在開發(fā)板上顯示,我們需要把輸入的型數(shù)據(jù)轉(zhuǎn)換為其他所需要的數(shù)據(jù)類型,比如說假設s1=21,則a1=“0001”,a2=“0010”即對應公式為(a1=s1 rem 10,a2=(s1a1)/10,同理,mn、hdmy1也是按照此類公式進行運算;對于Tday、Tmonth1Tyear11,由于其是八位的數(shù)據(jù)類型,在轉(zhuǎn)換時可以先轉(zhuǎn)換成整型數(shù)據(jù)(即conv_integer(Tday))再調(diào)用以上的公式。代碼描述見附錄譯碼轉(zhuǎn)換模塊。圖20管腳說明如下:s1:秒輸入(整型)Mn1:分輸入h1:小時輸入D1:小時輸入M1:月份輸入Y1:年份輸入Tday11:農(nóng)歷天輸入Tmonth11:農(nóng)歷月份輸入Tyear11:農(nóng)歷年份輸入A1,a2:分別是秒的個位,秒的十位B1,b2:分別是分的個位,分的十位C1,c2:分別是小時的個位,小時的十位E1,e2:分別是天的個位,天的十位F1,f2:分別是月份的個位,月份的十位G1,g2,g3,g4:表示年的個位,十位,百位,千位H_1,h_2:分別表示農(nóng)歷天的個位,天的十位 圖20 譯碼結(jié)構(gòu)I1,i2:分別為農(nóng)歷月的個位,月的十位J1,j2,j3,j4:分別表示農(nóng)歷年
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1