溫度采集器-課程設(shè)計(jì)報(bào)告書_第1頁
溫度采集器-課程設(shè)計(jì)報(bào)告書_第2頁
溫度采集器-課程設(shè)計(jì)報(bào)告書_第3頁
溫度采集器-課程設(shè)計(jì)報(bào)告書_第4頁
溫度采集器-課程設(shè)計(jì)報(bào)告書_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)書設(shè)計(jì)題目:溫度采集顯示系統(tǒng)課程名稱:單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)學(xué)院:物理與光電工程學(xué)院專業(yè)班級(jí):11級(jí)電子科學(xué)技術(shù) 6班學(xué)號(hào):3111008618姓 名 :關(guān)繼業(yè)聯(lián)系方式課教師:徐勝2013年12月18日設(shè)計(jì)題目:溫度采集顯示系統(tǒng)本課程是在前導(dǎo)驗(yàn)證性認(rèn)知實(shí)驗(yàn)以及相關(guān)的理論課基礎(chǔ)上,進(jìn)行更高層次命題的設(shè)計(jì)性的教學(xué)環(huán)節(jié),是學(xué)生在教師指導(dǎo)下獨(dú)立查閱資料、設(shè)計(jì)、安裝和編程 特定功能的電子電路的課程。對于提高學(xué)生的電子工程素質(zhì)和科學(xué)實(shí)驗(yàn)?zāi)芰Ψ浅V匾1菊n程旨在培養(yǎng)學(xué)生綜合數(shù)字電路和單片機(jī)知識(shí), 解決電子信息方面常見實(shí) 際問題的能力,并了解一般電子

2、電路與單片機(jī)構(gòu)成簡單系統(tǒng)及較為復(fù)雜的編程的 方法。促使學(xué)生積累單片機(jī)系統(tǒng)的開發(fā)經(jīng)驗(yàn),準(zhǔn)備走向更復(fù)雜更實(shí)用的應(yīng)用領(lǐng)域, 是參加各類大學(xué)生電子競賽前的技能培訓(xùn)課程。目的在于鞏固基礎(chǔ)、注重設(shè)計(jì)、 培養(yǎng)技能、追求創(chuàng)新、走向?qū)嵱?。二、設(shè)計(jì)任務(wù)和要求:1. 根據(jù)設(shè)計(jì)要求,完成對單路溫度進(jìn)行測量,并用數(shù)碼管顯示當(dāng)前溫度值系 統(tǒng)硬件設(shè)計(jì),并用電子CAD軟件繪制出原理圖,編輯、繪制出 PCB印制版。要求:(1)原理圖中元件電氣圖形符號(hào)符合國家標(biāo)準(zhǔn);(2)整體布局合理,注標(biāo)規(guī)范、明確、美觀,不產(chǎn)生歧義。(3)列出完整的元件清單(標(biāo)號(hào)、型號(hào)及大小、封裝形式、數(shù)量)(4)圖紙幅面為A4。(5)布局、布線規(guī)范合理,滿足

