數(shù)字溫度計(jì)課程設(shè)計(jì)_第1頁
數(shù)字溫度計(jì)課程設(shè)計(jì)_第2頁
數(shù)字溫度計(jì)課程設(shè)計(jì)_第3頁
數(shù)字溫度計(jì)課程設(shè)計(jì)_第4頁
數(shù)字溫度計(jì)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于FPGA/CPLD的課程設(shè)計(jì),數(shù)字溫度計(jì),設(shè)計(jì)介紹,基于FPGA的數(shù)字溫度計(jì),通過EP2CQ208C8N開發(fā)板及D18B20溫度傳感器,測量周圍環(huán)境的當(dāng)前溫度。顯示在八段數(shù)碼管上 當(dāng)前溫度到達(dá)預(yù)設(shè)值,蜂鳴器報(bào)警一聲,同時(shí)8個(gè)LED燈會(huì)依次亮起,而后熄滅,設(shè)計(jì)方案,鑒于要測量溫度, 而開發(fā)板沒有測量溫度的設(shè)備, 所以最基本是要添加外設(shè)數(shù)字溫度 傳感器 ds18b20。ds18b20外形與三極管一樣,一只腳傳輸數(shù)據(jù),另外兩只腳分別接地與高電平使之工作。 Ds18b20實(shí)時(shí)測得的室溫將轉(zhuǎn)化成9到12位的串行數(shù)據(jù),對(duì)串行數(shù)據(jù)進(jìn)行“翻譯”就可以得出實(shí)時(shí)室溫。顯示在八段數(shù)碼管上。 預(yù)設(shè)溫度為29度(便

2、于測試),當(dāng)環(huán)境溫度29時(shí),蜂鳴器響一聲,LED依次亮起,而后熄滅。 程序的編寫用用模塊化的方式。通過建立模塊,使得在編寫程序的時(shí)候調(diào)理更加清晰容易讀懂,找出錯(cuò)誤。,模塊實(shí)現(xiàn),時(shí)鐘:為了在初始化程序的編寫方面那些延時(shí)比較直觀準(zhǔn)確和七段顯示管的顯示正常工作,我們?cè)O(shè)置了兩個(gè)時(shí)鐘分頻模塊。把原開發(fā)板上5MHZ的始終頻率分成1MHZ和10KHZ,前者為串行數(shù)據(jù)處理與ds18b20初始化模塊提供時(shí)鐘,后者為并行數(shù)據(jù)處理與顯示模塊提供時(shí)鐘。 并行數(shù)據(jù)處理與顯示:數(shù)碼管的溫度顯示方面,編程可以比較獨(dú)立,為容易查錯(cuò),所以獨(dú)立設(shè)置了一個(gè)模塊。數(shù)碼管的七段的七位輸入是一樣的, 所以要在四個(gè)數(shù)碼管上顯示不同的數(shù)字需

3、要逐個(gè)掃描, 每個(gè)時(shí)鐘周期只選通一個(gè)數(shù)碼管,然后輸入要顯示的數(shù)字的七位碼。 報(bào)警功能:報(bào)警功能的實(shí)現(xiàn)與最高最低溫的記錄原理差不多,對(duì)輸入的十二位并行數(shù)據(jù)(溫度的編碼) 進(jìn)行檢測, 如果達(dá)到某個(gè)設(shè)定的溫度就給蜂鳴器一個(gè)電平使其想一聲并給 led 燈電平使其亮, 而溫度記錄則要比較后一個(gè)輸入的十二位數(shù)據(jù)與前一位十二位數(shù)據(jù), 看其表示的溫度,比前一位大就把數(shù)據(jù)保存取代前一位最高。,模塊實(shí)現(xiàn),串行數(shù)據(jù)處理與初始化:由于ds18b20的操作相對(duì)比較復(fù)雜,所以單獨(dú)設(shè)置一個(gè)模塊專門處理其初始化, 鑒于數(shù)碼管的顯示模塊設(shè)置時(shí)并行輸入的,所以此模塊兼?zhèn)鋎s18b20的傳輸數(shù)據(jù)處理,把串行數(shù)據(jù)處理成并行數(shù)據(jù)。此模

4、塊的輸入就一個(gè)是時(shí)鐘,另一個(gè)就是 ds18b20的串行實(shí)時(shí)溫度代碼(12位) ,其與ds18b20之間就一根線相連,實(shí)現(xiàn)對(duì)其初始化與數(shù)據(jù)就收,還要對(duì)接收的串行數(shù)據(jù)進(jìn)行儲(chǔ)存使之可以并行輸出,以提供給顯示模塊。,DS18b20數(shù)據(jù)讀寫,寫時(shí)間隙 當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開始。有兩種寫時(shí)間隙:寫1 時(shí)間隙和寫0 時(shí)間隙。所有寫時(shí)間隙必須最少持續(xù)60s,包括兩個(gè)寫周期間至少1s 的恢復(fù)時(shí)間。 I/O 線電平變低后,DS1820 在一個(gè)15s 到60s 的窗口內(nèi)對(duì)I/O 線采樣。如果線上是高電平,就是寫1,如果線上是低電平,就是寫0。 主機(jī)要生成一個(gè)寫1時(shí)間隙,必須把數(shù)據(jù)

5、線拉到低電平然后釋放,在寫時(shí)間隙開始后的15s內(nèi)允許數(shù)據(jù)線拉到高電平。 主機(jī)要生成一個(gè)寫 0 時(shí)間隙,必須把數(shù)據(jù)線拉到低電平并保持60s。 讀時(shí)間隙 當(dāng)從 DS1820 讀取數(shù)據(jù)時(shí),主機(jī)生成讀時(shí)間隙。當(dāng)主機(jī)把數(shù)據(jù)線從高高平拉到低電平時(shí),寫時(shí) 間隙開始。數(shù)據(jù)線必須保持至少1s;從DS1820 輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后15 s 內(nèi)有效。因此,主機(jī)在讀時(shí)間隙開始后必須停止把I/O 腳驅(qū)動(dòng)為低電平15s,以讀取 I/O 腳狀態(tài)(見圖12)。在讀時(shí)間隙的結(jié)尾,I/O 引腳將被外部上拉電阻拉到高電平。所有 讀時(shí)間隙必須最少60s,包括兩個(gè)讀周期間至少1s 的恢復(fù)時(shí)間。,整機(jī)模塊組合,Lorem

6、ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論