freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

大棚倉庫溫濕度自動控制系統(tǒng)的畢業(yè)設(shè)計(編輯修改稿)

2025-01-04 10:59 本頁面
 

【文章內(nèi)容簡介】 大于單片機(jī)兩個機(jī)器周期,就能使單片機(jī)復(fù)位。 程序運(yùn)行過程中如果跑飛了、程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,就需要用到手動復(fù)位。手動復(fù)位就是在上電復(fù)位電路的電容兩邊并聯(lián)一個微動開關(guān),需要手動復(fù)位時將其按下,使之接通, RST獲得高電平,而且人按動按鈕的時間肯定是超過兩個機(jī)器周期的,于是單片機(jī)復(fù)位。 7 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 液晶顯示模塊 測量到的溫濕度值將顯示到液晶屏 LCD1602上,它可以顯示 2行,每行 16個字符。 LCD1602共有三個存儲器 ,它們是 CGROM、 CGRAM和 DDRAM。CGROM用來保存 LCD1602內(nèi)部固化的一些字符的字模,比如英文的 26個字母的大小寫; CGRAM用來保存用戶自己取的字模,比如,如果要顯示漢字,就必須自己去漢字字模,在這里我們都用英語字母,故不用 CGRAM;DDRAM用來存儲要顯示的字符的字模,它和屏幕上的位置是對應(yīng)的,第一行為 00H到 0FH,第二行為 40H到 4FH。在這里需要注意的是,在向LCD1602寫入顯示數(shù)據(jù)存儲器地址時,根據(jù)控制指令的格式,最高位 D7為 1,所以寫入的數(shù)據(jù)為,第一行 80H到 8FH,第二行 C0H到 CFH。 它與單片機(jī)的接口電路如下圖所示: 圖 LCD1602與單片機(jī)的接口電路 溫濕度傳感器模塊 溫濕度傳感器選用瑞士 Sensirion公司生產(chǎn)的 SHT11 [5]。 SHT1X系列共有三個型號: SHT SHT1 SHT15,他們都是 SMD貼片封裝的,他們依次性能越來越好,其中 SHT11屬于經(jīng)濟(jì)型的溫濕度傳感器。三者的溫濕度性能如下圖所示。 8 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 圖 SHT1X系列各型號傳感器的濕度、溫 度最大誤差 從曲線中可以看出,無論是濕度還是溫度, SHT10的誤差都是最大的,SHT15誤差最小,但是它們的價格也相差很大, SHT11多為二三十元一個,而 SHT15價格上百。因此,從滿足大棚溫濕度監(jiān)測的要求來看, SHT11已經(jīng)足夠,故選用 SHT11。 SHT11與單片機(jī)的接口電路如下所示: 圖 SHT11與單片機(jī)的接口電路 SHT11采用類似于 I2C的兩線制串行總線,一根是時鐘線,一根是數(shù)據(jù)線。數(shù)據(jù)線要通過一個上拉電阻接到 VCC,目的是避免信號沖突,使單片機(jī)的引腳只提供低電平,要得到高電平則使該引腳懸空,由上拉電阻提供高電平。 報警電路的設(shè)計 當(dāng)大棚內(nèi)的溫濕度超過上下限時,除了需要啟動溫濕度調(diào)節(jié)器之外,還需要進(jìn)行報警,這里用到的是蜂鳴器 [4]。蜂鳴器為一種采用一體化結(jié)構(gòu)的電子器件, 采用了直流電壓來供電,廣泛應(yīng)用到了計算機(jī)、報警器、復(fù)印機(jī)、電子玩具、電話機(jī)、汽車電子設(shè)備、定時器等電子產(chǎn)品之中用作發(fā)聲器。 蜂鳴器分為有源蜂鳴器和無源蜂鳴器。有源蜂鳴器由于內(nèi)部集成了振蕩源,所以使用直流電壓就可以驅(qū) 動它鳴叫;無源蜂鳴器內(nèi)部沒有振蕩源,因此一般使用 2K~ 5K方波來驅(qū)動。本設(shè)計中使用的是有源蜂鳴器,在它兩端加載 5V的直流電壓就可以使之鳴叫。 報警電路設(shè)計如下圖: 9 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 圖 報警電路圖 蜂鳴器工作電流一般為 10mA,而單片機(jī)的 I/O口只能承受幾毫安的電流,因此需要加三極管進(jìn)行驅(qū)動。如上圖所示,單片機(jī)的 I/O口中的 接 PNP型三極管的基極,當(dāng) ,三極管導(dǎo)通, 5V的電壓加載到蜂鳴器兩端,于是蜂鳴器鳴叫;當(dāng) 電平時,三極管截至,蜂鳴器不鳴叫。 按鍵電路設(shè)計 圖 按鍵電路圖 鍵盤分為編碼式和非編碼式鍵盤 [6]。其中,非編碼式鍵盤又包括矩陣式鍵盤和獨立式鍵盤。矩陣式鍵盤較為復(fù)雜,一般用于按鍵數(shù)目較多,而單片機(jī)可用的 I/O口又比較有限時。本控制系統(tǒng)中只需要用到 4個按鍵,數(shù)目較少,并且可用的 I/O口充足,故采用獨立式鍵盤,一個按鍵對應(yīng)一個單片機(jī)的 I/O口管腳。 本設(shè)計中總共用到 4個按鍵式開關(guān),他們用來改變設(shè)定的溫濕度上下限數(shù)值。從 S1到 S4,分別控制進(jìn)入溫度上下限設(shè)置 、進(jìn)入濕度上下限設(shè)置、數(shù)值加、數(shù)值減、確認(rèn)并退出。 本設(shè)計中的鍵盤是低電平有效。未按鍵時,上拉電阻保證了單片機(jī)的I/O口是確定的高電平;當(dāng)某個鍵按下時, I/O口變?yōu)榈碗娖健? 10 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 元件清單 本次設(shè)計需要用到的元器件如下表所示: 關(guān)鍵器件的介紹 AT89C52 AT89C52是一種低功耗、高性能 CMOS 8位微控制器,存儲器是采用Atmel公司高密 [3] 度非易失性存儲器技術(shù)制造,與工業(yè) 80C51產(chǎn)品的指令和引腳完全兼容。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得 AT89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié) Flash, 256字節(jié) RAM, 32 位 I/O 口線,看門狗定時器, 2 個數(shù)據(jù)指針,三個 16位定時器 /計數(shù)器,一個 6向量 2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外, AT89C52可降至 0Hz靜態(tài)邏輯操作,支持 2種軟件可選擇節(jié)電模式??臻e模式下, CPU 停止工作, 允許 RAM、定時器 /計數(shù)器、串口、中斷繼續(xù)工作;掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)停止一切工作,直到下一個中斷或硬件復(fù)位為止。 AT89C52引腳圖 11 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 圖 AT89C52的引腳結(jié)構(gòu)圖 P0口: P0口是一個 8位漏極開路的雙向 I/O口。作為輸出口,每位能驅(qū)動 8個 TTL邏輯電平。對 P0端口寫“ 1”時,引腳用作高阻抗輸入 [1]。在 Flash編程時, P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序 校驗時,需要外部上拉電阻。 P1口: P1口是一個具有內(nèi)部上拉電阻的 8位雙向 I/O口, P1輸出緩沖器能驅(qū)動 4個 TTL邏輯電平。對 P1端口寫“ 1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流 (IIL)。 P2口: P2口是一個具有內(nèi)部上拉電阻的 8位雙向 I/O口, P2輸出緩沖器能驅(qū)動 4個 TTL邏輯電平。對 P2端口寫“ 1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流 (IIL)。 P3口: P3口是一個具有內(nèi)部上拉電阻的 8位雙向 I/O口, P3輸出緩沖器能驅(qū)動 4個 TTL邏輯電平。對 P3端口寫“ 1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流 (IIL)。 RST:復(fù)位輸入。當(dāng)振蕩器工作時, RST引腳出現(xiàn)兩個機(jī)器周期以上高電平,單片機(jī)復(fù)位。 ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許 ) 輸出脈沖用于 12 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 鎖 存地址的低 8位字節(jié)。一般情況下, ALE仍以時鐘振蕩頻率的 1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。應(yīng)注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過一個 ALE脈沖。 PSEN:程序儲存允許輸出 (PSEN)是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令 (或數(shù)據(jù) )時,每個機(jī)器周期兩次 PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次 PSEN信號。 EA/VPP:外部訪問允許,欲使 CPU僅訪問外部程序存儲器 (其地址為0000HFFFFH), EA端必須保持低電平 (接地 )。需注意的是:如果加密位 LB1被編程,復(fù)位時內(nèi)部會鎖存 EA端狀態(tài)。 4 系統(tǒng)軟件設(shè)計 系統(tǒng)的工作流程是,操作人員在計算機(jī)上輸入需要設(shè)定的溫濕度限定值,當(dāng)設(shè)定的溫濕度值與檢測溫濕度值不同時,單片機(jī)控制系統(tǒng)則會采取相應(yīng)的調(diào)節(jié)動作 [2]。此程序流程包括五個部分,第一部分是主程序,其描述總體結(jié)構(gòu);第二部分是 SHT11溫度采集程序,其功能是通過 SHT11傳感器采集溫濕度值,并進(jìn)行修正;第三部分是 LCD1602顯示子程序,對LCD1602進(jìn)行初始化,將溫濕度進(jìn)行顯示;第四部 分是輸出控制子程序,對設(shè)定值和實際值進(jìn)行判斷,并決定是否進(jìn)行溫濕度的調(diào)節(jié);第五部分是按鍵輸入電路,用來修改溫濕度上下限值。 軟件設(shè)計的總體結(jié)構(gòu) 此次設(shè)計的大棚溫濕度自動控制系統(tǒng)由一個主程序調(diào)用多個子程序組成,分別包括 SHT11溫濕度采集子程序、 LCD1602液晶顯示子程序、輸出控制子程序、鍵盤掃描子程序,如圖所示: SHT10溫濕度采集子程 LCD1602 液晶屏顯示子程序 13 輸出控制子程序 鍵盤掃描子程序 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 圖 程序總體結(jié)構(gòu) 主程序主要就是調(diào)用各個子程序的 C語言文件中定義的函數(shù),實現(xiàn)SHT1 LCD1602初始化等操作,然后測量溫濕度,調(diào)用函數(shù)對數(shù)據(jù)進(jìn)行處理,最后進(jìn)行顯示并輸出控制信號。 在 Keil3工程中編寫程序的時候,為了讓整個工程看起來條理清晰,要按照各個模塊分別新建 C文件寫子程序。某個 C文件要調(diào)用其它 C文件中的函數(shù)時,要在當(dāng)前 C語言文件中先進(jìn)行聲明,然后再調(diào)用,或者也可以把每個 C文件中定義的函數(shù)都寫到相同名字下的 .h 頭文件中,其他 C文件要調(diào)用該函數(shù)時要在前面加上 include *.h,將頭文件包括進(jìn)來。對于變量也是如此,如果某個變量也在其他 C文件中使用,那么要在一個C文件總將它定義為全局變量,即在函數(shù)外面定義。其他 C文件要使用該變量時,要先使用 extern將全局變量的作用域擴(kuò)展到本 C語言文件。 14 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 主要模塊的設(shè)計流程框圖 主程序流程圖 圖 主程序流程圖 15 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 SHT11子程序流程圖 圖 SHT11子程序流程圖 溫濕度傳感器 SHT11使用類似于 I2C總線的時序與單片機(jī)通信 [8],由于 51單片機(jī)沒有 I2C接口,所以需要編寫程序,用單片機(jī)的某兩個 I/O口管腳模擬 I2C總線的時序,從而與 SHT11通信。 SHT11有 4種時序:啟動傳輸時序、寫字節(jié)時序、讀字節(jié)時序及復(fù)位時序。復(fù)位時序和啟動傳輸時序可通過依次拉低或拉高時鐘線和數(shù)據(jù)線,因而實現(xiàn)起來比較簡單;而寫時序和讀時序就比較復(fù)雜。寫時序用來發(fā)送控制字,即發(fā)送命令,測量結(jié)束后,發(fā)出讀時序讀回測量數(shù)據(jù)。向 SHT11的 8個數(shù)據(jù)位的 寫入,于第 9個時鐘周期之后,讀取應(yīng)答位,應(yīng)答位為 0時,表示 SHT11正確接收。 SHT11讀寫數(shù)據(jù)的規(guī)則是:在時鐘線的下降沿之后數(shù)據(jù)線改變狀態(tài),并在時鐘線的上升沿有效。 16 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 LCD1602子程序流程圖 圖 LCD1602子程序流程圖 17 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 輸出控制子程序流程圖 圖 輸出控制子程序 18 蘭州交通大學(xué)博文學(xué)院畢業(yè)設(shè)計 軟件設(shè)計所用工具 KeiluVision4 本次設(shè)計采用 Keil3 uVision4來編寫 C語言程序,通過它的編譯器進(jìn)行編譯、連接,最后將生成的機(jī)器碼下載到單片機(jī)上 [7]。 Keil3編譯器是目前最流行的單片機(jī)開發(fā)的軟件,它是美國 Keil 3Software公司開發(fā)的 C語言開發(fā)系統(tǒng)。它提供了一個完整的開發(fā)方案,包括 C編譯器、庫管理、連接器、宏匯編和一個功能強(qiáng)大的仿真調(diào)試器等,通過一個集成開發(fā)環(huán)境將這些部份組合在一起。 Keil3整合了豐富的庫函數(shù)和功能強(qiáng)大的集成開 發(fā)調(diào)試工具。此外,Keil3生成的目標(biāo)代碼效率非常高,這一點從生成的匯編語言就可以看出,大多生成的匯編語句很緊湊,容易理解。 Proteus Proteus用來對電路進(jìn)行仿真,它的功能強(qiáng)大,包括單片機(jī)在內(nèi)的眾多元器件都可以仿真 [7]。把 Keil3編譯、連接后生成的 hex文件導(dǎo)入 Proteus單片機(jī)中即可對單片機(jī)進(jìn)行仿真。 Proteus軟件是英國 Labcenter electronics 公司出版的 EDA工具軟件,Proteus不僅具有其它 EDA軟件的仿真功能,還可對單片機(jī)及其外圍器件進(jìn)行仿
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1