武漢理工大學(xué)環(huán)境溫度測試?yán)淘O(shè)計說明_第1頁
武漢理工大學(xué)環(huán)境溫度測試?yán)淘O(shè)計說明_第2頁
武漢理工大學(xué)環(huán)境溫度測試?yán)淘O(shè)計說明_第3頁
武漢理工大學(xué)環(huán)境溫度測試?yán)淘O(shè)計說明_第4頁
武漢理工大學(xué)環(huán)境溫度測試?yán)淘O(shè)計說明_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué) 號:課 程 設(shè) 計題 目環(huán)境溫度測試學(xué) 院計算機(jī)科學(xué)與技術(shù)學(xué)院專 業(yè)計算機(jī)科學(xué)與技術(shù)班 級姓 名指導(dǎo)教師2013年6月26日計算機(jī)硬件綜合設(shè)計任務(wù)書學(xué)生: 專業(yè)班級:指導(dǎo)教師: 學(xué)院名稱:計算機(jī)科學(xué)與技術(shù)學(xué)院課程設(shè)計題目: 環(huán)境溫度測試題 目: 環(huán)境溫度測試?yán)淘O(shè)計初始條件:1. 課程設(shè)計使用ZG211硬件綜合實驗平臺(8051單片機(jī)),配有課程設(shè)計接口芯片和輔助芯片以與器件;2. ZG211有程序設(shè)計集成開發(fā)環(huán)境,程序設(shè)計語言為C語言;3. ZG211硬件綜合實驗平臺使用說明書;要求完成的主要任務(wù): (包括課程設(shè)計工作量與其技術(shù)要求,撰寫說明書具體要求)1. 學(xué)習(xí)使用ZG211硬件綜合實

2、驗平臺,程序設(shè)計集成開發(fā)環(huán)境;2. 根據(jù)課程設(shè)計題目,進(jìn)行需求分析,搞清楚課程設(shè)計需要設(shè)計需求和需要解決的設(shè)計容。3. 查閱和學(xué)習(xí)課程設(shè)計題目需要的接口芯片資料,掌握接口芯片的使用方法和編程要領(lǐng)。查閱和學(xué)習(xí)課程設(shè)計題目需要的輔助芯片以與器件資料。4. 設(shè)計接口芯片和輔助芯片以與器件與8051單片機(jī)連接硬件電路原理圖。5. 設(shè)計與硬件電路原理圖對應(yīng)的C語言程序(或8051匯編語言)。給出程序流程圖。在集成開發(fā)環(huán)境中調(diào)試程序。給出程序的詳細(xì)注釋。能夠解釋使用程序模擬電路時序信號和數(shù)據(jù)。6. 撰寫課程設(shè)計報告,1)詳細(xì)述以上的設(shè)計過程;2)詳細(xì)述電路的調(diào)試過程。時間安排:第17周:1. 熟悉ZG21

3、1硬件綜合實驗平臺,KEILC UVISION2集成開發(fā)環(huán)境;查閱接口芯片資料,熟悉接口芯片和它的使用方法。2. 設(shè)計硬件電路原理圖,。第18周:1. 使用C語言或匯編語言設(shè)計和調(diào)試接口程序。2. 撰寫計算機(jī)硬件綜合設(shè)計報告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日環(huán)境溫度測試1 實驗?zāi)康膽?yīng)用計算機(jī)組成原理、數(shù)字邏輯、微機(jī)原理與接口技術(shù)、單片機(jī)原理、C語言程序設(shè)計等相關(guān)專業(yè)知識來學(xué)習(xí)和使用ZG211 實驗板的使用方法、Keilc51在線編程軟件環(huán)境。使用CH451芯片來進(jìn)行數(shù)碼顯示和鍵盤掃描控制,設(shè)計實現(xiàn)溫度測試功能。掌握對單片機(jī) IO 口的操作,與中斷的應(yīng)用;掌握顯示

