九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

單片機(jī)課程設(shè)計(jì)

  • 資源ID:28147043       資源大?。?span id="24d9guoke414" class="font-tahoma">627.50KB        全文頁(yè)數(shù):40頁(yè)
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

單片機(jī)課程設(shè)計(jì)

課程設(shè)計(jì)(論文)題 目 名 稱(chēng) 基于單片機(jī)溫度測(cè)量系統(tǒng)設(shè)計(jì) 課 程 名 稱(chēng) 單片機(jī)原理及在電氣測(cè)控學(xué)科中的應(yīng)用 學(xué) 生 姓 名 學(xué) 號(hào) 系 、專(zhuān) 業(yè) 課程設(shè)計(jì)(論文)任務(wù)書(shū)年級(jí)專(zhuān)業(yè)學(xué)生姓名學(xué) 號(hào)題目名稱(chēng)基于單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì)設(shè)計(jì)時(shí)間課程名稱(chēng)單片機(jī)原理及在電氣測(cè)控學(xué)科中的應(yīng)用課程編號(hào)121200105設(shè)計(jì)地點(diǎn)一、 課程設(shè)計(jì)(論文)目的單片機(jī)原理課程是一門(mén)實(shí)踐性、應(yīng)用性很強(qiáng)的課程。通過(guò)課程設(shè)計(jì)使學(xué)生較系統(tǒng)的掌握有關(guān)單片機(jī)控制的設(shè)計(jì)思想和設(shè)計(jì)方法,為學(xué)生今后從事單片機(jī)控制系統(tǒng)開(kāi)發(fā)工作打下堅(jiān)實(shí)的基礎(chǔ)。本課程設(shè)計(jì)的基本要求是使學(xué)生全面。單片機(jī)控制系統(tǒng)的基本理論,熟熟悉掌握MCS-51系列單片機(jī)的編程方法,讓學(xué)生在接近實(shí)際工作環(huán)境下,完成一個(gè)簡(jiǎn)單的單片機(jī)控制系統(tǒng)設(shè)計(jì)。二、 已知技術(shù)參數(shù)和條件1、加熱爐、溫度控制范圍:50100;2、開(kāi)發(fā)環(huán)境:MCS-51系列單片機(jī)開(kāi)發(fā)系統(tǒng)、Proteus單片機(jī)仿真系統(tǒng)3、硬件:實(shí)驗(yàn)室提供PC機(jī)、溫度傳感器、電風(fēng)扇、設(shè)計(jì)控制系統(tǒng)所需的電子元器件、可調(diào)直流電源等。4、單片機(jī)設(shè)計(jì)相關(guān)書(shū)籍資料。三、 任務(wù)和要求設(shè)計(jì)任務(wù):利用MCS-51系列單片機(jī)設(shè)計(jì)一個(gè)溫度自動(dòng)控制系統(tǒng),利用數(shù)碼管實(shí)時(shí)的顯示當(dāng)前溫度,并能根據(jù)設(shè)定的溫度值控制溫度。加溫設(shè)備利用加熱爐實(shí)現(xiàn),降溫時(shí)利用電風(fēng)扇進(jìn)行降溫。設(shè)計(jì)要求1、要求進(jìn)行方案論證,說(shuō)明控制系統(tǒng)的工作原理。2、要求設(shè)計(jì)測(cè)量系統(tǒng)的硬件電路,給出電路原理圖和元器件清單。3、要求給出軟件流程圖并編寫(xiě)程序源代碼。4、完成系統(tǒng)的調(diào)試,給出調(diào)試結(jié)果并分析。5、撰寫(xiě)符合要求的課程設(shè)計(jì)說(shuō)明書(shū)。注:1此表由指導(dǎo)教師填寫(xiě),經(jīng)系、教研室審批,指導(dǎo)教師、學(xué)生簽字后生效;2此表1式3份,學(xué)生、指導(dǎo)教師、教研室各1份。四、參考資料和現(xiàn)有基礎(chǔ)條件(包括實(shí)驗(yàn)室、主要儀器設(shè)備等)1、THKSCM-1型單片機(jī)實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書(shū)、KEIL 軟件,WAVE 軟件2、數(shù)字控制與PLC實(shí)驗(yàn)室“THKSCM-1型單片機(jī)實(shí)驗(yàn)系統(tǒng)”。五、進(jìn)度安排2011年6月7日-8日:收集和課程設(shè)計(jì)有關(guān)的資料,熟悉課題任務(wù)和要求2011年6月9日:總體方案設(shè)計(jì)2011年6月10日-12日:硬件電路設(shè)計(jì)2011年6月13日-15日:軟件設(shè)計(jì)2011年6月15日-17日:系統(tǒng)調(diào)試改進(jìn)2011年6月18日-21日:整理書(shū)寫(xiě)設(shè)計(jì)說(shuō)明書(shū)2011年6月22日-23日:答辯并考核六、教研室審批意見(jiàn)教研室主任(簽字): 年 月 日七|、主管教學(xué)主任意見(jiàn) 主管主任(簽字): 年 月 日八、備注指導(dǎo)教師(簽字): 學(xué)生(簽字):學(xué)生姓名 學(xué) 號(hào) 系 專(zhuān)業(yè)班級(jí) 題目名稱(chēng) 基于單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì) 課程名稱(chēng) 單片機(jī)原理及在電氣測(cè)控學(xué)科中的應(yīng)用 一、學(xué)生自我總結(jié)經(jīng)過(guò)此次的課程設(shè)計(jì),我學(xué)會(huì)了很多,特別是獨(dú)立思考能力和動(dòng)手能力。這次的課程設(shè)計(jì)鞏固了我的單片機(jī)知識(shí),比如使用DS18B20傳感器,怎樣把220V的交流電壓變成5V直流穩(wěn)壓電源,讓我真正掌握了用protues繪畫(huà)硬件圖,并進(jìn)行仿真和調(diào)試。但是在此次的課程設(shè)計(jì)中也發(fā)現(xiàn)了自己很多的不足,特別是硬件設(shè)計(jì)方面,不知道如何去設(shè)計(jì)硬件以及外部接線圖。不過(guò)我會(huì)在以后的學(xué)習(xí)中好好努力,把自己沒(méi)學(xué)好的方面學(xué)好。 學(xué)生簽名: 年 月 日二、指導(dǎo)教師評(píng)定評(píng)分項(xiàng)目平時(shí)成績(jī)論文答辯綜合成績(jī)權(quán) 重304030單項(xiàng)成績(jī)指導(dǎo)教師評(píng)語(yǔ): 指導(dǎo)教師(簽名): 年 月 日注:1、本表是學(xué)生課程設(shè)計(jì)(論文)成績(jī)?cè)u(píng)定的依據(jù),裝訂在設(shè)計(jì)說(shuō)明書(shū)(或論文)的“任務(wù)書(shū)”頁(yè)后面;2、表中的“評(píng)分項(xiàng)目”及“權(quán)重”根據(jù)各系的考核細(xì)則和評(píng)分標(biāo)準(zhǔn)確定。 摘 要溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機(jī)械、石 油等工業(yè)中,具有舉足重輕的作用。隨著電子技術(shù)和微型計(jì)算機(jī)的迅速發(fā)展,微機(jī)測(cè)量和控制技術(shù)得到了迅速的發(fā)展和廣泛的應(yīng)用。 采用單片機(jī)來(lái)對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。MSP430系列單片機(jī)具有處理能強(qiáng)、運(yùn)行速度快、功耗低等優(yōu)點(diǎn),應(yīng)用在溫度測(cè)量與控制方面,控制簡(jiǎn)單方便,測(cè)量范圍廣,精度較高。本設(shè)計(jì)主要做了如下幾方面的工作:一是確定系統(tǒng)的的總設(shè)計(jì)方案,給出系統(tǒng)框圖。本設(shè)計(jì)以AT89S51單片機(jī)為核心的溫度測(cè)量系統(tǒng)的工作原理和設(shè)計(jì)方法。溫度信號(hào)由溫度芯片DD18B20采集,并以數(shù)字信號(hào)的方式傳送給單片機(jī)。單片機(jī)通過(guò)對(duì)信號(hào)進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)溫度測(cè)量的目的。二是硬件設(shè)計(jì),在這里采用模塊設(shè)計(jì)方法,設(shè)計(jì)各單元電路原理圖及元器件參數(shù)。主要模塊有:?jiǎn)纹瑱C(jī)最下系統(tǒng)設(shè)計(jì)模塊、傳感器溫度采集設(shè)計(jì)模塊、A/D模數(shù)轉(zhuǎn)換設(shè)計(jì)模塊、液晶顯示設(shè)計(jì)模塊。三是軟件設(shè)計(jì),包括繪制軟件主程序流程圖、和編寫(xiě)程序源代碼。四是進(jìn)行調(diào)試及仿真實(shí)驗(yàn),為了驗(yàn)證該溫度測(cè)量系統(tǒng)設(shè)計(jì)的正確性,在protues進(jìn)行硬件軟件聯(lián)合調(diào)試并完成該測(cè)量系統(tǒng)的仿真實(shí)驗(yàn),仿真結(jié)果表明本設(shè)計(jì)是正確的。 關(guān)鍵詞: AT89C51;單片機(jī);DS18B20;溫度測(cè)量目 錄摘要 .1 總體方案論證 12 硬件電路設(shè)計(jì) 22.1 最小系統(tǒng)模塊22.2 電源電路設(shè)計(jì)72.3 溫度傳感器DS18B20溫度采集模塊 72.4 A/D模數(shù)轉(zhuǎn)換102.5 液晶顯示器LM016L顯示模塊 112.6 系統(tǒng)總體硬件原理圖 133 系統(tǒng)軟件設(shè)計(jì) 153.1軟件流程圖153.2程序源代碼164 系統(tǒng)仿真調(diào)試及實(shí)物 .215 設(shè)計(jì)總結(jié)及心得 .23參考文獻(xiàn)24附錄25附錄33附錄351 總體方案論證本設(shè)計(jì)以AT89S51單片機(jī)為核心的溫度測(cè)量系統(tǒng)的工作原理和設(shè)計(jì)方法。溫度信號(hào)由溫度芯片DD18B20采集,并以數(shù)字信號(hào)的方式傳送給單片機(jī)。單片機(jī)通過(guò)對(duì)信號(hào)進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)溫度測(cè)量的目的。系統(tǒng)通過(guò)運(yùn)用用復(fù)位按鈕實(shí)現(xiàn)測(cè)量控制,按下按鍵復(fù)位按鈕則刷新測(cè)量的溫度值。系統(tǒng)的硬件設(shè)計(jì),在這里采用模塊設(shè)計(jì)方法,設(shè)計(jì)各單元電路原理圖及元器件參數(shù)。主要模塊有:?jiǎn)纹瑱C(jī)最下系統(tǒng)設(shè)計(jì)模塊、傳感器溫度采集設(shè)計(jì)模塊、A/D模數(shù)轉(zhuǎn)換設(shè)計(jì)模塊、液晶顯示設(shè)計(jì)模塊。對(duì)于軟件設(shè)計(jì)部分,包括繪制軟件主程序流程圖、和編寫(xiě)程序源代碼。最后可以通過(guò)對(duì)系統(tǒng)整體進(jìn)行調(diào)試及仿真實(shí)來(lái)驗(yàn)證該系統(tǒng)設(shè)計(jì)的正確性。系統(tǒng)總體框圖如圖1.1所示。時(shí)鐘數(shù)字顯示LCDAT89C51復(fù)位 溫度傳感器DS18B20(信號(hào)的調(diào)理轉(zhuǎn)換)5V穩(wěn)壓電源圖1.1 系統(tǒng)總體框圖2 硬件電路設(shè)計(jì)2.1 最小系統(tǒng)模塊設(shè)計(jì)所謂單片機(jī)最小系統(tǒng),是指在單片機(jī)外部增加盡可能少的原件電路,組成一個(gè)讓單片機(jī)可獨(dú)立工作的系統(tǒng)。圖2.1最小系統(tǒng)電路圖2.1.1 AT89C51芯片介紹AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱(chēng)單片機(jī)。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖2.2所示。圖2.2 AT89C2051引腳圖(1)主要特性 與MCS-51單片機(jī)產(chǎn)品兼容 4K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器 1000次擦寫(xiě)周期 全靜態(tài)工作:0Hz24MHz 32個(gè)可編程I/O口線 2個(gè)16位定時(shí)器/計(jì)數(shù)器 5個(gè)中斷源 全雙工UART串行通道 低功耗空閑和掉電模式 掉電后中斷可喚醒 看門(mén)狗定時(shí)器 雙數(shù)據(jù)指針 靈活的ISP編程(字或字節(jié)模式) 4.0-5.5V電壓工作范圍 數(shù)據(jù)保留時(shí)間:10年 三級(jí)程序存儲(chǔ)器鎖定 1288位內(nèi)部RAM 可編程串行通道 片內(nèi)振蕩器和時(shí)鐘電路(2)內(nèi)部結(jié)構(gòu)組成單片機(jī)AT89C51可以劃分為CPU、存儲(chǔ)器、并行口、串行口、定時(shí)/計(jì)數(shù)器和中斷邏輯幾個(gè)部分。 CPU由運(yùn)算器和控制邏輯構(gòu)成。其中包括若干特殊功能寄存器(SFR) AT89C51時(shí)鐘有兩種方式產(chǎn)生,即內(nèi)部方式和外部方式。 AT89C51在物理上有四個(gè)存儲(chǔ)空間:片內(nèi)/片外程序存儲(chǔ)大路、片內(nèi)/片外數(shù)據(jù)存儲(chǔ)器。片內(nèi)有256B數(shù)據(jù)存儲(chǔ)器RAM和4KB的程序存儲(chǔ)器ROM。除此之外,還可以在片外擴(kuò)展RAM和ROM,并且和有64KB的尋址范圍。 AT89C51內(nèi)部有一個(gè)可編程的、全雙工的串行接口。它串行收發(fā)存儲(chǔ)在特殊功能寄存器SFR的串行數(shù)據(jù)緩沖器SBUF中的數(shù)據(jù)。 AT89C51共有4個(gè)(P0、P1、P2、P3口)8位并行I/O端口,共32個(gè)引腳。P0口雙向I/O口,用于分時(shí)傳送低8位地址和8位數(shù)據(jù)信號(hào);P1、P2、P3口均為準(zhǔn)雙向I/O口;其中P2口還用于傳送高8位地址信號(hào);P3口每一引腳還具有特殊功能,用于特殊信號(hào)的輸入輸出和控制信號(hào)。 AT89C51內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器T0、T1。最大計(jì)數(shù)值為216-1。工作方式和定時(shí)器或計(jì)數(shù)器的選擇由指令來(lái)確定。中斷系統(tǒng)允許接受5個(gè)獨(dú)立的中斷源,即兩個(gè)外部中斷,兩個(gè)定時(shí)器/計(jì)數(shù)器中斷以及一個(gè)串行口中斷。(3)管腳說(shuō)明:VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。P3口也可作為AT89C51的一些特殊功能口,如下表2.1所示。 表2.1 P3端口引腳與復(fù)用功能表端口引腳復(fù)用功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。 2.1.2時(shí)鐘電路AT89C51芯片內(nèi)部有一個(gè)高增益反向放大器用于構(gòu)成振蕩器。反向放大器的輸入端為XATL1,輸出端為XATL2。在XATL1 和XATL2兩端跨接由石英晶體及兩個(gè)電容構(gòu)成的自激振蕩器,電容C1和C2取20pF,選用不同的電容對(duì)震蕩頻率有微調(diào)作用,但石英晶體本身的標(biāo)定頻率才是單片機(jī)振蕩頻率的決定因數(shù)。時(shí)鐘電路如圖2.4所示。圖2.4時(shí)鐘電路 時(shí)鐘電路中,兩個(gè)電容都選擇20 pF電容,電容一端接與晶振相連,另一端接地。選擇的晶振是頻率為12MHZ。此模塊就是產(chǎn)生像時(shí)鐘一樣準(zhǔn)確的震蕩電路。2.1.3復(fù)位電路(1) 手動(dòng)按鈕復(fù)位 手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的電路如圖2.5所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿(mǎn)足復(fù)位的時(shí)間要求。本系統(tǒng)采用的就是手動(dòng)按鈕復(fù)位,電路連接圖如圖2.5所示。圖2.5 復(fù)位電路2.2 電源電路設(shè)計(jì)220V交流電經(jīng)過(guò)變壓器降壓成 12V,經(jīng)過(guò)橋式整流器整流、C1濾波,成為約 14V直流電,再經(jīng)三端穩(wěn)壓集成電路7805穩(wěn)壓,形成5V穩(wěn)定直流電,作為光電輸入電路、脈沖形成電路(U1-U8 組成電壓比較器) 和計(jì)數(shù)與顯示電路的工作電源。電源設(shè)計(jì)電路圖如圖2.6所示,電源電路工作原理如圖2.7所示。 圖2.6 電源電路220V交流電橋式整流濾波5V直流電輸出7805穩(wěn)壓模塊圖2.7電路工作原理圖2.3 溫度采集電路2.3.1 DS18B20芯片簡(jiǎn)介DS18B20是由美國(guó)DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器芯片。與傳統(tǒng)的熱敏電阻有所不同,DS18B20可直接將被測(cè)溫度轉(zhuǎn)化為串行數(shù)字信號(hào)。通過(guò)編程,DS18B20可以實(shí)現(xiàn)912位的溫度讀數(shù)。信息經(jīng)過(guò)單線接口送入DS18B20或從DS18B20送出,因此從微處理器到DS18B20僅需連接一條信號(hào)線和地線。讀、寫(xiě)和執(zhí)行溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。 2.3.2 DS18B20的主要特點(diǎn)(1)采用單線技術(shù),與單片機(jī)通信只需一個(gè)引腳;(2)通過(guò)識(shí)別芯片各自唯一的產(chǎn)品序列號(hào)從而實(shí)現(xiàn)單線多掛接,簡(jiǎn)化了分布式溫度檢測(cè)的應(yīng)用;(3)實(shí)際應(yīng)用中不需要外部任何器件即可實(shí)現(xiàn)測(cè)溫;(4)可通過(guò)數(shù)據(jù)線供電,電壓的范圍在35.5V;(5)不需要備份電源;(6)測(cè)量范圍為-55+125,在-10+85范圍內(nèi)誤差為0.5;(7)數(shù)字溫度計(jì)的分辨率用戶(hù)可以在9位到12位之間選擇,可配置實(shí)現(xiàn)912位的溫度讀數(shù);(8)將12位的溫度值轉(zhuǎn)換為數(shù)字量所需時(shí)間不超過(guò)750ms;(9)用戶(hù)定義的,非易失性的溫度告警設(shè)置,用用戶(hù)可以自行設(shè)定告警的上下限溫度。2.3.3 DS18B20的引腳功能DS18B20的引腳如圖2.8所示。圖2.8 DS18B20引腳圖DS18B20功能如表2.2所示。表2.2 DS18B20引腳功能表引腳PR35符號(hào)說(shuō)明1GND地2DQ單線運(yùn)用的數(shù)據(jù)輸入/輸出引腳3VCC可選VCC引腳2.3.4 溫度采集電路圖溫度測(cè)量系統(tǒng)主要運(yùn)用了DS18B20和AT89C51。如何使兩者連接實(shí)現(xiàn)功能是溫度測(cè)量電路的主要設(shè)計(jì)目的。在硬件上,DS18B20與單片機(jī)的連接有兩種方式,一種是VCC接外部電源,GND接地,I/O與單片機(jī)I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O,內(nèi)部寄生電源I/O口線要接5千歐左右的上拉電阻。這里采用的是第一種連接方式,如圖2.10所示圖2.10 溫度采集電路2.4 模數(shù)轉(zhuǎn)換2.4.1 A/D轉(zhuǎn)換器的基本原理模數(shù)轉(zhuǎn)換器即A/D轉(zhuǎn)換器,或簡(jiǎn)稱(chēng)ADC,是用來(lái)把模擬電壓量u1轉(zhuǎn)換成為與它成比例的二進(jìn)制數(shù)字量Dn的電路。A/D轉(zhuǎn)換包括量化和編碼兩個(gè)過(guò)程。所謂量化就是把幅值可連續(xù)變化的電壓轉(zhuǎn)化成為所規(guī)定的單位量化電壓的整數(shù)倍。編碼就是把量化的結(jié)果用代碼表示出來(lái)。既然輸入電壓的幅值是連續(xù)變化的,它的幅值不一定是其量化單位的整數(shù)倍,所以量化過(guò)程不可避免會(huì)引入誤差,這種誤差叫量化誤差。為了把一個(gè)變化范圍0-0.7V的模擬信號(hào)轉(zhuǎn)換為3位二進(jìn)制數(shù)碼,首先把0.7V分成8個(gè)離散電平,這8個(gè)離散電平為0、0.1V、0.7V。沒(méi)相鄰離散電平的差值相等,都是一個(gè)量化單位,為0.1V。這個(gè)過(guò)程就叫量化。量化過(guò)程實(shí)際上就是用有限的量化值代替模擬量的過(guò)程。為了對(duì)量化候的信號(hào)進(jìn)行處理,還應(yīng)該把量化的結(jié)果用二進(jìn)制代碼獲其他形式表示,這個(gè)過(guò)程就叫編碼。模數(shù)轉(zhuǎn)換器最重要的參數(shù)是轉(zhuǎn)換的精度,通常用輸出的數(shù)字信號(hào)的位數(shù)的多少表示。轉(zhuǎn)換器能夠準(zhǔn)確輸出的數(shù)字信號(hào)的位數(shù)越多,表示轉(zhuǎn)換器能夠分辨輸入信號(hào)的能力越強(qiáng),轉(zhuǎn)換器的性能也就越好。A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo):(1)分辨率:用二進(jìn)制表示,位數(shù)越高,轉(zhuǎn)換精度越大。(2)相對(duì)精度:理想下是一條直線,各個(gè)轉(zhuǎn)換點(diǎn)偏離理想特性的誤差。(3)轉(zhuǎn)換速度:指完成一次轉(zhuǎn)換所需時(shí)間。2.4.2 ADC0809A/D轉(zhuǎn)換器芯片ADC0809是CMOS工藝,采用逐次逼近法的8位、A/D轉(zhuǎn)換芯片28引腳雙列直插式封裝,片內(nèi)除A/D轉(zhuǎn)換部分外還有多路模擬開(kāi)關(guān)。多路開(kāi)關(guān)有8路模擬量輸入端,以及8路模擬量分時(shí)輸入,共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。 (1)ADC0809的內(nèi)部邏輯結(jié)構(gòu)由圖2.11可知,ADC0809由一個(gè)8路模擬開(kāi)關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開(kāi)關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。ADC0809的內(nèi)部邏輯結(jié)構(gòu)如圖2.11所示。圖2.11 ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖(2)ADC0809引腳結(jié)構(gòu)ADC0809引腳結(jié)構(gòu)圖如圖2.11所示。D7-D0:8位數(shù)字量輸出引腳。 IN0-IN7:8位模擬量輸入引腳。 VCC:+5V工作電壓。 GND:地。 REF(+):參考電壓正端。 REF(-):參考電壓負(fù)端。 START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。ALE:地址鎖存允許信號(hào)輸入端。(以上兩種信號(hào)用于啟動(dòng)A/D轉(zhuǎn)換)A、B、C:地址輸入線。 EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開(kāi)始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束為高電平。OE:輸出允許控制端,用以打開(kāi)三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時(shí)鐘信號(hào)輸入端(一般為500KHz)。 ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是05V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如表2.3所示。表2.3 8位模擬開(kāi)關(guān)功能表ADDCADDBADDA輸入通道號(hào)000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN72.5 液晶顯示器LM016L顯示模塊2.5.1液晶顯示器LM016L結(jié)構(gòu)功能介紹液晶顯示器是一種將液晶顯示器件、連接器件、集成電路、PCB線路板、背光源,結(jié)構(gòu)器件裝配在一起的組件。LM016L液晶模塊采用HD44780控制器。HD44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng)、閃爍等功能。HD44780控制器由兩個(gè)8位寄存器、指令寄存器(IR)和數(shù)據(jù)寄存器(DR)、忙標(biāo)志(BF)、顯示數(shù)據(jù)RAM(DDRAM)、字符發(fā)生器ROM(CGROM)、字符發(fā)生器RAM(CGRAM)、地址計(jì)數(shù)器(AC)構(gòu)成。IR用于寄存指令碼,只能寫(xiě)入不能讀出;DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫(xiě)入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù)。BF為1時(shí),液晶模塊處于內(nèi)部處理模式,不響應(yīng)外部操作指令和接受數(shù)據(jù)。DDRAM用來(lái)存儲(chǔ)顯示的字符,能存儲(chǔ)80個(gè)字符碼。CGROM由8位字符碼生成5 x 7點(diǎn)陣字符160種和510點(diǎn)陣字符32種,8位字符編碼和字符的對(duì)應(yīng)關(guān)系。CGRAM是為用戶(hù)編寫(xiě)特殊字符留用的,它的容量?jī)H64字節(jié)。可以自定義8個(gè)57點(diǎn)陣字符或者4個(gè)510點(diǎn)陣字符。AC可以存儲(chǔ)DDRAM和CGRAM地址,如果地址碼隨指令寫(xiě)入IR,則IR自動(dòng)把地址碼裝入AC,同時(shí)選擇DDRAM或者CGRAM單元。LMO16L液晶模塊的引腳功能見(jiàn)下表2.4所示。表2.4:LM016L液晶模塊的引腳功能引腳號(hào)名稱(chēng)電平功能描述1Vss地2VDD電源3VEE亮度調(diào)節(jié)4RS控制指令位H:數(shù)據(jù)線上為數(shù)據(jù)信號(hào)L:數(shù)據(jù)線上為指令信號(hào)5RW讀寫(xiě)指令位H:讀數(shù)據(jù)模式L:寫(xiě)數(shù)據(jù)模式6E使能信號(hào)使能信號(hào)端714DB0DB7數(shù)據(jù)線數(shù)據(jù)線2.5.2 LM016L液晶顯示電路P2.0P2.7與D0D7相連,P3. 0P3.2分別于三個(gè)使能端RS、RW、E相連,來(lái)控制LMO16L的顯示。如圖2.12所示,為L(zhǎng)CD顯示連接電路圖。其為開(kāi)機(jī)顯示的初始狀態(tài)。 圖2.12 LCD顯示連接電路圖2.6 系統(tǒng)總體硬件原理圖電路原理圖用Protues軟件繪制而成。首先對(duì)硬件系統(tǒng)AT89C51,引腳TXAL1、TXAL2與晶振時(shí)鐘電路相連,RST引腳接復(fù)位電路。一起構(gòu)成了單片機(jī)的最小系統(tǒng)。P2.0P2.7與D0D7相連,P3. 0P3.2分別于三個(gè)使能端RS、RW、E相連,來(lái)控制LMO16L的顯示。P1.7連接的是溫度采集電路,采用傳感器DS18B20來(lái)進(jìn)行溫度采集,將采集到的溫度轉(zhuǎn)換數(shù)字,由LMO16L液晶顯示屏顯示。系統(tǒng)原理圖如圖2.13所示:圖2.13 系統(tǒng)硬件電路圖3 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序。3.1軟件流程圖3.1.1 主程序流程圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,其程序流程見(jiàn)圖3.1所示。3.1.2溫度轉(zhuǎn)換命令子程序流程圖溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖3.2所示發(fā)DS18B20復(fù)位命令發(fā)跳過(guò)ROM命令發(fā)溫度轉(zhuǎn)換開(kāi)始命令 結(jié)束開(kāi)始初始化讀度溫度計(jì)算溫度及數(shù)據(jù)處理LCD顯示 圖3.1 主程序流程圖圖3.2溫度轉(zhuǎn)換流程圖3.2各子程序源代碼3.2.1 LCD的C語(yǔ)言源代碼void delayNOP() _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); bit lcd_busy() bit result; lcd_rs=0; lcd_rw=1; lcd_en=1; delayNOP(); result=(bit)(P2&0x80); lcd_en=0; return(result); void lcd_wdat(uchar date) while(lcd_busy(); lcd_rs=1; lcd_rw=0; lcd_en=0; P2=date; delayNOP(); lcd_en=1; delayNOP(); lcd_en=0; delayNOP(); void reset() uchar i; lcd_wcmd(0x38); lcd_wcmd(0x0c); lcd_wcmd(0x06); lcd_wcmd(0x01); lcd_wcmd(0x00|0x80); for(i=0;i<16;i+) lcd_wdat(dis1i); delayNOP(); lcd_wcmd(0X40|0x80); for(i=0;i<5;i+) lcd_wdat(dis2i); delayNOP(); 3.2.2 DS18B20 C語(yǔ)言源代碼ds18b20_rst() dq=1; delay(8); dq=0; delay(90); dq=1; delay(14); x=dq; delay(20); return (x); ds18b20_rd() uchar dat=0; uchar i; for(i=0;i<8;i+) dq=0; dat>>=1; dq=1; if(dq) dat=dat|0x80; delay(10); return(dat); void ds18b20_wr(uchar com) uchar i; for(i=0;i<8;i+) dq=0; dq=com&0x01; delay(10); dq=1; com>>=1; delay(4); read_temp() int tt; bit c; ds18b20_rst(); ds18b20_wr(0xcc); ds18b20_wr(0x44); ds18b20_rst(); ds18b20_wr(0xcc); ds18b20_wr(0xbe); temp_data0=ds18b20_rd(); temp_data1=ds18b20_rd(); temp_data1<<=4; c=temp_data1&0x80; if(c=0) symbol=0; t=(temp_data0)+(temp_data1<<=4)*0.0625; if(c=1) symbol=1; tt=(temp_data0)+(temp_data1<<=4)+1; t=tt*0.0625; return(t); void ds18b20_disp() uchar flagdat; disdata0=t/100+0x30; disdata1=t%100/10+0x30; disdata2=t%10+0x30; disdata4=temp_data0&0x0f; disdata3=ditabdisdata4+0x30; if(symbol=0) flagdat=0x20; else flagdat=0x2d; if(disdata0=0x30&&disdata1=0x30) disdata0=0x20; disdata1=0x20; if(disdata0=0x30&&disdata1!=0x30) disdata0=0x20;4 系統(tǒng)仿真及調(diào)試4.1仿真及調(diào)試(1)安裝keil 與 proteus。(2)軟件調(diào)試,在Keil軟件上輸入程序,進(jìn)行編譯、連接。圖4.1 keil軟件下編寫(xiě)程序(3)在proteus進(jìn)行硬件仿真。(4)仿真結(jié)果:運(yùn)行程序,LCD首先顯示的溫度數(shù)據(jù)與溫度傳感器DS18B20的數(shù)據(jù)一致,如圖4.2所示。按下復(fù)位鍵,顯示當(dāng)時(shí)測(cè)量的室內(nèi)溫度:“weather forecast tem:41.0”;重復(fù)按下復(fù)位鍵鍵,LCD刷新測(cè)量的溫度值。 圖4.2 仿真結(jié)果電路圖4.2 實(shí)物過(guò)程與步驟(1)查找相關(guān)元器件的使用及連接方式。如DS18B20與AT89C51的連接方式。(2)對(duì)系統(tǒng)原理圖進(jìn)行調(diào)試與分析。(3)領(lǐng)取元器件和耗材。(4)按照元器件清單找出元器件,確認(rèn)元器件質(zhì)量和參數(shù)。(5)完成在通用電路板上元器件的布置和焊接。(6)將程序?qū)懭雴纹瑱C(jī)并裝到電路板上,接通5V電源在電路板上電調(diào)試。4.3 實(shí)物結(jié)果與分析(1)實(shí)物圖結(jié)果分析:如實(shí)物圖所示本次設(shè)計(jì)的基于單片機(jī)89C51的溫度測(cè)量?jī)x實(shí)物圖,其顯示端和測(cè)量端通過(guò)一系列的元件連接起來(lái)。為了驗(yàn)證數(shù)據(jù)轉(zhuǎn)換的可靠性,設(shè)計(jì)時(shí)安裝了LCD顯示器,在測(cè)試中通過(guò)觀察顯示端與測(cè)量端是否顯示相同的溫度值來(lái)檢驗(yàn)數(shù)據(jù)傳送的可靠性。圖中為實(shí)物圖,測(cè)得現(xiàn)場(chǎng)的環(huán)境溫度為29度,與實(shí)際情況相符,驗(yàn)證了測(cè)量端電路能夠有效工作,同時(shí)顯示端溫度值與測(cè)量端溫度值保持一致,證明了數(shù)據(jù)傳送的可靠性,此外,當(dāng)按下復(fù)位鍵時(shí),顯示端的溫度值和測(cè)量端的溫度值同時(shí)發(fā)生改變,DS18B20傳感器則重新測(cè)量溫度,重復(fù)上一次的系統(tǒng)信號(hào)轉(zhuǎn)換,LCD顯示器重新顯示當(dāng)前值。此設(shè)計(jì)在環(huán)境惡劣的情況下依然可以觀察到環(huán)境溫度的變化,尤其是需要測(cè)惡劣環(huán)境下溫度時(shí),避免了人員直接置身其中,保障了其安全性。(2)實(shí)驗(yàn)操作結(jié)果列表如下表4.1 實(shí)驗(yàn)操作項(xiàng)目表操作項(xiàng)目實(shí)驗(yàn)操作LCD溫度顯示操作項(xiàng)目一不做任何操作顯示當(dāng)前室溫30攝氏度操作項(xiàng)目二用電風(fēng)扇進(jìn)行降溫操作28攝氏度操作項(xiàng)目三用加熱爐進(jìn)行升溫操作38攝氏度5 設(shè)計(jì)總結(jié)及心得在為期兩周的單片機(jī)課程設(shè)計(jì)中,我們要設(shè)計(jì)一個(gè)溫度測(cè)量系統(tǒng)。軟件使用Keil軟件進(jìn)行仿真調(diào)試。硬件使用單片機(jī)仿真器、編程器、實(shí)驗(yàn)儀三合一綜合開(kāi)發(fā)平臺(tái)上的DS18B20數(shù)字溫度采集模塊和LMO16L液晶顯示模塊。唐博士首先給我們?cè)敿?xì)講解了芯片的功能和工作原理,并給了一份參考程序。在機(jī)房進(jìn)行實(shí)驗(yàn)時(shí),我們也遇到了很多困難,例如在做實(shí)物圖時(shí)我們將溫度傳感器的引腳接反了,經(jīng)過(guò)再三細(xì)心檢查和查資料最終才更正過(guò)來(lái)。在對(duì)參考程序進(jìn)行仿真時(shí),結(jié)果也出了問(wèn)題。然后,我思考設(shè)計(jì)要求對(duì)程序進(jìn)行修改,初次修改沒(méi)有成功,我詢(xún)問(wèn)了老師,老師給我講解了思路。經(jīng)過(guò)再三的請(qǐng)教、修改程序,反復(fù)調(diào)試,最后成功了,心里非常高興,這次是我獨(dú)自思考,獨(dú)立完成的,也使我對(duì)整個(gè)程序有了更深的理解。通過(guò)這次的課程設(shè)計(jì)作品的制作讓我對(duì)單片機(jī)的理論有了更加深入的了解,同時(shí)在具體的制作過(guò)程中我們發(fā)現(xiàn)現(xiàn)在書(shū)本上的知識(shí)與實(shí)際的應(yīng)用存在著不小的差距,書(shū)本上的知識(shí)很多都是理想化后的結(jié)論,忽略了很多實(shí)際的因素,或者涉及的不全面,可在實(shí)際的應(yīng)用時(shí)這些是不能被忽略的,我們不得不考慮這方的問(wèn)題,這讓我們無(wú)法根據(jù)書(shū)上的理論就輕易得到預(yù)想中的結(jié)果,有時(shí)結(jié)果甚至很差別很大。通過(guò)這次實(shí)踐使我更深刻的體會(huì)到了理論聯(lián)系實(shí)際的重要性,我們?cè)诮窈蟮膶W(xué)習(xí)工作中會(huì)更加的注重實(shí)際,避免稱(chēng)為只會(huì)紙上談兵。參考文獻(xiàn):1樓然苗. 單片機(jī)課程設(shè)計(jì)指導(dǎo)M.北京:北京航空航天大學(xué)出版社,2007:3547.2張克農(nóng).數(shù)字電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2003:255271.3胡宴如.模擬電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2001:91111.4李朝青.單片機(jī)原理及接口技術(shù)M.北京:北京航空航天大學(xué)出版社,1999:17277.5謝自美.電子線路設(shè)計(jì)、實(shí)驗(yàn)、測(cè)試M.武漢:華中理工大學(xué)出版社,2003:2357.6康華光.電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2002:1334.7李強(qiáng).數(shù)字電子技術(shù)基礎(chǔ)教程M.北京:電子工業(yè)出版社,2002:2545.8趙志杰.集成電路應(yīng)用識(shí)圖方法M.北京:機(jī)械工業(yè)出版社,2003:1031.附錄:#include<reg51.h></reg51.h> #include<intrins.h></intrins.h>#include<absacc.h></absacc.h>#define uchar unsigned char #define uint unsigned intsbit lcd_rs=P30; sbit lcd_rw=P31;sbit lcd_en=P32;sbit dq=P17;uchar code dis1="Weather forecast"uchar code dis2="temp:"temp_data=0x00,0x00;disdata=0x00,0x00,0x00,0x00,0x00;uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;bit x;uint t;uchar symbol;/*/ void delay(uint ms) while(ms-); void delayNOP() _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /*/*檢查L(zhǎng)CD忙狀態(tài) */ /*lcd_busy為1時(shí),忙,等待。lcd-busy為0時(shí),閑,可寫(xiě)指令與數(shù)據(jù)。 */ /*/ bit lcd_busy() bit result; lcd_rs=0; lcd_rw=1; lcd_en=1; delayNOP(); result=(bit)(P2&0x80); lcd_en=0; return(result); /*寫(xiě)指令數(shù)據(jù)到LCD */ /*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 */ /*/ void lcd_wcmd(uchar cmd) while(lcd_busy(); lcd_rs=0; lcd_rw=0; lcd_en=0; P2=cmd; delayNOP(); lcd_en=1; delayNOP(); lcd_en=0; delayNOP(); /*/ /*寫(xiě)顯示數(shù)據(jù)到LCD */ /*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 */ /*/ void lcd_wdat(uchar date) while(lcd_busy(); lcd_rs=1; lcd_rw=0; lcd_en=0; P2=date; delayNOP(); lcd_en=1; delayNOP(); lcd_en=0; delayNOP(); /* LCD初始化設(shè)定 */ /*/ void reset() uchar i; lcd_wcmd(0x38); /16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù) lcd_wcmd(0x0c); /顯示開(kāi),關(guān)光標(biāo) lcd_wcmd(0x06); /移動(dòng)光標(biāo) lcd_wcmd(0x01); /清除LCD的顯示內(nèi)容/* 設(shè)定顯示位置 */ /*/ lcd_wcmd(0x00|0x80); /數(shù)據(jù)指針=80+地址變量/*自定義字符寫(xiě)入CGRAM */ /*/ for(i=0;i&lt;16;i+) lcd_wdat(dis1i); delayNOP(); /*us級(jí)延時(shí)函數(shù) */ /*/ lcd_wcmd(0X40|0x80); for(i=0;i&lt;5;i+) lcd_wdat(dis2i); delayNOP(); /*初始化ds1820 */ /*/ ds18b20_rst() dq=1; /拉高總線 delay(8); /稍做延時(shí) dq=0; /DQ復(fù)位 delay(90); /精確延時(shí) 大于 480us dq=1; delay(14); x=dq; /X=0則初始化成功 X=1則初始化失敗 delay(20); return (x); /返回信號(hào),0=X,1= no X /* 讀一個(gè)字節(jié) */ /*/ ds18b20_rd() uchar dat=0; uchar i; for(i=0;i&lt;8;i+) dq=0; / 給脈沖信號(hào) dat&gt;&gt;=1; dq=1; / 給脈沖信號(hào) if(dq) dat=dat|0x80; delay(10); return(dat); /* 寫(xiě)一個(gè)字節(jié) */ /*/ void ds18b20_wr(uchar com) uchar i; for(i=0;i&lt;8;i+) dq=0; dq=com&0x01; delay(10); dq=1; com&gt;&gt;=1; delay(4); /* 讀取溫度 */ /*/ read_temp() int tt; bit c; ds18b20_rst(); ds18b20_wr(0xcc); / 跳過(guò)讀序號(hào)列號(hào)的操作 ds18b20_wr(0x44); / 啟動(dòng)溫度轉(zhuǎn)換 ds18b20_rst(); ds18b20_wr(0xcc); /跳過(guò)讀序號(hào)列號(hào)的操作 ds18b20_wr(0xbe); /讀取溫度寄存器 temp_data0=d

注意事項(xiàng)

本文(單片機(jī)課程設(shè)計(jì))為本站會(huì)員(仙***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!