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

正文內(nèi)容

畢業(yè)設計(論文)-基于單片機at89c51的電熱爐溫度控制系統(tǒng)的設計與仿真(編輯修改稿)

2024-07-25 10:27 本頁面
 

【文章內(nèi)容簡介】 圖 315 DS18B20 元件圖及實物圖DS18B20 是 DALLAS 公司生產(chǎn)的 1-Wire ,即單總線器件,具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優(yōu)點,與單片機接口僅需占用一個 I/O 端口,無須任何外部元件,直接將環(huán)境溫度轉化成串行數(shù)字信號供處理器處理。其特性如下:(1)只要求一個端口即可實現(xiàn)通信。(2)在 DS18B20 中的每個器件上都有獨一無二的序列號。(3)實際應用中不需要外部任何元器件即可實現(xiàn)測溫。(4)測量溫度范圍在-55℃到+125℃之間。(5)數(shù)字溫度計的分辨率用戶可以從 9 位到 12 位選擇。(6)內(nèi)部有溫度上、下限報警設置。(7)支持多點組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。(8)電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。如果需要控制多個 DS18B20 進行溫度采集,只需將 DS18B20 的 I/O 口都連到一起。如圖 316 所示。DS18B20 DS18B20 DS18B20GND GND GNDVCCVCC單片機....圖 316 DS18B20 多點測溫DS18B20 的引腳功能為:DQ 為數(shù)字信號輸入/輸出端;GND 為電源地;VCC 為外接供電電源輸入端。本設計使用單片機 AT89C51 的 口與 DS18B20 的單總線端口 DQ 相連。如圖 315 所示。DS18B20 內(nèi)部結構主要由四部分組成:64 位光刻 ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL、配置寄存器。DS18B20在出廠時默認設置為12位,最高位為符號位,溫度值共11位。單片機在讀取數(shù)據(jù)時一次讀取2個字節(jié)共16位,前5位為符號位,當前5位為1時,讀取的溫度為負值。而當前5位為0時,讀取的溫度為正值。根據(jù) DS18B20 的通訊協(xié)議,主機控制 DS18B20 完成溫度轉換必須經(jīng)過三個步驟:每一次讀寫之前都要對 DS18B20 進行復位,復位成功后發(fā)送一條 ROM 指令,最后發(fā)送 RAM 指令,這樣才能對 DS18B20 進行預定的操作。復位要求主 CPU 將數(shù)據(jù)線下拉500 微秒,然后釋放,DS18B20 收到信號后等待 16~60 微秒左右,后發(fā)出 60~240 微秒的存在低脈沖,主 CPU 收到此信號表示復位成功。在實際使用中,DS18B20 有以下事項需要注意:①在對 DS18B20 進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。② 在用 DS18B20 進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。因為連接 DS18B20 的總線電纜是有長度限制的。③向 DS18B20 發(fā)出溫度轉換命令后,程序要等待 DS18B20 的返回信號,假如某個 DS18B20 接觸不好,當程序讀該 DS18B20 時,將沒有返回信號,程序會進入死循環(huán)。DS18B20 的初始化、工作時序見第四章。 顯示模塊 LED顯示器接口電路 常用的 LED顯示器有 LED狀態(tài)顯示器(俗稱發(fā)光二極管)LED 七段顯示器(俗稱數(shù)碼管和 LED十六段顯示器,發(fā)光二極管可顯示兩種狀態(tài),用于系統(tǒng)顯示;數(shù)碼管用于數(shù)字顯示;LED 十六段顯示器,用于字符顯示)   1.數(shù)碼管結構 數(shù)碼管由 8個發(fā)光二極管(以下簡稱字段)構成,通過不同組合可用來顯示數(shù)字 AF及小數(shù)點“.”。數(shù)碼管又分為共陰極和共陽極兩種結構?!  ?. 數(shù)碼管工作原理 共陽極數(shù)碼管的 8個發(fā)光二級管的陽極(二極管正端)連接在一起。通常會共陽極接高電平 ,則該數(shù)碼管導通并點亮。共陰極數(shù)碼管的 8個發(fā)光二極管的陰極(二極管負端)連接在一起。公共陰極接低電平(一般接地)當某個陽極接高電平,則該數(shù)碼管并點亮。 開關模塊本課題溫度設定由矩陣式鍵盤設定,鍵盤是一組按鍵的組合,共有 12 個按鍵,分別是 0、+、,電路如圖 318 所示。 。通常用到的開關都是機械彈性開關,當開關閉合時,線路導通,開關斷開時,線路斷開。單片機AT89C51 的 P2 口作為檢測按鍵時用的 I/O 口與矩陣鍵盤兩端都相連,在檢測是否有鍵按下時需人為通過 P2 口送出低電平。即采用掃描式讀鍵值。檢測時,先送一列為低電平,其余幾列全為高電平,然后輪流檢測一次各行是否有低電平,若某一行有低電平,則可確認當前按下的鍵的行列數(shù)。鍵在按下和釋放的瞬間會產(chǎn)生抖動現(xiàn)象,因此在檢測鍵盤時要加上去抖動電路,本設計使用延時程序來去抖動。圖 318 鍵盤模塊 報警模塊本設計采用發(fā)光二極管和蜂鳴器作為報警裝置。當實際溫度達到上限或下限時,相關二極管發(fā)光、蜂鳴器報警;實際溫度低于設定溫度時,發(fā)光二極管點亮報警。二極管分別與 、 、 、 相連,蜂鳴器與 連接。電路如圖 319 所示。 圖 319 報警模塊及相應管腳連接第 4 章 系統(tǒng)軟件設計及調(diào)試 系統(tǒng)程序設計Keil 使用“工程” (Project )的概念,對工程(而不能對單一的源程序)進行編譯/匯編、連接等操作。首先新建工程(Projectnew project) ,如圖 41 所示。圖 41 新建工程,如圖 42 所示。圖 42 保存工程點擊保存后在跳出來的對話框中選擇 Ateml 下面的 89c51 單片機。如圖 43 所示。圖 43 選擇單片機類型這時工程管理窗口的文件頁(Files)會出現(xiàn)“Target1” ,將其前面+號展開,接著選擇 Source Group1,右擊鼠標彈出快捷菜單,選擇 “Add File to Group ‘Source Group1’”,如圖 44 所示。出現(xiàn)一個對話框,要求尋找并加入源文件, ,如圖 45 所示。打開空白 c 文件就可以開始編寫程序了。圖 44 添加源文件圖 45 源文件 DS18B20 測溫程序設計DS18B20 的控制指令如下:① CCH— 跳過 ROM。忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)送溫度變換命令。② 55H—匹配 ROM,發(fā)出此命令后發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應的 DS18B20 并使之做出響應。③ 33H—讀 ROM 中的編碼。如果主機只對一個 DS18B20 進行操作(即本設計這樣的情況) ,只需用跳過ROM(CCH)命令就可進行溫度轉換和讀取操作。如下:① 44H—溫度轉換。啟動 DS18B20 進行溫度轉換,結果存入內(nèi)部 9 字節(jié)的 RAM中。② BEH—讀暫存器。讀內(nèi)部 RAM 中 9 字節(jié)的溫度數(shù)據(jù)。③ 4EH—寫暫存器。發(fā)出向內(nèi)部 RAM 的第 3 字節(jié)寫上下限溫度數(shù)據(jù)命令,隨后傳送兩字節(jié)的數(shù)據(jù)。工作時序及相應程序:⑴ 初始化:① 先將數(shù)據(jù)線置高電平 1;② 延時;③ 數(shù)據(jù)線拉到低電平 0;④ 延時;⑤ 數(shù)據(jù)線拉到高電平 1;⑥ 延時等待;⑦ 數(shù)據(jù)線再次拉到高電平 1。 具體的程序應用如下: void dsreset(void){ uint i。 ds=0。 i=103。while(i0)i。ds=1。i=4。while(i0)i。 }⑵ 寫數(shù)據(jù):① 數(shù)據(jù)線置低電平 0;② 延時 15us;③ 按從低位到高位的順序發(fā)送數(shù)據(jù);④ 延時 45 us;⑤ 將數(shù)據(jù)線拉到高電平 1;⑥ 重復步驟①~⑤,直到發(fā)送完整個字節(jié);⑦ 再次將數(shù)據(jù)線拉高到 1。⑶ 讀數(shù)據(jù):① 將數(shù)據(jù)線拉高到 1;② 延時 2us;③ 將數(shù)據(jù)線拉低到 0;④ 延時 6us;⑤ 將數(shù)據(jù)線拉高到 1;⑥ 延時 4us;⑦ 讀數(shù)據(jù)線的狀態(tài)得到一個狀態(tài)位,并進行數(shù)據(jù)處理;⑧ 延時 30us;⑨ 重復步驟①~⑨,直到讀取完一個字節(jié)。 在編寫具體的程序時,首先要對 DS18B20 進行復位初始化,其次編寫讀一位數(shù)據(jù)函數(shù)、讀一個字節(jié)數(shù)據(jù)函數(shù)、寫一個字節(jié)數(shù)據(jù)函數(shù)、溫度的獲取轉換程序、讀溫度程序等子程序。詳細程序見附錄。 LM016L 顯示程序設計基本工作時序:讀狀態(tài) 輸入:RS=0,RW=1,E=1 輸出:D0~D7=狀態(tài)字讀數(shù)據(jù) 輸入:RS=1,RW=1,E=1 輸出:無寫指令 輸入:RS=0,RW=0,D0~D7=指令碼,E=高脈沖 輸出:D0 ~D7=數(shù)據(jù)寫數(shù)據(jù) 輸入:RS=1,RW=0,D0~D7=數(shù)據(jù),E=高脈沖 輸出:無初始化設置: 原則上每次進行讀/寫之前都必須進行讀/寫檢測,但由于單片機的操作速度慢于液晶控制器的反應速度,因此可以用簡單延時代替讀/寫檢測。本設計所用初始化指令如下:write_(0X01)。 顯示清 0,數(shù)據(jù)指針清 0write_(0X38)。 設置 16*2 顯示,5*7 點陣,8 位數(shù)據(jù)接口write_(0X0C)。 設置開顯示,不顯示光標write_(0X06)。 寫一個字符后地址指針自動加 1write_(0x80)。 在第一排開始顯示write_(0xC0)。 顯示第二排寫操作時序:① 通過 RS 確定是寫數(shù)據(jù)還是寫命令。寫命令包括使液晶的光標顯示/ 不顯示,需/不需要移屏,在液晶的什么位置顯示等等,寫數(shù)據(jù)是寫要顯示的內(nèi)容。 ② 讀/寫控制端設置為寫模式,即低電平。 ③ 將數(shù)據(jù)或命令送達數(shù)據(jù)線上。 ④ 給 E 使能端一個高脈沖將數(shù)據(jù)送入液晶控制器,完成寫操作。例如,寫控制字程序如下:void write_(unsigne
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1