3、電磁兼容性要求。(在元件面的絲印層上,給出標(biāo)號(hào)、型號(hào)或大小。所有注釋信息(包括標(biāo)號(hào)、型號(hào)及說明性文字)要規(guī)范、明確,不產(chǎn)生歧義。2. 編寫并調(diào)試驅(qū)動(dòng)程序。功能要求:(1)溫度范圍0-100 °C。(2)溫度分辨率土 1C。(3)選擇合適的溫度傳感器。3. 撰寫設(shè)計(jì)報(bào)告。三、原理電路和程序設(shè)計(jì):本設(shè)計(jì)基于STM8S105C單片機(jī),程序用C語言編寫,并借助單片機(jī)開發(fā)板 進(jìn)行調(diào)試,實(shí)物也是按照開發(fā)板上的電路圖進(jìn)行焊接的,簡明易焊。整個(gè)原理電路由溫度傳感器、數(shù)碼管顯示部分組成。1、溫度傳感器。本設(shè)計(jì)的溫度傳感器用DS18B20該數(shù)字傳感溫度器接線方便,其引腳及電 路圖見圖1 (注:圖中有P1

4、.3之類的引腳是因?yàn)樽畛跤瞄_發(fā)板進(jìn)行調(diào)試的,最 后只需將所用單片機(jī)所定義的引腳直接連到焊接好的該引腳即可)。由于此芯片結(jié)構(gòu)簡單,那么就將在軟件上導(dǎo)致了巨大開銷了, 寫程序時(shí)根據(jù)通訊協(xié)議來寫即 可,同時(shí)要注意時(shí)序問題(程序中定義了相關(guān)的延時(shí)函數(shù)來解決時(shí)序問題)。DS18E2(iC301104圖1DS18B2C溫度傳感器寄存器內(nèi)容字節(jié)地址溫度值低位(LS Byte)0遍慝值高檢CMSBde)1高逞限值(TH)2低溫限值(TO3配蠱寄存器4保留567你味驗(yàn)值8圖2 DS18B20暫存寄存器分布根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須 經(jīng)過三個(gè)步驟:每一次讀寫之前

5、都要對 DS18B2C進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送 一條ROM旨令,最后發(fā)送RAM旨令,這樣才能對DS18B2C進(jìn)行預(yù)定的操作。復(fù)位 要求主CPU各數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20攵到信號(hào)后等待16 60微秒左右,后發(fā)出60240微秒的存在低脈沖,主 CPU攵到此信號(hào)表示復(fù)位 成功。寫程序時(shí)也是根據(jù)此時(shí)序來寫。 程序包括了對DS18B20的初始化,寫一個(gè) 字節(jié)和讀一個(gè)字節(jié)三個(gè)函數(shù)。以下是溫度傳感器的部分程序:void DS18B20nit(void) / 初始化 DS18B20.PG_DDR=0X02; /定義PG1為18B20的使用引腳PG_CR 仁0X02;PG_CR2=0

6、;PG_ODR=0x02; delay_n5us(1);PG_ODR=0; delay_n5us(100); /復(fù)位脈沖PG_ODR=0x02;delay_n5us(100); /延時(shí)等待(如果初始化成功則在 15到60微妙時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平0”據(jù)該狀態(tài)可以來確定它的存在,但 是應(yīng)注意不能無限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控 制)。若CPU讀到了數(shù)據(jù)線上的低電平 0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā) 出的高電平算起最少要480微秒。 void DS18B20_WriteByte(u nsig ned char _data) 一 一un sig n

7、ed char i = 0;PG_DDR=0X02;PG_CR 仁0X02;PG_CR2=0;for (i = 0; i < 8; i+)PG_ODR=0;if (_data & 0x01)PG_ODR=0x02;_data >>= 1; / 右移指令。按從低位到高位的順序發(fā)送字節(jié)( 次只發(fā)送一位)delay_ n5us(9);PG_ODR=0x02;un sig ned char DS18B20_ReadByte(void) _un sig ned char i = 0, _data = 0;for (i = 0; i < 8; i+)PG_DDR=0X02;

8、PG_CR 仁0X02;PG_CR2=0;PG_ODR=0;_data >>= 1;PG_ODR=0x02;PG_DDR=0XFD; PG1處于輸入狀態(tài),其他都是輸出。PG_CR 仁0XfD;PG_CR2=0X02;if (PG_IDR&0X02)_data |= 0x80; _PG_CR 仁0X02;PG_CR2=0;PG_ODR=0x02;delay_n5us(12);return _data; _float DS18B20_ReadTemperature(void)/DS18B20的操作流程,分為兩個(gè)周期,每個(gè)周期工作時(shí)都要復(fù)位。un sig ned char a,b

9、;float tt;delay_n5us(80);DS18B20nit();/DS18B20_WriteByte(0xcc);DS18B20_WriteByte(0x44); delay_n5us(80);DS18B20nit();DS18B20_WriteByte(0xcc);DS18B20_WriteByte(0xbe);字節(jié)。(只需測量溫度)delay_n5us(80);a = DS18B20_ReadByte(); /b = DS18B20_ReadByte(); /復(fù)位跳過ROM發(fā)送溫度轉(zhuǎn)換指令/讀內(nèi)部RAM中 9字節(jié)的內(nèi)容只需讀前兩個(gè)讀取到的第一個(gè)字節(jié)為溫度LSB 讀取到的第一個(gè)字

10、節(jié)為溫度MSBtem = b; /先把高八位有效數(shù)據(jù)賦于temptem <<= 8; / 把以上8位數(shù)據(jù)從temp低八位移到高八位 tem = tem|a; /兩字節(jié)合成一個(gè)整型變量tt= tem*0.0625; /得到真實(shí)十進(jìn)制溫度值/因?yàn)镈S18B20可以精確到0.0625度 /所以讀回?cái)?shù)據(jù)的最低位代表的是 0.0625度tem = tt*10+0.5; /放大十倍/這樣做的目的將小數(shù)點(diǎn)后第一位也轉(zhuǎn)換為可顯示數(shù)字 /同時(shí)進(jìn)行一個(gè)四舍五入操作。return tem;2、數(shù)碼管顯示:這里設(shè)計(jì)用三個(gè)共陽數(shù)碼管顯示所測溫度,兩位整數(shù)和一位小數(shù)。通過按鍵 切換得到最高溫度和最低溫度。不需

