【正文】
DATA=1。SCK=0。DATA=1。SCK=1。_nop_()。SCK=0。DATA=0。SCK=1。SCK=0。 _nop_()。 _nop_()。I //IIC總線前面已定義/////////////////////////////////溫濕度傳感器SHT11地址定義/////////////////////////////////define noACK 0define ACK 1 //地址 命令 讀/寫define STATUS_REG_W 0x06 //000 0011 0define STATUS_REG_R 0x07 //000 0011 1define MEASURE_TEMP 0x03 //000 0001 1define MEASURE_HUMI 0x05 //000 0010 1define RESET 0x1e //000 1111 0//////////////////////////////////EEPROM24c01 地址定義//////////////////////////////// //固定 器件地址 讀/寫define OP_READ 0xa3 //1010 001 1define OP_WRITE 0xa2 //1010 001 0define TemH addr1define TemL addr2define HumH addr3define Huml addr4 // 為EEPROM中上下限存放的單元重命名////延時子程序//若機器周期為1us,則本延時程序為延時x(ms)//Void delay(BYTE x){BYTE I。uchar showbuf[6]。unsigned char Tem [2 ]。//循環(huán)加1鍵sbit K4 =P1?3。//設(shè)定鍵sbit K2 =P1?1。 // 模擬時鐘線; 模擬數(shù)據(jù)線sbit WP =P1?4。////EEPROM24C01 相關(guān)控制信號及變量//sbit DATA=P1?6。BYTE dis2[16]。sbit ep=P2?2。//溫濕度上下限(全局變量)sbit buzzer=P2?4;//1602相關(guān)控制信號及變量sbit rs=P2?0。int TH,TL。typedef unsigned int WORD。引用端口:P0,P2控制1602液晶屏,.。s variety.With the continuous improvement in the performance of singlechip, and continue to make up their own to overe the deficiencies. In a variety of areas of control, singlechip will have more extensive use of heaven and earth. In a very long period of time, it has been the project39。 OTP device to enable rapid and enhance the standardization possible.5. Strong antiinterference ability to continue to strengthen the antiinterference ability to further develop singlechip is an inevitable trend. ST Microelectronics has introduced the ST62 Series MCU is a leader in this area, and its excellent antiinterference ability of many large panies make their application in the system39。 additional new feature is transparent。s programming has been scrapped and inventory。 insystem programming as well as the ability to produce products that provide the flexibility, as Flash MPU can be programmed in the back Again with a new program to reCode。s promotion of lowpower single chip to the direction of one of the leading singlechip family. 51LPC series singlechip three ways to reduce power consumption: (1) into the system so that the idle mode in idle mode, only the peripheral devices in the work of any disruption can be reset and the end of the idle mode. (2) into the system so that lowpower mode, lowpower mode, the oscillator to stop working, is to minimize power consumption.(3) into the system so that lowvoltage EPROM operation。在掉電模式保存在RAM,但凍結(jié)振蕩器,停用所有其他芯片的功能,直到下一個外部中斷或硬件復位。此外,AT89S51設(shè)計的靜態(tài)邏輯operationdown零頻率和支持兩種軟件可選的節(jié)電模式。通過結(jié)合通用8位中央處理器的系統(tǒng)內(nèi)可編程閃存的單片芯片, Atmel公司AT89S51是一個功能強大的微控制器,提供了一個高度靈活的和具有成本效益的解決辦法,許多嵌入式控制應(yīng)用。該設(shè)備的生產(chǎn)使用Atmel的高密度非易失性存儲器技術(shù)和符合產(chǎn)業(yè)嘗試標準80C51指令集和引腳。在很長的一段時間內(nèi),它將一直是工程設(shè)計人員的首選控制芯片之一。隨著單片機性能的不斷提高,不斷的克服和彌補自身的不足。、全面化方向發(fā)展各大單片機開發(fā)商在增加產(chǎn)品功能的同時效力于形成產(chǎn)品的系列化、全面化,以滿足各種控制領(lǐng)域的要求,這也是單片機發(fā)展的趨勢之一。ST Microelectnics公司推出的ST62系列單片機在這方面是佼佼者,其優(yōu)良的抗干擾能力使得許多大公司將其應(yīng)用在系統(tǒng)中的關(guān)鍵部件上。具體表現(xiàn)在:兼容性作為設(shè)計的第一考慮;額外的新的特點是透明的;使用同一種編程器;OTP使器件快速提升及標準化成為可能。目前單片機的另一個發(fā)展趨勢是在芯片上集成更多的功能。 Memory隨著半導體工藝技術(shù)的不斷進步,MPU的Flash版本逐漸替代了原有的OTP版本。(2)使系統(tǒng)進入低功耗模式,在低功耗模式下,振蕩器停止工作,使功耗降到最小?;?0C51的飛利浦低功率、低系統(tǒng)成本微控制器51LPC系列是業(yè)界推動單片機向低功耗方向發(fā)展的主導單片機系列之一。參考文獻[1] . .[2] . .[3] 孫寶元. . 機械工業(yè)出版社. 2004.[4] 張福學. 現(xiàn)代實用傳感器電路. 中國計量出版社. 1997.[5] 張洪潤. 張亞凡. 單片機原理與應(yīng)用. 清華大學出版社. 2005.[6] 何立民. .[7] . . 2003.[8] 紀宗南. 單片機外圍器件實用手冊. 北京航空航天大學出版社. 1998.[9] 李華. MCS51系列單片機使用接口技術(shù). 北京航空航天大學出版社. 1990.[10]AT89S51 .[11] SHT11 .[12] 陳偉人. 計算機原理及接口技術(shù). 清華大學出版社. 1993. [13] 張慶雙. 電子元器件的選用與檢測. 機械工業(yè)出版社. 2003.[14] 1602字符型LCD. .[15] . 最新液晶顯示應(yīng)用. 電子工業(yè)出版社. 2006.附錄1 譯文自單片機出現(xiàn)至今,單片機技術(shù)已走過了幾十年的發(fā)展路程。感謝四年中陪伴在我身邊的同學、朋友、感謝他們?yōu)槲姨岢鲇幸獾囊庖姾徒ㄗh,有了他們的支持、鼓勵和幫助,我才充實的度過了死難的學習生活。他淵博的專業(yè)知識,嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,教人不倦的高尚品德,嚴于律己、寬以待人的崇高風范,樸實無華、平易近人的人格魅力對我影響深遠。首先誠摯的感謝我的指導老師胡金龍老師。致 謝大學生活一晃而過,人生能有幾個四年,我在我的大學里度過了我人生最有意義的四年。但在設(shè)計的過程中,使我對四年以來所學的專業(yè)知識有了更深一步的理解,不僅提高了動手能力,而且使我對產(chǎn)品開發(fā)的過程有了更深刻的了解。由于時間和本人能力的限制,設(shè)計中存在一些需要改進和優(yōu)化的地方。通過本次設(shè)計使我對溫濕度計有了比較全面的了解,熟悉了溫濕度計設(shè)計的理念,掌握了溫濕度計設(shè)計的一些技能,讓我了解了設(shè)計方法對我們學習的重要性,同時也發(fā)現(xiàn)了自己的很多不足之處。其中它自帶的A/D轉(zhuǎn)換器,使得此溫濕度計具有精度高、成本低、接口簡單等特點,還具有良好抗干擾能力。首先是傳感器信號強度的增加增強了傳感器的抗干擾性能,保證了傳感器的長期穩(wěn)定性,而A/D轉(zhuǎn)換的同時完成,則降低了傳感器對干擾噪聲的敏感程度。在老師的幫助和自己的不斷努力下,本次畢業(yè)設(shè)計成功實現(xiàn)了所要達到的技術(shù)指標。圖 65 編輯源文件本章小結(jié)本章介紹了硬件電路主要部件的檢測和功能強大的編譯仿真軟件KEIL的一些基本使用方法,用其可以生成下載文件HEX,也可以編譯仿真程序,如果沒有硬件進行驗證程序,還可以與Proteus 這款軟件配合使用,可以仿真硬件實現(xiàn)的功能。首先點擊“File”下面的“New”菜單,或者直接點擊工具欄中的新建按鈕,軟件將彈出源文件編輯窗口,我們可以在窗口中編輯源文件,在編輯過程中要注意保存所編輯內(nèi)容。圖 64 是否加入啟動碼至此,我們完成了整個工程的初步建立。我們只需根據(jù)自己工程的需要選擇相應(yīng)的MCU,然后點擊“確定”按鈕就可以了。軟件彈出“Create New Project”(創(chuàng)建新工程)窗口。 測試過程首先是安裝軟件,待安裝完成后,我們就可以使用軟件了,打開軟件,我們可以看到其界面,如圖61所示:圖 61 keil集成開發(fā)環(huán)境下面我們就來使用Keil軟件開發(fā)我們的第一個項目。Keil軟件功能強大,包含很多部分,本文我們主要使用Keil μVision來開發(fā)C51項目、調(diào)試程序并生成HEX文件來用于單片機開發(fā)。Keil μVision是Keil公司(ARM子公司)開發(fā)的一款用于MCS51單片機開發(fā)的應(yīng)用十分廣泛的編譯和調(diào)試軟件。 軟件調(diào)試 測試工具單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。通過鍵盤輸入溫濕度范圍,觀察LCD液晶顯示能否時時反映出此時數(shù)值,如果超出設(shè)定范圍,看超聲波霧化器是否能及時的調(diào)節(jié)溫濕度,達到所需的數(shù)值。,檢測LCD液晶顯示是否正常工作,當模塊在接受指令前,微處理器必須先確認模塊內(nèi)部處于非忙碌狀態(tài),即讀取BF標志時BF需為0,方可接受新的指令;如果在送出一個指令前并不檢查BF標志,那么在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確實執(zhí)行完成,指令執(zhí)行的時間請參考指令表中的個別指令說明,“RE”為基本指令集與擴充指令集的選擇控制位元,當變更“RE”位元后,往后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位元,否則使用相同指令集時,不需每次重設(shè)“RE”位元。首先必須對電路板各個節(jié)點進行檢查,利用萬用表檢查各節(jié)點是否有斷路現(xiàn)象。本章小結(jié)本章主要介紹溫濕度計的軟件程序設(shè)計,著重講訴了主程序、溫濕度采集與顯示子程序的設(shè)計思路及程序流程圖。讀取8位數(shù)據(jù)之后,若單片機向從器件發(fā)送應(yīng)答信號,從器件將在總線空閑時繼續(xù)發(fā)送數(shù)據(jù);否則從器件結(jié)束發(fā)送數(shù)據(jù)。如果單片機選擇讀操作,再從器件發(fā)送一個8位數(shù)據(jù)后釋放DATA線并監(jiān)視一個應(yīng)答信號,一旦接受到應(yīng)答信號,從器件繼續(xù)發(fā)送數(shù)據(jù),如單片機沒有發(fā)送應(yīng)答信號,從器件停止傳送數(shù)據(jù)且等待一個停止信號。C總線,這就涉及到了總線讀寫。 I178。因此,單片機往1602寫指令或數(shù)據(jù)之前,都要確認液晶模塊空閑。送顯之前,單片機會通過1602寫指令子程序往1602中寫入顯示字符地址,來設(shè)定顯示位置。 溫濕度顯示子程序(1)設(shè)計思路由于溫濕度傳感器的非線性因素的影響,單片機直接從SHT11讀取的溫濕度數(shù)據(jù)并不準確,必須經(jīng)過相對濕度和溫度的非線性補償公式、相對濕度對于溫度的依賴性補償公式進行修正。如果沒有用CRC8校驗碼,則單片機需要在測量數(shù)據(jù)LSB后,保持ACK為高來停止通訊。在傳輸過程中控制器必須通過使DATA為低來確認每一字節(jié),所有的測量值從右算MSB列于第一位。為表明測量完成,SHT11會使數(shù)據(jù)線為