【正文】
wm OF lj ISSIGNAL tmp1,tmp2 :STD_LOGIC。SIGNAL tmp_t : STD_LOGIC_VECTOR(15 DOWNTO 0)。 BEGIN tmp_t=h_hi amp。 h_lo amp。 m_hi amp。 m_lo。 PROCESS(clr,h_lo,h_hi,m_lo,m_hi,tmp1,tmp2) begin if clr=39。039。 then 當(dāng)一定時(shí)間時(shí),通過(guò)輸出tmp1,tmp2,再通過(guò)四個(gè)jk觸發(fā)器來(lái)實(shí)現(xiàn)上下課鈴的分辨 if tmp_t=0000100000000000 OR tmp_t=0000100001010000 or tmp_t=0000100101010000 or tmp_t=0001000001000000 or tmp_t=0001000100110000 or tmp_t=0001001100010101 or tmp_t=0001010000000101 or tmp_t=0001010001010101 or tmp_t=0001010101010101 or tmp_t=0001011001000101 or tmp_t=0001100000110000 or tmp_t=0001100100100000 or tmp_t=0010000000010000 then tmp1=39。139。tmp2=39。039。 elsif tmp_t=0000100001000101 OR tmp_t=0000100100110101 or tmp_t=1010000000110101 or tmp_t=0001000100100101 or tmp_t=0001001000010101 or tmp_t=0001010000000000 or tmp_t=0001010001010000 or tmp_t=0001010101000000 or tmp_t=0001011001000000 or tmp_t=0001011100110000 or tmp_t=0001100100010101 or tmp_t=0010000000000101 or tmp_t=0010000001010101 then tmp1=39。039。tmp2=39。139。 else tmp1=39。039。tmp2=39。039。 end if。 else tmp1=39。039。tmp2=39。039。 end if。 END PROCESS。 temp1=tmp1。 temp2=tmp2。END fwm。11譯碼器LIBRARY IEEE。USE 。ENTITY ymq01 ISPORT(data_in:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。dis_out:OUT STD_LOGIC_VECTOR(6 DOWNTO 0))。END ymq01。ARCHITECTURE fwm OF ymq01 ISBEGINPROCESS(data_in) BEGIN CASE data_in IS WHEN 0000 = dis_out=1000000。顯示0 WHEN 0001 = dis_out=1111001。顯示1 WHEN 0010 = dis_out=0100100。顯示2 WHEN 0011 = dis_out=0110000。顯示3 WHEN 0100 = dis_out=0011001。顯示4 WHEN 0101 = dis_out=0010010。顯示5 WHEN 0110 = dis_out=0000010。顯示6 WHEN 0111 = dis_out=1111000。顯示7 WHEN 1000 = dis_out=0000000。顯示8 WHEN 1001 = dis_out=0010000。顯示9 WHEN 1010 = dis_out=0001000。顯示A WHEN 1011 = dis_out=0000011。顯示B WHEN 1100 = dis_out=1000110。顯示C WHEN 1101 = dis_out=0100001。顯示D WHEN 1110 = dis_out=0000110。顯示E WHEN 1111 = dis_out=1111111。顯示F WHEN OTHERS = dis_out=1111111。 END CASE。END PROCESS 。END fwm。 功能說(shuō)明此系統(tǒng)完整模擬了紫金港校區(qū)的鈴聲系統(tǒng),并可實(shí)現(xiàn)時(shí)鐘對(duì)校功能。具有一定的擴(kuò)展性和可調(diào)試性。同時(shí)此系統(tǒng)具有一定的擴(kuò)展性:由于響鈴時(shí)間可控,當(dāng)考試或其他特殊情況下,可根據(jù)需求重設(shè)響鈴時(shí)間。 樂(lè)譜可控,因此可隨個(gè)人喜好編寫樂(lè)譜,設(shè)置成電子鬧鐘。(詳見(jiàn)圖表) 風(fēng)險(xiǎn)預(yù)估與故障分析 在移位設(shè)置時(shí)間時(shí),移動(dòng)的位置不確定,因此可能會(huì)出現(xiàn)按動(dòng)數(shù)次仍未到達(dá)所要調(diào)試的位置上。四 總結(jié)和結(jié)論一路走來(lái),有挫折,有喜悅,有百思不得其解的困惑與彷徨,有試驗(yàn)成功后的興奮與自豪,這次實(shí)驗(yàn)帶給我們太多太多。在實(shí)驗(yàn)中小組成員分工合作,在明確思路后按部就班地閱讀書(shū)籍,設(shè)計(jì)電路,進(jìn)行仿真,利用VHDL語(yǔ)言編程。在編程過(guò)程中,我們遇到了許許多多的困難,包括如何控制音樂(lè)的啟停,如何實(shí)現(xiàn)時(shí)鐘的調(diào)試等。在老師與同學(xué)的幫助下,在連續(xù)奮戰(zhàn)十二小時(shí)后,我們的實(shí)驗(yàn)終于調(diào)試成功,這一刻,喜悅的到來(lái)是多么不容易!通過(guò)本次試驗(yàn),我們掌握了一門編程語(yǔ)言,學(xué)會(huì)了對(duì)開(kāi)發(fā)板的應(yīng)用,更重要的是學(xué)會(huì)了一種 學(xué)習(xí)的方法與提高了自己獨(dú)立思考并善于發(fā)現(xiàn)問(wèn)題的能力,這些對(duì)今后的學(xué)習(xí)特別是電子技術(shù)類課程的學(xué)習(xí)都極為重要。五 附錄 數(shù)電實(shí)驗(yàn)設(shè)計(jì)日記2011/6/5 22:30閱讀老師提供的電子琴程序,明確設(shè)計(jì)思路。分頻器時(shí)鐘電路定時(shí)電路(45分鐘后開(kāi)始)音調(diào)編譯電路旋律編譯電路選擇電路2011/6/6 10:002 選擇電路(四選一數(shù)據(jù)選擇器)(以便功能擴(kuò)展)2011/6/614:13編譯LOOP循環(huán)(旋律響起三次)上課鈴聲樂(lè)譜編譯2011/6/6 15:11下課鈴聲樂(lè)譜編譯2011/6/6 20:00完成基本電子鐘,閃爍模塊,未修改2011/6/6 20:33完成樂(lè)譜改進(jìn)完成音調(diào)編譯電路2011/6/523:151 完成分頻器設(shè)置(頻率未修改)2011/6/6 22:23音樂(lè)電路測(cè)試成功,但發(fā)現(xiàn)時(shí)鐘自動(dòng)停止還需要加時(shí)序電路JK觸發(fā)器,k置高,控制J端,以強(qiáng)制置零.邊沿觸發(fā)器無(wú)法編譯,暫為高電平觸發(fā),不帶清零端的觸發(fā)器。2011/6/7咨詢老師,觸發(fā)問(wèn)題解決2011/6/8理清JK觸發(fā)器控制鈴聲開(kāi)始結(jié)束方法.時(shí)鐘模塊引出一個(gè)邏輯端接J當(dāng)時(shí)間到時(shí)J=1,其余情況為零。鈴聲模塊引出邏輯段接K,當(dāng)行至倒數(shù)第二個(gè)狀態(tài)時(shí)K變高,其余情況為零.2011/6/11 0:32鈴聲部分編譯完成其中預(yù)留的兩個(gè)J端與時(shí)鐘部分相連2011/6/11 2:00進(jìn)一步完成電子鐘,閃爍,移位模塊。未測(cè)試。2011/6/11 14:0019:43完成整個(gè)電路的調(diào)試,引腳分配。其中遇到邏輯錯(cuò)誤,引腳分配遇挫等各種問(wèn)題。繼續(xù)奮斗.2011/6/11 21:24與開(kāi)發(fā)板連接成功,但喇叭未向,時(shí)鐘和移位出現(xiàn)問(wèn)題.2011/06/12 1:47基本完成,可以實(shí)現(xiàn)時(shí)鐘的調(diào)節(jié),閃爍,時(shí)間,時(shí)間正確;上下課鈴聲完美地調(diào)出與結(jié)束,移位隨機(jī)問(wèn)題尚未解決,加數(shù)有瑕疵26 /