單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)評(píng)語:考勤(10)守紀(jì)(10)過程(40)設(shè)計(jì)報(bào)告(30)答辯(10)總成績(jī)(100)專 業(yè):班 級(jí):姓 名:學(xué) 號(hào):指導(dǎo)教師:摘要單片機(jī)是把中央量的C語言程序,然后連接硬件電路,通過與DS18B20溫度傳感器連接,將溫度信號(hào)輸出到LED數(shù)碼管,可顯示具體溫度。仿真實(shí)驗(yàn)中數(shù)碼管正確顯示出傳感器的溫處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出接口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等主要功能部件集成在一塊半導(dǎo)體芯片上的數(shù)字電子計(jì)算機(jī),主要用于控制,又稱為微控制器或嵌入式控制器。本設(shè)計(jì)應(yīng)用單片機(jī)進(jìn)行溫度測(cè)量,首先編寫用于溫度測(cè)度值,符合程序語言的設(shè)定。

2、結(jié)果表明單片機(jī)通過與溫度傳感器后可用于溫度的測(cè)量及顯示,能促進(jìn)儀表箱數(shù)字化、智能化、綜合化等方面發(fā)展,應(yīng)用領(lǐng)域相當(dāng)廣泛。關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度測(cè)量;傳感器;數(shù)碼管;仿真AbstractSingle Chip Microcomputer is a Electronic Digital Computer which contains chief functional unit such as CPU、RAM、ROM、I/O interface、Timer/Counter and interrupt system in a semiconductor chip. It mainly used in c

3、ontrolling system , also called by Microcontroller Unit or Embedded Controller . In this design , we use it to make up a temperature controlling system . First of all , we need to write C programming language to realize its function . Next , we can connect its hardware circuit and load the code , th

4、at is , using a Single Chip Microcomputer to link a temperature sensor named by DS18B20 and a led display . In the simulation experiment , we get a result which goes perfectly true with its expectant result . The result make it clear that the Single Chip Microcomputer can be widely used in temperatu

5、re measurement and controlling and It can promote meter box to develop in a digital 、intelligent 、integrated way.Key words : Single Chip Microcomputer,Temperature measurement,Sensor,Led display,Simulation experiment基于單片機(jī)的溫度測(cè)量系統(tǒng)1引言隨著社會(huì)的發(fā)展,科技的進(jìn)步以及人們生活水平的逐步提高,各種方便與生活的自動(dòng)控制系統(tǒng)開始進(jìn)入了我們的生活,單片機(jī)作為微型計(jì)算機(jī)發(fā)展的一個(gè)重要分

6、支,具有高可靠性、高性能價(jià)格比、低電壓、低功耗等優(yōu)勢(shì),以其為核心的自動(dòng)控制系統(tǒng)贏得了廣泛的應(yīng)用。該課程設(shè)計(jì)的題目是基于單片機(jī)的溫度測(cè)量系統(tǒng),目的重在對(duì)于單片機(jī)的實(shí)際應(yīng)用,加深對(duì)單片機(jī)這一課程的理解,達(dá)到學(xué)以致用。該系統(tǒng)以單片機(jī)為核心,實(shí)現(xiàn)對(duì)溫度信息的輸入和輸出,通過在圖書館及網(wǎng)上搜索相關(guān)信息并向老師進(jìn)行咨詢,我認(rèn)為可以用一個(gè)溫度傳感器和LED數(shù)碼管實(shí)現(xiàn)對(duì)溫度的測(cè)量。選擇元器件的時(shí)候,考慮到電路需要簡(jiǎn)單、連接方便、顯示精度、便于調(diào)試,在比較了同類型的元器件后,決定使用DS18B20溫度傳感器,其優(yōu)點(diǎn)在于測(cè)溫精度高、需要外圍設(shè)備少、連接方便、系統(tǒng)簡(jiǎn)單。因此,該系統(tǒng)的硬件電路由時(shí)鐘電路、復(fù)位電路、傳

