亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        實(shí)時(shí)溫度測(cè)量電路軟硬件設(shè)計(jì)

        2019-09-23 03:45:00
        關(guān)鍵詞:服務(wù)程序數(shù)據(jù)線數(shù)碼管

        王 月

        (揚(yáng)州職業(yè)大學(xué), 江蘇 揚(yáng)州 225009)

        本文提出并設(shè)計(jì)了一款實(shí)時(shí)溫度測(cè)量電路,該電路能夠及時(shí)獲取當(dāng)前溫度,并通過(guò)一個(gè)按鍵輕松實(shí)現(xiàn)溫度和時(shí)間顯示的切換。電路選用數(shù)字式溫度傳感器DS18B20將溫度轉(zhuǎn)換為一串二進(jìn)制數(shù),通過(guò)一根數(shù)據(jù)線發(fā)送給STC89C52單片機(jī)處理,處理后的溫度數(shù)值再發(fā)送給顯示設(shè)備進(jìn)行顯示。常見(jiàn)的單片機(jī)顯示設(shè)備有數(shù)碼管、點(diǎn)陣、液晶屏等,本電路選用8位LED共陰數(shù)碼管作為顯示設(shè)備。另外在電路中添加了1個(gè)獨(dú)立按鍵進(jìn)行時(shí)間顯示和溫度顯示的切換。

        1 硬件設(shè)計(jì)

        圖1為硬件電路圖。電路控制核心為STC89C52單片機(jī),外接時(shí)鐘電路、復(fù)位電路以及電源構(gòu)成了單片機(jī)最小系統(tǒng)。在時(shí)鐘電路中選用振蕩頻率為12MHz的晶振,可以計(jì)算出單片機(jī)的一個(gè)機(jī)器周期為1μs,這樣方便電路進(jìn)行時(shí)間的計(jì)算。采用數(shù)字式溫度傳感器DS18B20檢測(cè)溫度,8位共陰數(shù)碼管顯示時(shí)間以及溫度值,按鍵K1可以切換時(shí)間以及溫度顯示。

        圖1 硬件電路圖

        1.1 測(cè)溫電路

        本電路采用DS18B20進(jìn)行測(cè)溫,DS18B20的1引腳接電源地,2引腳為數(shù)據(jù)輸入輸出端,接單片機(jī)P1.3口,3引腳為可選電源引腳,在本電路中采用外部電源給DS18B20供電,3引腳接外部電源Vcc。

        DS18B20與單片機(jī)之間數(shù)據(jù)傳送只需要通過(guò)一根數(shù)據(jù)線DQ就可以實(shí)現(xiàn),DS18B20將溫度值轉(zhuǎn)換為9~12位的數(shù)字量經(jīng)DQ端一位一位地傳送給單片機(jī)。DS18B20與單片機(jī)之間成功實(shí)現(xiàn)數(shù)據(jù)傳送,須嚴(yán)格遵守DS18B20的工作時(shí)序[1]。

        DS18B20初始化時(shí)序:單片機(jī)拉低數(shù)據(jù)線電位產(chǎn)生下降沿后至少延時(shí)480μs(單片機(jī)發(fā)復(fù)位脈沖),釋放數(shù)據(jù)線電位,DS18B20在檢測(cè)到數(shù)據(jù)線電位上升沿后的15~60μs會(huì)拉低數(shù)據(jù)線電位60~240μs(發(fā)存在脈沖),單片機(jī)檢測(cè)到該低電平,表示DS18B20初始化成功,否則DS18B20初始化失敗。在實(shí)際使用時(shí),若事先確定DS18B20與單片機(jī)之間的硬件接線無(wú)誤,在DS18B20器件完好的情況下,也可以跳過(guò)檢測(cè)存在脈沖,在單片機(jī)釋放數(shù)據(jù)線電位后,直接延時(shí)至少480μs。

        寫(xiě)時(shí)序:?jiǎn)纹瑱C(jī)先將數(shù)據(jù)線電位拉低產(chǎn)生一個(gè)下降沿,之后將1位數(shù)據(jù)發(fā)送到數(shù)據(jù)線(數(shù)據(jù)由低位到高位一位一位發(fā)送),延時(shí)60μs等待DS18B20接收數(shù)據(jù),之后釋放數(shù)據(jù)線電位,重復(fù)前面的步驟發(fā)送第2位數(shù)據(jù),直至發(fā)送完一個(gè)完整的字節(jié)。

        讀時(shí)序:?jiǎn)纹瑱C(jī)先將數(shù)據(jù)線電位拉低延時(shí)至少1μs,釋放數(shù)據(jù)線電位準(zhǔn)備讀數(shù)據(jù),延時(shí)10μs讀數(shù)據(jù)線的狀態(tài)得到1位數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理,之后至少再延時(shí)45μs,重復(fù)前面步驟,讀取第2位數(shù)據(jù),直到讀完一個(gè)字節(jié)。

        DS18B20將測(cè)得的溫度轉(zhuǎn)化為2個(gè)字節(jié)的數(shù)字量存儲(chǔ)在其內(nèi)部RAM中,字節(jié)0和字節(jié)1分別用來(lái)存放溫度數(shù)字量的低8位LSB和高8位MSB,圖2為溫度寄存器單元的格式,DS18B20上電復(fù)位時(shí)默認(rèn)的精度為12位,其中高字節(jié)MSB的前5位“S”為溫度符號(hào)位,若溫度大于0,S為0,否則S為1。溫度高字節(jié)MSB的低3位以及溫度低字節(jié)LSB均表示溫度數(shù)值的大小,只要將數(shù)值乘以0.0625即可得到實(shí)際溫度值,需要注意的是當(dāng)溫度小于0℃時(shí),需要將該數(shù)值進(jìn)行取反加1操作后再乘以0.0625計(jì)算出實(shí)際溫度值。

        圖2 溫度寄存器單元格式

        單片機(jī)每次對(duì)DS18B20進(jìn)行操作都需要遵循以下3個(gè)步驟:DS18B20初始化、ROM操作命令和存儲(chǔ)器RAM操作命令。這3個(gè)步驟必須依次執(zhí)行,前面的完成了才能進(jìn)行下一個(gè)步驟,DS18B20初始化成功后才能對(duì)其內(nèi)部的ROM進(jìn)行操作。

        每一個(gè)DS18B20都有唯一的64位長(zhǎng)的ROM編碼,開(kāi)始8位是產(chǎn)品系列編碼(DS18B20的編碼是10H),接著是48位的唯一的序列號(hào),最后的8位是前56位CRC。

        ROM操作命令有五種,分別為讀ROM、匹配ROM、搜索ROM、跳過(guò)ROM和報(bào)警搜索。

        本電路中,因?yàn)橹皇褂昧艘粋€(gè)DS18B20進(jìn)行測(cè)溫,可以使用跳過(guò)讀序列號(hào)(Skip ROM)命令,代碼為0CCH,從而節(jié)省測(cè)溫時(shí)間。每次對(duì)DS18B20進(jìn)行操作,都需要執(zhí)行這五種ROM操作命令之一,之后才能對(duì)RAM進(jìn)行操作。DS18B20內(nèi)部RAM操作命令具體見(jiàn)表1。

        表1 DS18B20內(nèi)部RAM操作命令

        本電路中,需要使用到的RAM命令有:(1)溫度變換,代碼為44H,用來(lái)啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換;(2)讀內(nèi)部RAM命令,代碼為0BEH,讀RAM 中 9個(gè)字節(jié)的內(nèi)容。在后面的軟件程序中會(huì)應(yīng)用到。

        1.2 顯示電路

        數(shù)碼管顯示方式有靜態(tài)和動(dòng)態(tài)顯示兩種,在本設(shè)計(jì)中使用動(dòng)態(tài)顯示方式,在較短的一個(gè)時(shí)間周期里(常用20ms)循環(huán)點(diǎn)亮8個(gè)數(shù)碼管,利用視覺(jué)殘留效應(yīng),看起來(lái)八個(gè)數(shù)碼管像是同時(shí)點(diǎn)亮的[2]。

        2 軟件設(shè)計(jì)

        從DS18B20啟動(dòng)溫度轉(zhuǎn)換到能夠讀取溫度值的數(shù)字量,中間需要等待幾百毫秒的時(shí)間,這段時(shí)間可以用來(lái)調(diào)用若干遍顯示子程序。

        本設(shè)計(jì)中通過(guò)按鍵K1來(lái)切換溫度或時(shí)間顯示,在按鍵處理子程序中,當(dāng)按鍵按下去一次,位存儲(chǔ)單元20H的取值取反一次,在主程序中對(duì)位單元20H的取值進(jìn)行判斷,當(dāng)(20H)為0時(shí)調(diào)用若干遍溫度顯示子程序,當(dāng)(20H)為1時(shí)調(diào)用若干遍時(shí)間顯示子程序,這樣就實(shí)現(xiàn)了溫度顯示和時(shí)間顯示的切換,見(jiàn)圖3。

        圖4為T0中斷服務(wù)程序,本電路采用單片機(jī)內(nèi)部的T0定時(shí)器產(chǎn)生時(shí)基信號(hào),在主程序參數(shù)初始化部分,設(shè)置T0工作在方式1,要產(chǎn)生50ms的定時(shí)時(shí)間,T0初始值設(shè)置為(TH0)=3CH,(TL0)=0B0H,開(kāi)啟T0的中斷,這樣50ms就進(jìn)入一次T0中斷服務(wù)程序,在T0中斷服務(wù)程序中先關(guān)閉定時(shí)器T0,重新賦初值,之后再開(kāi)啟定時(shí)器T0,重新進(jìn)入下一個(gè)50ms計(jì)時(shí)周期,R7用來(lái)記錄進(jìn)入T0中斷服務(wù)程序的次數(shù),(R7)=20時(shí),1s時(shí)間到,將秒單元的內(nèi)容加1。

        圖3 主程序流程

        圖4 T0中斷服務(wù)程序

        3 調(diào)試結(jié)果

        本電路實(shí)物調(diào)試時(shí)可通過(guò)按鍵K1切換時(shí)間顯示和溫度顯示。時(shí)間顯示范圍為00-00-00(時(shí)分秒)至23-59-59。計(jì)時(shí)采用定時(shí)器T0工作于方式1,每次計(jì)時(shí)溢出進(jìn)入 T0中斷服務(wù)程序,需要重新賦初值后才能進(jìn)行下一周期的計(jì)時(shí),中間就會(huì)有幾條指令的時(shí)間誤差,經(jīng)過(guò)計(jì)算可知一天累積下來(lái)實(shí)際時(shí)間會(huì)比理論時(shí)間慢10s。為消除該時(shí)間誤差,分別在早上7點(diǎn)整以及晚上7點(diǎn)整直接將秒單元值加5s,這樣就能保證一天下來(lái)時(shí)間是準(zhǔn)確無(wú)誤的。

        本電路中DS18B20輸出的溫度為12位數(shù)字量,溫度最小分辨率可達(dá)0.0625℃,溫度值僅保留至小數(shù)點(diǎn)后1位。在程序中具體處理過(guò)程為:取溫度低8位LSB中的低4位,將該4位的數(shù)字經(jīng)過(guò)乘以10再除以16的運(yùn)算后,取其整數(shù)部分即為溫度的小數(shù)數(shù)值的大小。

        表2記載了2019年2月26日當(dāng)天的一些時(shí)間點(diǎn)對(duì)應(yīng)的溫度值,從表2中可以看出溫度隨時(shí)間的變化關(guān)系,但是這個(gè)變化關(guān)系不夠直觀,這是本電路需要改進(jìn)的地方,后面可以使用LCD12864顯示溫度的變化曲線從而使得電路測(cè)量結(jié)果更加直觀。

        表2 時(shí)間與溫度的對(duì)應(yīng)值

        猜你喜歡
        服務(wù)程序數(shù)據(jù)線數(shù)碼管
        數(shù)據(jù)線長(zhǎng)短影響充電速度
        基于移動(dòng)終端的人事信息員工自助服務(wù)系統(tǒng)設(shè)計(jì)
        基于C#的進(jìn)程守護(hù)程序的設(shè)計(jì)
        視聽(tīng)(2020年3期)2020-06-11 14:28:18
        Arduino編程
        電腦報(bào)(2019年2期)2019-09-10 07:22:44
        MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
        單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
        基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        數(shù)據(jù)線接口超聲波焊接設(shè)備設(shè)計(jì)
        焊接(2016年7期)2016-02-27 13:05:07
        水利工程施工監(jiān)理服務(wù)程序及質(zhì)量控制
        會(huì)叫喚的數(shù)據(jù)線
        99re8这里有精品热视频免费| 久久久久这里只有精品网| 国产成人午夜福利在线小电影| 国产精品一区二区三区蜜臀| 日韩精品一区二区免费| 亚洲中文字幕久久精品无码a | 国产亚洲精品久久久久秋霞| 2021精品综合久久久久| 日本一级三级在线观看| 亚洲av午夜精品无码专区| 久久中文字幕无码专区| 亚洲国产香蕉视频欧美| 亚洲女同精品一区二区久久| 日本一区二区三区经典视频| 亚州国产av一区二区三区伊在| 女人色毛片女人色毛片18| 亚洲人在线观看| 国产一区二区三区白浆在线观看| 精品国产一区二区三区av麻| 又色又爽又高潮免费视频观看| 精品国产高清a毛片无毒不卡| 久久久精品电影| 国产人妖直男在线视频| 国产精品久久久久久av| 无码人妻少妇色欲av一区二区 | 国产高清在线精品一区二区三区| 亚洲AⅤ永久无码精品AA| 开心激情站开心激情网六月婷婷| 手机在线观看av资源| 亚洲国产精品久久久久久无码| 亚洲av综合av国产av| 91精品国产91久久久无码色戒| 免费看av网站在线亚洲| 一本大道无码人妻精品专区 | 人与禽性视频77777| 日韩精品久久久一区 | 一区二区三区av波多野结衣| 国产高中生在线| 国产色婷亚洲99精品av网站| 亚洲午夜av久久久精品影院色戒| 狠狠色噜噜狠狠狠狠888奇禾|