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

正文內(nèi)容

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

2025-01-12 09:42 本頁面
 

【文章內(nèi)容簡介】 ALLAS 公司生產(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)測溫。 ( 4)測量溫度范圍在- 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)測溫。 ( 8)電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 如果需要控制多個(gè) DS18B20 進(jìn)行溫度采集,只需將 DS18B20 的 I/O 口都連到一起。如圖 316 所示。 D S 1 8 B 2 0 D S 1 8 B 2 0 D S 1 8 B 2 04 .7 KGN D GN D GN DVC CVC C單 片機(jī).... 圖 316 DS18B20 多點(diǎn)測溫 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ù)值,讀到的數(shù)值要取反加 1再乘以 。而當(dāng)前 5位為 0時(shí),讀取的溫度為正值,讀到的數(shù)值直接乘以 。 13 根據(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í)序,否則將無法讀取測溫結(jié)果。 ② 在用 DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮 總線分布電容和阻抗匹配問題。因?yàn)檫B接 DS18B20 的總線電纜是有長度限制的。 ③向 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ā)光二極管(以下簡稱字段)構(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)亮。 14 開關(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 口作為檢測按鍵時(shí)用的 I/O 口與矩陣鍵盤兩端都相連,在檢測是否有鍵按下時(shí)需人為通過 P2 口送出低電平。即采用掃描式讀鍵值。檢測時(shí),先送一列為低電平,其余幾列全為高電平,然后輪流檢測一次各行是否有低電平,若某一行有低電平,則可確認(rèn)當(dāng)前按下的鍵的行列數(shù)。 鍵在按下和釋放的瞬間會(huì)產(chǎn)生抖動(dòng)現(xiàn)象,因此在檢測鍵盤時(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 所示。 15 圖 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 新建工程 文件保存類型為 .uv2,如圖 42 所示。 圖 42 保存工程 點(diǎn)擊保存后在跳出來的對(duì)話框中選擇 Ateml 下面的 89c51 單片機(jī)。如圖 43 所示。 16 圖 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ì)話框,要求尋找并加入源文件,源文件后綴為 .c 或 .asm,如圖 45 所示。打開空白 c 文件 就可以開始編寫程序了。 圖 44 添加源文件 圖 45 源文件 17 DS18B20 測溫程序設(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; 18 ⑦ 讀數(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í)序: 初始化設(shè)置: 原則 上每次進(jìn)行讀 /寫之前都必須進(jìn)行讀 /寫檢測,但由于單片機(jī)的操作速度慢于液晶控制器的反應(yīng)速度,因此可以用簡單延時(shí)代替讀 /寫檢測。本設(shè)計(jì)所用初始化指令如下: 寫操作時(shí)序: ① 通過 RS 確定是寫數(shù)據(jù)還是寫命令。寫命令包括使液晶的光標(biāo)顯示 /不顯示,需 /不需要移屏,在液晶的什么位置顯示等等,寫數(shù)據(jù)是寫要顯示的內(nèi)容。 ② 讀 /寫控制端設(shè)置為寫模式,即低電平。 ③ 將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上。 ④ 給 E 使能端一個(gè)高脈沖將數(shù)據(jù)送入液晶控制器,完 成寫操作。 例如,寫控制字程序如下: write_(0X01)。 顯示清 0,數(shù)據(jù)指針清 0 write_(0X38)。 設(shè)置 16*2 顯示, 5*7 點(diǎn)陣, 8 位數(shù)據(jù)接口 write_(0X0C)。 設(shè)置開顯示,不顯 示光標(biāo) write_(0X06)。 寫一個(gè)字符后地址指針自動(dòng)加 1 write_(0x80)。 在第一排開始顯示 write_(0xC0)。 顯示第二排 讀狀態(tài) 輸入: RS=0,RW=1,E=1 輸出: D0~ D7=狀態(tài)字 讀數(shù)據(jù)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1