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

正文內(nèi)容

基于單片機(jī)at89c51的溫度控制系統(tǒng)的設(shè)計與仿真(論文)-文庫吧資料

2024-12-15 09:42本頁面
  

【正文】 8B顯示器 LM016L的使用及相關(guān)程序的編寫,實(shí)現(xiàn)了溫度顯示,未能很好的實(shí)現(xiàn)溫度的自動控制。 Keil 的功能都非常強(qiáng)大,是現(xiàn)在單片機(jī)仿真使用的主流軟件,通過本次設(shè)計能熟練使用這兩個軟件,并制作出自己相關(guān)的成果。 } 19 本設(shè)計顯示程序包括 LCD 清屏程序、寫入控制命令子程序、寫入數(shù)據(jù)子程序、初始化程序等,具體程序見附錄。 //要寫的數(shù)據(jù) E=1。 //選擇寫模式 E=0。 //用延時代替忙檢測 RS=0。i0。 顯示第二排 讀狀態(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=高脈沖 輸出:無 void write_(unsigned char c) //寫入控制命令的子程序 { int i。 寫一個字符后地址指針自動加 1 write_(0x80)。 設(shè)置 16*2 顯示, 5*7 點(diǎn)陣, 8 位數(shù)據(jù)接口 write_(0X0C)。 例如,寫控制字程序如下: write_(0X01)。 ③ 將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上。寫命令包括使液晶的光標(biāo)顯示 /不顯示,需 /不需要移屏,在液晶的什么位置顯示等等,寫數(shù)據(jù)是寫要顯示的內(nèi)容。 LM016L 顯示程序設(shè)計 基本工作時序: 初始化設(shè)置: 原則 上每次進(jìn)行讀 /寫之前都必須進(jìn)行讀 /寫檢測,但由于單片機(jī)的操作速度慢于液晶控制器的反應(yīng)速度,因此可以用簡單延時代替讀 /寫檢測。 在編寫具體的程序時,首先要對 DS18B20 進(jìn)行復(fù)位初始化,其次編寫讀一位數(shù)據(jù)函數(shù)、讀一個字節(jié)數(shù)據(jù)函數(shù)、寫一個字節(jié)數(shù)據(jù)函數(shù)、溫度的獲取轉(zhuǎn)換程序、讀溫度程序等子程序。 } ⑵ 寫數(shù)據(jù):① 數(shù)據(jù)線置低電平 0; ② 延時 15us; ③ 按從低位到高位的順序發(fā)送數(shù)據(jù); ④ 延時 45 us; ⑤ 將數(shù)據(jù)線拉到高電平 1; ⑥ 重復(fù)步驟①~⑤,直到發(fā)送完整個字節(jié); ⑦ 再次將數(shù)據(jù)線拉高到 1。 i=4。 while(i0)i。 ds=0。 工作時序及相應(yīng)程序: ⑴ 初始化:① 先將數(shù)據(jù)線置高電平 1; ② 延時; ③ 數(shù)據(jù)線拉到低電平 0; ④ 延時; ⑤ 數(shù)據(jù)線拉到高電平 1; ⑥ 延時等待; ⑦ 數(shù)據(jù)線再次拉到高電平 1。 ③ 4EH— 寫暫存器。 ② BEH— 讀暫存器。如下: ① 44H— 溫度轉(zhuǎn)換。 ③ 33H— 讀 ROM 中的編碼。忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)送溫度變換命令。打開空白 c 文件 就可以開始編寫程序了。 16 圖 43 選擇單片機(jī)類型 這時工程管理窗口的文件頁( Files)會出現(xiàn)“ Target1”,將其前面 +號展開,接著選擇 Source Group1,右擊鼠標(biāo)彈出快捷菜單,選擇“ Add File to Group ‘ Source Group1’”,如圖 44 所示。 圖 42 保存工程 點(diǎn)擊保存后在跳出來的對話框中選擇 Ateml 下面的 89c51 單片機(jī)。首先新建工程( Projectnew project),如圖 41 所示。電路如圖 319 所示。當(dāng)實(shí)際溫度達(dá)到上限或下限時,相關(guān) 二極管發(fā)光、蜂鳴器報警;實(shí)際溫度低于設(shè)定溫度 時,發(fā)光二極管點(diǎn)亮報警。 鍵在按下和釋放的瞬間會產(chǎn)生抖動現(xiàn)象,因此在檢測鍵盤時要加上去抖動電路,本設(shè)計使用延時程序來去抖動。即采用掃描式讀鍵值。通常用到的開關(guān)都是機(jī)械彈性開關(guān),當(dāng)開關(guān)閉合時,線路導(dǎo)通,開關(guān)斷開 時,線路斷開。公共陰極接低電平(一般接地)當(dāng)某個陽極接高電平,則該數(shù)碼 管并點(diǎn)亮。通常會共陽極接高電平 ,則該數(shù)碼管導(dǎo)通并點(diǎn)亮。數(shù)碼管又分為共陰極和共陽極兩種結(jié)構(gòu)。 DS18B20 的初始化、工作時序見第四章。因?yàn)檫B接 DS18B20 的總線電纜是有長度限制的。 在實(shí)際使用中, DS18B20 有以下事項(xiàng)需要注意: ①在對 DS18B20 進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。 13 根據(jù) DS18B20 的通訊協(xié)議,主機(jī)控制 DS18B20 完成溫度轉(zhuǎn)換 必須經(jīng)過三個步驟:每一次讀寫之前都要對 DS18B20 進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條 ROM 指令,最后發(fā)送RAM 指令,這樣才能對 DS18B20 進(jìn)行預(yù)定的操作。單片機(jī)在讀取數(shù)據(jù)時一次讀取 2個字節(jié)共 16位,前 5位為符號位,當(dāng)前 5位為 1時,讀取的溫度為負(fù)值,讀到的數(shù)值要取反加 1再乘以 。 DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成: 64 位光刻 ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL、配置寄存器。 本設(shè)計使用單片機(jī) AT89C51 的 口與 DS18B20 的單總線端口DQ 相連。如圖 316 所示。 ( 8)電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。 ( 6)內(nèi)部有溫度上、下限報警設(shè)置。 ( 4)測量溫度范圍在- 55℃到+ 125℃ 之間。 ( 2)在 DS18B20 中的每個器件上都有獨(dú)一無二的序列號。 12 圖 315 DS18B20元件圖及實(shí)物圖 DS18B20 是 DALLAS 公司生產(chǎn)的 1- Wire,即單總線器件,具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),與單片機(jī)接口僅需占用一個 I/O 端口,無須任何外部元件,直接將環(huán)境溫度轉(zhuǎn)化成串行數(shù)字信號供處理器處理。本設(shè)計采用 DS18B20。 測溫模塊 溫度傳感器是各種傳感器中最常用的一種,早期使用模擬溫度傳感器如熱電阻。但是,如果在系統(tǒng)中采用時鐘芯片 DS1302,就能很好地解決這個問題。這種記錄對長時間的連續(xù) 測控系統(tǒng)結(jié)果的分析及對異常數(shù)據(jù)出現(xiàn)的原因的查找具有重要意義。 DS1302 內(nèi)部有一個 31 8 的用于臨時性存放數(shù)據(jù)的 RAM 寄存器。如圖 314 所示: 圖 314 時鐘電路 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實(shí)時時鐘電路芯片,它可以對年、月、日、時、分、秒進(jìn)行計時,具有閏年補(bǔ)償功能,工作電壓為~ 。震蕩電路如圖 313 所示。 11 XTAL1(18):振蕩器反相放大器的輸出端。復(fù)位電路如圖 312 所示。 P3 口除了作為一般的 I/O 口 線外,更重要的用途是它的第二功能,如表 31 所示: 表 31 P3口的第二功能 端口引腳 第二功能 RXD(串行輸入口) TXD(串行輸出口) INT0(外中斷 0) INT1(外中斷 1) T0(定時 /計數(shù)器 0) T1(定時 /計數(shù)器 1) WR(外部數(shù)據(jù)存儲器寫通道) RD(外部數(shù)據(jù)存儲器讀通道) RST(9):復(fù)位信號輸入端。在訪問 8 位地址的外部數(shù)據(jù)存儲器時,P2 口輸出 P2 鎖存器的內(nèi)容。作為輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。 和 還可以分別作為定時 /計數(shù)器 2 的外部計數(shù)輸入 () 和輸入 ()。 P1 口 (18): P1 是一個帶內(nèi)部上拉電阻的 8 位雙 向 I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路,對端口寫 “ 1” 通過內(nèi)部的上拉電阻把端口拉到高電平時,此時可作輸入口。作為輸出口用時,每位以吸收電流的方式驅(qū)動 8 個 TTL 邏輯門電路,對端口 P0 寫 “ 1” 時,可作為高阻抗輸入端用。 硬件電路結(jié)構(gòu) 主控制芯片 AT89C51 原理及其說明 AT89C51 是美國 ATMEL 公司生產(chǎn)的低電壓、高性能 CMOS 8 位單片機(jī),片內(nèi)含 4k bytes 的可反復(fù)擦寫的只讀程序存儲器( PEROM)和 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲器( RAM),器件采用 ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) MCS51指令系統(tǒng),片內(nèi)置通用 8 位中央處理器( CPU)和 FLASH 存儲單元,功能強(qiáng)大,可靈活應(yīng)用于各種控制領(lǐng)域。 至此,電路圖基本繪制完成。如圖 311 所示。同理,可以標(biāo)注其它導(dǎo)線的標(biāo)簽。 圖 37 貼標(biāo)簽 圖 38 編輯標(biāo)號 在“ string”欄中,輸入標(biāo)簽名稱 (如 P10),單擊“ OK”按鈕,結(jié)束對該導(dǎo)線的標(biāo)簽標(biāo)定。將鼠標(biāo)置于圖形編輯窗口的欲標(biāo)標(biāo)簽的導(dǎo)線上,跟著鼠標(biāo)的指針就會出現(xiàn)一個“”號,如圖 37 所示。在此過程的任何時刻,都可以按 ESC 鍵或 者單擊鼠標(biāo)的右鍵來放棄畫線。如圖 36 所示。 WAR 可通過使用標(biāo)準(zhǔn)工具欄里的“ WAR”命令按鈕 來關(guān)閉或打開,也可以在菜單欄的“ Tools”下找到這個圖標(biāo)。同理放置其他元器件,如圖 35 所示。 圖 34 對象選擇器窗口 7 放置元器件至圖形編輯窗口 在對象選擇器窗口中,選中 AT89C51,將鼠標(biāo)置于圖形編輯窗口該對象的欲放位置、單擊鼠標(biāo)左鍵,該對象放置完成。同理,添加 LM016L、 DS18B LED、 DS1302 等其他涉及的元器件至對象選擇器窗口。 圖 32 選擇元件 彈出“ Pick Devices”頁面,在“ Keywords”輸入 AT89C51,系統(tǒng)在對象庫中進(jìn)行搜索查找,并將搜索結(jié)果顯示在“ Results”中,如圖 33 所示。 Proteus 原理圖設(shè)計 本設(shè)計采用 AT89C51 作為控制系統(tǒng), DS18B20 溫度傳感器采集、轉(zhuǎn)換溫度,顯示器 LM016L 顯示溫度,用 proteus 畫的原理圖如圖 31 所示: 圖 31 原
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1