7、感器電路、顯示電路和表示燈電路構(gòu)成。在編寫完C語言程序?qū)﹄娐愤M(jìn)行仿真得到了正確的溫度顯示,說明該系統(tǒng)具有良好的溫度檢測(cè)功能。2設(shè)計(jì)方案及原理2.1溫度測(cè)量系統(tǒng)設(shè)計(jì)方案以AT89C51單片機(jī)作為電路核心器件,并構(gòu)建該單片機(jī)的時(shí)鐘電路核心電路,溫度測(cè)量DS18B20溫度傳感器件實(shí)現(xiàn),通過連接單片機(jī)的P3.7口將測(cè)量信息輸入到單片機(jī),然后通過P0口將溫度信息輸出到LED數(shù)碼管顯示出來。2.2溫度測(cè)量系統(tǒng)設(shè)計(jì)原理圖1溫度測(cè)量原理圖如圖1所示,在該溫度測(cè)量系統(tǒng)中沒有對(duì)數(shù)據(jù)的大量運(yùn)算和存取,單片機(jī)內(nèi)部具有4KB的存儲(chǔ)空間,能滿足該系統(tǒng)對(duì)溫度的測(cè)量,無需擴(kuò)展。單片機(jī)的時(shí)鐘電路可以使單片機(jī)的程序有條不紊的運(yùn)行

8、,復(fù)位電路可以使單片機(jī)正常運(yùn)行防止數(shù)據(jù)丟失。DS18B20是數(shù)字芯片不需要AD轉(zhuǎn)換,可直接與單片機(jī)進(jìn)行連接,然后通過單片機(jī)對(duì)信息處理輸出到LED數(shù)碼管實(shí)現(xiàn)對(duì)溫度信息輸出顯示。3硬件設(shè)計(jì)3.1系統(tǒng)原理電路圖基于前面對(duì)各電路模塊的闡述,連接電路時(shí)單片機(jī)與傳感器間用P3.7口相連,單片機(jī)的XTAL1和XTAL2接晶振電路,RST端口接復(fù)位電路,數(shù)碼管并接上拉電阻和單片機(jī)連接,數(shù)碼管段選P0口,位選P2口低4位。系統(tǒng)原理電路圖如圖2所示。圖2 系統(tǒng)原理電路圖3.2時(shí)鐘復(fù)位電路設(shè)計(jì)單片機(jī)時(shí)鐘信號(hào)由時(shí)鐘電路產(chǎn)生,可通過芯片引腳XTAL1和XTAL2外接晶體振蕩器和微調(diào)電容實(shí)現(xiàn)。51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成

9、振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是反相放大器的輸入端和輸出端,由這個(gè)放大器與作為反饋元件的片外晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,是單片機(jī)工作的原始動(dòng)力。晶體振蕩頻率高,系統(tǒng)的時(shí)鐘頻率高,相應(yīng)的單片機(jī)運(yùn)行速度就高。復(fù)位電路對(duì)單片機(jī)的片內(nèi)電路重新進(jìn)行初始化,使有關(guān)部件都恢復(fù)到原先規(guī)定的初始狀態(tài)。復(fù)位電路由單片機(jī)提供的RST引腳,外接電阻、電容和電源組成。時(shí)鐘電路和復(fù)位電路如圖3所示。圖3 時(shí)鐘復(fù)位電路3.3表示燈電路表示燈電路由3個(gè)LED燈接共陽(yáng)極構(gòu)成,分別接在單片機(jī)P1.2P1.4口,分別顯示藍(lán)色、紅色、綠色,如圖4所示。圖4 表示燈電路3.4傳感器電路和數(shù)碼管顯示電路

10、設(shè)計(jì)由于DS18B20是一線式傳感器,溫度數(shù)據(jù)直接從DQ端口串行輸出,傳感器上集成模擬數(shù)字轉(zhuǎn)換器,輸出的就是數(shù)字量,單片機(jī)可以直接接收。DS18B20主要由64位光刻ROM、溫度傳感器、非揮發(fā)性的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器四部分組成。工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序,溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間為750ms。根據(jù)DS18B20的通信協(xié)議,單片機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,然后再發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。該溫度測(cè)量系統(tǒng)用到的指令及其注釋具體見附錄所示。設(shè)計(jì)數(shù)碼管

11、電路時(shí),采用共陽(yáng)極的方式外接電源和上拉電阻與單片機(jī)進(jìn)行連接。由于溫度顯示一般采用十進(jìn)制,且溫度有正負(fù)之分,所以在編寫程序時(shí)需要注意代碼的范圍是09和負(fù)號(hào),小數(shù)點(diǎn)可通過單片機(jī)的P0.7口輸出顯示。編寫程序時(shí)對(duì)溫度顯示精確0.5,故采用的數(shù)碼管具有四位數(shù)據(jù)顯示,從左到又依次顯示負(fù)號(hào)位、十位、個(gè)位及十分位。傳感器電路和數(shù)碼管顯示電路如圖5所示,圖中上部分為數(shù)碼管顯示電路,下部分為傳感器電路。圖5 傳感器電路和數(shù)碼管顯示電路4軟件設(shè)計(jì)4.1程序流程圖程序流程圖如圖6所示。為正確顯示傳感器所送出的溫度信息,程序需要先對(duì)溫度傳感器初始化,由于只用了一片DS18B20,可在ROM指令中發(fā)跳過ROM匹配指令,

