第一篇:《EDA課程設(shè)計(jì)》教學(xué)大綱
設(shè)計(jì)四 拔河游戲機(jī)
1、設(shè)計(jì)一個能進(jìn)行拔河游戲的電路。
2、電路使用15個(或9個)發(fā)光二極管,開機(jī)后只有中間一個發(fā)亮,此即拔河的中心點(diǎn)。
3、游戲雙方各持一個按鈕,迅速地、不斷地按動,產(chǎn)生脈沖,誰按得快,亮點(diǎn)就向誰的方向移動,每按一次,亮點(diǎn)移動一次。
4、亮點(diǎn)移到任一方終端二極管時,這一方就獲勝,此時雙方按鈕均無作用,輸出保持,只有復(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ù)時,亮點(diǎn)向右移;進(jìn)行減法計(jì)數(shù)時,亮點(diǎn)向左移。
4、由一個控制電路指示誰勝誰負(fù),當(dāng)亮點(diǎn)移到任一方終端時,由控制電路產(chǎn)生一個信號,使計(jì)數(shù)器停止計(jì)數(shù)。
5、將雙方終端二極管“點(diǎn)亮”信號分別接兩個計(jì)數(shù)器的“使能”端,當(dāng)一方取勝時,相應(yīng)的計(jì)數(shù)器進(jìn)行一次計(jì)數(shù),這樣得到雙方取勝次數(shù)的顯示。
6、設(shè)置一個“復(fù)位”按鈕,使亮點(diǎn)回到中心,取勝計(jì)數(shù)器也要設(shè)置一個“復(fù)位”按鈕,使之能清零。
設(shè)計(jì)五 乒乓球比賽游戲機(jī)
1、設(shè)計(jì)一個由甲、乙雙方參賽,有裁判的3人乒乓球游戲機(jī)。
2、用8個(或更多個)LED排成一條直線,以中點(diǎn)為界,兩邊各代表參賽雙方的位置,其中一只點(diǎn)亮的LED指示球的當(dāng)前位置,點(diǎn)亮的LED依此從左到右,或從右到左,其移動的速度應(yīng)能調(diào)節(jié)。
3、當(dāng)“球”(點(diǎn)亮的那只LED)運(yùn)動到某方的最后一位時,參賽者應(yīng)能果斷地按下位于自己一方的按鈕開關(guān),即表示啟動球拍擊球。若擊中,則球向相反方向移動;若未擊中,則對方得1分。
4、一方得分時,電路自動響鈴3秒,這期間發(fā)球無效,等鈴聲停止后方能繼續(xù)比賽。
5、設(shè)置自動記分電路,甲、乙雙方各用2位數(shù)碼管進(jìn)行記分顯示,每計(jì)滿21分為1局。
6、甲、乙雙方各設(shè)一個發(fā)光二極管,表示擁有發(fā)球權(quán),每隔5次自動交換發(fā)球權(quán),擁有發(fā)球權(quán)的一方發(fā)球才有效。教學(xué)提示:
1、用雙向移位寄存器的輸出端控制LED顯示來模擬乒乓球運(yùn)動的軌跡,先點(diǎn)亮位于某一方的第1個LED,由擊球者通過按鈕輸入開關(guān)信號,實(shí)現(xiàn)移位方向的控制。
2、也可用計(jì)數(shù)譯碼方式實(shí)現(xiàn)乒乓球運(yùn)動軌跡的模擬,如利用加/減計(jì)數(shù)器的2個時鐘信號實(shí)現(xiàn)甲、乙雙方的擊球,由表示球拍的按鈕產(chǎn)生計(jì)數(shù)時鐘,計(jì)數(shù)器的輸出狀態(tài)經(jīng)譯碼驅(qū)動LED發(fā)亮。
3、任何時刻都保持一個LED發(fā)亮,若發(fā)亮的LED運(yùn)動到對方的終點(diǎn),但對方未能及時輸入信號使其向相反方向移動,即失去1分。
4、控制電路決定整個系統(tǒng)的協(xié)調(diào)動作,必須嚴(yán)格掌握各信號之間的關(guān)系。
設(shè)計(jì)六 交通信號等控制器
1、設(shè)計(jì)一個交通信號燈控制器,由一條主干道和一條支干道匯合成十字路口,在每個入口處設(shè)置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。
2、紅、綠、黃發(fā)光二極管作信號燈,用傳感器或邏輯開關(guān)作檢測車輛是否到來的信號。
3、主干道處于常允許通行的狀態(tài),支干道有車來時才允許通行。主干道亮綠燈時,支干道亮紅燈;支干道亮綠燈時,主干道亮紅燈。
4、主、支干道均有車時,兩者交替允許通行,主干道每次放行45秒,支干道每次放行25秒,設(shè)立45秒、25秒計(jì)時、顯示電路。
5、在每次由綠燈亮到紅燈亮的轉(zhuǎn)換過程中,要亮5秒黃燈作為過渡,使行駛中的車輛有時間停到禁行線外,設(shè)立5秒計(jì)時、顯示電路。教學(xué)提示:
1、主、支干道用傳感器檢測車輛到來情況,實(shí)驗(yàn)電路用邏輯開關(guān)代替。
2、選擇1HZ時鐘脈沖作為系統(tǒng)時鐘。
3、45秒、25秒、5秒定時信號可用順計(jì)時,也可用倒計(jì)時,計(jì)時起始信號由主控電路給出,每當(dāng)計(jì)滿所需時間,即向主控電路輸出“時間到”信號,并使計(jì)數(shù)器清零,由主控電路啟、閉三色信號燈或啟動另一計(jì)時電路。
4、主控電路是核心,這是一個時序電路,其輸入信號為:車輛檢測信號(A,B,;45秒、25秒、5秒定時信號(C,D,E),其輸出狀態(tài)控制相應(yīng)的三色燈。主控電路可以由兩個JK觸發(fā)器和邏輯門構(gòu)成,其輸出經(jīng)譯碼后,控制主干道三色燈R、G、Y和支干道三色燈r、g、y。
設(shè)計(jì)七 電子密碼鎖
1、設(shè)計(jì)一個密碼鎖的控制電路,當(dāng)輸入正確代碼時,輸出開鎖信號以推動執(zhí)行機(jī)構(gòu)工作,用紅燈亮、綠燈熄滅表示關(guān)鎖,用綠燈亮、紅燈熄滅表示開鎖;
2、在鎖的控制電路中儲存一個可以修改的4位代碼,當(dāng)開鎖按鈕開關(guān)(可設(shè)置成6位至8位,其中實(shí)際有效為4位,其余為虛設(shè))的輸入代碼等于儲存代碼時,開鎖;
3、從第一個按鈕觸動后的5秒內(nèi)若未將鎖打開,則電路自動復(fù)位并進(jìn)入自鎖狀態(tài),使之無法再打開,并由揚(yáng)聲器發(fā)出持續(xù)20秒的報(bào)警信號。教學(xué)提示:
1、該題的主要任務(wù)是產(chǎn)生一個開鎖信號,而開鎖信號的形成條件是,輸入代碼和已設(shè)密碼相同。實(shí)現(xiàn)這種功能的電路構(gòu)思有多種,例如,用兩片8位鎖存器,一片存入密碼,另一片輸入開鎖的代碼,通過比較的方式,若兩者相等,則形成開鎖信號。
2、在產(chǎn)生開鎖信號后,要求輸出聲、光信號,聲音的產(chǎn)生由開鎖信號觸動揚(yáng)聲器工作,光信號由開鎖信號點(diǎn)亮LED指示燈;
3、用按鈕開關(guān)的第一個動作信號觸發(fā)一個5秒定時器,若5秒內(nèi)無開鎖信號產(chǎn)生,讓揚(yáng)聲器發(fā)出特殊音響,以示警告,并輸出一個信號推動LED不斷閃爍。
設(shè)計(jì)八 彩燈控制器
1、設(shè)計(jì)一個彩燈控制器,使彩燈(LED管)能連續(xù)發(fā)出四種以上不同的顯示形式;
2、隨著彩燈顯示圖案的變化,發(fā)出不同的音響聲。教學(xué)提示:
1、彩燈顯示的不同形式可由不同進(jìn)制計(jì)數(shù)器驅(qū)動LED顯示完成;
2、音響由選擇不同頻率CP脈沖驅(qū)動揚(yáng)聲器形成。
設(shè)計(jì)九 脈沖按鍵電話顯示器
1、設(shè)計(jì)一個具有8位顯示的電話按鍵顯示器;
2、能準(zhǔn)確地反映按鍵數(shù)字;
3、顯示器顯示從低位向高位前移,逐位顯示按鍵數(shù)字,最低位為當(dāng)前輸入位;
4、*設(shè)置一個“重?fù)堋辨I,按下此鍵,能顯示最后一次輸入的電話號碼;
5、*掛機(jī)2秒后或按熄滅按鍵,熄滅顯示器顯示。教學(xué)提示:
1、利用中規(guī)模計(jì)數(shù)器的予置數(shù)功能可以實(shí)現(xiàn)不同的按鍵對應(yīng)不同的數(shù)字;
2、設(shè)置一個計(jì)數(shù)器記錄按鍵次數(shù),從而實(shí)現(xiàn)數(shù)字顯示的移位。
設(shè)計(jì)十 簡易電子琴
1、設(shè)計(jì)一個簡易電子琴;
2、利用實(shí)驗(yàn)箱的脈沖源產(chǎn)生1,2,3。。共7個或14個音階信號;
3、用指示燈顯示節(jié)拍;
4、*能產(chǎn)生顫音效果。教學(xué)提示:
1、各音階信號由脈沖源經(jīng)分頻得到。
設(shè)計(jì)十一 出租車自動計(jì)費(fèi)器
1、設(shè)計(jì)一個出租車自動計(jì)費(fèi)器,具有行車?yán)锍逃?jì)費(fèi)、等候時間計(jì)費(fèi)、及起價三部分,用四位數(shù)碼管顯示總金額,最大值為99。99元;
2、行車?yán)锍虇蝺r1元/公里,等候時間單價0。5元/10分鐘,起價3元(3公里起價)均能通過人工輸入。
3、行車?yán)锍痰挠?jì)費(fèi)電路將汽車行駛的里程數(shù)轉(zhuǎn)換成與之成正比的脈沖數(shù),然后由計(jì)數(shù)譯碼電路轉(zhuǎn)換成收費(fèi)金額,實(shí)驗(yàn)中以一個脈沖模擬汽車前進(jìn)十米,則每100個脈沖表示1公里,然后用BCD碼比例乘法器將里程脈沖乘以每公里單價的比例系數(shù),比例系數(shù)可由開關(guān)預(yù)置。例如單價是1。0元/公里,則脈沖當(dāng)量為0。01元/脈沖。
4、用LED顯示行駛公里數(shù),兩個數(shù)碼管顯示收費(fèi)金額。
教學(xué)提示:
1、等候時間計(jì)費(fèi)需將等候時間轉(zhuǎn)換成脈沖個數(shù),用每個脈沖表示的金額與脈沖數(shù)相乘即得計(jì)費(fèi)數(shù),例如100個脈沖表示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個。
2、用LED顯示等候時間,兩個數(shù)碼管表示等候時間收費(fèi)金額。
3、用加法器將幾項(xiàng)收費(fèi)相加,P=P1+P2+P3,4、P1為起價,P2為行車?yán)锍逃?jì)費(fèi),P3為等候時間計(jì)費(fèi),用兩個數(shù)碼管表示結(jié)果。
設(shè)計(jì)十二 洗衣機(jī)控制器
1、設(shè)計(jì)一個電子定時器,控制洗衣機(jī)作如下運(yùn)轉(zhuǎn):定時啟動?正轉(zhuǎn)20秒?暫停10秒?反轉(zhuǎn)20秒?暫停10秒?定時未到回到“正轉(zhuǎn)20秒?暫停10秒?……”,定時到則停止;
2、若定時到,則停機(jī)發(fā)出音響信號;
3、用兩個數(shù)碼管顯示洗滌的預(yù)置時間(分鐘數(shù)),按倒計(jì)時方式對洗滌過程作計(jì)時顯示,直到時間到停機(jī);洗滌過程由“開始”信號開始;
4、三只LED燈表示“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫停”三個狀態(tài)。
教學(xué)提示:
1、設(shè)計(jì)20秒、10秒定時電路。
2、電路輸出為“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫?!比齻€狀態(tài)。
3、按照設(shè)計(jì)要求,用定時器的“時間到”信號啟動相應(yīng)的下一個定時器工作,直到整個過程結(jié)束。
建議選用教材和參考書目
選用教材: 《電子技術(shù)實(shí)驗(yàn)指導(dǎo)書》,李國麗,朱維勇主編。中國科技大學(xué)出版社 主要參考書:《電子技術(shù)基礎(chǔ)
模擬部分》(第四版),康華光主編,高教出版社
《數(shù)字電子技術(shù)基礎(chǔ)》(第四版),閻石主編,高教出版社
第二篇:《EDA技術(shù)》課程設(shè)計(jì)教學(xué)大綱
成都大學(xué)課程設(shè)計(jì)教學(xué)大綱
課程設(shè)計(jì)名稱: 《EDA技術(shù)課程設(shè)計(jì)》 課程代碼: 學(xué) 分: 1 總學(xué)時/周數(shù): 1周
適用專業(yè): 電子工程、通信工程、自動化等專業(yè)
一、課程設(shè)計(jì)目的與任務(wù)
本課程設(shè)計(jì)是在學(xué)完EDA技術(shù)課程后的必修課程,它的教學(xué)目的和任務(wù)是綜合利用所學(xué)EDA技術(shù)知識完成一個具有完整功能的電子系統(tǒng)設(shè)計(jì),從系統(tǒng)頂層模塊的劃分、各功能模塊的硬件語言描述(編程)、各模塊及整體電路仿真、到最后下載到可編程器件實(shí)現(xiàn)真實(shí)的電路,讓學(xué)生親自體驗(yàn)一次采用現(xiàn)代電子設(shè)計(jì)自動化技術(shù)完成一個電子系統(tǒng)設(shè)計(jì)的全過程。讓學(xué)生得到一次自主使用VHDL語言描述電路功能的訓(xùn)練機(jī)會,從而提高對VHDL語言的使用能力,加深對仿真在設(shè)計(jì)中的重要作用的認(rèn)識,提高對使用Max+plus2EDA軟件工具的熟練程度,最終獲得初步的電子系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn),為畢業(yè)設(shè)計(jì)和將來從事電子設(shè)計(jì)的相關(guān)工作打下基礎(chǔ)
二、課程設(shè)計(jì)基本要求
本課程設(shè)計(jì),采用以學(xué)生自主設(shè)計(jì)為主教師指導(dǎo)為輔的原則,讓學(xué)生有一個充分發(fā)揮自我想像的空間,設(shè)計(jì)分階段進(jìn)行,在獨(dú)立力完成了方案設(shè)計(jì)后,組織一次交流討論會,互相啟發(fā)開闊設(shè)計(jì)思路,盡可能使學(xué)生在這個具有創(chuàng)新思維、難度最高的設(shè)計(jì)環(huán)節(jié)獲得更多的收益,通過該課程設(shè)計(jì)更深入更全面地提高使用Max+plus2軟件工具完成設(shè)計(jì)全過程的熟練程度,尤其是要提高仿真和試驗(yàn)開發(fā)系統(tǒng)的使用能力,設(shè)計(jì)最終要做出真實(shí)電路并上電檢測其功能和性能指標(biāo)是否達(dá)到了預(yù)定的目標(biāo),最后寫出課程設(shè)計(jì)報(bào)告。
三、課程設(shè)計(jì)選題原則
所選題目應(yīng)是社會生活、生產(chǎn)中常見的、學(xué)生易于理解和把握且感興趣的、對所學(xué)知識盡可能綜合全面派上用場的、難易程度適中的、一周時間能夠完成的的題目。
四、課程設(shè)計(jì)內(nèi)容及時間安排
1.設(shè)計(jì)內(nèi)容:根據(jù)具體設(shè)計(jì)題目和提出的功能性能指標(biāo)要求,查閱相應(yīng)參考資料,將所設(shè)計(jì)的電路系統(tǒng)劃分成若干功能模塊完成頂層結(jié)構(gòu)設(shè)計(jì)(方案設(shè)計(jì)),對各功能模塊用硬件描述語言描述以完成程序設(shè)計(jì),對個功能模塊及電路系統(tǒng)整體做仿真設(shè)計(jì)以驗(yàn)證其正誤,將設(shè)計(jì)文件下載至可編程邏輯器件在實(shí)驗(yàn)開發(fā)裝置上檢測功能性能指標(biāo)以完成真實(shí)電路的設(shè)計(jì)。寫出課程設(shè)計(jì)報(bào)告,其中要有頂層結(jié)構(gòu)圖,各功能模塊的程序,各功能模塊和整個電路系統(tǒng)的仿真波形圖,并對這些設(shè)計(jì)圖紙和設(shè)計(jì)程序所表達(dá)的邏輯思想、工作原理給以說明,寫出設(shè)計(jì)步驟和設(shè)計(jì)心得。2.課程設(shè)計(jì)時間:開始設(shè)計(jì)的前一周公布設(shè)計(jì)題目下達(dá)設(shè)計(jì)任務(wù),用半周時間完成方案設(shè)計(jì)、程序設(shè)計(jì),另外半周完成仿真、下載、測試。
五、課程設(shè)計(jì)主要參考資料
潘松 黃繼業(yè) 編著《EDA技術(shù)使用教程》(第二版)科學(xué)出版社 2005。
王振紅主編《VHDL數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程》機(jī)械工業(yè)出版社,2006年。
六、課程設(shè)計(jì)考核方式及成績評定
考核成績由兩部分組成:現(xiàn)場檢測設(shè)計(jì)出的真實(shí)電路占50%,課程設(shè)計(jì)報(bào)告占50%。
大綱撰寫人: 楊顯富 系(教研室):(簽字)學(xué)院學(xué)術(shù)委員會意見:(簽字)
學(xué)院審核:(簽字、蓋章)年 月 日
注:請?jiān)邳S色顯示的區(qū)域里用“仿宋 五號”字體填寫。
第三篇:沈陽理工大學(xué) EDA技術(shù)課程設(shè)計(jì)教學(xué)大綱
《EDA技術(shù)課程設(shè)計(jì)》課程教學(xué)大綱
課程代碼:030351001 課程英文名稱:Course Design of EDA Techniques
課程總學(xué)時:2周 講課:□□ 實(shí)驗(yàn):□□ 上機(jī):□□ 適用專業(yè):電子信息工程專業(yè)
大綱編寫(修訂)時間:2010年6月
一、大綱使用說明
本大綱根據(jù)電子信息工程專業(yè)2010版教學(xué)計(jì)劃制定。
(一)適用專業(yè)
電子信息工程專業(yè)。
(二)課程設(shè)計(jì)性質(zhì)
必修。
(三)主要先修課和后續(xù)課程
先修課:《數(shù)字電路》、《EDA技術(shù)》
后續(xù)課:《微機(jī)原理與接口》、《畢業(yè)設(shè)計(jì)》
二、課程設(shè)計(jì)目的及基本要求
本課程設(shè)計(jì)是為配合《EDA技術(shù)》課程的學(xué)習(xí)而設(shè)立的,通過本課程設(shè)計(jì),可使學(xué)生更加深刻地理解《EDA技術(shù)》課程講述的內(nèi)容;培養(yǎng)學(xué)生獨(dú)立思考、解決實(shí)際工程問題的能力;提高學(xué)生用硬件描述語言設(shè)計(jì)電路的能力,為后續(xù)專業(yè)課程學(xué)習(xí)打下堅(jiān)實(shí)基礎(chǔ)。
①使學(xué)生掌握利用熟悉一種到兩種EDA軟件進(jìn)行電子系統(tǒng)設(shè)計(jì)的基本方法和技巧,即能熟練進(jìn)行設(shè)計(jì)輸入、編譯、管腳分配、下載等過程,具備初步的獨(dú)立設(shè)計(jì)能力;
② 學(xué)會查閱技術(shù)資料和手冊,合理選用設(shè)計(jì)方案、線路和器件; ③ 培養(yǎng)學(xué)生獨(dú)立分析和解決問題的能力; ④ 使學(xué)生掌握一定的設(shè)計(jì)與實(shí)踐技能;
⑤ 撰寫規(guī)范的設(shè)計(jì)總結(jié)報(bào)告,培養(yǎng)嚴(yán)謹(jǐn)?shù)淖黠L(fēng)和科學(xué)的態(tài)度。
三、課程設(shè)計(jì)內(nèi)容及安排
課程設(shè)計(jì)內(nèi)容主要依托于EDA技術(shù)課程,課程設(shè)計(jì)題目涉及了眾多類的設(shè)計(jì)問題,具體內(nèi)容應(yīng)該由課程設(shè)計(jì)指導(dǎo)書進(jìn)行詳細(xì)闡述。
選題要符合本課程的教學(xué)要求,通常應(yīng)包含EDA技術(shù)課程主要內(nèi)容,并強(qiáng)調(diào)各部分知識的綜合應(yīng)用。注意選題內(nèi)容的先進(jìn)性、綜合性、實(shí)踐性,應(yīng)適合實(shí)踐教學(xué)和啟發(fā)創(chuàng)新,選題內(nèi)容不應(yīng)太簡單,難度要適中;最好結(jié)合工程實(shí)際情況進(jìn)行選題,反映EDA技術(shù)的新水平,并且有一定的實(shí)用價值;成果宜具有相對完整功能。
課程設(shè)計(jì)的具體實(shí)施安排可以采用兩種形式,一種是每人獨(dú)立完成分配給自己的課程設(shè)計(jì)題目,這適用于題目工作量要求不高的情況;另一種是采用分組的方式,將學(xué)生2~3人為一組,完成一組綜合題或一道工作量要求較高的題目。具體采用那種方式可以在進(jìn)行課程設(shè)計(jì)安排時可以靈活掌握,要注意的是盡量爭取學(xué)生課程設(shè)計(jì)的題目不一樣,從而避免課程設(shè)計(jì)成果雷同,降低課程學(xué)習(xí)效果。
通過兩周的課程設(shè)計(jì),學(xué)生完成面向?qū)ο笳n程設(shè)計(jì)題目,教師最終對學(xué)生提交的軟件和課程設(shè)計(jì)報(bào)告進(jìn)行驗(yàn)收。
四、指導(dǎo)方式
① 選定設(shè)計(jì)課題,下達(dá)設(shè)計(jì)任務(wù)
選題可由指導(dǎo)教師選定,或由指導(dǎo)教師提供幾個選題供學(xué)生選擇;也可由學(xué)生自己選題,但學(xué)生選題需通過指導(dǎo)教師批準(zhǔn)。課題應(yīng)在設(shè)計(jì)周之前提前公布,以便學(xué)生有充分的設(shè)計(jì)準(zhǔn)備時間。
指導(dǎo)教師在公布課程設(shè)計(jì)課題時一般應(yīng)包括以下內(nèi)容:課題名稱、設(shè)計(jì)任務(wù)、技術(shù)指標(biāo)和要求、主要參考文獻(xiàn)等內(nèi)容。
② 教師講解
a.介紹課程設(shè)計(jì)的內(nèi)容、要求、安排、考核方法、注意事項(xiàng)
b.講授必要的課題背景和相關(guān)知識、原理。著重幫助學(xué)生明確任務(wù),理解電子系統(tǒng)的一般設(shè)計(jì)方法、安裝、調(diào)測方法。
③ 學(xué)生查詢資料,并進(jìn)行設(shè)計(jì)
設(shè)計(jì)內(nèi)容:系統(tǒng)總體設(shè)計(jì)方案;系統(tǒng)分析與設(shè)計(jì)(各模塊及其頂層文件的設(shè)計(jì)、編程);完整的系統(tǒng)框圖;調(diào)測方案、步驟等。
④ 教師審查
審查設(shè)計(jì)方案是否合理、正確、可行,否則要求調(diào)整或整改。教師記錄學(xué)生的相應(yīng)成績。⑤ 學(xué)生上機(jī)調(diào)試和下載
通過教師審查后,即開始調(diào)試。學(xué)生根據(jù)編寫的程序,上機(jī)調(diào)試和下載測試,調(diào)試工作原則上由學(xué)生獨(dú)立,完成對理論設(shè)計(jì)進(jìn)行時序仿真和優(yōu)化。教師以兼顧培養(yǎng)學(xué)生的獨(dú)立工作能力和在規(guī)定時間內(nèi)完成設(shè)計(jì)任務(wù)為宗旨,視具體情況給予適當(dāng)指導(dǎo)。應(yīng)對實(shí)踐紀(jì)律和態(tài)度提出嚴(yán)格要求,督促、激發(fā)、引導(dǎo)學(xué)生圓滿完成實(shí)踐任務(wù)。
五、課程設(shè)計(jì)考核方法及成績評定
課程設(shè)計(jì)考核成績由三個方面組成:
(一)學(xué)生出勤成績
學(xué)生出勤成績根據(jù)學(xué)生在課程設(shè)計(jì)上課期間的出勤記錄進(jìn)行評定,占最終成績的20%。
(二)課程設(shè)計(jì)答辯成績
課程設(shè)計(jì)答辯成績根據(jù)指導(dǎo)教師對于學(xué)生編寫的程序質(zhì)量及學(xué)生對于老師問題的回答情況進(jìn)行評定,占最終成績的40%。
學(xué)生在系統(tǒng)達(dá)到功能和指標(biāo)要求后,保持系統(tǒng)的測量現(xiàn)場,申請指導(dǎo)教師驗(yàn)收。對達(dá)到設(shè)計(jì)指標(biāo)要求的,教師將對其綜合應(yīng)用能力和實(shí)驗(yàn)?zāi)芰M(jìn)行簡單的答辯考查,然后給出實(shí)際操作分。未達(dá)到設(shè)計(jì)指標(biāo)要求的,則要求其調(diào)整和改進(jìn),直到達(dá)標(biāo)。要求仿真結(jié)果符合課程設(shè)計(jì)選題的要求,并能在調(diào)試基礎(chǔ)上進(jìn)行優(yōu)化設(shè)計(jì),電路圖布局合理,線路清楚。
(三)課程設(shè)計(jì)論文成績
課程設(shè)計(jì)論文成績根據(jù)學(xué)生的論文質(zhì)量由指導(dǎo)教師進(jìn)行評定,占最終成績的40% 課程設(shè)計(jì)最終的成績=學(xué)生出勤成績×20%+課程設(shè)計(jì)答辯成績×40%+課程設(shè)計(jì)論文成績×40%。課程設(shè)計(jì)的成績可以采用百分制整數(shù)形式,也可采用優(yōu)良制形式。在采用優(yōu)良制成績時,由計(jì)算出的百分制成績轉(zhuǎn)換成相應(yīng)的優(yōu)良制成績。
學(xué)生對設(shè)計(jì)的全過程做出系統(tǒng)的報(bào)告,按統(tǒng)一格式寫出設(shè)計(jì)報(bào)告。撰寫設(shè)計(jì)報(bào)告能訓(xùn)練學(xué)生編制科技報(bào)告或技術(shù)資料的能力,同時也能使設(shè)計(jì)從理論上進(jìn)一步得到總結(jié)提高,所以設(shè)計(jì)報(bào)告必須獨(dú)立完成。
課程設(shè)計(jì)報(bào)告應(yīng)包括的主要內(nèi)容有: ① 設(shè)計(jì)題目; ② 設(shè)計(jì)目的;
③ 設(shè)計(jì)任務(wù)及主要技術(shù)指標(biāo)和要求; ④ 設(shè)計(jì)思想說明;
⑤ 程序清單、時序仿真、結(jié)果分析等。
⑥ 對設(shè)計(jì)成果做出評價,說明本設(shè)計(jì)的特點(diǎn)和存在問題,提出改進(jìn)設(shè)計(jì)意見; ⑦ 通過課程設(shè)計(jì)所得到的收獲和體會; ⑧主要參考文獻(xiàn)。
課程設(shè)計(jì)報(bào)告應(yīng)認(rèn)真、規(guī)范、正確。
六、課程設(shè)計(jì)教材及主要參考書目
《EDA技術(shù)實(shí)用教程》(第二版),潘松編,科學(xué)出版社,2004 《電子電路EDA技術(shù)》,趙世強(qiáng)編,西安電子科技大學(xué)出版社,2002 《EDA技術(shù)及應(yīng)用》,潭會生編,西安電子科技大學(xué)出版社,2003 《EDA技術(shù)與應(yīng)用》,汪國強(qiáng)等編著,電子工業(yè)出版社,2005 《EDA技術(shù)習(xí)題與實(shí)驗(yàn)》,汪國強(qiáng)等編著,電子工業(yè)出版社,2005
編寫人: 王紅 魏英姿 周帆
審核人: 胡玉蘭 批準(zhǔn)人: 張煥君
第四篇:EDA 課程設(shè)計(jì)
《電子系統(tǒng)設(shè)計(jì)自動化》課程設(shè)計(jì)報(bào)告
學(xué) 院: 機(jī)電工程學(xué)院
題 目: 數(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眉尚酒?。本次?shí)習(xí)利用QuartusII為設(shè)計(jì)軟件、VHDL為硬件描述語言,結(jié)合所學(xué)的數(shù)字電路的知識設(shè)計(jì)一個24時多功能數(shù)字鐘,具有正常時、分、秒計(jì)時,動態(tài)顯示,清零、快速校時校分、整點(diǎn)報(bào)時、花樣顯示等功能。利用硬件描述語言VHDL對設(shè)計(jì)系統(tǒng)的各個子模塊進(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ǔ)的一個部分。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)行至少一 個電子技術(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)具有時、分、秒計(jì)數(shù)顯示功能,以24小時循環(huán)計(jì)時。(2)時鐘計(jì)數(shù)顯示時有LED燈的花樣顯示。(3)具有調(diào)節(jié)小時、分鐘、秒及清零的功能。(4)具有整點(diǎn)報(bào)時功能。
1.3 總體方框圖:
本系統(tǒng)可以由秒計(jì)數(shù)器、分鐘計(jì)數(shù)器、小時計(jì)數(shù)器、整點(diǎn)報(bào)時、分的調(diào)整以及小時的調(diào)整和一個頂層文件構(gòu)成。采用自頂向下的設(shè)計(jì)方法,子模塊利用VHDL語言設(shè)計(jì),頂層文件用原理圖的設(shè)計(jì)方法。顯示:小時采用24進(jìn)制,而分鐘均是采用6進(jìn)制和10進(jìn)制的組合。1.4 設(shè)計(jì)原理:
數(shù)字鐘電路設(shè)計(jì)要求所設(shè)計(jì)電路就有以下功能:時、分、秒計(jì)時顯示,清零,時、分調(diào)節(jié),整點(diǎn)報(bào)時及花樣顯示。分、秒計(jì)時原理相似,可以采用60進(jìn)制BCD碼計(jì)數(shù)器進(jìn)計(jì)時;小時采用24進(jìn)制BCD碼進(jìn)行計(jì)時;在設(shè)計(jì)時采用試驗(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)時鐘計(jì)數(shù):完成時、分、秒的正確計(jì)時并且顯示所計(jì)的數(shù)字;對秒、分——60進(jìn)制計(jì)數(shù),即從0到59循環(huán)計(jì)數(shù),時鐘——24進(jìn)制計(jì)數(shù),即從0到23循環(huán)計(jì)數(shù),并且在數(shù)碼管上顯示數(shù)值。
2.2 模塊劃分自頂向下分解
2.3 模塊描述
時鐘計(jì)時模塊完成時、分、秒計(jì)數(shù),及清零、調(diào)節(jié)時和分鐘的功能。時、分、秒計(jì)數(shù)的原理相同,均為BCD碼輸出的計(jì)數(shù)器,其中分和秒均為六十進(jìn)制BCD碼計(jì)數(shù)器,小時為二十四進(jìn)制BCD碼計(jì)數(shù)器。設(shè)計(jì)一個具有異步清零和設(shè)置輸出功能的六十進(jìn)制BCD碼計(jì)數(shù)器,再設(shè)計(jì)一個具有異步清零和設(shè)置輸出功能的二十四進(jìn)制計(jì)數(shù)器,然后將它們通過一定的組合構(gòu)成時鐘計(jì)時模塊。各個輸入/輸出端口的作用為:
(1)clk為計(jì)時時鐘信號,reset為異步清零信號;
(2)sethour為小時設(shè)置信號,setmin為分鐘設(shè)置信號;(3)daout[5?0]為小時的BCD碼輸出, daout[6...0]為秒和分鐘的BCD碼輸出,enmin和enhour為使能輸出信號。
(4)在時鐘整點(diǎn)的時候產(chǎn)生揚(yáng)聲器驅(qū)動信號和花樣顯示信號。由時鐘計(jì)時模塊中分鐘的進(jìn)行信號進(jìn)行控制。當(dāng)contr_en為高電平時,將輸入信號clk送到輸出端speak用于驅(qū)動揚(yáng)聲器,同時在clk的控制下,輸出端lamp[2..0]進(jìn)行循環(huán)移位,從而控制LED燈進(jìn)行花樣顯示。輸出控制模塊有揚(yáng)聲器控制器和花樣顯示控制器兩個子模塊組成 2.4 頂層電路圖
頂層文件是由四個模塊組成,分別是時、分、秒計(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ā)出一個分脈沖信號,該信號將作為分計(jì)數(shù)器的時鐘脈沖,daout代表秒輸出。
(2)分計(jì)數(shù)器電路仿真圖:也采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60分鐘,發(fā)出一個時脈沖信號,該信號將被送到時計(jì)數(shù)器,daout端口代表分鐘輸出
(3)小時計(jì)數(shù)器電路仿真圖:時計(jì)數(shù)器采用12進(jìn)制計(jì)時器,可實(shí)現(xiàn)對24小時累 計(jì)。每累計(jì)12小時,發(fā)出一個脈沖信號。
引腳配置完成后再進(jìn)行一次全程編譯,無誤則可以下載到試驗(yàn)箱上進(jìn)行硬件測試。硬件驗(yàn)證的方法如下:選擇實(shí)驗(yàn)?zāi)J?;時鐘脈沖clk與clock0(1024Hz)信號相連;鍵8和鍵5均為低電平,時鐘正常計(jì)時,數(shù)碼管1和2顯示秒,數(shù)碼管4和5顯示分鐘,數(shù)碼管7和8顯示小時;鍵8為高電平時,時鐘清零;鍵5為高電平時,按下鍵7和鍵4進(jìn)行調(diào)時調(diào)分操作;當(dāng)時鐘為整點(diǎn)的時候,三個發(fā)光二極管進(jìn)行循環(huán)移位操作,同時揚(yáng)聲器發(fā)聲。
五、心得體會
經(jīng)過源程序的編輯、邏輯綜合、邏輯適配、編程下載成功后,在EDA實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行硬件驗(yàn)證時卻發(fā)現(xiàn)實(shí)驗(yàn)結(jié)果不正確,揚(yáng)聲器無法發(fā)聲。經(jīng)檢查,自己設(shè)計(jì)的管腳文件有錯。將管腳鎖定文件修改后,重新進(jìn)行邏輯適配、編程下載成功后,實(shí)驗(yàn)結(jié)果仍然不正確,百思不得其解。無奈之下,決定重頭開始排查每一步的細(xì)節(jié),確定各個模塊的功能完全實(shí)現(xiàn)并且頂層模塊功能正確。修改之后,重新進(jìn)行邏輯適配、編程下載驗(yàn)證,實(shí)驗(yàn)結(jié)果完全正確。
這次EDA課程設(shè)計(jì)歷時兩個星期,在整整兩個星期的日子里,不僅鞏固了以前所學(xué)過的知識,而且學(xué)到了很多書本上學(xué)不到的知識,同時鍛煉了自己的能力,使自己對以后的路有了更加清楚的認(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的知識還沒有充分的掌握,遇到困難也是在所難免的,同時發(fā)現(xiàn)了自己的不足之處:學(xué)習(xí)知識表面化,沒有深入了解它們的原理??偟膩碚f,這次設(shè)計(jì)的數(shù)字時鐘電路還是比較成功的,盡管在設(shè)計(jì)中遇到了很多問題,最后在老師的辛勤指導(dǎo)、同學(xué)的幫助和自己不斷思考下,終于迎刃而解,有點(diǎn)小小的成就感,覺得平時所學(xué)的知識有了實(shí)用的價值,達(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分時的進(jìn)位信號 BEGIN--enmin_2由clk調(diào)制后的手動調(diào)時脈沖信號串 daout<=count;enhour_2<=(sethour and clk1);--sethour為手動調(diào)時控制信號,高電平有效 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--若個位計(jì)時恰好到“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#的個位轉(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、時計(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é)
班
時
地
號:
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)體合作。總的來說本次實(shí)驗(yàn)還是成功了,雖然每個環(huán)節(jié)都遇到了困難。在生成原理圖的過程中,就曾把導(dǎo)線畫成了Placeline而不是Placewire,還有芯片的引腳應(yīng)該用NET符號而不是用文本符號,所以這些錯誤都導(dǎo)致我花在原理圖上的時間多了點(diǎn)。而在生成PCB電路圖的過程中遇到的困難則是自動布線之后,還有電源的幾個腳需要手動布線,所以各個元件之間的位置要布置好,以免發(fā)生短路。腐蝕的時候,由于腐蝕的時間太長了,有些碳都化開了,導(dǎo)致里面的銅被腐蝕掉了,所以又為我的工作增加了困難。在焊接的時候,要注意元件的正負(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
//定義無符號整型 #define uchar unsigned char typedef bit BOOL;
//此聲明一個布爾型變量即真或假// 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ù)************************************* void delay(uchar ms)//延時模塊//延時1毫秒
{
}
void delay1()
//一個for循環(huán)大概需要8個多機(jī)器周期
//一個機(jī)器周期為1us晶振為12MHz也就是說本函數(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();
//以下三個延時函數(shù)差不多為24usdelay1();delay1();
20-40us
}
uchar receive_byte()
//接收一個字節(jié) 8位// {
uchar i,temp;
for(i=0;i<8;i++)//接收8bit的數(shù)據(jù)
{
while(!dht);
//等待40-50us的低電平開始信號結(jié)束
delay1();
//開始信號結(jié)束之后延時26us-28us
delay1();delay1();
temp=0;
//時間為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ù)
//兩個while語句加起來就是DHT11的響應(yīng)信號
R_H=receive_byte();//濕度高位
調(diào)用接受一個字節(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的延時
delay1();
dht=1;
//總線由上拉電阻拉高進(jìn)入空閑狀態(tài)
num_check=R_H+R_L+T_H+T_L;
if(num_check==check)//判斷讀到的四個數(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();
} }