欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      EDA課程設(shè)計(jì)題目_圖文.(共5篇)

      時(shí)間:2019-05-15 04:40:02下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《EDA課程設(shè)計(jì)題目_圖文.》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《EDA課程設(shè)計(jì)題目_圖文.》。

      第一篇:EDA課程設(shè)計(jì)題目_圖文.

      課程設(shè)計(jì)題目

      設(shè)計(jì)一數(shù)字式競賽搶答器

      1、設(shè)計(jì)一個(gè)可容納6 組(或4 組參賽的數(shù)字式搶答器,每組設(shè)一個(gè)按鈕,供搶答使用。

      2、搶答器具有第一信號鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用。

      3、設(shè)置一個(gè)主持人“復(fù)位”按鈕。

      4、主持人復(fù)位后,開始搶答,第一信號鑒別鎖存電路得到信號后,有指示燈顯示搶答組別,揚(yáng)聲器發(fā)出2~3 秒的音響。

      5、設(shè)置一個(gè)計(jì)分電路,每組開始預(yù)置100 分,由主持人記分,答對一次加10 分,答錯(cuò)一次減10 分。教學(xué)提示:

      1、此設(shè)計(jì)問題的關(guān)鍵是準(zhǔn)確判斷出第一搶答者并將其鎖存,實(shí)現(xiàn)的方法可使用觸發(fā)器或鎖存器,在得到第一信號后將輸入封鎖,使其它組的搶答信號無效。

      2、形成第一搶答信號后,用編碼、譯碼及數(shù)碼顯示電路顯示第一搶答者的組別,用第一搶答信號推動揚(yáng)聲器發(fā)出音響。

      3、計(jì)分電路采用十進(jìn)制加/減計(jì)數(shù)器、數(shù)碼管顯示,由于每次都是加/減10 分,所以個(gè)位始終為零,只要十位、百位進(jìn)行加/減運(yùn)算即可。

      設(shè)計(jì)二數(shù)字鐘

      1、設(shè)計(jì)一個(gè)能顯示1/10秒、秒、分、時(shí)的12小時(shí)數(shù)字鐘。

      2、熟練掌握各種計(jì)數(shù)器的使用。

      3、能用計(jì)數(shù)器構(gòu)成十進(jìn)制、六十進(jìn)制、十二進(jìn)制等所需進(jìn)制的計(jì)數(shù)器。

      4、能用低位的進(jìn)位輸出構(gòu)成高位的計(jì)數(shù)脈沖。

      教學(xué)提示:

      1、時(shí)鐘源使用頻率為0.1Hz的連續(xù)脈沖。

      2、設(shè)置兩個(gè)按鈕,一個(gè)供“開始”及“停止”用,一個(gè)供系統(tǒng)“復(fù)位”用。

      3、時(shí)鐘顯示使用數(shù)碼管顯示。

      4、“時(shí)顯示”部分應(yīng)注意12點(diǎn)后顯示1點(diǎn)。

      5、注意各部分的關(guān)系,由低位到高位逐級設(shè)計(jì)、調(diào)試。設(shè)計(jì)三數(shù)字頻率計(jì)

      1、設(shè)計(jì)一個(gè)能測量方波信號的頻率的頻率計(jì)。

      2、測量的頻率范圍是0?999999Hz。

      3、結(jié)果用十進(jìn)制數(shù)顯示。教學(xué)提示:

      1、脈沖信號的頻率就是在單位時(shí)間內(nèi)所產(chǎn)生的脈沖個(gè)數(shù),其表達(dá)式為,f為被測信號的頻率,N為計(jì)數(shù)器所累計(jì)的脈沖個(gè)數(shù),T為產(chǎn)生N個(gè)脈沖所需的時(shí)間。所以,在1秒時(shí)間內(nèi)計(jì)數(shù)器所記錄的結(jié)果,就是被測信號的頻率。

      2、被測頻率信號取自實(shí)驗(yàn)箱晶體振蕩器輸出信號,加到主控門的輸入端。

      3、再取晶體振蕩器的另一標(biāo)準(zhǔn)頻率信號,經(jīng)分頻后產(chǎn)生各種時(shí)基脈沖:1ms,10ms,0.1s,1s等,時(shí)基信號的選擇可以控制,即量程可以改變。

      4、時(shí)基信號經(jīng)控制電路產(chǎn)生閘門信號至主控門,只有在閘門信號采樣期間內(nèi)(時(shí)基信號的一個(gè)周期,輸入信號才通過主控門。

      5、f=N/T,改變時(shí)基信號的周期T,即可得到不同的測頻范圍。

      6、當(dāng)主控門關(guān)閉時(shí),計(jì)數(shù)器停止計(jì)數(shù),顯示器顯示記錄結(jié)果,此時(shí)控制電路輸出一個(gè)置零信號,將計(jì)數(shù)器和所有觸發(fā)器復(fù)位,為新的一次采樣做好準(zhǔn)備。

      7、改變量程時(shí),小數(shù)點(diǎn)能自動移位。設(shè)計(jì)四拔河游戲機(jī)

      1、設(shè)計(jì)一個(gè)能進(jìn)行拔河游戲的電路。

      2、電路使用15個(gè)(或9個(gè)發(fā)光二極管,開機(jī)后只有中間一個(gè)發(fā)亮,此即拔河的中心點(diǎn)。

      3、游戲雙方各持一個(gè)按鈕,迅速地、不斷地按動,產(chǎn)生脈沖,誰按得快,亮點(diǎn)就向誰的方向移動,每按一次,亮點(diǎn)移動一次。

      4、亮點(diǎn)移到任一方終端二極管時(shí),這一方就獲勝,此時(shí)雙方按鈕均無作用,輸出保持,只有復(fù)位后才使亮點(diǎn)恢復(fù)到中心。

      5、用數(shù)碼管顯示獲勝者的盤數(shù)。教學(xué)提示:

      1、按鈕信號即輸入的脈沖信號,每按一次按鈕都應(yīng)能進(jìn)行有效的計(jì)數(shù)。

      2、用可逆計(jì)數(shù)器的加、減計(jì)數(shù)輸入端分別接受兩路脈沖信號,可逆計(jì)數(shù)器原始輸出狀態(tài)為0000,經(jīng)譯碼器輸出,使中間一只二極管發(fā)亮。

      3、當(dāng)計(jì)數(shù)器進(jìn)行加法計(jì)數(shù)時(shí),亮點(diǎn)向右移;進(jìn)行減法計(jì)數(shù)時(shí),亮點(diǎn)向左移。

      4、由一個(gè)控制電路指示誰勝誰負(fù),當(dāng)亮點(diǎn)移到任一方終端時(shí),由控制電路產(chǎn)生一個(gè)信號,使計(jì)數(shù)器停止計(jì)數(shù)。

      5、將雙方終端二極管“點(diǎn)亮”信號分別接兩個(gè)計(jì)數(shù)器的“使能”端,當(dāng)一方取勝時(shí),相應(yīng)的計(jì)數(shù)器進(jìn)行一次計(jì)數(shù),這樣得到雙方取勝次數(shù)的顯示。

      6、設(shè)置一個(gè)“復(fù)位”按鈕,使亮點(diǎn)回到中心,取勝計(jì)數(shù)器也要設(shè)置一個(gè)“復(fù)位”按鈕,使之能清零。

      設(shè)計(jì)五乒乓球比賽游戲機(jī)

      1、設(shè)計(jì)一個(gè)由甲、乙雙方參賽,有裁判的3人乒乓球游戲機(jī)。

      2、用8個(gè)(或更多個(gè)LED排成一條直線,以中點(diǎn)為界,兩邊各代表參賽雙方的位置,其中一只點(diǎn)亮的LED 指示球的當(dāng)前位置,點(diǎn)亮的LED依此從左到右,或從右到左,其移動的速度應(yīng)能調(diào)節(jié)。

      3、當(dāng)“球”(點(diǎn)亮的那只LED運(yùn)動到某方的最后一位時(shí),參賽者應(yīng)能果斷地按下位于自己一方的按鈕開關(guān),即表示啟動球拍擊球。若擊中,則球向相反方向移動;若未擊中,則對方得1分。

      4、一方得分時(shí),電路自動響鈴3秒,這期間發(fā)球無效,等鈴聲停止后方能繼續(xù)比賽。

      5、設(shè)置自動記分電路,甲、乙雙方各用2位數(shù)碼管進(jìn)行記分顯示,每計(jì)滿21分為1局。

      6、甲、乙雙方各設(shè)一個(gè)發(fā)光二極管,表示擁有發(fā)球權(quán),每隔5次自動交換發(fā)球權(quán),擁有發(fā)球權(quán)的一方發(fā)球才有效。

      教學(xué)提示:

      1、用雙向移位寄存器的輸出端控制LED顯示來模擬乒乓球運(yùn)動的軌跡,先點(diǎn)亮位于某一方的第1個(gè)LED,由擊球者通過按鈕輸入開關(guān)信號,實(shí)現(xiàn)移位方向的控制。

      2、也可用計(jì)數(shù)譯碼方式實(shí)現(xiàn)乒乓球運(yùn)動軌跡的模擬,如利用加/減計(jì)數(shù)器的2個(gè)時(shí)鐘信號實(shí)現(xiàn)甲、乙雙方的擊球,由表示球拍的按鈕產(chǎn)生計(jì)數(shù)時(shí)鐘,計(jì)數(shù)器的輸出狀態(tài)經(jīng)譯碼驅(qū)動LED發(fā)亮。

      3、任何時(shí)刻都保持一個(gè)LED發(fā)亮,若發(fā)亮的LED運(yùn)動到對方的終點(diǎn),但對方未能及時(shí)輸入信號使其向相反方向移動,即失去1分。

      4、控制電路決定整個(gè)系統(tǒng)的協(xié)調(diào)動作,必須嚴(yán)格掌握各信號之間的關(guān)系。設(shè)計(jì)六交通信號燈控制器

      1、設(shè)計(jì)一個(gè)交通信號燈控制器,由一條主干道和一條支干道匯合成十字路口,在每個(gè)入口處設(shè)置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時(shí)間停在禁行線外。

      2、紅、綠、黃發(fā)光二極管作信號燈,用傳感器或邏輯開關(guān)作檢測車輛是否到來的信號。

      3、主干道處于常允許通行的狀態(tài),支干道有車來時(shí)才允許通行。主干道亮綠燈時(shí),支干道亮紅燈;支干道亮綠燈時(shí),主干道亮紅燈。

      4、主、支干道均有車時(shí),兩者交替允許通行,主干道每次放行45秒,支干道每次放行25秒,設(shè)立45秒、25秒計(jì)時(shí)、顯示電路。

      5、在每次由綠燈亮到紅燈亮的轉(zhuǎn)換過程中,要亮5秒黃燈作為過渡,使行駛中的車輛有時(shí)間停到禁行線外,設(shè)立5秒計(jì)時(shí)、顯示電路。

      教學(xué)提示:

      1、主、支干道用傳感器檢測車輛到來情況,實(shí)驗(yàn)電路用邏輯開關(guān)代替。

      2、選擇1HZ 時(shí)鐘脈沖作為系統(tǒng)時(shí)鐘。3、45 秒、25 秒、5 秒定時(shí)信號可用順計(jì)時(shí),也可用倒計(jì)時(shí),計(jì)時(shí)起始信號由主控電路給出,每當(dāng)計(jì)滿所需時(shí)間,即向主控電路輸出“時(shí)間到”信號,并使計(jì)數(shù)器清零,由主控電路啟、閉三色信號燈或啟動另一計(jì)時(shí)電路。

      4、主控電路是核心,這是一個(gè)時(shí)序電路,其輸入信號為:車輛檢測信號(A,B,;45 秒、25 秒、5 秒定時(shí)信號(C,D,E,其輸出狀態(tài)控制相應(yīng)的三色燈。主控電路可以由兩個(gè)JK 觸發(fā)器和邏輯門構(gòu)成,其輸出經(jīng)譯碼后,控制主干道三色燈R、G、Y 和支干道三色燈r、g、y。

      設(shè)計(jì)七電子密碼鎖

      1、設(shè)計(jì)一個(gè)密碼鎖的控制電路,當(dāng)輸入正確代碼時(shí),輸出開鎖信號以推動執(zhí)行機(jī)構(gòu)工作,用紅燈亮、綠燈熄滅表示關(guān)鎖,用綠燈亮、紅燈熄滅表示開鎖;

      2、在鎖的控制電路中儲存一個(gè)可以修改的4 位代碼,當(dāng)開鎖按鈕開關(guān)(可設(shè)置成6 位至8 位,其中實(shí)際有效為4 位,其余為虛設(shè)的輸入代碼等于儲存代碼時(shí),開鎖;

      3、從第一個(gè)按鈕觸動后的5 秒內(nèi)若未將鎖打開,則電路自動復(fù)位并進(jìn)入自鎖狀態(tài),使之無法再打開,并由揚(yáng)聲器發(fā)出持續(xù)20 秒的報(bào)警信號。

      教學(xué)提示:

      1、該題的主要任務(wù)是產(chǎn)生一個(gè)開鎖信號,而開鎖信號的形成條件是,輸入代碼和已設(shè)密碼相同。實(shí)現(xiàn)這種功能的電路構(gòu)思有多種,例如,用兩片8位鎖存器,一片存入密碼,另一片輸入開鎖的代碼,通過比較的方式,若兩者相等,則形成開鎖信號。

      2、在產(chǎn)生開鎖信號后,要求輸出聲、光信號,聲音的產(chǎn)生由開鎖信號觸動揚(yáng)聲器工作,光信號由開鎖信號點(diǎn)亮LED 指示燈;

      3、用按鈕開關(guān)的第一個(gè)動作信號觸發(fā)一個(gè)5 秒定時(shí)器,若5 秒內(nèi)無開鎖信號產(chǎn)生,讓揚(yáng)聲器發(fā)出特殊音響,以示警告,并輸出一個(gè)信號推動LED 不斷閃爍。

      設(shè)計(jì)八彩燈控制器

      1、設(shè)計(jì)一個(gè)彩燈控制器,使彩燈(LED 管能連續(xù)發(fā)出四種以上不同的顯示形式;

      2、隨著彩燈顯示圖案的變化,發(fā)出不同的音響聲。教學(xué)提示: 教學(xué)提示

      1、彩燈顯示的不同形式可由不同進(jìn)制計(jì)數(shù)器驅(qū)動LED 顯示完成;

      2、音響由選擇不同頻率CP 脈沖驅(qū)動揚(yáng)聲器形成。設(shè)計(jì)九脈沖按鍵電話顯示器

      1、設(shè)計(jì)一個(gè)具有8 位顯示的電話按鍵顯示器;

      2、能準(zhǔn)確地反映按鍵數(shù)字;

      3、顯示器顯示從低位向高位前移,逐位顯示按鍵數(shù)字,最低位為當(dāng)前輸入位;

      4、*設(shè)置一個(gè)“重?fù)堋辨I,按下此鍵,能顯示最后一次輸入的電話號碼;

      5、*掛機(jī)2 秒后或按熄滅按鍵,熄滅顯示器顯示。教學(xué)提示:

      1、利用中規(guī)模計(jì)數(shù)器的予置數(shù)功能可以實(shí)現(xiàn)不同的按鍵對應(yīng)不同的數(shù)字;

      2、設(shè)置一個(gè)計(jì)數(shù)器記錄按鍵次數(shù),從而實(shí)現(xiàn)數(shù)字顯示的移位。設(shè)計(jì)十簡易電子琴

      1、設(shè)計(jì)一個(gè)簡易電子琴;

      2、利用實(shí)驗(yàn)箱的脈沖源產(chǎn)生1,2,3,……共7 個(gè)或14 個(gè)音階信號;

      3、用指示燈顯示節(jié)拍;

      4、*能產(chǎn)生顫音效果。教學(xué)提示:

      1、各音階信號由脈沖源經(jīng)分頻得到。

      設(shè)計(jì)十一出租車自動計(jì)費(fèi)器

      1、設(shè)計(jì)一個(gè)出租車自動計(jì)費(fèi)器,具有行車?yán)锍逃?jì)費(fèi)、等候時(shí)間計(jì)費(fèi)、及起價(jià)三部分,用四位數(shù)碼管顯示總金額,最大值為99.99 元;

      2、行車?yán)锍虇蝺r(jià)1 元/公里,等候時(shí)間單價(jià)0.5 元/10 分鐘,起價(jià)3 元(3 公里起價(jià)均能通過人工輸入。

      3、行車?yán)锍痰挠?jì)費(fèi)電路將汽車行駛的里程數(shù)轉(zhuǎn)換成與之成正比的脈沖數(shù),然后由計(jì)數(shù)譯碼電路轉(zhuǎn)換成收費(fèi)金額,實(shí)驗(yàn)中以一個(gè)脈沖模擬汽車前進(jìn)十米,則每100 個(gè)脈沖表示1 公里,然后用BCD 碼比例乘法器將里程脈沖乘以每公里單價(jià)的比例系數(shù),比例系數(shù)可由開關(guān)預(yù)置。例如單價(jià)是 1.0 元/公里,則脈沖當(dāng)量為0.01 元/脈沖。

      4、用LED 顯示行駛公里數(shù),兩個(gè)數(shù)碼管顯示收費(fèi)金額。教學(xué)提示:

      1、等候時(shí)間計(jì)費(fèi)需將等候時(shí)間轉(zhuǎn)換成脈沖個(gè)數(shù),用每個(gè)脈沖表示的金額與脈沖數(shù)相乘即得計(jì)費(fèi)數(shù),例如100 個(gè)脈沖表示10 分鐘,而10 分鐘收費(fèi)0.5 元,則脈沖當(dāng)量為0.05 元/脈沖,如果將脈沖當(dāng)量設(shè)置成與行車?yán)锍逃?jì)費(fèi)相同(0.01 元/脈沖,則10 分鐘內(nèi)的脈沖數(shù)應(yīng)為500 個(gè)。

      2、用LED 顯示等候時(shí)間,兩個(gè)數(shù)碼管表示等候時(shí)間收費(fèi)金額。

      3、用加法器將幾項(xiàng)收費(fèi)相加,P=P1+P2+P3,4、P1 為起價(jià),P2 為行車?yán)锍逃?jì)費(fèi),P3 為等候時(shí)間計(jì)費(fèi),用兩個(gè)數(shù)碼管表示結(jié)果。

      設(shè)計(jì)十二洗衣機(jī)控制器

      1、設(shè)計(jì)一個(gè)電子定時(shí)器,控制洗衣機(jī)作如下運(yùn)轉(zhuǎn):定時(shí)啟動→正轉(zhuǎn)20 秒→暫停10 秒→反轉(zhuǎn)20 秒→暫停10 秒→定時(shí)未到回到“正轉(zhuǎn)20 秒→暫停10 秒→……” ,定時(shí)到則停止;

      2、若定時(shí)到,則停機(jī)發(fā)出音響信號;

      3、用兩個(gè)數(shù)碼管顯示洗滌的預(yù)置時(shí)間(分鐘數(shù)按倒計(jì)時(shí)方式對洗滌過程作計(jì)時(shí)顯示,直到時(shí)間到停機(jī);洗滌過程由“開始”信號開始;

      4、三只LED 燈表示“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫?!比齻€(gè)狀態(tài)。教學(xué)提示:

      1、設(shè)計(jì)20 秒、10 秒定時(shí)電路。

      2、電路輸出為“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫?!比齻€(gè)狀態(tài)。

      3、按照設(shè)計(jì)要求,用定時(shí)器的“時(shí)間到”信號啟動相應(yīng)的下一個(gè)定時(shí)器工作,直到整個(gè)過程結(jié)束。

      13.可控脈沖發(fā)生器 內(nèi)容及要求: 實(shí)現(xiàn)周期、占空比均可調(diào)的脈沖發(fā)生器。(1采用1khz的工作時(shí)鐘;(2脈沖周期0.5s~6s,占空比10%~90%;(3可初始化:周期2.5s,占空比50%;14.8bit序列檢測器 內(nèi)容及要求:

      完成從2bit輸入碼流中檢測特定8bit數(shù)據(jù)的電路,具體要求如下:(1輸入2bit碼流,msb在前,4個(gè)周期的數(shù)據(jù)組成一個(gè)結(jié)構(gòu)化字節(jié);(2檢測序列0x7e;(3成功檢測到特定序列后,點(diǎn)亮一個(gè)LED;(4操作中采用開關(guān)作為數(shù)據(jù)輸入,按鍵作為有效數(shù)據(jù)指示信號;(5工作時(shí)鐘選擇1k即可;(6完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)

      證等。

      15人表決電路設(shè)計(jì) 內(nèi)容及要求

      完成7人表決電路設(shè)計(jì),LED燈表示通過、否決。(1開關(guān)表示贊成與否,1~8編號(1贊成;(2LED顯示表決的結(jié)果;(3數(shù)碼管分別顯示贊成、否決的人數(shù);(4工作時(shí)鐘100Hz即可;(5完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿

      真、下載驗(yàn)證等。

      16排隊(duì)電路設(shè)計(jì) 內(nèi)容及要求

      單窗口排隊(duì)機(jī)電路,給每個(gè)新來者編號,并計(jì)算隊(duì)伍長度。

      (1進(jìn)隊(duì)、離隊(duì)兩個(gè)信號作為輸入,當(dāng)前服務(wù)號碼和隊(duì)長各由4個(gè)數(shù)碼管顯示;(2初始時(shí)隊(duì)長0,進(jìn)隊(duì)號碼由1順序遞增,輸出編號;(3有人入隊(duì),長度加,有人離隊(duì)長度減;(4工作時(shí)鐘適當(dāng)即可;(5完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿

      真、下載驗(yàn)證等。17算術(shù)計(jì)算器電路設(shè)計(jì) 內(nèi)容及要求

      實(shí)現(xiàn)一位十進(jìn)制數(shù)的加減乘除元算,結(jié)果顯示在數(shù)碼管上。(1鍵盤作為運(yùn)算數(shù)據(jù)輸入;(2不同位置的按鍵代表運(yùn)算符;(32個(gè)數(shù)碼管顯示運(yùn)算結(jié)果;(4支持連續(xù)運(yùn)算;(5完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)

      證等。

      18電梯控制器電路設(shè)計(jì) 內(nèi)容及要求

      設(shè)計(jì)智能電梯運(yùn)行控制電路,板級驗(yàn)證用按鍵/開關(guān)與數(shù)碼管/LED表示輸入與輸出。

      (1樓層4層;(2梯內(nèi)顯示當(dāng)前樓層、梯外各層顯示當(dāng)前電梯所在樓層;(31層只有向上按鈕,4層只有向下按鈕,其余各層均有上下按鈕;(4電梯具有鎖定功能(梯內(nèi);(5超重/超員報(bào)警(電路有空載、超重、乘客入梯指示輸入;(6采用Altera的cyclone器件,目標(biāo)板soc實(shí)驗(yàn)室開發(fā)板;(7設(shè)計(jì)相應(yīng)的調(diào)度算法,使運(yùn)營成本最低;(8完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、后仿真、下載驗(yàn)證等。LCD模塊接口電路設(shè)計(jì) 內(nèi)容及要求

      實(shí)現(xiàn)NiosII驅(qū)動240X128LCD顯示。

      (1T6963C控制器,顯示模塊與CPU的接口采用標(biāo)準(zhǔn)的8位微處理器接口,即D0~D7、nRD、nWR、nCE

      以及C/D信號,當(dāng)C/D為?1?時(shí),選中指令通道,數(shù)據(jù)總線上的數(shù)據(jù)均為指令;當(dāng)C/D為?0?時(shí),選中數(shù)據(jù)通道,數(shù)據(jù)總線上的數(shù)據(jù)為寫入LCD或讀出的有效數(shù)據(jù)。8bit輸入,串行輸出,伴有串行信號msb指示;(2完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿

      真、下載驗(yàn)證等。20 音頻信號存儲與播放 內(nèi)容及要求

      (14.096s音頻信號,8kA/D轉(zhuǎn)換為8bit數(shù)據(jù),共32768字節(jié),存儲播放;(2音頻數(shù)據(jù)自行解決,可采用語音傳感器采集;(3揚(yáng)聲器播放;(4可以部分播放,時(shí)長可控;(5完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿

      真、下載驗(yàn)證等。21 脈寬調(diào)制電路設(shè)計(jì) 內(nèi)容及要求 脈寬調(diào)制電路。(1脈寬可調(diào);(2周期可調(diào);

      (3完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)

      證等。

      22.計(jì)時(shí)器電路設(shè)計(jì) 內(nèi)容及要求

      設(shè)計(jì)時(shí)、分、秒計(jì)時(shí)器電路,數(shù)碼管顯示輸出。(1輸入10K精準(zhǔn)時(shí)鐘;(2具有時(shí)、分、秒計(jì)時(shí)功能,24小時(shí)制;(3時(shí)分秒均可手動調(diào)整校正;(4計(jì)時(shí)信息有6個(gè)數(shù)碼管顯示輸出,格式hhmmss;或者8個(gè)數(shù)碼管顯示輸出,格式hh:mm:ss;(5完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)

      證等。FIR濾波器電路設(shè)計(jì) 內(nèi)容及要求

      完成有限沖激響應(yīng)低通數(shù)字濾波器設(shè)計(jì)。(1濾波頻率20kHz;(2增益不作要求,抽頭系數(shù)自行計(jì)算;(3同步電路設(shè)計(jì);

      (4完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)

      證等。

      24自動售貨機(jī)電路 內(nèi)容及要求

      設(shè)計(jì)自動售貨機(jī)電路,要求如下:(1待售物品價(jià)格1元、2元、3元、五元;(2只接受1元、5元、10元幣值;(3機(jī)內(nèi)存有1元零錢無限;(4投入錢幣之前認(rèn)為售貨機(jī)為空閑狀態(tài);投入錢幣后需要按下物品標(biāo)簽吐出商品;(5自動找零;(6完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)

      證等。

      25.排隊(duì)電路設(shè)計(jì) 內(nèi)容及要求

      單窗口排隊(duì)機(jī)電路,給每個(gè)新來者編號,并計(jì)算隊(duì)伍長度。

      (1進(jìn)隊(duì)、離隊(duì)兩個(gè)信號作為輸入,當(dāng)前服務(wù)號碼和隊(duì)長各由4個(gè)數(shù)碼管顯示;(2初始時(shí)隊(duì)長0,進(jìn)隊(duì)號碼由1順序遞增,輸出編號;

      (3有人入隊(duì),長度加,有人離隊(duì)長度減;(4工作時(shí)鐘適當(dāng)即可;(5完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿

      真、下載驗(yàn)證等。

      全勤“√”遲到“×”請假“⊙”早退“*”

      1引言

      EDA是英文“Electronics Design Automation(電子設(shè)計(jì)自動化”的縮寫。EDA技術(shù)是近幾年迅速發(fā)展起來的計(jì)算機(jī)軟件、硬件和微電子交叉的現(xiàn)代電子設(shè)計(jì)學(xué)科,是現(xiàn)代電子工程領(lǐng)域的一門新技術(shù)。它是以可編程邏輯器件(PLD為物質(zhì)基礎(chǔ),以計(jì)算機(jī)為工作平臺,以EDA工具軟件為開發(fā)環(huán)境,以硬件描述語言(HDL作為電子系統(tǒng)功能描述的主要方式,以電子系統(tǒng)設(shè)計(jì)為應(yīng)用方向的電子產(chǎn)品自動化設(shè)計(jì)過程。

      VHDL是常用的HDL,它的英文全名是VHSIC“Very High Speed Integrated Circuit Handware Description Language(高速集成電路硬件描述語言”,VHDL語言具有很強(qiáng)的電路描述和建模能力,能簡化硬件設(shè)計(jì)任務(wù),提高設(shè)計(jì)的效率和可靠性。

      Quartus II是Alters提供的FPGA“Field Programmable Gate Array(現(xiàn)場可編程門陣列”和CPLD “Complex programmable Logic Device(復(fù)雜可編程邏輯器件”的開發(fā)集成環(huán)境,Alters是世界最大可編程邏輯器件供應(yīng)商之一。Alters的Quartus II提供了完整的多平臺設(shè)計(jì)環(huán)境,能滿足各種特定設(shè)計(jì)的需要,也是單芯片可編程系統(tǒng)((SOPC設(shè)計(jì)的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計(jì)工具,并為Alters DSP開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成綜合環(huán)境。

      2設(shè)計(jì)原理

      本文通過利用數(shù)控分頻器設(shè)計(jì)硬件樂曲演奏電路(電子琴的設(shè)計(jì)實(shí)例,使讀者初步了解 VHDL硬件描述語言和Quartus II開發(fā)環(huán)境。本設(shè)計(jì)是在Alters的FPGA芯片CycloneEP1C6和杭州康芯電子有限公司生產(chǎn)的GW48系列EDA實(shí)驗(yàn)系統(tǒng)基礎(chǔ)上完成的,硬件測試用實(shí)驗(yàn)系統(tǒng)的電路模式3,特點(diǎn)是有8個(gè)琴鍵式鍵控發(fā)生器,可用于設(shè)計(jì)八音琴等電路系統(tǒng),也可以產(chǎn)生時(shí)間長度可控的單次脈沖。該電路有8個(gè)譯碼輸出顯示的數(shù)碼管,以顯示目標(biāo)芯片的32位輸出信號,且8個(gè)發(fā)光管也能顯示目標(biāo)器件的8位輸出信號。時(shí)鐘為SOMHz.輸出接揚(yáng)聲器。

      主系統(tǒng)TONETABA.VHD和SPEAKER.VHD 2 個(gè)模塊組成:(1音符的頻率可以由SPEAKER獲得,這是一個(gè)數(shù)控分頻器。由其clk端輸人一具有較高頻率(這里是12MHZ的信號,通過SPEAKERA分頻后由SPKOUT輸出。

      (2音符的持續(xù)時(shí)間須根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)決定,模塊TONETABA的功能是為SPEAKERA提供決定所發(fā)音的分頻預(yù)置值,而此數(shù)在SPEAKERA輸人口停留的時(shí)間即為此音符的節(jié)拍值。邏輯時(shí)序仿真 4 結(jié)論 本文作者創(chuàng)新點(diǎn)是基于 FPGA 完成樂曲演奏電路,在 Altera Quartus II 環(huán)境下,用 VHDL 語言實(shí)現(xiàn)電子琴 演奏音樂的設(shè)計(jì)實(shí)例,設(shè)計(jì)者根據(jù) VHDL 的語法規(guī)則,對系統(tǒng)的邏輯行為進(jìn)行描述,然后通過綜合工具進(jìn)行電路 結(jié)構(gòu)的綜合、編譯、優(yōu)化,用仿真,可在短時(shí)間內(nèi)設(shè)計(jì)出高效、穩(wěn)定、符合設(shè)計(jì)要求的電路。本設(shè)計(jì)還可擴(kuò)展 為多個(gè)音階的電子琴,并利用 FPGA 內(nèi)部的 ROM 裝上多首歌曲,可用手動或自動選擇歌曲。與利用微處理器(CPU 和 MCU來實(shí)現(xiàn)樂曲演奏相比,可以很簡單的設(shè)計(jì)出多種演奏電路具有高性能,高可靠性等優(yōu)點(diǎn),在性能價(jià)格比 方面優(yōu)于同類產(chǎn)品,有著廣泛的應(yīng)用前景和使用價(jià)值。

      第二篇:EDA課程設(shè)計(jì)題目

      課程設(shè)計(jì)題目 設(shè)計(jì)一 數(shù)字式競賽搶答器

      1、設(shè)計(jì)一個(gè)可容納 6 組(或 4 組)參賽的數(shù)字式搶答器,每組設(shè)一個(gè)按鈕,供搶答使用。

      2、搶答器具有第一信號鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用。

      3、設(shè)置一個(gè)主持人“復(fù)位”按鈕。

      4、主持人復(fù)位后,開始搶答,第一信號鑒別鎖存電路得到信號后,有指示燈顯示搶答組別,揚(yáng)聲器發(fā)出 2~3 秒的音響。

      5、設(shè)置一個(gè)計(jì)分電路,每組開始預(yù)置 100 分,由主持人記分,答對一次加 10 分,答錯(cuò)一次減 10 分。

      教學(xué)提示:

      1、此設(shè)計(jì)問題的關(guān)鍵是準(zhǔn)確判斷出第一搶答者并將其鎖存,實(shí)現(xiàn)的方法可使用觸發(fā)器或鎖存器,在得到 第一信號后將輸入封鎖,使其它組的搶答信號無效。

      2、形成第一搶答信號后,用編碼、譯碼及數(shù)碼顯示電路顯示第一搶答者的組別,用第一搶答信號推動揚(yáng) 聲器發(fā)出音響。

      3、計(jì)分電路采用十進(jìn)制加/減計(jì)數(shù)器、數(shù)碼管顯示,由于每次都是加/減 10 分,所以個(gè)位始終為零,只要十位、百位進(jìn)行加/減運(yùn)算即可。

      設(shè)計(jì)二 數(shù)字鐘

      1、設(shè)計(jì)一個(gè)能顯示1/10秒、秒、分、時(shí)的12小時(shí)數(shù)字鐘。

      2、熟練掌握各種計(jì)數(shù)器的使用。

      3、能用計(jì)數(shù)器構(gòu)成十進(jìn)制、六十進(jìn)制、十二進(jìn)制等所需進(jìn)制的計(jì)數(shù)器。

      4、能用低位的進(jìn)位輸出構(gòu)成高位的計(jì)數(shù)脈沖。

      教學(xué)提示:

      1、時(shí)鐘源使用頻率為0.1Hz的連續(xù)脈沖。

      2、設(shè)置兩個(gè)按鈕,一個(gè)供“開始”及“停止”用,一個(gè)供系統(tǒng)“復(fù)位”用。

      3、時(shí)鐘顯示使用數(shù)碼管顯示。

      4、“時(shí)顯示”部分應(yīng)注意12點(diǎn)后顯示1點(diǎn)。

      5、注意各部分的關(guān)系,由低位到高位逐級設(shè)計(jì)、調(diào)試。

      設(shè)計(jì)三 數(shù)字頻率計(jì)

      1、設(shè)計(jì)一個(gè)能測量方波信號的頻率的頻率計(jì)。

      2、測量的頻率范圍是0?999999Hz。

      3、結(jié)果用十進(jìn)制數(shù)顯示。教學(xué)提示:

      1、脈沖信號的頻率就是在單位時(shí)間內(nèi)所產(chǎn)生的脈沖個(gè)數(shù),其表達(dá)式為,f為被測信號的頻率,N為計(jì)數(shù)器 所累計(jì)的脈沖個(gè)數(shù),T為產(chǎn)生N個(gè)脈沖所需的時(shí)間。所以,在1秒時(shí)間內(nèi)計(jì)數(shù)器所記錄的結(jié)果,就是被 測信號的頻率。

      2、被測頻率信號取自實(shí)驗(yàn)箱晶體振蕩器輸出信號,加到主控門的輸入端。

      3、再取晶體振蕩器的另一標(biāo)準(zhǔn)頻率信號,經(jīng)分頻后產(chǎn)生各種時(shí)基脈沖:1ms,10ms,0.1s,1s等,時(shí)基信 號的選擇可以控制,即量程可以改變。

      4、時(shí)基信號經(jīng)控制電路產(chǎn)生閘門信號至主控門,只有在閘門信號采樣期間內(nèi)(時(shí)基信號的一個(gè)周期),輸入 信號才通過主控門。

      5、f=N/T,改變時(shí)基信號的周期T,即可得到不同的測頻范圍。

      6、當(dāng)主控門關(guān)閉時(shí),計(jì)數(shù)器停止計(jì)數(shù),顯示器顯示記錄結(jié)果,此時(shí)控制電路輸出一個(gè)置零信號,將計(jì)數(shù) 器和所有觸發(fā)器復(fù)位,為新的一次采樣做好準(zhǔn)備。

      7、改變量程時(shí),小數(shù)點(diǎn)能自動移位。

      設(shè)計(jì)四 拔河游戲機(jī)

      1、設(shè)計(jì)一個(gè)能進(jìn)行拔河游戲的電路。

      2、電路使用15個(gè)(或9個(gè))發(fā)光二極管,開機(jī)后只有中間一個(gè)發(fā)亮,此即拔河的中心點(diǎn)。

      3、游戲雙方各持一個(gè)按鈕,迅速地、不斷地按動,產(chǎn)生脈沖,誰按得快,亮點(diǎn)就向誰的方向移動,每按 一次,亮點(diǎn)移動一次。

      4、亮點(diǎn)移到任一方終端二極管時(shí),這一方就獲勝,此時(shí)雙方按鈕均無作用,輸出保持,只有復(fù)位后才使 亮點(diǎn)恢復(fù)到中心。

      5、用數(shù)碼管顯示獲勝者的盤數(shù)。

      教學(xué)提示:

      1、按鈕信號即輸入的脈沖信號,每按一次按鈕都應(yīng)能進(jìn)行有效的計(jì)數(shù)。

      2、用可逆計(jì)數(shù)器的加、減計(jì)數(shù)輸入端分別接受兩路脈沖信號,可逆計(jì)數(shù)器原始輸出狀態(tài)為0000,經(jīng)譯碼 器輸出,使中間一只二極管發(fā)亮。

      3、當(dāng)計(jì)數(shù)器進(jìn)行加法計(jì)數(shù)時(shí),亮點(diǎn)向右移;進(jìn)行減法計(jì)數(shù)時(shí),亮點(diǎn)向左移。

      4、由一個(gè)控制電路指示誰勝誰負(fù),當(dāng)亮點(diǎn)移到任一方終端時(shí),由控制電路產(chǎn)生一個(gè)信號,使計(jì)數(shù)器停止 計(jì)數(shù)。

      5、將雙方終端二極管“點(diǎn)亮”信號分別接兩個(gè)計(jì)數(shù)器的“使能”端,當(dāng)一方取勝時(shí),相應(yīng)的計(jì)數(shù)器進(jìn)行 一次計(jì)數(shù),這樣得到雙方取勝次數(shù)的顯示。

      6、設(shè)置一個(gè)“復(fù)位”按鈕,使亮點(diǎn)回到中心,取勝計(jì)數(shù)器也要設(shè)置一個(gè)“復(fù)位”按鈕,使之能清零。

      設(shè)計(jì)五 乒乓球比賽游戲機(jī)

      1、設(shè)計(jì)一個(gè)由甲、乙雙方參賽,有裁判的3人乒乓球游戲機(jī)。

      2、用8個(gè)(或更多個(gè))LED排成一條直線,以中點(diǎn)為界,兩邊各代表參賽雙方的位置,其中一只點(diǎn)亮的LED 指示球的當(dāng)前位置,點(diǎn)亮的LED依此從左到右,或從右到左,其移動的速度應(yīng)能調(diào)節(jié)。

      3、當(dāng)“球”(點(diǎn)亮的那只LED)運(yùn)動到某方的最后一位時(shí),參賽者應(yīng)能果斷地按下位于自己一方的按鈕開關(guān),即表示啟動球拍擊球。若擊中,則球向相反方向移動;若未擊中,則對方得1分。

      4、一方得分時(shí),電路自動響鈴3秒,這期間發(fā)球無效,等鈴聲停止后方能繼續(xù)比賽。

      5、設(shè)置自動記分電路,甲、乙雙方各用2位數(shù)碼管進(jìn)行記分顯示,每計(jì)滿21分為1局。

      6、甲、乙雙方各設(shè)一個(gè)發(fā)光二極管,表示擁有發(fā)球權(quán),每隔5次自動交換發(fā)球權(quán),擁有發(fā)球權(quán)的一方發(fā)球 才有效。

      教學(xué)提示:

      1、用雙向移位寄存器的輸出端控制LED顯示來模擬乒乓球運(yùn)動的軌跡,先點(diǎn)亮位于某一方的第1個(gè)LED,由 擊球者通過按鈕輸入開關(guān)信號,實(shí)現(xiàn)移位方向的控制。

      2、也可用計(jì)數(shù)譯碼方式實(shí)現(xiàn)乒乓球運(yùn)動軌跡的模擬,如利用加/減計(jì)數(shù)器的2個(gè)時(shí)鐘信號實(shí)現(xiàn)甲、乙雙方 的擊球,由表示球拍的按鈕產(chǎn)生計(jì)數(shù)時(shí)鐘,計(jì)數(shù)器的輸出狀態(tài)經(jīng)譯碼驅(qū)動LED發(fā)亮。

      3、任何時(shí)刻都保持一個(gè)LED發(fā)亮,若發(fā)亮的LED運(yùn)動到對方的終點(diǎn),但對方未能及時(shí)輸入信號使其向相反 方向移動,即失去1分。

      4、控制電路決定整個(gè)系統(tǒng)的協(xié)調(diào)動作,必須嚴(yán)格掌握各信號之間的關(guān)系。

      設(shè)計(jì)六 交通信號燈控制器

      1、設(shè)計(jì)一個(gè)交通信號燈控制器,由一條主干道和一條支干道匯合成十字路口,在每個(gè)入口處設(shè)置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時(shí)間停在禁行線外。

      2、紅、綠、黃發(fā)光二極管作信號燈,用傳感器或邏輯開關(guān)作檢測車輛是否到來的信號。

      3、主干道處于常允許通行的狀態(tài),支干道有車來時(shí)才允許通行。主干道亮綠燈時(shí),支干道亮紅燈;支干 道亮綠燈時(shí),主干道亮紅燈。

      4、主、支干道均有車時(shí),兩者交替允許通行,主干道每次放行45秒,支干道每次放行25秒,設(shè)立45秒、25秒計(jì)時(shí)、顯示電路。

      5、在每次由綠燈亮到紅燈亮的轉(zhuǎn)換過程中,要亮5秒黃燈作為過渡,使行駛中的車輛有時(shí)間停到禁行線外,設(shè)立5秒計(jì)時(shí)、顯示電路。

      教學(xué)提示:

      1、主、支干道用傳感器檢測車輛到來情況,實(shí)驗(yàn)電路用邏輯開關(guān)代替。

      2、選擇 1HZ 時(shí)鐘脈沖作為系統(tǒng)時(shí)鐘。

      3、45 秒、25 秒、5 秒定時(shí)信號可用順計(jì)時(shí),也可用倒計(jì)時(shí),計(jì)時(shí)起始信號由主控電路給出,每當(dāng)計(jì)滿所 需時(shí)間,即向主控電路輸出“時(shí)間到”信號,并使計(jì)數(shù)器清零,由主控電路啟、閉三色信號燈或啟動 另一計(jì)時(shí)電路。

      4、主控電路是核心,這是一個(gè)時(shí)序電路,其輸入信號為:車輛檢測信號(A,B,;45 秒、25 秒、5 秒定 時(shí)信號(C,D,E),其輸出狀態(tài)控制相應(yīng)的三色燈。主控電路可以由兩個(gè) JK 觸發(fā)器和邏輯門構(gòu)成,其輸出經(jīng)譯碼后,控制主干道三色燈 R、G、Y 和支干道三色燈 r、g、y。

      設(shè)計(jì)七 電子密碼鎖

      1、設(shè)計(jì)一個(gè)密碼鎖的控制電路,當(dāng)輸入正確代碼時(shí),輸出開鎖信號以推動執(zhí)行機(jī)構(gòu)工作,用紅燈亮、綠 燈熄滅表示關(guān)鎖,用綠燈亮、紅燈熄滅表示開鎖;

      2、在鎖的控制電路中儲存一個(gè)可以修改的 4 位代碼,當(dāng)開鎖按鈕開關(guān)(可設(shè)置成 6 位至 8 位,其中實(shí)際 有效為 4 位,其余為虛設(shè))的輸入代碼等于儲存代碼時(shí),開鎖;

      3、從第一個(gè)按鈕觸動后的 5 秒內(nèi)若未將鎖打開,則電路自動復(fù)位并進(jìn)入自鎖狀態(tài),使之無法再打開,并 由揚(yáng)聲器發(fā)出持續(xù) 20 秒的報(bào)警信號。教學(xué)提示:

      1、該題的主要任務(wù)是產(chǎn)生一個(gè)開鎖信號,而開鎖信號的形成條件是,輸入代碼和已設(shè)密碼相同。實(shí)現(xiàn)這種功能的電路構(gòu)思有多種,例如,用兩片8位鎖存器,一片存入密碼,另一片輸入開鎖的代碼,通過比 較的方式,若兩者相等,則形成開鎖信號。

      2、在產(chǎn)生開鎖信號后,要求輸出聲、光信號,聲音的產(chǎn)生由開鎖信號觸動揚(yáng)聲器工作,光信號由開鎖信 號點(diǎn)亮 LED 指示燈;

      3、用按鈕開關(guān)的第一個(gè)動作信號觸發(fā)一個(gè) 5 秒定時(shí)器,若 5 秒內(nèi)無開鎖信號產(chǎn)生,讓揚(yáng)聲器發(fā)出特殊音響,以示警告,并輸出一個(gè)信號推動 LED 不斷閃爍。

      設(shè)計(jì)八 彩燈控制器

      1、設(shè)計(jì)一個(gè)彩燈控制器,使彩燈(LED 管)能連續(xù)發(fā)出四種以上不同的顯示形式;

      2、隨著彩燈顯示圖案的變化,發(fā)出不同的音響聲。教學(xué)提示: 教學(xué)提示

      1、彩燈顯示的不同形式可由不同進(jìn)制計(jì)數(shù)器驅(qū)動 LED 顯示完成;

      2、音響由選擇不同頻率 CP 脈沖驅(qū)動揚(yáng)聲器形成。

      設(shè)計(jì)九 脈沖按鍵電話顯示器

      1、設(shè)計(jì)一個(gè)具有 8 位顯示的電話按鍵顯示器;

      2、能準(zhǔn)確地反映按鍵數(shù)字;

      3、顯示器顯示從低位向高位前移,逐位顯示按鍵數(shù)字,最低位為當(dāng)前輸入位;

      4、*設(shè)置一個(gè)“重?fù)堋辨I,按下此鍵,能顯示最后一次輸入的電話號碼;

      5、*掛機(jī) 2 秒后或按熄滅按鍵,熄滅顯示器顯示。

      教學(xué)提示:

      1、利用中規(guī)模計(jì)數(shù)器的予置數(shù)功能可以實(shí)現(xiàn)不同的按鍵對應(yīng)不同的數(shù)字;

      2、設(shè)置一個(gè)計(jì)數(shù)器記錄按鍵次數(shù),從而實(shí)現(xiàn)數(shù)字顯示的移位。

      設(shè)計(jì)十 簡易電子琴

      1、設(shè)計(jì)一個(gè)簡易電子琴;

      2、利用實(shí)驗(yàn)箱的脈沖源產(chǎn)生 1,2,3,……共 7 個(gè)或 14 個(gè)音階信號;

      3、用指示燈顯示節(jié)拍;

      4、*能產(chǎn)生顫音效果。

      教學(xué)提示:

      1、各音階信號由脈沖源經(jīng)分頻得到。

      設(shè)計(jì)十一 出租車自動計(jì)費(fèi)器

      1、設(shè)計(jì)一個(gè)出租車自動計(jì)費(fèi)器,具有行車?yán)锍逃?jì)費(fèi)、等候時(shí)間計(jì)費(fèi)、及起價(jià)三部分,用四位數(shù)碼管顯示 總金額,最大值為 99.99 元;

      2、行車?yán)锍虇蝺r(jià) 1 元/公里,等候時(shí)間單價(jià) 0.5 元/10 分鐘,起價(jià) 3 元(3 公里起價(jià))均能通過人工輸入。

      3、行車?yán)锍痰挠?jì)費(fèi)電路將汽車行駛的里程數(shù)轉(zhuǎn)換成與之成正比的脈沖數(shù),然后由計(jì)數(shù)譯碼電路轉(zhuǎn)換成收費(fèi)金額,實(shí)驗(yàn)中以一個(gè)脈沖模擬汽車前進(jìn)十米,則每 100 個(gè)脈沖表示 1 公里,然后用 BCD 碼比例乘法 器將里程脈沖乘以每公里單價(jià)的比例系數(shù),比例系數(shù)可由開關(guān)預(yù)置。例如單價(jià)是 1.0 元/公里,則脈沖當(dāng)量為 0.01 元/脈沖。

      4、用 LED 顯示行駛公里數(shù),兩個(gè)數(shù)碼管顯示收費(fèi)金額。

      教學(xué)提示:

      1、等候時(shí)間計(jì)費(fèi)需將等候時(shí)間轉(zhuǎn)換成脈沖個(gè)數(shù),用每個(gè)脈沖表示的金額與脈沖數(shù)相乘即得計(jì)費(fèi)數(shù),例如 100 個(gè)脈沖表示 10 分鐘,而 10 分鐘收費(fèi) 0.5 元,則脈沖當(dāng)量為 0.05 元/脈沖,如果將脈沖當(dāng)量設(shè)置成與行車?yán)锍逃?jì)費(fèi)相同(0.01 元/脈沖),則 10 分鐘內(nèi)的脈沖數(shù)應(yīng)為 500 個(gè)。

      2、用 LED 顯示等候時(shí)間,兩個(gè)數(shù)碼管表示等候時(shí)間收費(fèi)金額。

      3、用加法器將幾項(xiàng)收費(fèi)相加,P=P1+P2+P3,4、P1 為起價(jià),P2 為行車?yán)锍逃?jì)費(fèi),P3 為等候時(shí)間計(jì)費(fèi),用兩個(gè)數(shù)碼管表示結(jié)果。

      設(shè)計(jì)十二 洗衣機(jī)控制器

      1、設(shè)計(jì)一個(gè)電子定時(shí)器,控制洗衣機(jī)作如下運(yùn)轉(zhuǎn):定時(shí)啟動→正轉(zhuǎn) 20 秒→暫停 10 秒→反轉(zhuǎn) 20 秒→暫停 10 秒→定時(shí)未到回到“正轉(zhuǎn) 20 秒→暫停 10 秒→……”,定時(shí)到則停止;

      2、若定時(shí)到,則停機(jī)發(fā)出音響信號;

      3、用兩個(gè)數(shù)碼管顯示洗滌的預(yù)置時(shí)間(分鐘數(shù))按倒計(jì)時(shí)方式對洗滌過程作計(jì)時(shí)顯示,直到時(shí)間到停機(jī); 洗滌過程由“開始”信號開始;

      4、三只 LED 燈表示“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫停”三個(gè)狀態(tài)。

      教學(xué)提示:

      1、設(shè)計(jì) 20 秒、10 秒定時(shí)電路。

      2、電路輸出為“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫?!比齻€(gè)狀態(tài)。

      3、按照設(shè)計(jì)要求,用定時(shí)器的“時(shí)間到”信號啟動相應(yīng)的下一個(gè)定時(shí)器工作,直到整個(gè)過程結(jié)束。13.可控脈沖發(fā)生器

      內(nèi)容及要求:

      實(shí)現(xiàn)周期、占空比均可調(diào)的脈沖發(fā)生器。(1)采用1khz的工作時(shí)鐘;

      (2)脈沖周期0.5s~6s,占空比10%~90%;(3)可初始化:周期2.5s,占空比50%;

      14.8bit序列檢測器

      內(nèi)容及要求:

      完成從2bit輸入碼流中檢測特定8bit數(shù)據(jù)的電路,具體要求如下:(1)輸入2bit碼流,msb在前,4個(gè)周期的數(shù)據(jù)組成一個(gè)結(jié)構(gòu)化字節(jié);(2)檢測序列0x7e;

      (3)成功檢測到特定序列后,點(diǎn)亮一個(gè)LED;

      (4)操作中采用開關(guān)作為數(shù)據(jù)輸入,按鍵作為有效數(shù)據(jù)指示信號;(5)工作時(shí)鐘選擇1k即可;

      (6)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)證等。

      15人表決電路設(shè)計(jì)

      內(nèi)容及要求

      完成7人表決電路設(shè)計(jì),LED燈表示通過、否決。(1)開關(guān)表示贊成與否,1~8編號(1贊成);(2)LED顯示表決的結(jié)果;

      (3)數(shù)碼管分別顯示贊成、否決的人數(shù);(4)工作時(shí)鐘100Hz即可;

      (5)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿真、下載驗(yàn)證等。

      16排隊(duì)電路設(shè)計(jì)

      內(nèi)容及要求

      單窗口排隊(duì)機(jī)電路,給每個(gè)新來者編號,并計(jì)算隊(duì)伍長度。

      (1)進(jìn)隊(duì)、離隊(duì)兩個(gè)信號作為輸入,當(dāng)前服務(wù)號碼和隊(duì)長各由4個(gè)數(shù)碼管顯示;(2)初始時(shí)隊(duì)長0,進(jìn)隊(duì)號碼由1順序遞增,輸出編號;(3)有人入隊(duì),長度加,有人離隊(duì)長度減;(4)工作時(shí)鐘適當(dāng)即可;

      (5)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿真、下載驗(yàn)證等。

      17算術(shù)計(jì)算器電路設(shè)計(jì)

      內(nèi)容及要求

      實(shí)現(xiàn)一位十進(jìn)制數(shù)的加減乘除元算,結(jié)果顯示在數(shù)碼管上。(1)鍵盤作為運(yùn)算數(shù)據(jù)輸入;(2)不同位置的按鍵代表運(yùn)算符;(3)2個(gè)數(shù)碼管顯示運(yùn)算結(jié)果;(4)支持連續(xù)運(yùn)算;

      (5)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)證等。

      18電梯控制器電路設(shè)計(jì)

      內(nèi)容及要求

      設(shè)計(jì)智能電梯運(yùn)行控制電路,板級驗(yàn)證用按鍵/開關(guān)與數(shù)碼管/LED表示輸入與輸出。(1)樓層4層;

      (2)梯內(nèi)顯示當(dāng)前樓層、梯外各層顯示當(dāng)前電梯所在樓層;

      (3)1層只有向上按鈕,4層只有向下按鈕,其余各層均有上下按鈕;(4)電梯具有鎖定功能(梯內(nèi));

      (5)超重/超員報(bào)警(電路有空載、超重、乘客入梯指示輸入);(6)采用Altera的cyclone器件,目標(biāo)板soc實(shí)驗(yàn)室開發(fā)板;(7)設(shè)計(jì)相應(yīng)的調(diào)度算法,使運(yùn)營成本最低;

      (8)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、后仿真、下載驗(yàn)證等。19 LCD模塊接口電路設(shè)計(jì)

      內(nèi)容及要求

      實(shí)現(xiàn)NiosII驅(qū)動240X128LCD顯示。

      (1)T6963C控制器,顯示模塊與CPU的接口采用標(biāo)準(zhǔn)的8位微處理器接口,即D0~D7、nRD、nWR、nCE以及C/D信號,當(dāng)C/D為‘1’時(shí),選中指令通道,數(shù)據(jù)總線上的數(shù)據(jù)均為指令;當(dāng)C/D為‘0’時(shí),選中數(shù)據(jù)通道,數(shù)據(jù)總線上的數(shù)據(jù)為寫入LCD或讀出的有效數(shù)據(jù)。8bit輸入,串行輸出,伴有串行信號msb指示;

      (2)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿真、下載驗(yàn)證等。音頻信號存儲與播放

      內(nèi)容及要求

      (1)4.096s音頻信號,8kA/D轉(zhuǎn)換為8bit數(shù)據(jù),共32768字節(jié),存儲播放;(2)音頻數(shù)據(jù)自行解決,可采用語音傳感器采集;(3)揚(yáng)聲器播放;

      (4)可以部分播放,時(shí)長可控;

      (5)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿真、下載驗(yàn)證等。脈寬調(diào)制電路設(shè)計(jì)

      內(nèi)容及要求 脈寬調(diào)制電路。(1)脈寬可調(diào);(2)周期可調(diào);

      (3)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)證等。

      22.計(jì)時(shí)器電路設(shè)計(jì)

      內(nèi)容及要求

      設(shè)計(jì)時(shí)、分、秒計(jì)時(shí)器電路,數(shù)碼管顯示輸出。(1)輸入10K精準(zhǔn)時(shí)鐘;

      (2)具有時(shí)、分、秒計(jì)時(shí)功能,24小時(shí)制;(3)時(shí)分秒均可手動調(diào)整校正;

      (4)計(jì)時(shí)信息有6個(gè)數(shù)碼管顯示輸出,格式hhmmss;或者8個(gè)數(shù)碼管顯示輸出,格式hh:mm:ss;(5)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)證等。FIR濾波器電路設(shè)計(jì)

      內(nèi)容及要求

      完成有限沖激響應(yīng)低通數(shù)字濾波器設(shè)計(jì)。(1)濾波頻率20kHz;

      (2)增益不作要求,抽頭系數(shù)自行計(jì)算;(3)同步電路設(shè)計(jì);

      (4)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)證等。

      24自動售貨機(jī)電路

      內(nèi)容及要求

      設(shè)計(jì)自動售貨機(jī)電路,要求如下:

      (1)待售物品價(jià)格1元、2元、3元、五元;(2)只接受1元、5元、10元幣值;(3)機(jī)內(nèi)存有1元零錢無限;

      (4)投入錢幣之前認(rèn)為售貨機(jī)為空閑狀態(tài);投入錢幣后需要按下物品標(biāo)簽吐出商品;(5)自動找零;

      (6)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、下載驗(yàn)證等。25.排隊(duì)電路設(shè)計(jì)

      內(nèi)容及要求

      單窗口排隊(duì)機(jī)電路,給每個(gè)新來者編號,并計(jì)算隊(duì)伍長度。

      (1)進(jìn)隊(duì)、離隊(duì)兩個(gè)信號作為輸入,當(dāng)前服務(wù)號碼和隊(duì)長各由4個(gè)數(shù)碼管顯示;(2)初始時(shí)隊(duì)長0,進(jìn)隊(duì)號碼由1順序遞增,輸出編號;(3)有人入隊(duì),長度加,有人離隊(duì)長度減;(4)工作時(shí)鐘適當(dāng)即可;

      (5)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿真、下載驗(yàn)證等。

      26信號發(fā)生器系統(tǒng)設(shè)計(jì)

      內(nèi)容及要求

      設(shè)計(jì)一個(gè)簡易信號發(fā)生器。要求能夠產(chǎn)生正弦波、方波、鋸齒波和三角波信號,并能夠?qū)崿F(xiàn)調(diào)頻功能;最終能在示波器上觀察到各種波形。汽車尾燈控制器設(shè)計(jì)

      內(nèi)容及要求

      根據(jù)現(xiàn)代交通規(guī)則,汽車尾燈控制器應(yīng)滿足以下基本要求:(1)汽車正常使用時(shí)指示燈不亮;(2)汽車右轉(zhuǎn)時(shí),右側(cè)的一盞燈亮;(3)汽車左轉(zhuǎn)時(shí),左側(cè)的一盞燈亮;

      (4)汽車剎車時(shí),左右兩側(cè)的指示燈同時(shí)亮;

      (5)汽車夜間行駛時(shí),左右兩側(cè)的指示燈同時(shí)一直亮,供照明使用。簡易音樂播放器

      內(nèi)容及要求

      產(chǎn)生音樂的兩個(gè)因素是音樂頻率和音樂的持續(xù)時(shí)間,以純硬件完成演奏電路比利用微處理器(CPU)來實(shí)現(xiàn)樂曲演奏要復(fù)雜的多如果不借助于功能強(qiáng)大的EDA工具和硬件描述語言,憑借傳統(tǒng)的數(shù)字邏輯技術(shù),即使最簡單的演奏電路也難以實(shí)現(xiàn)。根據(jù)設(shè)計(jì)要求,樂曲硬件演奏電路系統(tǒng)主要由數(shù)控分頻器和樂曲存儲模塊組成。數(shù)控分頻器對FPGA的基準(zhǔn)頻率進(jìn)行分頻,得到與各個(gè)音階對應(yīng)的頻率輸出。樂曲存儲模塊產(chǎn)生節(jié)拍控制和音階選擇信號,即在此模塊中可存放一個(gè)樂曲曲譜真值表,由一個(gè)計(jì)數(shù)器來控制此真值表的輸出,而由計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘信號作為樂曲節(jié)拍控制信號。29自動售郵票機(jī)

      內(nèi)容及要求

      設(shè)計(jì)一個(gè)自動售郵票機(jī),用開關(guān)電平信號模擬投幣過程,每次投一枚硬幣,但可以連續(xù)投入數(shù)枚硬幣。機(jī)器能自動識別硬幣金額,最大為1元,最小為5角。設(shè)定票價(jià)為2.5元,每次售一張票。

      購票時(shí)先投入硬幣,當(dāng)投入的硬幣總金額達(dá)到或超過票的面值時(shí),機(jī)器發(fā)出指示,這時(shí)可以按取票鍵取出票。如果所投硬幣超過票的面值則會提示找零錢,取完票以后按找零鍵則可以取出零錢。

      30看門狗設(shè)計(jì)

      內(nèi)容及要求

      1.看門狗電路時(shí)電子系統(tǒng),是嵌入式系統(tǒng)中常用的抗干擾措施之一,其作用是在程序“跑 飛”后強(qiáng)制系統(tǒng)復(fù)位。

      2.看門狗實(shí)際上是一個(gè)計(jì)數(shù)器,它需要在一定時(shí)間內(nèi)被清零,否則,看門狗將產(chǎn)生一個(gè)復(fù)位信號使系統(tǒng)重新啟動。3.系統(tǒng)主要由3個(gè)功能模塊構(gòu)成: 1)計(jì)數(shù)比較模塊; 2)分頻模塊; 3)復(fù)位計(jì)時(shí)模塊

      第三篇:EDA課程設(shè)計(jì)

      考試序號:28

      自動打鈴系統(tǒng)設(shè)計(jì)說明書

      學(xué) 生 姓 名:周文江

      學(xué)

      號:14112502521

      專 業(yè) 班 級:1102

      報(bào)告提交日期:2013.11.26

      湖 南 理 工 學(xué) 院 物 電 學(xué) 院

      目錄

      一、題目及要求簡介……………3 1.設(shè)計(jì)題目…………………3 2.總體要求簡介……………3

      二、設(shè)計(jì)方案說明……………3

      三、系統(tǒng)采用器件以及模塊說明………3 1.系統(tǒng)框圖…………4 2.選擇的FPGA芯片及配置………4 3.系統(tǒng)端口和模塊說明…………5

      四、各部分仿真結(jié)果………5

      五、調(diào)試及總結(jié)………6

      六、參考文獻(xiàn)……7

      七、附錄………7

      一、題目及要求簡介

      1、設(shè)計(jì)題目

      設(shè)計(jì)一個(gè)多功能自動打鈴系統(tǒng)

      2、總體要求簡介

      ① 基本計(jì)時(shí)和顯示功能(24小時(shí)制顯示),包括:

      1.24小時(shí)制顯示 2.動態(tài)掃描顯示; 3.顯示格式:88-88-88 ② 能設(shè)置當(dāng)前時(shí)間(含時(shí)、分)③ 能實(shí)現(xiàn)基本打鈴功能,規(guī)定:

      06:00起床鈴,打鈴5s

      二、設(shè)計(jì)方案說明

      本次設(shè)計(jì)主要采用Verilog HDL硬件描述性語言、分模塊法設(shè)計(jì)的自動打鈴系統(tǒng)。由于這次用的開發(fā)板提供的是50M晶振。首先要對時(shí)鐘進(jìn)行分頻,當(dāng)計(jì)時(shí)到2FA_F07F時(shí)完成1s分頻,通過計(jì)時(shí)到60s產(chǎn)生分鐘進(jìn)位信號,再通過60分鐘產(chǎn)生時(shí)鐘進(jìn)位信號。最后通過6個(gè)寄存器對時(shí)分秒進(jìn)行鎖存最終輸出到8個(gè)數(shù)碼管上完成顯示。當(dāng)顯示時(shí)鐘和默認(rèn)鬧鐘時(shí)鐘相等時(shí),驅(qū)動打鈴模塊。通過key_mode,key_turn,key_change查看鬧鐘,時(shí)鐘顯示,調(diào)整時(shí)鐘。

      三、系統(tǒng)采用器件以及模塊說明

      1.系統(tǒng)框圖如下:

      :下如圖框統(tǒng)系

      2.選擇的FPGA芯片及配置:本次系統(tǒng)設(shè)計(jì)采用的FPGA芯片是Alter公司生產(chǎn)的Cyclone II EP2C8Q208C8。該芯片是208個(gè)管腳,138個(gè)IO,并且具有兩個(gè)內(nèi)部PLL,而且內(nèi)嵌乘法器,8K的邏輯門,資源相當(dāng)豐富。完成這次自動打鈴系統(tǒng)的設(shè)計(jì)總共消耗250個(gè)LE單元,22個(gè)IO口,131個(gè)寄存器。經(jīng)過綜合后,本系統(tǒng)最高能實(shí)現(xiàn)145M的運(yùn)行速度。通過Quartus II 軟件觀察到內(nèi)部的RTL圖如下

      3.系統(tǒng)端口和模塊說明

      (1)分頻部分

      分頻器的作用是對50Mhz的系統(tǒng)時(shí)鐘信號進(jìn)行分頻,得到頻率為1hz的信號,即為1S的計(jì)時(shí)信號。

      (2)按鍵部分

      按鍵key_mode--0為顯示計(jì)時(shí),1為鬧鐘顯示,2為調(diào)整時(shí)間。按鍵key_turn—0為調(diào)整小時(shí),1為調(diào)整分鐘。按鍵key_change—每按一次加1(3)計(jì)時(shí)部分

      通過sec_L,sec_H,min_L,min_H,hour_L,hour_H 6個(gè)寄存器對時(shí)分秒進(jìn)行鎖存然后送入數(shù)碼管顯示

      (4)鬧鐘模塊

      當(dāng)設(shè)定的鬧鐘時(shí)間和數(shù)碼管上顯示的時(shí)間相等時(shí)驅(qū)動鬧鐘,完成打鈴,持續(xù)時(shí)間5s。

      (5)數(shù)碼管顯示模塊

      顯示模塊是由8個(gè)位選8個(gè)段選構(gòu)成的顯示模塊,利用人眼的余暉效果完成動態(tài)掃描,顯示時(shí)間。

      四、各部分仿真結(jié)果

      測試文件如下:

      module clock_tb;reg sysclk,rst_b;reg key_mode,key_turn,key_change;wire buzzer;

      wire [7:0] led_sel,led_data;clock I_clock(.sysclk(sysclk),.rst_b(rst_b),.key_mode(key_mode),.key_change(key_change),.key_turn(key_turn),.buzzer(buzzer),.led_sel(led_sel),.led_data(led_data));initial begin sysclk = 1'b1;rst_b = 1'b0;//復(fù)位信號

      #30 rst_b = 1'b1;end always #10 sysclk = ~sysclk;//輸入的系統(tǒng)時(shí)鐘,20ns的周期 endmodule

      五、調(diào)試及總結(jié)

      本次課程設(shè)計(jì)總共花費(fèi)了四天左右的時(shí)間,設(shè)計(jì)了自動打鈴系統(tǒng)。通過這次的設(shè)計(jì)更加熟悉了對EDA技術(shù)的了解和認(rèn)識,在中也發(fā)現(xiàn)許多不足的地方。使用了自頂而下的設(shè)計(jì)方法,使得設(shè)計(jì)更加的簡單和明了。在調(diào)試過程中,有些代碼的設(shè)計(jì)不規(guī)范性,導(dǎo)致時(shí)序相當(dāng)緩慢,甚至編譯綜合都會報(bào)錯(cuò)。在不斷的修改下,發(fā)現(xiàn)時(shí)序電路和組合邏輯最好分開寫,這樣便于查錯(cuò),和修改代碼。畢竟Verilog HDL語言不同于C語言,不能以軟件的思想來設(shè)計(jì),而是要利用電路的思想來編程,這樣可以更好的節(jié)省資源,使得時(shí)序也比較的簡單明了。在以后的學(xué)習(xí)及程序設(shè)計(jì)當(dāng)中,我們一定要倍加小心,在程序出現(xiàn)不正常運(yùn)行的情況下要耐心調(diào)試,盡量做到精益求精。

      最后通過這次EDA方面的課程設(shè)計(jì),提高了我們對EDA領(lǐng)域及通信電路設(shè)計(jì)領(lǐng)域的認(rèn)識,有利于培養(yǎng)我們在通信電路EDA方面的設(shè)計(jì)能力。有利于鍛煉我們獨(dú)立分析問題和解決問題的能力。

      六、文獻(xiàn)參考

      [1].王金明、左自強(qiáng) 編,《EDA技術(shù)與Verilog設(shè)計(jì)》科學(xué)出版社

      2008.8 [2].杜慧敏、李宥謀、趙全良 編,《基于Verilog的FPGA設(shè)計(jì)基礎(chǔ)》 西安電子科技大學(xué)出版社 2006.2 [3].韓彬 編,《從零開始走進(jìn)FPGA世界》杭州無線電愛好者協(xié)會出版社 2011.8.20

      七、附錄(實(shí)物圖及源碼)

      module clock(//Input

      sysclk,rst_b,key_mode,key_change,key_turn,//Output

      buzzer,led_sel,led_data);

      input sysclk,rst_b;//sysclk--global system clock,rst_b--global reset signal input key_mode;//mode choose.0--Timing function.1--Alarm clock function.2--adjust function input key_turn;//choose adjust minute or hour input key_change;//count add 1 output buzzer;//device buzzer output [7:0] led_sel;//led tube bit choose

      output [7:0] led_data;//led_tube 8 bit data choose

      parameter init_hour = 8'h12;parameter init_min = 8'h59;parameter init_sec = 8'h50;//initial time :12:59:50 parameter init_alarm_hour = 8'h06;parameter init_alarm_min = 8'h30;//initial alarm time : 06:30:0 parameter Count_1s = 28'h2FA_F07F;//count time 1s;

      reg [7:0] sec;reg [7:0] min;reg [7:0] hour;reg [3:0] min_L;//minute low 4 bit reg [3:0] min_H;//minute high 4 bit reg [3:0] hour_L;//hour low 4 bit reg [3:0] hour_H;//hour high 4 bit reg [23:0] key_time;//press key away shake reg key_mode_n;//press key_mode next state reg key_change_n;//press key_change next state reg key_turn_n;//press key_turn next state wire key_mode_press;//sure Button press key_mode wire key_turn_press;//sure button press key_turn wire key_change_press;//sure button press key_change

      always @(posedge sysclk)key_mode_n <= key_mode;assign key_mode_press =(!key_mode)&&(key_mode_n);always @(posedge sysclk)key_turn_n <= key_turn;assign key_turn_press =(!key_turn)&&(key_turn_n);always @(posedge sysclk)key_change_n <= key_change;assign key_change_press =(!key_change)&&(key_change_n);

      always @(posedge sysclk or negedge rst_b)begin if(!rst_b)key_time <= 24'h0;else if(key_time!= 24'h0)

      key_time <= key_time + 24'h1;else if((key_time == 24'h0)&&(key_mode_press || key_change_press || key_turn_press))key_time <= key_time + 24'h1;

      end

      reg [1:0] mode_num;//key mode..0--Timing function.1--Alarm clock function.2--adjust function always @(posedge sysclk or negedge rst_b)begin if(!rst_b)mode_num <= 2'b00;else if(mode_num == 2'h3)mode_num <= 2'h0;else if(key_mode_press &&(key_time == 24'h0))

      mode_num <= mode_num + 2'h1;end

      always @(*)begin if(mode_num == 2'h1)begin

      min = init_alarm_min;hour = init_alarm_hour;end else begin

      min = {min_H,min_L};hour = {hour_H,hour_L};end end

      reg fm;//choose turn hour or minute always @(posedge sysclk or negedge rst_b)begin if(!rst_b)fm <= 1'b0;else if(key_turn_press &&(mode_num == 2'h2)&&(key_time == 24'h0))

      fm <= ~fm;end

      reg [27:0] time_cnt;///count time reg [27:0] time_cnt_n;//count time next state always @(posedge sysclk or negedge rst_b)begin if(!rst_b)time_cnt <= 28'h0;else time_cnt <= time_cnt_n;end

      always @(*)begin if(time_cnt == Count_1s)time_cnt_n <= 28'h0;else if(mode_num!= 2'h0)time_cnt_n <= time_cnt;else time_cnt_n <= time_cnt + 28'h1;end

      reg [3:0] sec_L;//second low 4 bit reg [3:0] sec_H;//second high 4 bit wire sec_cb;//second carry bit signal assign sec_cb =(sec_L == 4'h9)&&(sec_H == 4'h5);always @(posedge sysclk or negedge rst_b)begin if(!rst_b)begin

      sec_L <= init_sec[3:0];sec_H <= init_sec[7:4];end else if((sec_L == 4'h9)&&(sec_H!= 4'h5)&&(time_cnt == Count_1s))begin

      sec_L <= 4'h0;sec_H <= sec_H + 4'h1;end else if(sec_cb &&(time_cnt == Count_1s))begin

      sec_L <= 4'h0;sec_H <= 4'h0;end else if(time_cnt == Count_1s)

      sec_L <= sec_L + 4'h1;end

      wire min_cb;//minute carry bit signal assign min_cb =(min_L == 4'h9)&&(min_H == 4'h5);always @(posedge sysclk or negedge rst_b)begin if(!rst_b)begin

      min_L <= init_min[3:0];min_H <= init_min[7:4];end else if((sec_cb)&&(min_L!=4'h9)&&(time_cnt == Count_1s))

      min_L <= min_L + 4'h1;else if((sec_cb)&&(min_L == 4'h9)&&(min_H!= 4'h5)&&(time_cnt == Count_1s))begin

      min_L <= 4'h0;min_H <= min_H + 4'h1;end else if((sec_cb)&&(min_cb)&&(time_cnt == Count_1s))begin

      min_L <= 4'h0;min_H <= 4'h0;end else if((fm)&&(mode_num == 2'h2)&&(key_change_press)&&(key_time == 24'h0)&&(min_L!= 4'h9))

      min_L = min_L + 4'h1;else if((fm)&&(mode_num == 2'h2)&&(key_change_press)&&(key_time ==

      24'h0)&&(min_L == 4'h9)&&(min_H!=4'h5))begin

      min_L = 4'h0;min_H = min_H + 4'h1;end else if((fm)&&(mode_num == 2'h2)&&(key_change_press)&&(key_time == 24'h0)&&(min_L == 4'h9)&&(min_H ==4'h5))begin

      min_L = 4'h0;min_H = 4'h0;end end

      always @(posedge sysclk or negedge rst_b)begin if(!rst_b)begin

      hour_L <= init_hour[3:0];hour_H <= init_hour[7:4];end else if((sec_cb)&&(min_cb)&&(hour_L!= 4'h9)&&(hour_H!= 4'h2)&&(time_cnt == Count_1s))

      hour_L <= hour_L + 4'h1;else if((sec_cb)&&(min_cb)&&(hour_L!= 4'h3)&&(hour_H == 4'h2)&&(time_cnt == Count_1s))

      hour_L <= hour_L + 4'h1;else if((sec_cb)&&(min_cb)&&(hour_L == 4'h9)&&(hour_H!= 4'h2)&&(time_cnt == Count_1s))begin

      hour_L <= 4'h0;hour_H <= hour_H + 4'h1;end else if((sec_cb)&&(min_cb)&&(hour_L == 4'h3)&&(hour_H == 4'h2)&&(time_cnt == Count_1s))begin

      hour_L <= 4'h0;hour_H <= 4'h0;end else if((!fm)&&(mode_num == 2'h2)&&(key_change_press)&&(key_time == 24'h0)&&(hour_L!= 4'h9)&&(hour_H!=4'h2))

      hour_L <= hour_L + 4'h1;else if((!fm)&&(mode_num == 2'h2)&&(key_change_press)&&(key_time == 24'h0)&&(hour_L!= 4'h3)&&(hour_H ==4'h2))

      hour_L <= hour_L + 4'h1;else if((!fm)&&(mode_num == 2'h2)&&(key_change_press)&&(key_time == 24'h0)&&(hour_L == 4'h9)&&(hour_H!=4'h2))begin

      hour_L <= 4'h0;hour_H <= hour_H + 4'h1;end else if((!fm)&&(mode_num == 2'h2)&&(key_change_press)&&(key_time ==

      24'h0)&&(hour_L == 4'h3)&&(hour_H ==4'h2))begin

      hour_L <= 4'h0;hour_H <= 4'h0;end end

      wire buzzer_en;assign buzzer_en =(init_alarm_min == {min_H,min_L})&&(init_alarm_hour == {hour_H,hour_L});

      led_tube I_led_tube(.sysclk(sysclk),.rst_b(rst_b),.scan_time(24'h1F090),.data0({1'h1,sec_L}),.data1({1'h1,sec_H}),.data2({1'h1,4'hA}),.data3({1'h1,min[3:0]}),.data4({1'h1,min[7:4]}),.data5({1'h1,4'hA}),.data6({1'h1,hour[3:0]}),.data7({1'h1,hour[7:4]}),.led_data(led_data),.led_sel(led_sel));buzzer I_buzzer(.sysclk(sysclk),.rst_b(rst_b),.buzzer_en(buzzer_en),.buzzer(buzzer));endmodule

      第四篇:EDA 課程設(shè)計(jì)

      《電子系統(tǒng)設(shè)計(jì)自動化》課程設(shè)計(jì)報(bào)告

      學(xué) 院: 機(jī)電工程學(xué)院

      題 目: 數(shù)字時(shí)鐘電路設(shè)計(jì) 課 程: 《電子系統(tǒng)設(shè)計(jì)自動化》課程設(shè)計(jì) 專業(yè)班級: 電信10級2 班 學(xué)生姓名: 劉星 秦玉杰 王艷艷 學(xué) 號: 1004101035 1004101036 1004101038

      完成日期:2013年 12 月 27 日

      摘要:

      EDA(Electronic Design Automation)電子設(shè)計(jì)自動化,就是以大規(guī)??删幊唐骷樵O(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,通過相關(guān)的軟件,自動完成用軟件方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng),最終形成集成電子系統(tǒng)或?qū)S眉尚酒1敬螌?shí)習(xí)利用QuartusII為設(shè)計(jì)軟件、VHDL為硬件描述語言,結(jié)合所學(xué)的數(shù)字電路的知識設(shè)計(jì)一個(gè)24時(shí)多功能數(shù)字鐘,具有正常時(shí)、分、秒計(jì)時(shí),動態(tài)顯示,清零、快速校時(shí)校分、整點(diǎn)報(bào)時(shí)、花樣顯示等功能。利用硬件描述語言VHDL對設(shè)計(jì)系統(tǒng)的各個(gè)子模塊進(jìn)行邏輯描述,采用模塊化的設(shè)計(jì)思想完成頂層模塊的設(shè)計(jì),通過軟件編譯、邏輯化簡、邏輯分割、邏輯綜合優(yōu)化、邏輯布線、邏輯仿真,最終將設(shè)計(jì)的軟件系統(tǒng)下載設(shè)計(jì)實(shí)驗(yàn)系統(tǒng),對設(shè)計(jì)的系統(tǒng)進(jìn)行硬件測試。

      一、課程設(shè)計(jì)基本要求和任務(wù)

      《EDA課程設(shè)計(jì)》是繼《模擬電子技術(shù)基礎(chǔ)》、《數(shù)字電子技術(shù)基礎(chǔ)》課程后,電信專業(yè)學(xué)生在電子技術(shù)實(shí)驗(yàn)技能方面綜合性質(zhì)的實(shí)驗(yàn)訓(xùn)練課程,是電子技術(shù)基礎(chǔ)的一個(gè)部分。1.1 目的和任務(wù)

      (1)通過課程設(shè)計(jì)使學(xué)生能熟練掌握一種EDA軟件(QUARTUSII)的使用方法,能熟練進(jìn)行設(shè)計(jì)輸入、編譯、管腳分配、下載等過程,為以后進(jìn)行工程實(shí)際問題的研究打下設(shè)計(jì)基礎(chǔ)。

      (2)通過課程設(shè)計(jì)使學(xué)生能利用EDA軟件(QUARTUSII)進(jìn)行至少一 個(gè)電子技術(shù)綜合問題的設(shè)計(jì),設(shè)計(jì)輸入可采用圖形輸入法或VHDL硬件描述語言輸入法。(3)通過課程設(shè)計(jì)使學(xué)生初步具有分析、尋找和排除電子電路中常見 故障的能力。

      (4)通過課程設(shè)計(jì)使學(xué)生能獨(dú)立寫出嚴(yán)謹(jǐn)?shù)?、有理論根?jù)的、實(shí)事求是的、文理通順的字跡端正的課程設(shè)計(jì)報(bào)告。1.2 功能要求:

      (1)具有時(shí)、分、秒計(jì)數(shù)顯示功能,以24小時(shí)循環(huán)計(jì)時(shí)。(2)時(shí)鐘計(jì)數(shù)顯示時(shí)有LED燈的花樣顯示。(3)具有調(diào)節(jié)小時(shí)、分鐘、秒及清零的功能。(4)具有整點(diǎn)報(bào)時(shí)功能。

      1.3 總體方框圖:

      本系統(tǒng)可以由秒計(jì)數(shù)器、分鐘計(jì)數(shù)器、小時(shí)計(jì)數(shù)器、整點(diǎn)報(bào)時(shí)、分的調(diào)整以及小時(shí)的調(diào)整和一個(gè)頂層文件構(gòu)成。采用自頂向下的設(shè)計(jì)方法,子模塊利用VHDL語言設(shè)計(jì),頂層文件用原理圖的設(shè)計(jì)方法。顯示:小時(shí)采用24進(jìn)制,而分鐘均是采用6進(jìn)制和10進(jìn)制的組合。1.4 設(shè)計(jì)原理:

      數(shù)字鐘電路設(shè)計(jì)要求所設(shè)計(jì)電路就有以下功能:時(shí)、分、秒計(jì)時(shí)顯示,清零,時(shí)、分調(diào)節(jié),整點(diǎn)報(bào)時(shí)及花樣顯示。分、秒計(jì)時(shí)原理相似,可以采用60進(jìn)制BCD碼計(jì)數(shù)器進(jìn)計(jì)時(shí);小時(shí)采用24進(jìn)制BCD碼進(jìn)行計(jì)時(shí);在設(shè)計(jì)時(shí)采用試驗(yàn)電路箱上的模式7電路,不需要進(jìn)行譯碼電路的設(shè)計(jì);所設(shè)計(jì)電路具有驅(qū)動揚(yáng)聲器和花樣顯示的LED燈信號產(chǎn)生。試驗(yàn)箱模式7的電路如圖一所示:圖一模式七實(shí)驗(yàn)電路圖

      1.5 性能指標(biāo)及功能設(shè)計(jì):

      (1)時(shí)鐘計(jì)數(shù):完成時(shí)、分、秒的正確計(jì)時(shí)并且顯示所計(jì)的數(shù)字;對秒、分——60進(jìn)制計(jì)數(shù),即從0到59循環(huán)計(jì)數(shù),時(shí)鐘——24進(jìn)制計(jì)數(shù),即從0到23循環(huán)計(jì)數(shù),并且在數(shù)碼管上顯示數(shù)值。

      2.2 模塊劃分自頂向下分解

      2.3 模塊描述

      時(shí)鐘計(jì)時(shí)模塊完成時(shí)、分、秒計(jì)數(shù),及清零、調(diào)節(jié)時(shí)和分鐘的功能。時(shí)、分、秒計(jì)數(shù)的原理相同,均為BCD碼輸出的計(jì)數(shù)器,其中分和秒均為六十進(jìn)制BCD碼計(jì)數(shù)器,小時(shí)為二十四進(jìn)制BCD碼計(jì)數(shù)器。設(shè)計(jì)一個(gè)具有異步清零和設(shè)置輸出功能的六十進(jìn)制BCD碼計(jì)數(shù)器,再設(shè)計(jì)一個(gè)具有異步清零和設(shè)置輸出功能的二十四進(jìn)制計(jì)數(shù)器,然后將它們通過一定的組合構(gòu)成時(shí)鐘計(jì)時(shí)模塊。各個(gè)輸入/輸出端口的作用為:

      (1)clk為計(jì)時(shí)時(shí)鐘信號,reset為異步清零信號;

      (2)sethour為小時(shí)設(shè)置信號,setmin為分鐘設(shè)置信號;(3)daout[5?0]為小時(shí)的BCD碼輸出, daout[6...0]為秒和分鐘的BCD碼輸出,enmin和enhour為使能輸出信號。

      (4)在時(shí)鐘整點(diǎn)的時(shí)候產(chǎn)生揚(yáng)聲器驅(qū)動信號和花樣顯示信號。由時(shí)鐘計(jì)時(shí)模塊中分鐘的進(jìn)行信號進(jìn)行控制。當(dāng)contr_en為高電平時(shí),將輸入信號clk送到輸出端speak用于驅(qū)動揚(yáng)聲器,同時(shí)在clk的控制下,輸出端lamp[2..0]進(jìn)行循環(huán)移位,從而控制LED燈進(jìn)行花樣顯示。輸出控制模塊有揚(yáng)聲器控制器和花樣顯示控制器兩個(gè)子模塊組成 2.4 頂層電路圖

      頂層文件是由四個(gè)模塊組成,分別是時(shí)、分、秒計(jì)數(shù)器和報(bào)警的VHDL語言封裝而成。經(jīng)過鎖定引腳再重新編譯獲得如下頂層原理電路圖:

      三、方案實(shí)現(xiàn)

      3.1 各模塊仿真及描述

      (1)秒計(jì)數(shù)器模塊仿真圖:將標(biāo)準(zhǔn)秒信號送入”秒計(jì)數(shù)器”,秒計(jì)數(shù)器采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60秒發(fā)出一個(gè)分脈沖信號,該信號將作為分計(jì)數(shù)器的時(shí)鐘脈沖,daout代表秒輸出。

      (2)分計(jì)數(shù)器電路仿真圖:也采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60分鐘,發(fā)出一個(gè)時(shí)脈沖信號,該信號將被送到時(shí)計(jì)數(shù)器,daout端口代表分鐘輸出

      (3)小時(shí)計(jì)數(shù)器電路仿真圖:時(shí)計(jì)數(shù)器采用12進(jìn)制計(jì)時(shí)器,可實(shí)現(xiàn)對24小時(shí)累 計(jì)。每累計(jì)12小時(shí),發(fā)出一個(gè)脈沖信號。

      引腳配置完成后再進(jìn)行一次全程編譯,無誤則可以下載到試驗(yàn)箱上進(jìn)行硬件測試。硬件驗(yàn)證的方法如下:選擇實(shí)驗(yàn)?zāi)J?;時(shí)鐘脈沖clk與clock0(1024Hz)信號相連;鍵8和鍵5均為低電平,時(shí)鐘正常計(jì)時(shí),數(shù)碼管1和2顯示秒,數(shù)碼管4和5顯示分鐘,數(shù)碼管7和8顯示小時(shí);鍵8為高電平時(shí),時(shí)鐘清零;鍵5為高電平時(shí),按下鍵7和鍵4進(jìn)行調(diào)時(shí)調(diào)分操作;當(dāng)時(shí)鐘為整點(diǎn)的時(shí)候,三個(gè)發(fā)光二極管進(jìn)行循環(huán)移位操作,同時(shí)揚(yáng)聲器發(fā)聲。

      五、心得體會

      經(jīng)過源程序的編輯、邏輯綜合、邏輯適配、編程下載成功后,在EDA實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行硬件驗(yàn)證時(shí)卻發(fā)現(xiàn)實(shí)驗(yàn)結(jié)果不正確,揚(yáng)聲器無法發(fā)聲。經(jīng)檢查,自己設(shè)計(jì)的管腳文件有錯(cuò)。將管腳鎖定文件修改后,重新進(jìn)行邏輯適配、編程下載成功后,實(shí)驗(yàn)結(jié)果仍然不正確,百思不得其解。無奈之下,決定重頭開始排查每一步的細(xì)節(jié),確定各個(gè)模塊的功能完全實(shí)現(xiàn)并且頂層模塊功能正確。修改之后,重新進(jìn)行邏輯適配、編程下載驗(yàn)證,實(shí)驗(yàn)結(jié)果完全正確。

      這次EDA課程設(shè)計(jì)歷時(shí)兩個(gè)星期,在整整兩個(gè)星期的日子里,不僅鞏固了以前所學(xué)過的知識,而且學(xué)到了很多書本上學(xué)不到的知識,同時(shí)鍛煉了自己的能力,使自己對以后的路有了更加清楚的認(rèn)識,對未來有了更多的信心。這次課程設(shè)計(jì),進(jìn)一步加深了我對EDA的了解,使我對QuartusII的基本操作有所了解,使我對應(yīng)用軟件的方法設(shè)計(jì)硬件系統(tǒng)有了更加濃厚的興趣。通過這次課程設(shè)計(jì),我懂得了理論與實(shí)際相結(jié)合的重要性,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合,從實(shí)踐中得出結(jié)論,才能真正提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中,我遇到許多問題,畢竟是第一次應(yīng)用VHDL進(jìn)行硬件電路系統(tǒng)的設(shè)計(jì),許多EDA的知識還沒有充分的掌握,遇到困難也是在所難免的,同時(shí)發(fā)現(xiàn)了自己的不足之處:學(xué)習(xí)知識表面化,沒有深入了解它們的原理。總的來說,這次設(shè)計(jì)的數(shù)字時(shí)鐘電路還是比較成功的,盡管在設(shè)計(jì)中遇到了很多問題,最后在老師的辛勤指導(dǎo)、同學(xué)的幫助和自己不斷思考下,終于迎刃而解,有點(diǎn)小小的成就感,覺得平時(shí)所學(xué)的知識有了實(shí)用的價(jià)值,達(dá)到了理論與實(shí)際相結(jié)合的目的。最后,對給過我?guī)椭乃型瑢W(xué)和指導(dǎo)老師再次表示忠心的感謝!

      參考文獻(xiàn)

      [1] 崔健明.《電子電工EDA仿真技術(shù)》 高等教育出版社 2000年 [2] 盧杰,賴毅.《VHDL與數(shù)字電路設(shè)計(jì)》 科學(xué)出版社 2001年 [3] 潘松,黃繼業(yè).《EDA技術(shù)實(shí)用教程》 科學(xué)出版社 2002年 [4] 朱運(yùn)利.《EDA技術(shù)應(yīng)用》 電子工業(yè)出版社 2004年 [5] 張明.《VHDL實(shí)用教程》 電子科技大學(xué)出版社 1999年

      [6] 彭介華.《電子技術(shù)課程設(shè)計(jì)與指導(dǎo)》 高等教育出版 1997年

      LIBRARY IEEE;

      USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY minute IS PORT(clk,clk1,reset,sethour:IN STD_LOGIC;enhour:OUT STD_LOGIC;daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY minute;ARCHITECTURE fun OF minute IS SIGNAL count :STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL enhour_1, enhour_2: STD_LOGIC;--enmin_1為59分時(shí)的進(jìn)位信號 BEGIN--enmin_2由clk調(diào)制后的手動調(diào)時(shí)脈沖信號串 daout<=count;enhour_2<=(sethour and clk1);--sethour為手動調(diào)時(shí)控制信號,高電平有效 enhour<=(enhour_1 or enhour_2);PROCESS(clk,reset,sethour)BEGIN IF(reset='0')THEN--若reset為0,則異步清零 count<=“0000000”;ELSIF(clk'event and clk='1')THEN--否則,若clk上升沿到 IF(count(3 DOWNTO 0)=“1001”)THEN--若個(gè)位計(jì)時(shí)恰好到“1001”即9 IF(count <16#60#)THEN--又若count小于16#60#,即60 IF(count=“1011001”)THEN--又若已到59D enhour_1<='1';--則置進(jìn)位為1 count<=“0000000”;--count復(fù)0 ELSE count<=count+7;--若count未到59D,則加7,即作“加6校正” END IF;--使前面的16#60#的個(gè)位轉(zhuǎn)變?yōu)?421BCD的容量 ELSE count<=“0000000”;--count復(fù)0(有此句,則對無效狀態(tài)電路可自啟動)END IF;--END IF(count<16#60#)ELSIF(count <16#60#)THEN count<=count+1;--若count<16#60#則count加1 enhour_1<='0' after 100 ns;--沒有發(fā)生進(jìn)位 ELSE count<=“0000000”;--否則,若count不小于16#60# count復(fù)0 END IF;--END IF(count(3 DOWNTO 0)=“1001”)END IF;--END IF(reset='0')END process;END fun;

      3、時(shí)計(jì)數(shù)器模塊的VHDL語言:

      LIBRARY IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;

      IF(clk'event and clk='1')THEN IF(dain=“0000000”)THEN speak<=count1(1);IF(count1>=“10”)THEN count1<=“00”;--count1為三進(jìn)制加法計(jì)數(shù)器 ELSE count1<=count1+1;END IF;END IF;END IF;END PROCESS speaker;lamper:PROCESS(clk)BEGIN IF(rising_edge(clk))THEN IF(count<=“10”)THEN IF(count=“00”)THEN lamp<=“001”;--ELSIF(count=“01”)THEN lamp<=“010”;ELSIF(count=“10”)THEN lamp<=“100”;END IF;count<=count+1;ELSE count<=“00”;END IF;END IF;END PROCESS lamper;END fun;

      循環(huán)點(diǎn)亮三只燈

      第五篇:《EDA課程設(shè)計(jì)》

      《EDA課程設(shè)計(jì)》

      課程設(shè)計(jì)題目:

      基于單片機(jī)的溫濕度采集系統(tǒng)

      名:

      xxx

      學(xué)

      時(shí)

      號:

      xxxx

      級:

      xxxx

      間:

      2014.4.21~ 2013.5.5

      點(diǎn):

      xxxxx

      指 導(dǎo)

      師:

      xxxxx

      目錄

      一、電路原理圖..................................................................................2

      二、電路PCB圖(或?qū)嵨飯D).........................................................2

      三、電路效果圖..................................................................................3

      四、設(shè)計(jì)總結(jié)......................................................................................3 附錄(單片機(jī)源代碼)......................................................................4

      一、電路原理圖

      二、電路PCB圖(或?qū)嵨飯D)

      三、電路效果圖

      四、設(shè)計(jì)總結(jié)

      EDA的實(shí)驗(yàn)還是挺有趣的,比較講究動手能力,當(dāng)然也不能忽略團(tuán)體合作??偟膩碚f本次實(shí)驗(yàn)還是成功了,雖然每個(gè)環(huán)節(jié)都遇到了困難。在生成原理圖的過程中,就曾把導(dǎo)線畫成了Placeline而不是Placewire,還有芯片的引腳應(yīng)該用NET符號而不是用文本符號,所以這些錯(cuò)誤都導(dǎo)致我花在原理圖上的時(shí)間多了點(diǎn)。而在生成PCB電路圖的過程中遇到的困難則是自動布線之后,還有電源的幾個(gè)腳需要手動布線,所以各個(gè)元件之間的位置要布置好,以免發(fā)生短路。腐蝕的時(shí)候,由于腐蝕的時(shí)間太長了,有些碳都化開了,導(dǎo)致里面的銅被腐蝕掉了,所以又為我的工作增加了困難。在焊接的時(shí)候,要注意元件的正負(fù)極,還要檢測錫是否都與那些銅連接上了。最終把LED和 DHT11的程序燒進(jìn)去就行了。

      本次實(shí)驗(yàn)我還是能多多少少學(xué)到點(diǎn)什么的,總的來說還是希望能有多一點(diǎn)這樣的實(shí)習(xí)。

      附錄(單片機(jī)源代碼)

      //51單片機(jī)控制溫濕度傳感器DHT11

      LCD1602上顯示當(dāng)前機(jī)最小系統(tǒng)。//LCD 讀進(jìn)去 寫出來 #include #include typedef unsigned char BYTE;typedef unsigned int WORD;#define uint unsigned int

      //定義無符號整型 #define uchar unsigned char typedef bit BOOL;

      //此聲明一個(gè)布爾型變量即真或假// uchar data_byte,num,i;uchar RH,RL,TH,TL,flag;uchar shuzi[4];unsigned char code num1[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f};

      sbit dht=P2^4;

      //dht11data端接單片機(jī)的P2^4口//

      //***************

      時(shí)

      數(shù)************************************* void delay(uchar ms)//延時(shí)模塊//延時(shí)1毫秒

      {

      }

      void delay1()

      //一個(gè)for循環(huán)大概需要8個(gè)多機(jī)器周期

      //一個(gè)機(jī)器周期為1us晶振為12MHz也就是說本函數(shù)延時(shí)8us{

      } uchar i;

      while(ms--)

      for(i=0;i<110;i++);

      uchar i;

      for(i=0;i<1;i++);void display(void){ // if(flag==0)// {

      P2=0x07;

      P0=num1[shuzi[2]];delay(1);// }

      // if(flag==1)// {

      P2=0x0b;

      P0=num1[shuzi[3]];delay(1);// } // if(flag==2)// {

      P2=0x0d;

      P0=num1[shuzi[0]];delay(1);// } // if(flag==3)// {

      P2=0x0e;P0=num1[shuzi[1]];delay(1);// } }

      //**************************dht11

      塊*************************************// void start()//開始信號

      {

      dht=1;

      delay1();

      //主機(jī)發(fā)出8us高電平,開始信號開始發(fā)出 dht=0;

      delay(25);

      // 主機(jī)把總線拉低必須大于18ms

      DHT11能檢測到起始信號

      dht=1;

      //delay1();

      //以下三個(gè)延時(shí)函數(shù)差不多為24usdelay1();delay1();

      20-40us

      }

      uchar receive_byte()

      //接收一個(gè)字節(jié) 8位// {

      uchar i,temp;

      for(i=0;i<8;i++)//接收8bit的數(shù)據(jù)

      {

      while(!dht);

      //等待40-50us的低電平開始信號結(jié)束

      delay1();

      //開始信號結(jié)束之后延時(shí)26us-28us

      delay1();delay1();

      temp=0;

      //時(shí)間為26us-28usif(dht==1)

      temp=1;

      //如果26us-28us

      '0'

      數(shù)據(jù)為'1'

      while(dht);

      //

      '0'為26us-28us

      '1'為70us

      } data_byte<<=1;

      //data_byte|=temp;

      //接收每一位的數(shù)據(jù),相或保存數(shù)據(jù)

      return data_byte;}

      void receive()//接收數(shù)據(jù)// {

      uchar T_H,T_L,R_H,R_L,check,num_check,i;start();

      //開始信號//調(diào)用開始信號子函數(shù)

      dht=1;

      //主機(jī)設(shè)為輸入判斷從機(jī)DHT11響應(yīng)信號

      if(!dht)

      //判斷從機(jī)是否有低電平響應(yīng)信號// {

      while(!dht);//判斷從機(jī)發(fā)出 40us 的低電平響應(yīng)信號是否結(jié)束//

      while(dht);

      //判斷從機(jī)發(fā)出 40us 的高電平是否結(jié)束 如結(jié)束則從機(jī)進(jìn)入發(fā)送數(shù)據(jù)狀態(tài),主機(jī)進(jìn)入數(shù)據(jù)接收狀態(tài)

      數(shù)

      //兩個(gè)while語句加起來就是DHT11的響應(yīng)信號

      R_H=receive_byte();//濕度高位

      調(diào)用接受一個(gè)字節(jié)的子函

      R_L=receive_byte();//濕度低位

      T_H=receive_byte();//溫度高位

      T_L=receive_byte();//溫度低位

      check=receive_byte();//校驗(yàn)位

      //結(jié)束信號

      dht=0;

      //當(dāng)最后一bit數(shù)據(jù)接完畢后主機(jī)拉低電平50us// for(i=0;i<7;i++)//差不多8us的延時(shí)

      delay1();

      dht=1;

      //總線由上拉電阻拉高進(jìn)入空閑狀態(tài)

      num_check=R_H+R_L+T_H+T_L;

      if(num_check==check)//判斷讀到的四個(gè)數(shù)據(jù)之和是否與校驗(yàn)位相同

      {

      RH=R_H;

      RL=R_L;

      TH=T_H;

      TL=T_L;

      check=num_check;}

      shuzi[0]=RH/10;shuzi[1]=RH%10;shuzi[2]=TH/10;shuzi[3]=TH%10;

      } }

      void main()//主函數(shù)模塊// { while(1)

      //進(jìn)入死循環(huán)

      {

      receive();

      //接收數(shù)據(jù)

      display();

      } }

      下載EDA課程設(shè)計(jì)題目_圖文.(共5篇)word格式文檔
      下載EDA課程設(shè)計(jì)題目_圖文.(共5篇).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        EDA課程設(shè)計(jì)——數(shù)字頻率計(jì)(共5篇)

        燕 山 大 學(xué) EDA課程設(shè)計(jì)報(bào)告書 題目:數(shù)字頻率計(jì) 姓名:Eric 班級:09電子x班 學(xué)號: 090104020xxxx 成績: (注:此文件應(yīng)以同學(xué)學(xué)號為文件名) 一、設(shè)計(jì)題目及要求 1.輸入為矩形脈沖,頻率......

        eda課程設(shè)計(jì)最終30個(gè)題目 [5篇范例]

        要求三個(gè)及三個(gè)以下的必須完全達(dá)到要求。 多余三個(gè)要求的,至少達(dá)到三個(gè)要求。 帶星號要求的,做出來基本就是優(yōu)。 每人不能選重(一個(gè)班內(nèi))。1 數(shù)字頻率計(jì) 1) 設(shè)計(jì)一個(gè)能測量方波......

        eda課程設(shè)計(jì)5篇

        數(shù)字鐘 一、 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)數(shù)字鐘,具體要求如下: 1、 具有時(shí)、分、秒計(jì)數(shù)顯示功能,以24小時(shí)循環(huán)計(jì)時(shí)。 2、 具有清零、校時(shí)、校分功能。 3、 具有整點(diǎn)蜂鳴器報(bào)時(shí)以及LED花......

        EDA數(shù)字鐘課程設(shè)計(jì)

        課 程 設(shè) 計(jì) 報(bào) 告 設(shè)計(jì)題目:用VHDL語言實(shí)現(xiàn)數(shù)字鐘的設(shè)計(jì) 班 級:電子1002班 學(xué) 號:20102625 姓 名:于曉 指導(dǎo)教師:李世平、李寧 設(shè)計(jì)時(shí)間:2012年12月摘要 數(shù)字鐘是一種用數(shù)字電路......

        eda課程設(shè)計(jì)心得體會

        eda課程設(shè)計(jì)心得體會 寫心得體會是困擾很多人的問題,心中有很多想法,想說卻不知道怎么寫下來。下面本欄目搜集了eda課程設(shè)計(jì)心得體會,歡迎查看,希望幫助到大家。 eda課程設(shè)計(jì)心......

        EDA課程設(shè)計(jì)時(shí)鐘

        EDA課程設(shè)計(jì)姓名:學(xué)號:班級:自動化設(shè)計(jì)題目多功能數(shù)字鐘電路設(shè)計(jì)設(shè)計(jì)任務(wù)及要求多功能數(shù)字鐘應(yīng)該具有的功能有:顯示時(shí)—分—秒、小時(shí)和分鐘可調(diào)等基本功能。整個(gè)鐘表的工作應(yīng)該......

        《EDA課程設(shè)計(jì)》教學(xué)大綱

        設(shè)計(jì)四 拔河游戲機(jī) 1、 設(shè)計(jì)一個(gè)能進(jìn)行拔河游戲的電路。 2、 電路使用15個(gè)(或9個(gè))發(fā)光二極管,開機(jī)后只有中間一個(gè)發(fā)亮,此即拔河的中心點(diǎn)。 3、 游戲雙方各持一個(gè)按鈕,迅速地、......

        EDA課程設(shè)計(jì)論文

        目錄 一、 摘要 二、 概述 2.1目的與要求 2.2實(shí)驗(yàn)儀器與設(shè)備 2.3實(shí)驗(yàn)注意事項(xiàng) 2.4設(shè)計(jì)環(huán)境 三、 實(shí)驗(yàn)內(nèi)容 四、4位加法器設(shè)計(jì)實(shí)現(xiàn)過程 4.1元件選擇 4.2編輯半加器的原理圖......