4、接口芯片 CH451 的應(yīng)用;了解單總線操作方式,以提高實際動手能力。 這次實驗需要掌握IO口操作,掌握顯示與鍵盤芯片的運(yùn)用;了解中斷的運(yùn)用以與了解單總線操作。2 實驗接口芯片與輔助器材2.1 DS18B20DS18B20是新一代支持“一線總線”接口的溫度傳感器芯片,將電源和信號復(fù)合在一起;其測溫圍為-55+125,允許分辨率可調(diào)912位,工作電壓為3v5v,在-10+85圍,精度為±0.5。該芯片將溫度探頭與A/D轉(zhuǎn)換模塊集成在一起,同時采用單總線與CPU通信,簡化了電路設(shè)計。借助Rational Rose繪制的芯片原理圖如下:由該原理圖不難發(fā)現(xiàn),DS18B20芯片包括3個引腳,引

5、腳說明如下圖所示:引腳符號說明1VDD電源2DQ數(shù)據(jù)輸入/輸出腳3GND地DS18B20通過一種片上溫度測量技術(shù)來測量溫度的,借助visio繪制芯片測量溫度的方框圖,如下: DS18B20是這樣測量溫度的:利用一個高溫度系統(tǒng)的振蕩器確定一個門周期,部計數(shù)器在這個門周期對一個低溫度系數(shù)的振蕩器的脈沖進(jìn)行技術(shù)來得到溫度值。計數(shù)器被預(yù)置到對應(yīng)于-55的一個值。如果計數(shù)器在門周期結(jié)束前到達(dá)0,則溫度寄存器(同樣被預(yù)置到-55)的值增加,表明溫度大于-55,同時計數(shù)器被復(fù)位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補(bǔ)償敢問振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到0,如果門周期仍未結(jié)

6、束,將重復(fù)這一過程。斜坡式累加器用來補(bǔ)償感溫振蕩器的非線性,以在測溫時獲得比較高的分辨力,這是通過改變計數(shù)器對溫度每增加一度所需要計數(shù)的值來實現(xiàn)的。2.2 CD4052由于89S52上的I/O口資源有限,DS18B20的I/O口通過4通道數(shù)字控制模擬開關(guān)CD4052接到單片機(jī)的I/O口上。該芯片是一個差分四通道數(shù)字控制模擬開關(guān),有A和B兩個二進(jìn)制控制輸入端和一個INH 輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。以下是采用Rational Rose繪制的CD4052原理圖:CD4052功能說明如下表:AB選通狀態(tài)00X=X0;Y=Y010X=X1;Y=Y101X=X2;Y=Y211X=X3;Y=Y

7、32.3 CH451CH451 是一個整合了數(shù)碼管顯示驅(qū)動和鍵盤掃描控制以與P 監(jiān)控的多功能外圍芯片,該課題設(shè)計開發(fā)中我們僅需使用數(shù)碼管顯示驅(qū)動和鍵盤掃描控制功能。在顯示驅(qū)動上,動態(tài)顯示掃描控制,可選數(shù)碼管的段與數(shù)據(jù)位相對應(yīng)的不譯碼方式或者BCD 譯碼方式;在鍵盤掃描控制上,低電平輸出產(chǎn)生鍵盤中斷,并且提供鍵盤按鍵釋放標(biāo)志位。借助Rational Rose繪制的串行接口原理圖如上所示。由以上原理圖可以看到左側(cè)有四個引腳,功能如下:LOAD用于串行接口的數(shù)據(jù)加載;DIN用于串行數(shù)據(jù)的輸入;DCLK是串行接口的數(shù)據(jù)時鐘;DOUT用于串行數(shù)據(jù)的數(shù)據(jù)輸出與鍵盤中斷。其中,DIN、DCLK、LOAD 是

