




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 2013-2014年第1學(xué)期電路綜合實(shí)驗(yàn)、電子工藝實(shí)習(xí) 實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)名稱:基于DHT11的無線自動澆花器的設(shè)計(jì) 學(xué) 院: 信息與通信工程學(xué)院 專 業(yè): 通信工程 班 級: 班內(nèi)序號: 學(xué) 號: 姓 名: 任課教師: 周老師、王老師 北京郵電大學(xué) 時間:2013年9月21日40期中檢查教師評語指導(dǎo)教師簽字: 年 月 日基于DHT11的無線自動澆花器的設(shè)計(jì)20112實(shí)驗(yàn)摘要本次我們小學(xué)期的作品是基于溫濕度傳感器DHT11的無線自動澆花器。利用DHT11溫濕度自動檢測溫濕度,根據(jù)環(huán)境濕度是否適宜控制是否澆花,配合FSK2A無線控制系統(tǒng),實(shí)現(xiàn)主芯片與水源控制系統(tǒng)的分離,達(dá)到遠(yuǎn)程控制的效果。利用LC
2、D1602液晶顯示屏顯示溫濕度和開機(jī)畫面。悅耳的開機(jī)音樂、美觀的外部封裝,使整個系統(tǒng)在具有實(shí)用性的基礎(chǔ)上更添趣味性。整個系統(tǒng)中,微控制器采用了Microchip公司的PIC16F877,軟件設(shè)計(jì)中涉及PORTA、PORTC、PORTD、PORTE用作普通數(shù)字I/O腳。本實(shí)驗(yàn)用單片機(jī)PORTC接收來自溫濕度傳感器DHT11檢測到的溫濕度信息,由此確定濕度是否達(dá)到需要開啟水源控制部分進(jìn)行澆花,并在LCD1602液晶顯示屏上進(jìn)行溫濕度顯示。再通過PORTA輸出高電平控制無線發(fā)射芯片F(xiàn)SK2A發(fā)送信號,接收端接收到后控制接收芯片端口輸出高電平驅(qū)動電磁繼電器打開,水泵的供電電路接通自動抽水進(jìn)行澆花。 概
3、括來說,本實(shí)驗(yàn)就是利用單片機(jī)接收溫濕度傳感器輸出的數(shù)據(jù)引起端口電平變化,控制無線發(fā)送系統(tǒng),進(jìn)而實(shí)現(xiàn)自動澆花的功能。Abstract The primary period of our work is the system of wireless automatic watering the flowers based on the temperature and humidity sensor DHT11. Using DHT11 temperature and humidity automatically detecting the temperature and humidity, acc
4、ording to the suitability of environmental humidity to control whether watering the flowers or not, cooperating with the FSK2A wireless control system, to achieve the separation of the main chip and the water control system, and the effect of the remote control. Use LCD1602 to display temperature an
5、d humidity and the boot screen. Sweet boot music, beautiful external packaging, make the whole system practical and fun.The system uses the production of the Microchip cord-PIC16F877 as the microcontroller, including the design of software PORTA, PORTC, PORTD, PORTE used as ordinary digital I/O. Thi
6、s experiment PORTC MCU receives from the detected temperature and humidity sensor DHT11 temperature and humidity information, thus determine whether humidity to need to water the flowers open water control parts, and temperature and humidity on the LCD1602 LCD screen display. By PORTA control output
7、 level transmitter chip FSK2A signal, the receiver to receive after receiving chip control port driver electromagnetic relay output level open, automatic switching power supply circuit of pump pumping for watering the flowers.In general, this experiment is to use the MCU receives the data output por
8、t level change of temperature and humidity, wireless transmission control system, and then realize the function of automatic watering the flowers.關(guān)鍵字單片機(jī)microcontroller 芯片CMOS chip· 溫濕度傳感器DHT11 digital temperature-humidity sensor DHT11· 無線發(fā)射接收wireless transmitting and receiving一.實(shí)驗(yàn)論證與比較1.溫濕
9、度檢測模塊 自動澆花器的核心部分是溫濕度檢測模塊,利用DHT11檢測環(huán)境溫濕度,根據(jù)環(huán)境濕度控制是否澆花。DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,如圖一。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價比極高等優(yōu)點(diǎn)。每個DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成
10、變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。圖二為DHT11的典型應(yīng)用電路,DHT11的供電電壓為35.5V。本實(shí)驗(yàn)中DHT11的數(shù)據(jù)接口與單片機(jī)的PORTC0相連接。 圖一DHT11溫濕度傳感器圖二 DHT11典型應(yīng)用電路2.無線發(fā)射接收模塊為實(shí)現(xiàn)遠(yuǎn)程控制自動澆花器的功能,我們引入了無線發(fā)射接收模塊。如圖三是無線發(fā)射模塊FSK2A,圖四是無線接收模塊。無線數(shù)據(jù)傳輸廣泛地運(yùn)用在車輛監(jiān)控、遙控、遙測、小型無線網(wǎng)絡(luò)、無線抄表、門禁系統(tǒng) 、小區(qū)傳呼、工業(yè)數(shù)據(jù)
11、采集系統(tǒng)、無線標(biāo)簽、身份識別、非接觸RF智能卡、小型無線數(shù)據(jù)終端、安全防火系 統(tǒng)、無線遙控系統(tǒng)、生物信號采集、水文氣象監(jiān)控、機(jī)器人控制、無線232數(shù)據(jù)通信、無線485/422數(shù)據(jù)通信 、數(shù)字音頻、數(shù)字圖像傳輸?shù)阮I(lǐng)域中。但是由于無線電的發(fā)射器件都工作于射頻,因此對器件的要求也較高,一般業(yè)余條件下很難完成制作與調(diào)試工作,而目前對于無線電技術(shù)的應(yīng)用越來越廣泛,尤其對于一些業(yè)務(wù)無線電愛好者來說,要想擁有所有高頻調(diào)試的設(shè)備幾 圖三 無線發(fā)射模塊乎是不現(xiàn)實(shí)的,因?yàn)檫@些設(shè)備價格昂貴。針對這些實(shí) 際情況,許多專業(yè)生產(chǎn)廠家專門生產(chǎn)了用于無線數(shù)據(jù)傳輸?shù)臒o線收發(fā)模塊,將對高頻部分的安裝與調(diào)試工作 全部在專業(yè)生產(chǎn)場所
12、內(nèi)完成,用戶只要為其提供電源和所要發(fā)送的編碼數(shù)據(jù),就可以在接收端的數(shù)據(jù)輸出端 得到發(fā)送端的原始數(shù)據(jù)。由于對射頻方面的知識有限,我們選擇了直接應(yīng)用廠家生產(chǎn)的無線收發(fā)模塊。發(fā)射模塊FSK2A聲表穩(wěn)頻、性能穩(wěn)定、工作電壓范圍寬、產(chǎn)品一致性好、性價比高、板上編碼芯片,使用方便的眾多優(yōu)點(diǎn)。數(shù)據(jù)碼設(shè)定區(qū)一共有4個,數(shù)據(jù)碼只有兩個狀態(tài):高電平(H)和低電平(L)。當(dāng)芯片的其中一腳設(shè)置為高電平或低電平時,相應(yīng)的接收模塊的對應(yīng)腳輸出相同的電平。3.LCD1602液晶顯示屏本實(shí)驗(yàn)中利用LCD1602液晶顯示屏將溫濕度傳感器獲得的溫濕度顯示,并顯示開機(jī)畫面。在引腳連接上,我們選擇了和實(shí)驗(yàn)室的開發(fā)板上相同的連接方式。
13、 液晶顯示模塊由LCD板(液晶顯示板),PCB板(印刷電路板)和控制驅(qū)動電路三部分組成。本實(shí)驗(yàn)中使用的是 16位2行的點(diǎn)陣式液晶。共有16條引腳。與單片機(jī)連接如圖五。 PORTD07作為數(shù)據(jù)位,用于數(shù)據(jù)傳輸,所有的功能位數(shù)據(jù)和數(shù)據(jù)位數(shù)據(jù)送到液晶各引腳時液晶并不讀入,而是通過將第六腳先置1再置0來觸發(fā),之后指令或數(shù)據(jù)才被讀入。 圖四 無線接收模塊液晶顯示模塊714 37714 單片機(jī) 9 E 6 2 VCC 8 R/S 4 1 5 D0D7 地 圖五 LCD與單片機(jī)的連接4.水泵供電控制模塊在本部分我們利用無線接收模塊接收到的高電平驅(qū)動電磁繼電器閉合,接通水泵供電供電電路,水泵開始抽水澆花。水泵
14、我們選取了型號為ZK30A-1230的無刷直流水泵,技術(shù)參數(shù)如圖六。無刷直流水泵噪音低,無換向火花,不產(chǎn)生電磁干擾。配合AC100-240V,50/60HZ轉(zhuǎn)DC12V 1A電源轉(zhuǎn)換變壓適配器可以直接在家庭220V的電壓情況下使用(如圖八),方便實(shí)用。 圖六 水泵的技術(shù)參數(shù) 圖七 ZK30A-1230無刷直流水泵 圖八 C100-240V轉(zhuǎn)DC12V 1A適配器在購買水泵時,我們直接選擇了電源線處為裸線的產(chǎn)品,便于進(jìn)一步在電路板上的連接和操作。在水泵的安裝方式上,我們選擇了方便簡潔的潛水安裝方式(如圖九),利用了水泵自身的防水特質(zhì),減輕了安裝的復(fù)雜度,使整個作品在使用上更加容易。 圖九 水泵安
15、裝方式二.系統(tǒng)總體設(shè)計(jì)系統(tǒng)模塊總體框圖如圖十: 系統(tǒng)主要由以下幾部分組成:開機(jī)畫面、音樂播放、傳遞傳感器開始工作的信號、檢測傳感器響應(yīng)、無線發(fā)射裝置發(fā)射信號,無線發(fā)射裝置接收信號,電磁繼電器閉合,驅(qū)動水泵。開始開機(jī)畫面音樂播放設(shè)置傳感器開始工作有無響應(yīng)檢測響應(yīng)屏幕顯示濕度<50%開啟繼電器結(jié)束開啟水泵有否是無圖十 系統(tǒng)總框圖2.溫濕度檢測框圖如下:DHT11的工作過程如下:用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分?jǐn)?shù)據(jù).從模式下,DHT11接收到開始信號觸
16、發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號,DHT11不會主動進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。通訊過程如圖十一和圖十二所示,總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機(jī)的開始信號后,等待主機(jī)開始信號結(jié)束,然后發(fā)送80us低電平響應(yīng)信號.主機(jī)發(fā)送開始信號結(jié)束后,延時等待20-40us后, 讀取DHT11的響應(yīng)信號,主機(jī)發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。圖十一 DHT11與主機(jī)的通信(1)總線為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送
17、響應(yīng)信號后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定了數(shù)據(jù)位是0還是1.格式見圖十三、圖十四所示.如果讀取響應(yīng)信號為高電平,則DHT11沒有響應(yīng),請檢查線路是否連接正常.當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。圖十二 DHT11與主機(jī)的通信(2) 圖十三 數(shù)字0的表示 圖十四 數(shù)字1的表示程序框圖如圖十五開始拉低主機(jī)電平延時>18ms提高主機(jī)電平延時30us檢測低電平延時80us是否低電平檢測高電平延時80us是否高電平接收數(shù)據(jù)結(jié)束是否否是圖十五 DHT11系統(tǒng)框圖3、音樂播放框圖如
18、下: 利用定時器/計(jì)數(shù)器TMR0模塊作為硬件定時器,來控制端口RC2上產(chǎn)生不同頻率的方波信號。通過改變TMR0的計(jì)數(shù)器初值來控制方波的頻率不同,設(shè)定不同的初值TMR0就在不同個數(shù)的指令周期才發(fā)生溢出,由此改變頻率。TMR0溢出一次就使端口RC2的輸出電平翻轉(zhuǎn)一次,每翻轉(zhuǎn)2次就形成方波信號的一個周期。程序框圖如圖十六開始根據(jù)樂譜查找音符根據(jù)音符查找計(jì)時器初值開啟計(jì)時器重復(fù)翻轉(zhuǎn)形成方波結(jié)束是否播放結(jié)束否是圖十六 音樂播放程序框圖三.硬件連接1、系統(tǒng)總體硬件連接圖如圖十七:單片機(jī)PIC16F877放音喇叭RC2DHT11 RC0LCD控制REFSK2ALCD數(shù)據(jù)位RA0RD0RD7 圖十七 系統(tǒng)總體
19、硬件連接圖2、DHT11硬件連接:DHT11數(shù)據(jù)端口與PORTC0相連接,連接5k的上拉電阻,和發(fā)光二極管作為電源顯示部分。3、放音功能連接:喇叭與PORTC2相連,根據(jù)單片機(jī)發(fā)出的不同頻率的方波,產(chǎn)生不同音調(diào)的電子音,進(jìn)而形成一首完整的音樂。4、顯示屏連接:顯示屏控制位與PORTE相連,數(shù)據(jù)位于PORTD07相連。5、紅外模塊連接:紅外發(fā)射模塊FSK2A的數(shù)據(jù)位1與PORTDA1相連,其他三位懸空,控制數(shù)據(jù)位1的高低電平變化控制發(fā)射模塊發(fā)射不同的電平信號。四.調(diào)試過程1、調(diào)試步驟(1)液晶顯示屏的使用:首先進(jìn)行液晶顯示屏部分的調(diào)試,連接供電電路、顯示屏、單片機(jī),組成最簡單的顯示電路,將開機(jī)畫
20、面子程序單獨(dú)拿出進(jìn)行測試,確定這部分沒有問題。(2)DHT11數(shù)據(jù)處理部分: 在液晶顯示屏已經(jīng)能夠正常使用的基礎(chǔ)上,檢測DHT11的數(shù)據(jù)處理部分是否可行,定義8位二進(jìn)制數(shù),作為輸入,分別進(jìn)行溫度二進(jìn)制轉(zhuǎn)換十進(jìn)制顯示屏顯示和濕度二進(jìn)制轉(zhuǎn)換十進(jìn)制顯示屏顯示過程,確定數(shù)據(jù)處理部分正常。(3)溫濕度傳感器的數(shù)據(jù)接收:在(1)(2)的基礎(chǔ)上連接DHT11進(jìn)行溫濕度數(shù)據(jù)接收測試,這部分是最難調(diào)試的部分,只能靠軟件調(diào)試。(4)放音部分的調(diào)試:在實(shí)驗(yàn)開發(fā)板上就可以很好的進(jìn)行測試,按照實(shí)驗(yàn)開發(fā)板上的連接就成功的播放出了音樂。(5)無線發(fā)送接收部分的調(diào)試:這部分重要的是硬件部分的搭建,在兩塊面包板上分別搭建發(fā)送接
21、收部分。發(fā)送端連接單片機(jī),程序控制單片機(jī)發(fā)出一個高電平,在接收端檢測電平。2、調(diào)試中遇到的問題(1)GOTO和CALL的使用問題剛開始編程的時候,對CALL和GOTO的用法不夠清楚,很多應(yīng)該用GOTO的情況,用了CALL導(dǎo)致程序不能正常跳轉(zhuǎn)。GOTO和CALL指令的不同使用 在PIC的匯編程序中,CALL與GOT0指令使用的場臺不同。CALL是用來調(diào)用子程序的,在調(diào)用完子程序后返回到調(diào)用前的程序;而GOTO是無條件轉(zhuǎn)移,即由此狀態(tài)進(jìn)入另外一個狀態(tài)而不需要返回。 為了使程序更加具有可讀性,使流程更加清晰、合理,通常程序都采用模塊化程序設(shè)計(jì),即將程序按照功能分成不同的子程序,而主程序則相當(dāng)簡潔,只
22、須采用CALL指令對子程序進(jìn)行調(diào)用。(2)查表程序過多導(dǎo)致的程序跳轉(zhuǎn)錯誤問題 為了編程邏輯的簡單化,程序中存在許多查表程序,包括二進(jìn)制轉(zhuǎn)十進(jìn)制,音樂音符的查找,不同音符對應(yīng)的定時器初始值的查找等等,其中的查表程序又經(jīng)常比較長,這樣就會出現(xiàn)程序跳轉(zhuǎn)、查表沒設(shè)置好頁的問題,跨頁問題在解決時很容易,但是需要尋找時耐心細(xì)致,一步步軟件調(diào)試。在周老師的幫助下,我選擇將查表程序盡量向前放的解決方案。但是仍有程序跳轉(zhuǎn)錯誤的情況,我把整個程序中最長的查表子程序(音樂音符的查找)多次調(diào)換位置,插入到整個程序中的各個位置進(jìn)行嘗試,終于成功了,程序終于正常進(jìn)行了。也讓我積累了這樣一個經(jīng)驗(yàn),在編寫較長的程序之前,一定
23、要有一個整體的規(guī)劃,匯編語言還是較為新的知識,在如何精簡程序,不致造成冗余的方面,還需要進(jìn)步。(3)頻繁的堆棧溢出問題:在程序的軟件調(diào)試中發(fā)現(xiàn)了多次的堆棧溢出錯誤,剛開始以為是查表程序過長導(dǎo)致的,后來翻書查找看到程序寄存器的硬件堆棧問題時,才想起自己忽略了堆棧問題,過多的用CALL命令調(diào)用子程序才導(dǎo)致了堆棧溢出的問題。PICl6F7x系列單片機(jī)采用的是硬件堆棧的形式,其堆棧具有8層×13位的獨(dú)立空間(即8級堆棧),既不占用程序存儲器和數(shù)據(jù)存儲器空間,又不需要進(jìn)棧和出棧之類的堆棧堆棧操作專用指令。只有當(dāng)執(zhí)行“調(diào)用指令CALL”或者當(dāng)CPU響應(yīng)中斷而發(fā)生程序跳轉(zhuǎn)時,才把當(dāng)前程序寄存器的P
24、C值(即中斷的程序的斷點(diǎn)地址)自動壓入堆棧;而只用當(dāng)執(zhí)行返回指令“RETURN、RETFIE、RETLW”時,才會從堆棧中彈出并恢復(fù)程序計(jì)數(shù)器PC原先的值。對于PICl6F7x系列單片機(jī),程序出現(xiàn)分支時只能通過STATUS寄存器的Z位或C位進(jìn)行判斷。BTFSS STATUS,Z GOTO A GOTO B 在跳轉(zhuǎn)到A時,必須使用GOTO指令;否則執(zhí)行完這條語句以后,緊接著執(zhí)行GOTO B。這樣無論Z為何值,程序都將跳轉(zhuǎn)到B。而對于GOT0 B,則可以不必使用GOTO指令。 在上面這種情況下,由于GOTO只在子程序內(nèi)部進(jìn)行跳轉(zhuǎn),小程序內(nèi)部循環(huán)占用堆棧的級數(shù)不多,因此使用GOTO指令是可行的。但是
25、在大的程序中使用GOTO指令,將有可能無法返回到調(diào)用前的下一條指令。 因此,在使用匯編語言進(jìn)行程序設(shè)計(jì)時,應(yīng)該將程序分解成一級級的子程序;然后在程序之間進(jìn)行調(diào)用,盡量將GOTO指令跳轉(zhuǎn)的范圍縮小。五.參考文獻(xiàn)1李學(xué)海PIC. 單片機(jī)實(shí)用教程-基礎(chǔ)篇J. 2007.2 李學(xué)海PIC. 單片機(jī)實(shí)用教程一提高篇 北京: 北京航空航天大學(xué)出版社J. 20023 電子電路基礎(chǔ)M. 高等教育出版社, 2006.4 數(shù)字電路與邏輯設(shè)計(jì)M. 北京郵電大學(xué)出版社, 2009.5 劉征宇. 大學(xué)生電子設(shè)計(jì)競賽指南J.6 模擬電子技術(shù)與應(yīng)用M. 國防工業(yè)出版社, 2008.7 模擬集成電路基礎(chǔ)與應(yīng)用M. 電子工業(yè)出
26、版社, 2006.六.實(shí)驗(yàn)心得體會這次小學(xué)期是大學(xué)以來收益最多的一次,它增強(qiáng)了我的自信心,讓我明白了團(tuán)隊(duì)意識的重要性和做事之前的全局意識。首先,這次的小學(xué)期實(shí)驗(yàn)使我體驗(yàn)了完全對單片機(jī)毫無了解到能夠自由編程在實(shí)驗(yàn)板上實(shí)現(xiàn)功能的成就感,增強(qiáng)了我的自信心。小學(xué)期第一天安排實(shí)驗(yàn)任務(wù)的時候,當(dāng)看到別的班級同學(xué)的作品時,真是又羨慕又擔(dān)心。這次的實(shí)驗(yàn)內(nèi)容與過去的完全不同,過去的實(shí)驗(yàn)多為驗(yàn)證性實(shí)驗(yàn),就算是上學(xué)期的電子電路實(shí)驗(yàn),雖然電路也很復(fù)雜,但大多都是書上設(shè)計(jì)好的電路,也不涉及編程控制。而這次的實(shí)驗(yàn)完全是自主設(shè)計(jì),從選題到電路設(shè)計(jì)甚至到材料的購買都要自己構(gòu)思,是完全的設(shè)計(jì)性實(shí)驗(yàn)。我和我的隊(duì)友,生活中就是很好
27、的朋友,在本次的實(shí)驗(yàn)中也很容易就達(dá)到默契,我們第一天就定下了選題。中途遇到了很多的困難,包括我編程中遇見的程序出錯和她電路設(shè)計(jì)的考慮不周,等等。剛開始的三四天由于我對單片機(jī)匯編語言編程的規(guī)則還不是很熟悉,經(jīng)常會出現(xiàn)各種問題,調(diào)試速度很慢,心里也是很著急,看見附近的同學(xué)做音樂播放器的都已經(jīng)能播放出動聽的音樂了,而自己這里毫無進(jìn)展,產(chǎn)生了很強(qiáng)烈的挫敗感,但是后來還是在老師的幫助下和的鼓勵下堅(jiān)持下來了。自信心的產(chǎn)生好像真的只有在多次的挫敗后才更明顯,經(jīng)過這次的實(shí)驗(yàn)使我不再那么懼怕編程了,對繼續(xù)微機(jī)原理的學(xué)習(xí)也充滿了自信。其次,這次的小學(xué)期實(shí)驗(yàn)使我切實(shí)地感受到了團(tuán)隊(duì)協(xié)作的重要性。我主要負(fù)責(zé)軟件的部分,
28、我的隊(duì)友主要負(fù)責(zé)硬件部分。在確定選題后,我們就開始分工協(xié)作了,我開始學(xué)習(xí)匯編語言編程,進(jìn)行電路圖的設(shè)計(jì),我必須盡快加快進(jìn)程,這樣才能給我的隊(duì)友提供更充足的時間進(jìn)行硬件方面的調(diào)試。在軟件部分完成后,我開始給我的隊(duì)友打下手,裁剪導(dǎo)線、檢查電路錯誤等等。其實(shí)最讓我感到團(tuán)隊(duì)協(xié)作重要的地方,就是兩個人一起去中發(fā)市場,購買電路元件真的和平時的逛街購物有著天壤之別,中發(fā)市場實(shí)在是太大了,想找到想要的器件需要耗費(fèi)很多時間,還經(jīng)常被商家漫天要價,去買一次器件簡直就是一場斗智斗勇的征程。好在兩個人一起相互幫助,整個實(shí)驗(yàn)順利完成。不止是同組的同學(xué)之間,整個班級的同學(xué)在這次小學(xué)期實(shí)驗(yàn)中都達(dá)到了空前的團(tuán)結(jié),在我編程實(shí)現(xiàn)
29、放音功能的時候,做音樂盒的同學(xué)就給了我耐心的指導(dǎo)。在我成功在液晶屏上顯示了內(nèi)容以后,也有很多同學(xué)過來跟我交流,真的覺得這次小學(xué)期比任何一次小班出游更能團(tuán)結(jié)起整個班級的同學(xué)。還有,這次的小學(xué)期實(shí)驗(yàn)使我懂得了做事情之前一定要有前期的整體規(guī)劃,在遇見棘手的問題學(xué)會放棄,關(guān)注大局。剛開始,我們希望能夠在液晶顯示屏上實(shí)現(xiàn)電子鐘的功能,所以剛開始的時候,主要進(jìn)行的就是電子鐘的編程,由于存在一定的難度,總是無法正常顯示,在調(diào)試了三天后,我在隊(duì)友的勸說下放棄了這個功能,將整體的代碼先進(jìn)行實(shí)現(xiàn),雖然對已經(jīng)600多行的代碼心存不甘,但是現(xiàn)在覺得放棄是對的。最后,衷心對周老師、王老師的悉心指導(dǎo)表示感謝,對我的隊(duì)友的
30、寬容表示感謝,希望以后能有更能多的這樣實(shí)踐的機(jī)會。七.作品展示1、電路圖:2、成品電路板:發(fā)射部分接收部分3、最終封裝成品:程序;*變量定義*STATUS EQU 03H ;狀態(tài)寄存器C EQU 00H ;借位標(biāo)志位,1不發(fā)生借位,0發(fā)生借位PCL EQU 02H ;程序計(jì)數(shù)器RP0 EQU 05H ;RAM數(shù)據(jù)存儲器體選位,僅用于直接選址ADCON1 EQU 9FH ; OPTION_REG EQU 81H ;選項(xiàng)寄存器PCLATH EQU 0AH ;程序寄存器RS EQU 0 ;顯示屏控制位 E EQU 1 ;顯示屏控制位PORTA EQU 05H ;定義端口A的數(shù)據(jù)寄存器地址TRISA
31、EQU 85H ;定義端口A的方向控制寄存器地址PORTB EQU 6H ;定義端口B的數(shù)據(jù)寄存器地址TRISB EQU 86H ;定義端口B的方向控制寄存器地址PORTC EQU 7H ;定義端口C的數(shù)據(jù)寄存器地址 TRISC EQU 87H ;定義端口C的方向控制寄存器地址PORTD EQU 8H ;定義端口D的數(shù)據(jù)寄存器地址TRISD EQU 88H ;定義端口D的方向控制寄存器地址PORTE EQU 9H ;定義端口E的數(shù)據(jù)寄存器地址TRISE EQU 89H ;定義端口E的方向控制寄存器地址TMR0 EQU 01H ;定時器INTCON EQU 0BH ;中斷控制寄存器T1 EQU
32、20H ;溫度整數(shù)位記錄變量 H1 EQU 21H ;濕度整數(shù)位記錄變量T2 EQU 22H ;溫度小數(shù)位記錄變量HD EQU 23H ;濕度小數(shù)位記錄變量T0 EQU 24H ;存放轉(zhuǎn)換后的溫度值H0 EQU 25H ;存放轉(zhuǎn)換后的濕度值H EQU 26H ;溫度十位顯示L EQU 27H ;溫度個位顯示H2 EQU 28H ;濕度十位顯示L2 EQU 29H ;濕度個位顯示N EQU 30H ;記位數(shù)的變量P EQU 31H ;臨時計(jì)數(shù)變量M1 EQU 32H ;DELAY_18MS的計(jì)數(shù)變量M2 EQU 33H ;DELAY_20US的計(jì)數(shù)變量M3 EQU 34H ;DELAY_30US
33、的計(jì)數(shù)變量M4 EQU 35HDATA1 EQU 36H ;delay10ms的計(jì)數(shù)變量DATA2 EQU 37H ;delay10ms的計(jì)數(shù)變量N1 EQU D'13' ;delay10ms的計(jì)數(shù)變量N2 EQU 0FFH ;delay10ms的計(jì)數(shù)變量N3 EQU 38H ;N4 EQU 39H ;Z EQU 40H J EQU 41H ;查表偏移量Y EQU 42H ;轉(zhuǎn)換查表的初始值Q1 EQU 43H ;延時程序所需變量Q2 EQU 44HD1 EQU 45HD2 EQU 46HS1 EQU 47HS2 EQU 48HS3 EQU 49HTMR0B EQU 50HNU
34、M EQU 51HTUNE EQU 52HY1 EQU 53HY2 EQU 54HY3 EQU 55HMN EQU 56H ;將濕度的個位和十位分開的查表變量;* 程序開始* ORG 000H ;定義程序存放區(qū)域的起始地址 NOP ;放置一條ICD必需的空操作指令 BSF STATUS,RP0 ;體1 MOVLW 00H MOVWF TRISC ;定義C口為輸出 BCF STATUS,RP0 ;體0 MOVLW 0FFH MOVWF PORTC ;設(shè)置RC0高阻 GOTO MAIN;*將濕度的個位和十位分開的查表程序*TEST1 MOVF MN,0 ADDWF PCL,1TABLE5 RETL
35、W D'0' RETLW D'0' RETLW D'0' RETLW D'40' RETLW D'50' RETLW D'60' RETLW D'70' RETURN;*將從傳感器獲得的二進(jìn)制轉(zhuǎn)化為十進(jìn)制*CHECK MOVLW .10 MOVWF Y MOVF T1,0 MOVWF J MOVF Y,0 SUBWF J,1 CALL CHABIAO MOVWF T0 MOVF H1,0 MOVWF J MOVF Y,0 SUBWF J,1 CALL CHABIAO MOVWF H0
36、 RETURN ;*二進(jìn)制轉(zhuǎn)十進(jìn)制的查表程序*CHABIAO MOVF J,0 ADDWF PCL,1TABLE1 RETLW D'10' RETLW D'11' RETLW D'12' RETLW D'13' RETLW D'14' RETLW D'15' RETLW D'16' RETLW D'17' RETLW D'18' RETLW D'19' RETLW D'20' RETLW D'21' RE
37、TLW D'22' RETLW D'23' RETLW D'24' RETLW D'25' RETLW D'26' RETLW D'27' RETLW D'28' RETLW D'29' RETLW D'30' RETLW D'31' RETLW D'32' RETLW D'33' RETLW D'34' RETLW D'35' RETLW D'36' RE
38、TLW D'37' RETLW D'38' RETLW D'39' RETLW D'40' RETLW D'41' RETLW D'42' RETLW D'43' RETLW D'44' RETLW D'45' RETLW D'46' RETLW D'47' RETLW D'48' RETLW D'49' RETLW D'50' RETLW D'51' RE
39、TLW D'52' RETLW D'53' RETLW D'54' RETLW D'55' RETLW D'56' RETLW D'57' RETLW D'58' RETLW D'59' RETLW D'60' RETLW D'61' RETLW D'62' RETLW D'63' RETLW D'64' RETLW D'65' RETLW D'66' RE
40、TLW D'67' RETLW D'68' RETLW D'69' RETLW D'70' RETLW D'71' RETLW D'72' RETLW D'73' RETLW D'74' RETLW D'75' RETLW D'76' RETLW D'77' RETLW D'78' RETLW D'79' RETLW D'80' RETLW D'81' RE
41、TLW D'82' RETLW D'83' RETLW D'84' RETLW D'85' RETLW D'86' RETLW D'87' RETLW D'88' RETLW D'89' RETLW D'90' RETURN;*DELAY_10MS MOVLW Q1 MOVWF D1LLP0 MOVLW Q2 MOVWF D2LLP1 DECFSZ D2,1 GOTO LLP1 DECFSZ D1,1 GOTO LLP0 RETURN ;*傳感器*CH
42、UANGANQI ;讀取傳感器輸入的程序CLRF T1 CLRF H1CLRF T2CLRF HDCLRF PCLRF NCLRF M1CLRF M2CLRF M3 BCF STATUS,RP0 ;體0 MOVLW 00H MOVWF PORTC ;總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。 CALL DELAY_18MS BSF STATUS,RP0 ;體1 MOVLW 0FFH MOVWF TRISC ;設(shè)置RC0為輸入 BCF STATUS,RP0 ;體0 CALL FIND ;探測芯片的響應(yīng) GOTO COM
43、EBEGIN1 ;8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù) MOVLW 7 MOVWF N ;設(shè)置計(jì)數(shù)變量初始值為7JISHU1 CALL START ;執(zhí)行一次計(jì)數(shù)程序 BTFSC STATUS,0 ;判斷N的值,如果小于0則一次存儲完成 GOTO JISHU1 MOVF P,0 ;將計(jì)數(shù)的值賦給H1 MOVWF H1BEGIN2 MOVLW 7 MOVWF N ;計(jì)數(shù)濕度小數(shù)位JISHU2 CALL START BTFSC STATUS,0 GOTO JISHU2 MOVF P,0 MOVWF HDBEGIN3 MOVLW 7 MOVWF N ;
44、計(jì)數(shù)溫度整數(shù)位JISHU3 CALL START BTFSC STATUS,0 GOTO JISHU3 MOVF P,0 MOVWF T1 BEGIN4 ;計(jì)數(shù)溫度小數(shù)位 MOVLW 7 MOVWF N JISHU4 CALL START BTFSC STATUS,0 GOTO JISHU4 MOVF P,0 MOVWF T2 RETURN;*尋找傳感器返回的感應(yīng)信號*FIND ;芯片發(fā)送一個80US的低電平一個80US的高電平,先檢測低電平再檢測高電平,如果正常則返回MAIN開始接收數(shù)據(jù) BTFSC PORTC,0 ;RB0為1則繼續(xù)探測 GOTO FINDA BTFSS PORTC,0 ;RB0為0則繼續(xù)探測 GOTO AX BTFSC PORTC,0 ;RB0為1則繼續(xù)探測 GOTO X GOTO B
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《A day in the park》作業(yè)設(shè)計(jì)方案
- 個人消防責(zé)任書
- 協(xié)議合同和加盟合同范本
- 醫(yī)療器材加工合同范本
- 中藥炮制工中級習(xí)題庫+參考答案
- 生物制藥復(fù)習(xí)題+答案
- 農(nóng)藝工中級??荚囶}(含答案)
- 接觸網(wǎng)中級工測試題
- 七律長征 教案教學(xué)設(shè)計(jì)
- 危廢傭金合同范本
- 部編人教版四年級下冊道德與法治 第6課 有多少浪費(fèi)本可避免 教學(xué)課件PPT
- 精神衛(wèi)生醫(yī)聯(lián)體服務(wù)平臺
- 2023年北京春季流感中醫(yī)藥防治方案(試行)、春季流感治療相關(guān)中成藥推薦目錄
- 重慶市渝北區(qū)大灣鎮(zhèn)招錄村綜合服務(wù)專干模擬檢測試卷【共500題含答案解析】
- GB/T 5915-1993仔豬、生長肥育豬配合飼料
- 壓花藝術(shù)課件
- DB32T4220-2022消防設(shè)施物聯(lián)網(wǎng)系統(tǒng)技術(shù)規(guī)范-(高清版)
- (新版)老年人健康管理理論考試題庫(含答案)
- 感應(yīng)加熱操作規(guī)程
- 煤氣設(shè)施安全檢查表(修訂)
- XX省血液調(diào)配管理辦法
評論
0/150
提交評論