11、用到譯碼器,直接將數(shù)碼管通過電阻連到單 片機(jī)上即可,也包括位選(圖3)和段選(圖4),圖4中的是4只數(shù)碼管連接 的,這里是原理,焊接時(shí)只需根據(jù)實(shí)際原理圖焊接即可。GND圖數(shù)碼管連接電路Y3 47jit4 pm >608Q6045508550"O 芒二_Y2R607Y1 k608YD VCC k609 T.£IT2Q605 8550IT1Q606S5508550牛F卜卜卜隔5BHSj卜卜卜卜9 D D D D D 弐圖 以下是數(shù)碼管顯示的部分程序:void Display(ui nt t) / uchar A1,A2,A3; A1 = t/100; / A2 = t%1

12、00/10; /數(shù)碼管電路顯示程序A3 = t%10; / 個(gè)位 PB_DDR = 0xff; / PB_CR1 = 0xff;PB_CR2 = 0x00;百位十位,求余數(shù)。推挽輸出。PA_DDR |=OXfO; / PA_CR1 |=OXfO;PA_CR2 =0X00;470PO.OP0 1-U/oP0.2PC 3P0.4-U/oP0.5扣)P0 6P0 7J-DB3 R613;DB4 R614JDB5 R615JDB6 R616JDBQ R610,DB1 R611!DB R61定義PA4,PA5,PA6為位選。PA_ODR_ODR4=0;PA_ODR_ODR5=1;PA_ODR_ODR6=

13、1; PB_ODR= buffer1A1; / delay_n5us(500);/X110XXXX,第三個(gè)數(shù)碼管顯示。 顯示十位PA_ODR_ODR4=1;PA_ODR_ODR5=0;PA_ODR_ODR6=1; PB_ODR= buffer2A2; / delay_n5us(500);/X101XXXX,第二個(gè)碼管顯示。 顯示個(gè)位PA_0DR_0DR4=1;PA_0DR_0DR5=1;PA_0DR_0DR6=0;/X011XX,第一個(gè)數(shù)碼管顯示。 PB_ODR = buffer1A3; /顯示小數(shù)點(diǎn)后面一位。delay_n5us(500); _完整的C程序請查閱附錄電子文檔。四、元件選擇:器

14、件名稱器件數(shù)量器件名稱器件數(shù)量DS18B2C溫度傳感器18550三極管474LS138 芯片14位共陽數(shù)碼管110uF1104電容210K電阻14.7K電阻5470電阻8板1STM8S105C單片機(jī)1杜邦線、排針、錫若干實(shí)物中單片機(jī)不需要焊接,用的是另外的最小系統(tǒng)(也是STM8S105C6只需連線即可五、Altium Designer 10 PCB 印制版i hem五、總結(jié)實(shí)物的優(yōu)點(diǎn)是電路結(jié)構(gòu)簡單易看明白, 程序也不難懂,體積小且實(shí)用。線路 簡單,并且功耗小。缺點(diǎn)是排版不夠好,引腳分布得較廣,杜邦線跨越多,造成 不美觀,也需要連接學(xué)習(xí)板才能運(yùn)作。若要改進(jìn),則用PCB板來做則能改進(jìn)這一 問題,并

15、增加最小系統(tǒng)方便使用。通過這次課程設(shè)計(jì),學(xué)到了很多東西。原來從課本學(xué)到的東西一點(diǎn)也不扎實(shí), 認(rèn)識(shí)到學(xué)各種計(jì)算機(jī)語言(匯編、C等)必須要多上機(jī)調(diào)試才能學(xué)好的,如果只 是通過課堂聽講和復(fù)習(xí)而不上機(jī)調(diào)試, 那是不可能學(xué)好的。所以,我要繼續(xù)學(xué)好 這些有用的語言,也要多上機(jī)來學(xué),多思考,多動(dòng)手。希望學(xué)院多些這種課程和 活動(dòng),促進(jìn)同學(xué)們的專業(yè)學(xué)識(shí),提高學(xué)習(xí)興趣。我不僅加深了對單片機(jī)理論的理 解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精 神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進(jìn)行改進(jìn),使 之功能不斷完善,成為真己的東西。這個(gè)設(shè)計(jì)結(jié)果能夠符合題意,成功完成了此次實(shí)習(xí)要求,我們不只在乎這一 結(jié)果,更加在乎的,是這個(gè)過程。這個(gè)過程中,我們花費(fèi)了大量的時(shí)間和精力, 更重要的是,我們在學(xué)會(huì)創(chuàng)新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論