8、帶上拉的輸入信號線,默認(rèn)是高電平;DOUT 在未啟用鍵盤掃描功能時作為串行數(shù)據(jù)輸出線,在啟用鍵盤掃描功能后作為鍵盤中斷和數(shù)據(jù)輸出線,默認(rèn)是高電平。DIN按位從低至高輸入每一個數(shù)據(jù)位,在CH451上電復(fù)位后必須給它一個負(fù)脈沖以使能4線串行接口。DCLK是DIN數(shù)據(jù)輸入的時鐘,在其下降沿將數(shù)據(jù)從寄存器打出,在其上升沿將數(shù)據(jù)打入寄存器,因而借助以上原理圖不難理解寄存器組移位的原理。在經(jīng)過DCLK的12個負(fù)脈沖后,D0D11則從低位至高位依次存放了我們從DIN打入的數(shù)據(jù)。LOAD是串行數(shù)據(jù)幀的完成標(biāo)志,在LOAD的上升沿,12位數(shù)據(jù)(不管是否有效)被打入命令寄存器。當(dāng)DOUT(默認(rèn)高電平)發(fā)出低電平進(jìn)

9、行中斷請求后,我們可以向CH451發(fā)送讀鍵盤按鍵代碼命令,此時按鍵代碼(共7位)的最高位K6被發(fā)送至DOUT,之后向DCLK發(fā)送負(fù)脈沖。以一樣方式將剩余的低6位按鍵代碼讀出。在此次課題設(shè)計中將使用到的對CH451進(jìn)行操作的命令如下表所示:操作命令位11109876543210設(shè)置系統(tǒng)參數(shù)010000000WDOGKEYBDISP設(shè)置顯示參數(shù)0101MODELIMITINTENSITY加載字?jǐn)?shù)據(jù)01000DIG_DATA, DIG0 對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)11001DIG_DATA, DIG1對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)21010DIG_DATA, DIG2對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)31011DIG_DA

10、TA, DIG3對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)41100DIG_DATA, DIG4對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)51101DIG_DATA, DIG5對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)61110DIG_DATA, DIG6對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)71111DIG_DATA, DIG7對應(yīng)的字?jǐn)?shù)據(jù)讀取按鍵代碼0111××××××××由上表可以看到讀取按鍵代碼的操作命令為12位,但是只有高四位是有效位,因而當(dāng)我們通過DIN向CH451輸入高四位后,便可以通過LOAD發(fā)出一個負(fù)脈沖將12位數(shù)據(jù)打入命令寄存器。設(shè)置系統(tǒng)參數(shù)命令用于設(shè)置CH451的系統(tǒng)

11、級參數(shù):看門狗使能WDOG,鍵盤掃描使能KEYB,顯示驅(qū)動使能DISP;當(dāng)相應(yīng)位置為1時表示使能,否則表示禁用,我們在系統(tǒng)實現(xiàn)中使用了鍵盤掃描使能和顯示驅(qū)動使能,即相應(yīng)命令為:0X403。設(shè)置顯示參數(shù)命令用于設(shè)置CH451的顯示參數(shù):譯碼方式MODE,掃描極限LIMIT,顯示亮度INTENSITY;同樣,當(dāng)相應(yīng)位置為1時表示使能,否則表示禁用。下表描述的則是在該課題設(shè)計實現(xiàn)中需要用到的命令位與相應(yīng)段與顯示字符的對應(yīng)顯示關(guān)系表: 位4位0段G段A顯示的字符00000B0111111B000001B0000110B100010B1011011B200011B1001111B300100B11001

12、10B400101B1101101B500110B0000111B600111B1111111B701000B1101111B801001B1110111B910000B0000000B空格10010B1000000B- 負(fù)號減號2.4 MCU 89S5289S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲器,在設(shè)計實現(xiàn)中我們使用到了P15、P32、P33和P34口,另外P10、P11、P12和P13已置到相對應(yīng)的口。寄存器中各個位的含義如下表:MSBLSBEAET2ESET1EX1ET0EX0寄存器中各個位的功能如下,課題設(shè)計中我們只使用到了EA和EX0,