12、直接在RAM發(fā)送溫度轉(zhuǎn)換命令,然后再次對(duì)DS18B20進(jìn)行初始化,讀出溫度顯示到數(shù)碼管上面,主程序不斷循環(huán)持續(xù)對(duì)感應(yīng)器發(fā)送來的溫度信息輸出顯示。圖6 系統(tǒng)流程圖4.2主程序程序代碼見附錄。5系統(tǒng)仿真根據(jù)硬件原理圖,在Proteus環(huán)境下進(jìn)行搭建溫度測(cè)量系統(tǒng)的仿真圖,檢測(cè)無誤后導(dǎo)入在KeilC51中編譯程序后生成的HEX文件,通過不斷調(diào)試后得到仿真結(jié)果如圖7、圖8、圖9所示,指示燈分別表示適宜溫度、低溫和高溫。圖7常溫仿真顯示圖8低溫仿真顯示圖9高溫仿真顯示6總結(jié)通過這次課程設(shè)計(jì),我實(shí)現(xiàn)了基于單片機(jī)的溫度測(cè)量系統(tǒng)的設(shè)計(jì)和模擬仿真,完成了此課程設(shè)計(jì)的基本要求,即硬軟件設(shè)計(jì),口接線、設(shè)計(jì)報(bào)告等。在課

13、程設(shè)計(jì)過程中,我遇到了好多問題,例如,雖然說上學(xué)期認(rèn)真地學(xué)習(xí)了單片機(jī)課程,熟悉了Proteus和Keilc51的基本操作,但由于自己學(xué)得不太好,又間隔了一段時(shí)間,變得有些生疏,剛拿到這次設(shè)計(jì)要求時(shí)悶頭苦想仍是無從下手。后來通過對(duì)書本知識(shí)的回顧,并向老師請(qǐng)教課程設(shè)計(jì)的一些技巧方法,方能設(shè)計(jì)出基本的電路。接下來我開始編寫程序,經(jīng)過調(diào)試后裝入Proteus仿真軟件,第一次直接得不到任何溫度顯示,檢測(cè)溫度顯示程序并未發(fā)現(xiàn)錯(cuò)誤,然后我翻看書本相關(guān)知識(shí)并修改了傳感器電路部分,刪減了一些冗余元件,在得出顯示后卻發(fā)現(xiàn)數(shù)碼管顯示為亂碼,明白了程序編寫有誤。后面通過對(duì)程序的不斷調(diào)試和裝入電路進(jìn)行仿真,終于得到了對(duì)

14、溫度傳感器所發(fā)送信息的正確顯示。雖然自己所設(shè)計(jì)出來的溫度測(cè)量系統(tǒng)跟同學(xué)們的一些優(yōu)秀設(shè)計(jì)比起來有些粗制濫造,但這也畢竟是自己努力的成果,個(gè)人能力也在這個(gè)過程中得到了提高。通過這次課程設(shè)計(jì),我對(duì)單片機(jī)這門課程有了更深的理解,初步學(xué)會(huì)運(yùn)用單片機(jī)設(shè)計(jì)出簡(jiǎn)單的測(cè)量裝置。千里之行,始于足下,我相信只要自己不斷努力學(xué)習(xí)新的知識(shí),刻苦去鉆研,就能夠使自己的綜合能力得到提高。在此,也要感謝本次設(shè)計(jì)過程指導(dǎo)老師的幫助和同學(xué)的支持,使我順利完成了自己的課題。7參考文獻(xiàn)1王思明,張金鑫.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:科學(xué)出版社,2001:32-36.2李華,單片機(jī)原理及應(yīng)用M.蘭州:蘭州大學(xué)出版社,2001,25

15、(60):26-29.3張金敏,董海棠.單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)J.成都:西南交通大學(xué)出版社,2010:33-35.4杜樹春.基于Proteus和Keilc51的單片機(jī)設(shè)計(jì)與仿真M.北京:電子工業(yè)出版社,2012:29-31.5 薛均義.單片機(jī)微型計(jì)算機(jī)及其應(yīng)用M.西安:西安交通大學(xué)出版社,1997:43-46.8附錄源程序代碼:#include/51單片機(jī)頭文件#include/包含循環(huán)移位函數(shù)的頭文件#define uchar unsigned charuchar tempint,tempdf;/溫度整數(shù)部分和小數(shù)部分sbit DATA=P37;/輸入端口定義sbit ld7=P11;/初

