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

正文內(nèi)容

基于at89c51單片機的蔬菜大棚溫度控制系統(tǒng)的設(shè)計(編輯修改稿)

2025-10-03 19:44 本頁面
 

【文章內(nèi)容簡介】 外 ROM16 位地址輸入端,當 PSEN 信號有效時,外 ROM 將相應(yīng)地 址存儲單元中的內(nèi)容送至數(shù)據(jù)總線 (P0 口 ), CPU 讀入后存入指定單元 [5]。 需要指出的是, 64KB 中有一小段范圍是單片機系統(tǒng)的專用單元, 0003H~0023H 是五個中斷源中斷服務(wù)程序入口地址,用戶不能安排其它內(nèi)容。單片機復(fù)位后, (PC)=0000H, CPU從地址為 0000H 的 ROM 單元中讀取指令和數(shù)據(jù)。從 0000H到 0003H 只有 3個字節(jié),根本不可能安排一個完整的系統(tǒng)程序,而單片機又是依次讀 ROM 字節(jié)的,因此,這 3 個字節(jié)只能用來安排一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到其它合適的地址范圍執(zhí)行真正的主程序。 外部數(shù)據(jù)存 儲器 (外 RAM):外部數(shù)據(jù)存儲器共 64KB,讀寫外 RAM 用 MOVX 指令,控制信號是 P3 的 WR 和 RD。 讀寫外 RAM 的過程:外 RAM16 位地址分到由 P0口 (低 8 位 )和 P2 口 (高 8位 )同時輸出, ALE 信號有效時由地址鎖存器鎖存低 8位地址信號,地址鎖存器輸出的低 8位地址信號和 P2 口輸出的高 8位地址信號同時加到外 RAM16 位地址輸入 11 端,當信號有效時,外 RAM 將相應(yīng)地址單元中的內(nèi)容送至數(shù)據(jù)總線 (P0 口 ), CPU讀入后存入指定單元?;虍斝盘栍行r,外 RAM 將數(shù)據(jù)總線 (P0 口分別傳送 )上的內(nèi)容寫入相應(yīng)地址存儲單元中 [6]。 外部數(shù)據(jù)存儲器主要用于存放數(shù)據(jù)和運算結(jié)果。一般情況下,只有在內(nèi) RAM不能滿足應(yīng)用時,才接外 RAM。其最大容量可達 64K字節(jié),外部數(shù)據(jù)存儲器和內(nèi)部數(shù)據(jù)存儲器的功能基本相同,但前者不能用于堆棧操作。 必須注意,由于數(shù)據(jù)存儲器與程序存儲器全部 64K 地址重疊,且數(shù)據(jù)存儲器的片內(nèi)外的低字節(jié)地址重疊。所以,對片內(nèi)、片外數(shù)據(jù)存儲器的操作使用不同的指令。對片內(nèi) RAM讀寫數(shù)據(jù)時,無讀寫信號 (RD, WR)產(chǎn)生;對片外 RAM 讀寫數(shù)據(jù)時,有讀寫信號產(chǎn)生。同樣對程序存儲器和數(shù)據(jù)存儲器的操作也是靠不同的控制信號 PSEN、 RD、 WR 來區(qū)分的。 另外,在片外數(shù)據(jù)存儲器中,數(shù)據(jù)區(qū)和擴展的 I/O 口是統(tǒng)一編址的,使用的指令也完全相同。因此,在系統(tǒng)設(shè)計時,必須合理的進行外部 RAM 和 I/O 口的地址分配,并保證譯碼的唯一性,如表 1 所示: 表 1 地址分配 端 口 管 腳 備選功能 T2 定時器 T2 外部輸入 WR 外部數(shù)據(jù)存貯器寫選通道 RD 外部數(shù)據(jù)存儲器讀選通道 單片機最小系統(tǒng)電路設(shè)計 單片機最小系統(tǒng)就是保證單片機能夠正常工作的最基本的硬件電路。主要包括時鐘電路、復(fù)位電路 [7]。 單 片機工作的時間基準是有時鐘電路提供的。在單片機的 XTAL1 和 XTAL2 管腳,按圖 3 所示接上晶振和電容就夠成了單片機的時鐘電路。 12 圖 3 時鐘電路 圖中電容 C C2 對晶振頻率有微調(diào)的作用,通常的取值范圍為( 30+10pf)。石英晶體選擇 12MHz,選擇不同的石英晶體,其結(jié)果只是機器周期不同。 單片機的復(fù)位方式有上電復(fù)位和手動復(fù)位兩種。本設(shè)計系統(tǒng)采用上電自動復(fù)位和手動復(fù)位組合電路,如圖 4所示復(fù)位電路。 圖 4 復(fù)位電路 圖中可以看到單片機的 RST 引腳連接 R1( 10K)、 C3( 10uf),按鍵 可以選擇專用的復(fù)位按鍵,也可以選擇輕觸開關(guān)。只要 VCC 上升時間不超過 1ms,他們都能很好的工作。 溫度采集部分設(shè)計 本系統(tǒng)采用采用了 DS18B20 單總線可編程溫度傳感器 ,來實現(xiàn)對溫度的采集和轉(zhuǎn)換,與單片機 口相連,直接與單片機通訊,大大簡化了電路的復(fù)雜度。 DS18B20 是美國 DALLAS 半導(dǎo)體公司推出的支持“一線總線”接口的溫度傳感器,它具有微小化、功耗低、性能高、高抗干擾能力、容易搭配微處理器等優(yōu)點,可直接將溫度轉(zhuǎn)化為串行數(shù)字信號供處理器處理 [8]。如圖 5所示。 13 圖 5 溫度采集 按鍵電路設(shè)計 基于單片機的溫度控制系統(tǒng)工作時應(yīng)具備以下功能:一、可以切換顯示實時溫度和溫度上下限的值。二、可以調(diào)節(jié)溫度上下限。要實現(xiàn)這些功能,可以通過按鍵輸入電路 [9]。 鍵盤結(jié)構(gòu)可分為獨立式鍵盤和行列式鍵盤(矩陣式)兩類,由于本系統(tǒng)只采用 3 個按鍵,因此可選用獨立式按鍵。如圖 6所示,電路有三個按鍵組成,按鍵采用輕觸開關(guān)。 圖 6 按鍵電路 各個按鍵的功能: S1:功能鍵(顯示溫度值、報警上限、報警下限三態(tài)循環(huán)。) S2:遞減鍵(當顯示溫度報警上下限時, 按此鍵則顯示的報警上限和下限減 1.) S3:遞增鍵(當顯示溫度報警上下限時,按此鍵則顯示的報警上限和下限加 1.) 數(shù)碼管顯示電路設(shè)計 單片機應(yīng)用系統(tǒng)中,通常都需要進行人機對話,這包括人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)和數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向外界顯示運行狀態(tài)和運行結(jié)果等。 14 數(shù)碼管顯示電路通過位驅(qū)動電路和段驅(qū)動電路組合而成。由于數(shù)碼管顯示器不能被單片機的并行口驅(qū)動,所以必須采用專門的驅(qū)動電路芯片,讓它產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動電路能力差,即負載能力不夠,顯示器亮度就低,而且驅(qū)動 電路長期在超負荷下運行非常容易損壞 [10]。 數(shù)碼管顯示器的顯示控制方式分為靜態(tài)顯示和動態(tài)顯示兩種,若選擇靜態(tài)顯示,則數(shù)碼管驅(qū)動器的選擇較為簡單,只要驅(qū)動器的驅(qū)動能力與顯示器的電流相匹配即可,而且一般只需考慮斷的驅(qū)動;動態(tài)顯示則不同,由于一位數(shù)據(jù)的顯示是由段和位選信號共同配合完成的,因此,要同時考慮段和位的驅(qū)動能力,而且段的驅(qū)動能力決定位的驅(qū)動能力 [11]。 本系統(tǒng)采用并行驅(qū)動動態(tài)顯示。采用單片機 P2 口的低 3位作為數(shù)碼管的位碼輸出信號, P0 口作為段碼輸出信號。該驅(qū)動電路如圖 220所示, P0口作為段碼輸出信號需外接上拉電阻。由圖 7可以看到,原理圖中用 3個三極管作為數(shù)碼管的位驅(qū)動。 圖 7 數(shù)碼管顯示電路 溫度控制電路設(shè)計 本設(shè)計通過繼電器控制外部負載來達到升降溫的目的,當溫度超過設(shè)置上限時,電機運轉(zhuǎn)連接風扇降低大棚內(nèi)部溫度,當溫度低于設(shè)置下限時,電熱爐加熱升高大棚內(nèi)部溫度。( LED 燈管作用為判斷當前負載的工作情況)如圖 8 所示。 15 圖 8 溫度控制電路 報警電路設(shè)計 當溫度達到或超過上下限是就會報警,報警電路如圖 9所示: 圖 9 報警電路 報警電路與單片機的 口相連當單片機輸出一個低電平時,蜂鳴器就會發(fā)出報警信號,說明溫度已經(jīng)超過規(guī)定的上下限值,外部輸出設(shè)備應(yīng)該啟動進行相應(yīng)的措施。只用在人按下復(fù)位按鈕或溫度在允許的范圍內(nèi)報警電路就不會觸動。 16 第 4 章 系統(tǒng)軟件設(shè)計 該系統(tǒng)程序的編寫采用模塊化程序設(shè)計,采用模塊化程序設(shè)計的優(yōu)點在于:每個模塊都可以分配給不同的程序員完成,從而縮短開發(fā)周;各個模塊高聚合、模塊之間低耦合,只要模塊之間確定了參數(shù)遞的接口,不管那個模塊內(nèi)部的改動,均不會影響其他模塊,從而使件產(chǎn)品的生產(chǎn)更加靈活;系統(tǒng)細化到模塊,條理清晰,系 統(tǒng)更加容易理解和實現(xiàn);容易維護、系統(tǒng)可靠 [12]。系統(tǒng)程序主要包括以下幾個部分:主程序、按鍵掃描、定時器 0 中斷子程序。 主程序流程圖 總模塊流程圖如圖 10 所示。本軟件設(shè)計采用循環(huán)查詢來處理各個模塊,溫度是緩慢變化量所以可以滿足性能要求。以及主程序的中斷流程圖。 初 始 化D S 1 8 B 2 0 是 否 存 在L E D 燈 亮顯 示 上 次 數(shù) 值數(shù) 據(jù) 處 理鍵 盤 掃 描 子 程 序是 否顯 示 子 程 序溫 度 是 否 高 于 設(shè) 置 溫 度L E D 燈 亮風 扇電 熱 爐是 否開 始 ( a) 17 定 時 器 中 斷如 果 顯 示 報 警 上 限如 果 顯 示 溫 度 如 果 顯 示 報 警 下 限讀 取 溫 度 并 轉(zhuǎn) 換 、顯 示 , 超 溫 報 警讀 取 報 警 上 限 并 轉(zhuǎn)換 、 顯 示 , 如 果加 、 減 、 存 、 恢 復(fù)則 作 相 應(yīng) 操 作讀 取 報 警 下 限 并 轉(zhuǎn)換 、 顯 示 , 如 果加 、 減 、 存 、 恢 復(fù)則 作 相 應(yīng) 操 作掃 描 數(shù) 碼 管中 斷 返 回 ( b) 圖 10 主程序流程圖 鍵盤掃描子程序 鍵 盤掃描子程序如圖 11 所示: 鍵盤掃描功能鍵是否按下設(shè)置上下限報警值主函數(shù)是開始 圖 11 鍵盤掃描子程序 18 讀取 DS18B20 溫度模塊子程序 每次對 DS18B20 操作時都要按照 DS18B20 工作過程中的協(xié)議進行。 初始化 ROM 操作命令 存儲器操作命令 處理數(shù)據(jù)。程序流程圖如圖12所示。 初 始 化DS18B20存 在 ?ROM操 作 命 令存 儲 操 作 命 令讀 取 溫 度 值否是開 始返 回 圖 12 讀取 DS18B20溫度子程序流程圖 數(shù)據(jù)處理子程序 由于 DS18B20 轉(zhuǎn)換后的代碼并不 是實際的溫度值,所以要進行數(shù)據(jù)處理。由于本程序采用的是 的精度,小數(shù)部分的值,可以用后四位代表的實際數(shù)值乘以 ,得到真正的數(shù)值,數(shù)值可能帶幾個小數(shù)位,所以采取四舍五入,保留一位小數(shù)即可。也就說,本系統(tǒng)的溫度精確到了 度。 首先程序判斷溫度是否是零下,如果是,則 DS18B20 保存的是溫度的補碼值,需要對其低 8 位( LS Byte)取反加一變成原碼。處理過后把 DS18B20 的溫度復(fù)制到單片機的 RAM 中,里面已經(jīng)是溫度值的 Hex 碼了,然后轉(zhuǎn)換 Hex 碼到 BCD碼,分別把小數(shù)位,個位,十位的 BCD 碼存入 RAM 中 [13]。數(shù)據(jù)處理子程序流程 19 圖如圖 13 所示。 數(shù) 據(jù) 傳 遞溫 度 是 否 為 負 ? 求 補 運 算B C D 碼 轉(zhuǎn) 換返 回否是 圖 13 數(shù)據(jù)處理子程序流程 20 第 5章 系統(tǒng)的仿真 編程軟件簡介 本系統(tǒng)的編程軟件選用 Keil C51。 Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機 C語言軟件開發(fā)系統(tǒng)。 與匯編相比, C 語言 具有語言簡潔、緊湊,使用方便、靈活,運算符豐富,數(shù)據(jù)類型豐富等特點 。 Keil 提供了包括 C 編譯器、 宏匯 編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境( μ Vision)將這些部分組合在一起 [14]。 Keil C51 是一種 支持 8051 微控制器 體系結(jié)構(gòu)的 Keil 開發(fā)工具,適合每個階段的開發(fā)人員,不管是專業(yè)的 應(yīng)用工程師 ,還是剛學(xué)習 嵌入式軟件開發(fā) 的學(xué)生。 產(chǎn)業(yè)標準的 Keil C 編譯器 、宏 匯編器 、 調(diào)試器 、實時內(nèi)核、單板計算機和仿真器 ,支持所有的 251 系列微控制器,幫助你如期完成項目進度。 當你開始一個新項目,只需簡單的從設(shè)備數(shù)據(jù)庫選擇使用的設(shè)備, μV ision IDE將設(shè)置好
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1