13、EX0控制的是鍵盤按鍵的外部中斷:符號位地址功能EAIE.7中斷總允許控制位。EA=0,中斷總禁止;EA=1,各中斷由各自的中斷控制位決定IE.6預(yù)留ET2IE.5定時器2中斷允許控制位ESIE.4串行口中斷允許控制位ET1IE.3定時器1中斷允許控制位EX1IE.2外部中斷1允許控制位ET0IE.1定時器0中斷允許控制位EX0IE.0外部中斷0允許控制位2.5 其他除了上述比較關(guān)鍵的硬件之外,尚需以下設(shè)備:主板帶有并口的PC機(jī)一臺、ZG-211單片機(jī)系統(tǒng)實驗板一塊、實驗連接線5根、并行編程線一根、配套9V電源適配器一個。3 實驗要求3.1 能正常操作LED 數(shù)碼顯示;3.2 能通過中斷方式接

14、收按鍵信息;3.3 能通過單總線方式與DS18B20芯片交換數(shù)據(jù);3.4 息能正確解釋從DS18B20芯片取出的溫度數(shù)據(jù)。4 實驗原理上圖使用visio繪制的溫度測試系統(tǒng)原理圖,設(shè)計實現(xiàn)中采用了CD4052的X1輸入口,將X1與DS18B20的DQ口進(jìn)行連接,用于向DS18B20發(fā)送命令和讀取溫度數(shù)據(jù)。P12、P13分別連接至A和B,用于控制選擇與X和Y連通的輸入通道。P10、P11分別連接至X和Y,89S52通過P10與DS18B20進(jìn)行交互,而P11在實現(xiàn)中并沒有用到。P34、P15、P33分別連接至LOAD、DCLK、DIN,用于向CH451發(fā)送數(shù)據(jù),而P32連接至DOUT,主要用于接受

15、DOUT產(chǎn)生的鍵盤按鍵中斷請求,獲取按鍵代碼。5 實驗步驟5.1 硬件連接首先將ZG-211實驗板的總開關(guān)(位于左下角)關(guān)閉,將實驗板的六個支架固定好以保護(hù)反面的焊點(diǎn);然后參照以上給出的原理圖進(jìn)行連線;然后將并行編程線一端連接至PC機(jī)主板上的并口,另一端連接至ZG-211實驗板左側(cè)的并口;最后檢查無誤后,將電源適配器的輸出端連接至ZG-211左下角的電源輸入插座。5.2 軟件設(shè)計軟件設(shè)計包括4個部分:常量定義部分、數(shù)碼管操作部分、溫度獲取部分、主函數(shù),分別介紹如下:5.2.1 常量定義常量定義主要是考慮到程序的易讀性和可維護(hù)性,其中包括軟件設(shè)計中需要用到的一些引腳地址、特殊寄存器地址、特殊寄存

16、器位地址、初始化命令以與操作命令等。5.2.2 數(shù)碼管操作該部分操作函數(shù)包括:延時、向CH451發(fā)送數(shù)據(jù)、鍵盤按鍵中斷響應(yīng)例程、數(shù)碼管顯示測試、數(shù)碼管溫度顯示。由于中斷響應(yīng)例程在該部分中,所以按鍵代碼key_data必須聲明為extern,表明該變量在其它模塊中,相當(dāng)于一個全局變量。5.2.3 溫度獲取該部分操作包括:DS18B20復(fù)位、從DS18B20讀取一位與一個字節(jié)、向DS18B20寫入一位與一個字節(jié)、從DS18B20獲取溫度并計算為十進(jìn)制形式。為了方便實現(xiàn)溫度轉(zhuǎn)換,我們將各個位對應(yīng)的權(quán)值按高低字節(jié)定義在了兩個數(shù)組中??紤]到節(jié)省空間,我們將其定義為code,放在ROM區(qū)。由于很多函數(shù)中使

