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

正文內(nèi)容

基于單片機(jī)的超溫警報(bào)顯示電路(編輯修改稿)

2025-07-24 19:48 本頁面
 

【文章內(nèi)容簡介】 ED3=1。 //左第四位 溫度小數(shù)部分 在控制系統(tǒng)中,有些參數(shù)的計(jì)算是非常復(fù)雜的,用公式計(jì)算不僅程序長,難于計(jì)算,而且需要耗費(fèi)大量時(shí)間。還有一些非線形參數(shù),它們不是用一般算術(shù)運(yùn)算就可以計(jì)算出來的,所有這些運(yùn)算用編程的方法比較復(fù)雜,有些參數(shù)甚至無法建立相應(yīng)的數(shù)學(xué)模型,為了解決這些問題,可以采用查表法。溫度的小數(shù)部分采用的查表法。所謂的查表法,就是把事先計(jì)算或測(cè)得的數(shù)據(jù)按一定順序編制成表格,查表程序的任務(wù)就是根據(jù)被測(cè)參數(shù)的值或者中間結(jié)果,查出最終所需要的結(jié)果。查表法只需把轉(zhuǎn)換結(jié)果按序編成表,連續(xù)存放在ROM中,用查表指令即可實(shí)現(xiàn)轉(zhuǎn)換,查表法編程方便且程序量小,執(zhí)行速度快,修正起來方便。 溫度檢測(cè)子程序 溫度檢測(cè)子程序流程圖如圖4所示。本系統(tǒng)的溫度采集選用DS18B20溫度傳感器。在程序設(shè)計(jì)中S18B20溫度傳感器一般有四個(gè)步驟:初始化命令;傳送ROM命令;傳送RAM命令;數(shù)據(jù)交換命令。由于DS18B20有著嚴(yán)格的時(shí)序控制,因此在進(jìn)行溫度采集時(shí)必須關(guān)閉所有的中斷,保證DS18B20安全的工作。初始化的時(shí)序是單片機(jī)先發(fā)出480~960us的復(fù)位脈沖,在15~60us后,DS18B20發(fā)出60~240us的應(yīng)答脈沖,完成對(duì)DS18B20的初始化。 DS18B20的傳送命令有:讀ROM命令(33H),匹配ROM命令(55H),跳過ROM命令(CCH),搜索ROM命令(F0H),報(bào)警搜索命令(ECH)。傳送RAM命令有:溫度轉(zhuǎn)換命令(44H),讀存儲(chǔ)器命令(EBH),寫存儲(chǔ)器命令(4EH),復(fù)制存儲(chǔ)器命令(48H),讀EEPROM命令(B8H),讀供電方式命令(B4H)。數(shù)據(jù)交換命令是用具體的讀/寫時(shí)序脈沖讀出或?qū)懭霐?shù)據(jù)。 對(duì)于DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過程。DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過程,至少需要60us才能完成。 對(duì)于DS18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過程。兩種寫時(shí)隙均起始于主機(jī)拉低總線,DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。寫時(shí)隙起始后1560μs期間,單總線器件采樣總線電平狀態(tài)。如果在此期間采樣為高電平,則邏輯1被寫入該器件,如果為0,則寫入邏輯0。當(dāng)DS18B20 接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第2字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,℃/LSB形式表示。溫度值格式如下。低字節(jié)格式:232178。212021222324高字節(jié)格式:SSSSS262524溫度存儲(chǔ)器高位的前5位為符號(hào)位,當(dāng)溫度大于零時(shí),這5位為0,當(dāng)溫度小于零時(shí),這5位為1,高位剩下的三位和低位的前四位是溫度的整數(shù)位,低位的后四位是小數(shù)位,當(dāng)溫度大于零時(shí)它們以原碼的形式存儲(chǔ),而當(dāng)溫度小于零時(shí)都以二進(jìn)制補(bǔ)碼的形式存儲(chǔ),當(dāng)轉(zhuǎn)換位數(shù)為12位時(shí),℃。在使用DS18B20時(shí)應(yīng)注意:主機(jī)控制DS18B20完成溫度轉(zhuǎn)換時(shí),在每一次讀寫之前,都要對(duì)DS18B20進(jìn)行復(fù)位,而且該復(fù)位要求主CPU要將數(shù)據(jù)線下拉500μs,然后釋放。DS18B20收到信號(hào)后將等待16~60μs左右,之后再發(fā)出60~240μs的低脈沖。主CPU收到此信號(hào)即表示復(fù)位成功。實(shí)際上,較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償。由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送方式,因此,在對(duì)DS18B20進(jìn)行讀寫編程時(shí),必須嚴(yán)格地保證讀寫時(shí)序,否則,將無法正確讀取測(cè)溫結(jié)果。本設(shè)計(jì)中與DS18B20通訊步驟如下:初始化;ROM 命令:跳越ROM命令[CCh](由于在本設(shè)計(jì)中只有DS18B20一個(gè)單總線協(xié)議芯片);功能命令:溫度轉(zhuǎn)換命令[44h];延時(shí);初始化;ROM 命令:跳越ROM命令[CCh];功能命令:讀暫存器命令[BEh]。溫度檢測(cè)的主程序如下:read_temp(){ ow_reset()。 //總線復(fù)位 write_byte(0xcc)。 // 發(fā)命令 Skip ROM write_byte(0x44)。 //發(fā)讀命令 ow_reset()。 //總線復(fù)位 write_byte(0xcc)。 //發(fā)命令 Skip ROM write_byte(0xbe)。 // Read 發(fā)轉(zhuǎn)換命令 tplsb=read_byte()。 //溫度低8位 tpmsb=read_byte()。 //溫度高8位} 按鍵模塊按鍵電路的作用是設(shè)置時(shí)間及溫度,一般按鍵電路有按鍵查詢式,CPU不斷的檢測(cè)是否有按鍵按下,這樣將會(huì)耗費(fèi)大量的CPU時(shí)間,且反應(yīng)速度慢,實(shí)時(shí)性不強(qiáng);還有一種是中斷式按鍵,只有當(dāng)有按鍵按下時(shí),單片機(jī)產(chǎn)生中斷,開始處理按鍵的輸入功能,沒有鍵按下時(shí)單片機(jī)處理其他,不需要不停地查詢按鍵是否按下。這樣采用中斷使按鍵反應(yīng)速度快,同時(shí)減少單片機(jī)處理時(shí)間,本設(shè)計(jì)采用中斷擴(kuò)展式電路。鍵盤掃描流程圖如圖5。在51系統(tǒng)中,中斷的允許或禁止是由片內(nèi)的中斷允許寄存器IE控制的,IE寄存器的地址是A8H,位地址為AFHA8H。寄存器的內(nèi)容及位地址如下:位地址AFAEADACABAA99A8位符號(hào)EA//ESET1EX1ET0EX0EA—中斷允許總控制位。EA=0時(shí),表示CPU禁止所有中斷,即所有的中斷請(qǐng)求被屏蔽;EA=1時(shí),表示CPU開放中斷,但每個(gè)中斷源的中斷請(qǐng)求時(shí)允許還是禁止,要看各自的允許控制。EX0(EX1)外部中斷允許控制位。EX0(EX1)=0,禁止外中斷;EX0(EX1)=1,允許外中斷。ET0(ET1)定時(shí)/計(jì)數(shù)器的中斷允許控制位。ET0(ET1)=0,禁止定時(shí)/計(jì)數(shù)器中斷;ET0(ET1)=1,允許定時(shí)/計(jì)數(shù)器中斷。ES串行中斷允許控制位。ES=0,禁止串行中斷,ES=1,允許串行中斷。在本系統(tǒng)的設(shè)計(jì)中采用的是中斷0,定時(shí)時(shí)間的計(jì)算方式為 (MX)T=定時(shí)值,即 (216X)*1=50所以 X=3CB0 定時(shí)/計(jì)數(shù)器T0由TH0和TH0構(gòu)成,T1由TH1和TL1構(gòu)成。TMOD用于控制和確定各定時(shí)/計(jì)數(shù)器的功能和工作模式。TCON用于控制定時(shí)/計(jì)數(shù)器T0、T1啟動(dòng)和停止計(jì)數(shù),同時(shí)包含定時(shí)/計(jì)數(shù)器的狀態(tài)。它們屬于特殊功能寄存器,這些寄存器的內(nèi)容靠軟件設(shè)置。系統(tǒng)復(fù)位時(shí),寄存器的所有位都被清零。根據(jù)計(jì)算結(jié)果,在本系統(tǒng)中, TH0=0X3C,Tl0=0XB0 根據(jù)硬件的設(shè)計(jì)方法,編寫程序基本結(jié)構(gòu)如下:/*****************************功能:按鍵輸入 說明:用到中斷0,~/****************************/void inkey_int0() interrupt 0 { uchar input。 P2=P2|0x0f。 input=P2。 switch(inputamp。0x0f) {case 0x0e: //1110最右邊 //按鍵1功能 break。 case 0x0d: //1101 //按鍵2功能 case 0xb: //1011 //按鍵3功能 case 0x07: //0111 //按鍵4功能 break。 default: break。 } }NN鍵盤掃描有鍵閉合?延時(shí)去鍵抖動(dòng)掃描鍵盤Y找到閉合鍵?計(jì)算鍵值執(zhí)行相應(yīng)功能返回YNN開始關(guān)中斷初始化DS18B20設(shè)置溫度轉(zhuǎn)換命令調(diào)用寫命令子程序設(shè)置跳過ROM命令調(diào)用寫命令子程序調(diào)延時(shí)子程序設(shè)置跳過ROM命令調(diào)用寫命令子程序初始化DS18B20返回讀DS18B20得到溫度數(shù)據(jù)設(shè)置讀溫度命令調(diào)用寫命令子程序 圖4 溫度檢測(cè)流程圖 圖5 鍵盤掃描流程圖4 系統(tǒng)調(diào)試 仿真器和調(diào)試軟件的使用本系統(tǒng)的調(diào)試是利用的TKS系列的仿真器,調(diào)試軟件是Keil編譯軟件。TKS系列仿真器可以實(shí)時(shí)在線仿真PHILIPS半導(dǎo)體公司的80C51系列單片機(jī)的同時(shí),還能夠?qū)崟r(shí)在線仿真ATMEL、HY、Winbond等公司兼容MCS51內(nèi)核的標(biāo)準(zhǔn)80C51單片機(jī),徹底解決80C51開發(fā)中的仿真工具的瓶頸問題。TKS仿真器可以選用外部晶振作為系統(tǒng)時(shí)鐘,同時(shí)還提供6MHz、12MHz、24MHz三個(gè)內(nèi)部晶振。利用微機(jī)把源程序匯編為目標(biāo)程序并通過串行口把目標(biāo)程序送入仿真機(jī)。 Keil是基于80C51內(nèi)核的微處理器軟件開發(fā)平臺(tái),內(nèi)嵌多種符合當(dāng)前工業(yè)標(biāo)準(zhǔn)的開發(fā)工具,可以完成工程建立和管理,編譯,連接,目標(biāo)代碼的生成,軟件仿真,硬件仿真等完整的開發(fā)流程。尤其C編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高的水平。整個(gè)調(diào)式軟件的使用流程為:建立工程→為工程選擇目標(biāo)器件→設(shè)置工程的配置參數(shù)→打開/建立程序文件→編譯和連接工程→使用TKS仿真器對(duì)應(yīng)用程序進(jìn)行仿真→將生成的Hex文件燒寫到ROM中運(yùn)行測(cè)試。 模塊程序的調(diào)式 在系統(tǒng)聯(lián)調(diào)前必須保證各個(gè)模塊調(diào)試正確,在每個(gè)模塊單獨(dú)通過調(diào)試后才能把它們串聯(lián)起來,進(jìn)行整個(gè)系統(tǒng)的聯(lián)調(diào)。 顯示模塊的調(diào)試:顯示模塊主要是顯示溫度的數(shù)據(jù),用三極管驅(qū)動(dòng)數(shù)碼管。先調(diào)試數(shù)碼管能被正確點(diǎn)亮,接著對(duì)數(shù)碼管的每個(gè)段
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1