16、始化成功標(biāo)志端口sbit ld6=P10;/負(fù)溫度標(biāo)志端口sbit point=P07;/小數(shù)點(diǎn)顯示端口sbit P1.2=P12;/高溫紅燈表示端口sbit P1.3=P13;/適宜溫度綠燈表示端口sbit P1.4=P14;/低溫藍(lán)燈表示端口uchar fu;/負(fù)溫度標(biāo)志code unsigned chardaima=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF;/7段數(shù)碼管09數(shù)字和負(fù)號(hào)位共陽(yáng)極顯示代碼void set_ds18b20();/DS18B20初始化子程序void get_temperature();/溫度轉(zhuǎn)換和

17、獲取子程序void read_ds18b20();/對(duì)DS18B20進(jìn)行讀操作子程序void write_ds18b20(uchar command);/對(duì)DS18B20進(jìn)行寫一字節(jié)子程序void delayms(uchar count);/溫度顯示子程序void display_temp();void temp_biaoshi(uchar tempind);/表示燈子程序void main()SP=0x60;/堆棧指針設(shè)置while(1)get_temperature();/調(diào)用溫度獲取子程序if(tempdf=8)/調(diào)整精度為0.5度tempdf=5;elsetempdf=0;displa

18、y_temp();/溫度顯示void set_ds18b20()while(1)uchar delay,flag;flag=0;DATA=1;/對(duì)數(shù)據(jù)線置高電平delay=1;while(-delay);/短暫延時(shí)DATA=0;/數(shù)據(jù)線置低電平delay=250;while(-delay);/低電平保持500sDATA=1;delay=30;while(-delay);/高電平保持60swhile(DATA=0)/DS18B20是否發(fā)出低電平信號(hào)delay=210;while(-delay);/DS18B20作出響應(yīng),延時(shí)420sif(DATA)/DS18B20發(fā)出高電平初始化成功flag=1

19、;/DS18B20初始化成功標(biāo)志ld7=0;/LED初始化成功標(biāo)志break;if(flag)/應(yīng)時(shí)序要求,初始化成功后再延時(shí) 480sdelay=240;while(-delay);break;void get_temperature()set_ds18b20();write_ds18b20(0xCC);/發(fā)跳過ROM匹配命令write_ds18b20(0x44);/發(fā)溫度轉(zhuǎn)換命令display_temp();/顯示溫度,等待AD轉(zhuǎn)換set_ds18b20();write_ds18b20(0xCC);/發(fā)跳過ROM匹配命令write_ds18b20(0xBE);/發(fā)讀溫度命令read_ds1

20、8b20(); /讀出溫度數(shù)據(jù),整數(shù)保存到寄存器tempint,小數(shù)保存到寄存器tempdfvoid read_ds18b20()uchar delay,i,j,k,temp,temph,templ,fu;j=2;/2位字節(jié)數(shù)據(jù)讀取dofor(i=8;i0;i-)/一個(gè)字節(jié)分8位讀取temp=1;/讀取1位并右移1位DATA=0;/數(shù)據(jù)線置低電平delay=1;while(-delay);DATA=1;delay=4;while(-delay);/延時(shí)8sif(DATA)temp|=0x80;delay=25;/讀取1位后延時(shí)50swhile(-delay);if(j=2)templ=temp

21、;/讀取的第一字節(jié)存temp1elsetemph=temp;/讀取的第二字節(jié)存temp2while(-j);fu=0;if(temph&0xf8)!=0x00)/溫度為負(fù)則進(jìn)行二進(jìn)制求補(bǔ)處理fu=1;/負(fù)溫度標(biāo)志置1ld6=0;temph=temph;templ=templ;k=templ+1;templ=k;if(k255)/第一字節(jié)溢出進(jìn)位temph+;elsefu=0;ld6=1;tempdf=templ&0x0f;/對(duì)讀取的數(shù)據(jù)轉(zhuǎn)換,小數(shù)部分存在 tempdf,整數(shù)部分存在tempinttempl=4;temph0;i-)/對(duì)一個(gè)字節(jié)逐位進(jìn)行寫入DATA=0;delay=6;while(-delay);/延時(shí)12sDATA=command&0x01;/將數(shù)據(jù)置于數(shù)據(jù)線上delay=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論