17、用了空指令_nop_();因而需要包含頭文件intrins.h。5.2.4 主函數(shù)首先定義一個存放按鍵代碼的char型變量key_data,初始化為0。主函數(shù)的主要工作流程是:MCU開中斷、數(shù)碼管顯示測試、進(jìn)入無限循環(huán)、如果key_data等于0X64,即最左邊的一個鍵盤按鍵,則將key_data清零,并獲取溫度并顯示至數(shù)碼管。6 實驗結(jié)果6.1接線與結(jié)果顯示18 / 186.2檢測硬件6.2設(shè)置89S52芯片特征字6.3打開.hex文件6.4擦除ROM中原有容6.5寫入ROM7 程序說明/*|函數(shù)名GetTemperat|函數(shù)功能利用18B20芯片檢測溫度,并在LED上顯示|參數(shù)無|返回值溫

18、度|*/unsigned char GetTemperat()unsigned char temp2;unsigned char temperat_C;unsigned char i;while(Reset_18B20(); /復(fù)位等待從機(jī)應(yīng)答 write_byte_18B20(0xCC);/忽略ROM匹配 write_byte_18B20(0x44);/發(fā)送溫度轉(zhuǎn)化命令 delay_1ms(500);/延時 while(Reset_18B20(); /再次復(fù)位,等待從機(jī)應(yīng)答 write_byte_18B20(0xCC);/忽略ROM匹配 write_byte_18B20(0xBE);/發(fā)送讀

19、溫度命令 temp0 = read_byte_18B20();/讀出溫度低8位temp1 = read_byte_18B20();/讀出溫度高8位 DQ_HIGH();/釋放總線 temperat_C = 0;for(i=0; i<3; i+)temperat_C += (temp1&(1<<i)>>i)*temperat_table_Hi;for(i=4; i<8; i+)temperat_C += (temp0&(1<<i)>>i)*temperat_table_Li;return(temperat_C);/*|函

20、數(shù)名Display_TEST|函數(shù)功能測試顯示LED數(shù)碼管|參數(shù)無|返回值無|*/void Display_TEST()/初始化顯示芯片disp_initialize();/延時delay_1ms(100);/送顯“12345678”send_disp_data( CH451_LOAD0, 0x01);send_disp_data( CH451_LOAD1, 0x02);send_disp_data( CH451_LOAD2, 0x03);send_disp_data( CH451_LOAD3, 0x04);send_disp_data( CH451_LOAD4, 0x05);send_dis

21、p_data( CH451_LOAD5, 0x06);send_disp_data( CH451_LOAD6, 0x07);send_disp_data( CH451_LOAD7, 0x08);delay_1ms(200);/延時delay_1ms(200);/開中斷,接受按鍵信息EX0=1;/"-"send_disp_data( CH451_LOAD0, 0x12);send_disp_data( CH451_LOAD1, 0x12);send_disp_data( CH451_LOAD2, 0x12);send_disp_data( CH451_LOAD3, 0x12)

22、;send_disp_data( CH451_LOAD4, 0x12);send_disp_data( CH451_LOAD5, 0x12);send_disp_data( CH451_LOAD6, 0x12);send_disp_data( CH451_LOAD7, 0x12);/*|函數(shù)名display_int|函數(shù)功能顯示一個整數(shù)|參數(shù)無|返回值無|*/void display_int(unsigned int m)send_disp_data( CH451_LOAD0, 0x10);send_disp_data( CH451_LOAD1, 0x10);send_disp_data( CH451_LOAD2, 0x10);if (m/10000)send_disp_data( CH451_LOAD3, m/10000);elsesend_disp_data( CH451_LOAD3, 0x10);if (!(m/1000)%10)&&(!(m/10000)send_disp_data( CH451_LOAD4, 0x10);elsesend_disp_data( CH451_LOAD4, (m/1000)%10);send_disp_data( CH451_LOAD5, (m/100)%10);send_disp_data( CH

溫馨提示

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

評論

0/150

提交評論