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

正文內(nèi)容

基于單片機(jī)的干燥箱溫度監(jiān)測(cè)系統(tǒng)-資料下載頁(yè)

2025-08-22 17:43本頁(yè)面

【導(dǎo)讀】隨著社會(huì)科技的不斷發(fā)展,現(xiàn)代食品與工業(yè)物品干燥行業(yè)離不開(kāi)溫度監(jiān)測(cè)與控制,理論設(shè)計(jì)方案,并用對(duì)應(yīng)實(shí)際材料進(jìn)行現(xiàn)實(shí)模擬。系統(tǒng)的核心構(gòu)成為單片機(jī),并以溫度傳感器。作為測(cè)量元件,通過(guò)單片機(jī)與傳感器相連,采集實(shí)時(shí)數(shù)據(jù)并進(jìn)行輸出。統(tǒng)中實(shí)現(xiàn)程序的擴(kuò)展開(kāi)發(fā)、數(shù)據(jù)的實(shí)時(shí)輸出、上下限超量時(shí)的蜂鳴報(bào)警和自動(dòng)復(fù)位功能。擇;單片機(jī)的選擇;輸入輸出的實(shí)現(xiàn)方法。成實(shí)際模型的制作,并實(shí)現(xiàn)基本功能。

  

【正文】 之后操作旁邊的加減鍵完成數(shù)值的設(shè)置。 圖 系統(tǒng)總體設(shè)計(jì)流程圖 系統(tǒng)初始化 單片機(jī)由于存在接口復(fù)用和器件重 置的需要,每一次開(kāi)機(jī)運(yùn)行時(shí)都需要對(duì)系統(tǒng)進(jìn)行初始化操作。初始化的目的就是把所有用到的標(biāo)志位、變量恢復(fù)到初始狀態(tài),以及引腳的分配等。 所謂接口復(fù)用,是指在單片機(jī)系統(tǒng)中,很多單一接口可以被不同器件調(diào)用從而實(shí)現(xiàn)不同功能,例如本系統(tǒng)的設(shè)計(jì)過(guò)程中的串行 IO 接口即可當(dāng)作數(shù)據(jù)下載接口,也可以使用其中的 2pin 接線實(shí)現(xiàn)電力傳輸。系統(tǒng)在設(shè)定接口功能后一般不能再更改,因此每次開(kāi)東華理工大學(xué)長(zhǎng)江學(xué)院畢業(yè)設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì) 18 機(jī)時(shí)都需要重置接口功能。 器件重置是指每一個(gè)單一器件在不同的設(shè)定下可以實(shí)現(xiàn)不同的功能,因而在系統(tǒng)啟動(dòng)時(shí)需要抹除所有設(shè)定,恢復(fù)初始狀態(tài)供操作選擇。 C52 單 片機(jī)的初始化代碼如下: void InitTIMER0(void) { TMOD|=0x01。 //定時(shí)器初始化 設(shè)為 16 位 TH0=0xef。 //初始化值 TL0=0xf0。 ET0=1。 TR0=1。 EA=1。 } 溫度檢測(cè)程序的開(kāi)發(fā) DS18B20 與單片機(jī)的連接 DS18B20 傳感器可以被設(shè)置為兩種供電方式。自供電模式和外部電源模式,自供電模式即數(shù)據(jù)總線在完成數(shù)據(jù)內(nèi)外交換的同時(shí)提供電源,系統(tǒng)僅通過(guò)中間接口負(fù)責(zé),但此種模式下完 成一個(gè)測(cè)量周期的時(shí)間較長(zhǎng)。而采取外部供電方式則多外接一根導(dǎo)線,但測(cè)量速度較快。因?yàn)楸鞠到y(tǒng)只在一定范圍內(nèi)所測(cè)得的溫度讀數(shù),沒(méi)有較高的時(shí)序要求,因此采取自供電模式驅(qū)動(dòng)傳感器。 DS18B20 的時(shí)序初始化設(shè)置 DS18B20 在每次讀取溫度前都要進(jìn)行初始化操作,否則將處于待機(jī)狀態(tài),無(wú)法成功讀取。進(jìn)行初始化時(shí)要拉低信號(hào)線 480700us,使它復(fù)位,然后釋放總線 1560us, 18b20會(huì)拉低總線 60240us,然后它釋放總線。所以初始化成功的一個(gè)標(biāo)志就是能否讀到18b20 這個(gè)先低后高的操作時(shí)序。 初始化 的程序如下: RESET: PUSH B //保存 B 寄存器 PUSH A //保存 A 寄存器 MOV A,4 //設(shè)置循環(huán)次數(shù) CLR //發(fā)出復(fù)位脈沖 MOV B,250 //計(jì)數(shù) 250 次 DJNZ B,$ //保持低電平 500us SETB //釋放總線 東華理工大學(xué)長(zhǎng)江學(xué)院畢業(yè)設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì) 19 MOV B,6 //設(shè)置時(shí)間常數(shù) CLR C //清存 在信號(hào)標(biāo)志 WAITL: JB ,WH //若總線釋放跳出循環(huán) DJNZ B,WAITL //總線低等待 DJNZ ACC,WAITL //釋放總線等待一段時(shí)間 SJMP SHORT WH: MOV B,111 WH1: ORL C, DJNZ B,WH1 //存在時(shí)間等待 SHORT: POP A POP B RET DS18B20 的時(shí)序控制 DS18B20 的時(shí)序可 分為讀時(shí)時(shí)隙和寫時(shí)時(shí)隙 寫時(shí)序是指主機(jī)向 DS18B20 寫入數(shù)據(jù),并在讀時(shí)隙從 DS18B20 讀入數(shù)據(jù)。在單總線上每個(gè)時(shí)隙只傳送一位數(shù)據(jù)。 其中寫時(shí)間隙分為兩種,寫“ 0”時(shí)間隙和寫“ 1”時(shí)間隙。總線主機(jī)使用寫“ 1”時(shí)間隙向 DS18B20 寫入邏輯 1,使用寫“ 0”時(shí)間隙向 DS18B20 寫入邏輯 0。所有的寫時(shí)隙必須有最少 60us 的持續(xù)時(shí)間,相鄰兩個(gè)寫時(shí)隙必須要有最少 1us 的恢復(fù)時(shí)間。兩種寫時(shí)隙都通過(guò)主機(jī)拉低總線產(chǎn)生。如圖 東華理工大學(xué)長(zhǎng)江學(xué)院畢業(yè)設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì) 20 圖 寫“ 0”時(shí)隙和寫“ 1”時(shí)隙的圖示 系統(tǒng)的寫時(shí)程序如下: WR1820: CLR EA WR18201: MOV R2,08H //寫 8 位 MOV A,@R0 //待寫的數(shù)據(jù) /命令 SETB DS1820 WR18202: RRC A CLR DS1820 MOV 07H,02H //11μ s LCALL D5XN //延時(shí)子程序 MOV DS1820,C MOV 07H,0AH //55μ s LCALL D5XN //延時(shí)子程序 SET BDS1820 DJNZ R2,WR18202 //寫 8 位 ? INCR0 //下一個(gè)數(shù)據(jù) /命令地址 東華理工大學(xué)長(zhǎng)江學(xué)院畢業(yè)設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì) 21 DJNZ R1,WR18201 //寫 R1 字節(jié) SETB EA RET 讀時(shí)隙指的 DS18B20 只有在主機(jī)發(fā)出讀時(shí)隙后才會(huì)向主機(jī)發(fā)送數(shù)據(jù)。因此,在獲得讀取命暫存存器 [B4H]的命令后,主機(jī)必須讀時(shí)隙,使 DS18B20 能夠立即提供所需的數(shù)據(jù)。此外,主機(jī)可在發(fā)出溫度轉(zhuǎn)換命令 T [44h]或 Recall 命令 E 2[B8h]后產(chǎn)生讀時(shí)隙,以了解運(yùn)行狀態(tài)。 所有的讀時(shí)隙必須至少有 60us 的持續(xù)時(shí)間。相鄰 兩個(gè)讀時(shí)隙必須要有最少 1us 的恢復(fù)時(shí)間。所有的讀時(shí)隙都由拉低總線,持續(xù)至少 1us 后再釋放總線(由于上拉電阻的作用,總線恢復(fù)為高電平)產(chǎn)生。在主機(jī)產(chǎn)生讀時(shí)隙后, DS18B20 開(kāi)始發(fā)送 0 或 1 到總線上。 DS18B20 讓總線保持高電平的方式發(fā)送 1,以拉低總線的方式表示發(fā)送 0的時(shí)候, DS18B20 在讀時(shí)隙的末期將會(huì)釋放總線,總線將會(huì)被上拉電阻拉回高電平(也是總線空閑的狀態(tài))。 DS18B20 輸出的數(shù)據(jù)在下降沿(下降沿產(chǎn)生讀時(shí)隙)產(chǎn)生后 15us后有效 【 4】 。因此,主機(jī)釋放總線和采樣總線等動(dòng)作要在 15μ s 內(nèi)完成。 如圖 圖 讀時(shí)序的讀取過(guò)程 系統(tǒng)的讀時(shí)程序如下 RD1820: CLR EA RD18201: MOV R2,08H //讀 8 位 SETB DS1820 東華理工大學(xué)長(zhǎng)江學(xué)院畢業(yè)設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì) 22 RD18202: CLR DS1820 NOP NOP SETB DS1820 NOP NOP MOV C,DS1820 RRC A MOV 07H,0FH //93μ s LCALL D5XN //延時(shí)子程序 SETBDS1820 DJNZ R2,RD18202 //讀 8 位 ? MOV @R0,A //讀出的數(shù)據(jù)存放 INC R0 //下一個(gè)數(shù)據(jù)存放地址 DJNZ R1,RD18201 //讀 R1 字節(jié) SETB EA RET DS18B20 的溫度讀取 因?yàn)?DS18B20 在溫度測(cè)試過(guò)程中,僅通過(guò)數(shù)值讀取即可獲得被測(cè)物的溫度數(shù)據(jù),因此在測(cè)溫時(shí)主程序不需要向 1820 發(fā)送載入命令,故實(shí)際操作中可跳過(guò) ROM 命令的發(fā)送,直接進(jìn)入溫度獲取程序 【 5】 。 讀取程序如下: LCALL S1820 //初始化 DS18B20 MOV 30H,0CCH //跳過(guò) ROM 命令 MOV R0,30H //命令地址 MOV R1,01H //1Byte LCALL WR1820 //發(fā)跳過(guò) ROM 命令 MOV 30H,44H //溫度轉(zhuǎn)換命令 MOV R0,30H //命令地址 MOV R1,01H //1Byte LCALL WR1820 //發(fā)溫度轉(zhuǎn)換命令 LCALL D_1S //延時(shí) 1s LCALL S1820 //初始化 DS18B20 MOV 30H,0CCH //跳過(guò) ROM 命令 東華理工大學(xué)長(zhǎng)江學(xué)院畢業(yè)設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì) 23 MOV R0,30H //命令地址 MOV R1,01H //1Byte LCALL WR1820 //發(fā)跳過(guò) ROM 命令 MOV 30H,0BEH //讀存儲(chǔ)器命令 MOV R0,30H //命令地址 MOV R1,01H //1Byte LCALL WR1820 //發(fā)讀存儲(chǔ)器命令 MOV R0,30H //讀出的溫度存放地址 MOV R1,09H //9Byte LCALL RD1820 //讀溫度 ?? 顯示程序開(kāi)發(fā) 數(shù)碼管的驅(qū)動(dòng)類別 根據(jù)之前的硬件描述,本系 統(tǒng)采用七段數(shù)碼管作為溫度數(shù)值顯示器。在顯示方面,數(shù)碼管分為靜態(tài)顯示和動(dòng)態(tài)顯示。 靜態(tài)顯示是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,微控制器會(huì)顯示發(fā)送的數(shù)據(jù)后不再控制 LED,直到下一次顯示再次發(fā)送新的數(shù)據(jù)。只要當(dāng)前顯示的數(shù)據(jù)沒(méi)有改變,就直接忽略數(shù)碼顯示管。靜態(tài)顯示的數(shù)據(jù)具有更高的穩(wěn)定性和占用更少的 CPU 時(shí)間。靜態(tài)顯示,每一個(gè)顯示所有單獨(dú)占用 I / O 端口,筆劃段的接口類型代碼保存功能。這種單芯片微型計(jì)算機(jī),只要作為顯示字體數(shù)據(jù)的代碼發(fā)送到接口電路,該字段就可以顯示要發(fā)送的字型。而需要新的數(shù)據(jù)顯示時(shí),單芯片計(jì)算機(jī)發(fā)送一個(gè) 新的字體大小。 動(dòng)態(tài)顯示是用其接口電路把所有顯示器的 8 個(gè)筆畫字段( a~g 和 dp)同名端連在一起,而每一個(gè)顯示器的公共極 COM 各自獨(dú)立接受 I/O 線控制。 CPU 向字段輸出端口輸出字型碼時(shí),所有顯示器接受相同的字型碼,但究竟使 哪 一位則由 I/O 線決定。動(dòng)態(tài)掃描用分時(shí)的方法輪流控制每個(gè)顯示器的 COM 端,使每個(gè)顯示器輪流 點(diǎn) 亮。 光 在 輪流點(diǎn)亮的 這個(gè)過(guò)程中,每一個(gè)顯示燈時(shí)間很短,但是由于視覺(jué)暫留現(xiàn)象的余輝效果,給人的印象是一組穩(wěn)定顯示數(shù)據(jù)。 由于本系統(tǒng)是實(shí)時(shí)溫度監(jiān)測(cè),對(duì)溫度讀取的實(shí)時(shí)性要求較高,故采用動(dòng)態(tài)顯示的方案,數(shù)碼管的 刷新頻率為 30Hz。 東華理工大學(xué)長(zhǎng)江學(xué)院畢業(yè)設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì) 24 數(shù)碼管的接線類別 一個(gè)數(shù)碼管如圖 ,共有 8 段: A、 B、 C、 D、 E、 F、 G、 DP,即由 7 個(gè)管型和一個(gè)圓形發(fā)光二極管組成。 圖 數(shù)碼管 因?yàn)榘l(fā)光二極管的電路通行方向是一定的,因此這 8 根二極管的端口接線方式就有兩種可選,分別為接 +5V(共陽(yáng)極數(shù)碼管)和接地(共陰極數(shù)碼管)型。 本系統(tǒng)因直接采用 +5V 電源輸入,因此選擇共陽(yáng)極接法。 數(shù)碼管顯示程序的設(shè)計(jì) 顯示程序如下: void display_temper(uint t) //顯示溫度程序 { P2=(P2|0x0f)。 P0=table001[t/10]。 //顯示溫度的十位 P20=0。 delay(1)。 P2=(P2|0x0f)。 P0=table001[t%10]。 //顯示溫度的個(gè)位 P21=0。 delay(1)。 P2=(P2|0x0f)。 P0=table001[10]。 //顯示溫度的十位 P22=0。 delay(1)。 P2=(P2|0x0f)。 P0=table001[11]。 //顯示溫度的個(gè)位 東華理工大學(xué)長(zhǎng)江學(xué)院畢業(yè)設(shè)計(jì)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1