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

正文內(nèi)容

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

2025-07-25 10:27 本頁面
 

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