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

正文內(nèi)容

溫度測量及顯示仿真實現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-25 20:27 本頁面
 

【文章內(nèi)容簡介】 大,電流太小,有時因為電流不夠,也會再并一個上拉電阻。在某個時刻,P0口上輸出的是作為總線的地址數(shù)據(jù)信號還是作為普通I/O口的電平信號,比如 MOVX A,@DPTR ,MUX是切換到地址/數(shù)據(jù)總線上。而當(dāng)普通MOV傳送指令操作P0口時,MUX是切換到內(nèi)部總線上的。 P0口為低除外。當(dāng)P0口的一個位寫入0時,這個位被拉低。但是對P0口的其中一個位寫入1時,這個位呈現(xiàn)高阻,也就是未能連機,不能使用。要想獲得1輸出,你必須在P0口外加上拉電阻。一般驅(qū)動LED的上拉電阻為470Ω。一些口線被作為簡單的高電平輸入也與SFR鎖存位有關(guān)。因為PPP3有內(nèi)部上拉電阻,可以隨意被拉高,拉低。而P0口作為高電平輸入時,會呈現(xiàn)高阻態(tài)。 P0口和P2口的輸入緩沖被用來作存取外部存貯用,P0口用作外部存儲器的低位字節(jié)的位址,并與數(shù)據(jù)讀寫多工。輸出第一位元址,當(dāng)位置線是16位時,P2口用作高8位的位址線,因此當(dāng)對外面存儲時,P0口、P2口沒法當(dāng)作I/O口線。 P1口具有內(nèi)部上拉電阻,當(dāng)端口用作輸入時,必須通過指令將端口的位鎖存器置1,以關(guān)閉輸出驅(qū)動場效應(yīng)管,這時P1口的引腳由內(nèi)部上拉電阻拉為高電平,所以向P1寫入1,工作正常。 P0則不同,它沒有內(nèi)部上拉電阻,在驅(qū)動場效應(yīng)管的上方有一個提升場效應(yīng)管,它只是在對外存儲器進行讀寫操作,用作地址/數(shù)據(jù)時才起作用,當(dāng)向位鎖存器寫入1,使驅(qū)動場效應(yīng)管截止,則引腳浮空,所以寫入1而未獲得。 P0口上拉電阻的阻值: 如果是驅(qū)動LED,那么用1K左右的就行了。如果希望亮度大一些,電阻可減小,最小不要小于200歐姆,否則電流太大;如果希望亮度小一些,電阻可增大,增加到多少呢,主要看亮度情況,以亮度合適為準(zhǔn),一般來說超過3K以上時,亮度就很弱了,但是對于超高亮度的LED,有時候電阻為10K時覺得亮度還能夠用。我通常就用1k的。 對于驅(qū)動光耦合器,如果是高電位有效,即耦合器輸入端接端口和地之間,那么和LED的情況是一樣的;如果是低電位有效,即耦合器輸入端接端口和VCC之間,那么除了要串接一個1~,同時上拉電阻的阻值就可以用的特別大,用100k~500K之間的都行,當(dāng)然用10K的也可以,但是考慮到省電問題,沒有必要用那么小的。對于驅(qū)動晶體管,又分為PNP和NPN管兩種情況:對于NPN,毫無疑問NPN管是高電平有效的,因此上拉電阻的阻值用2K~20K之間的,具體的大小還要看晶體管的集電極接的是什么負載,對于LED類負載,由于發(fā)管電流很小,因此上拉電阻的阻值可以用20k的,但是對于管子的集電極為繼電器負載時,由于集電極電流大,有時候甚至用2K的。對于PNP管,毫無疑問PNP管是低電平有效的,因此上拉電阻的阻值用100K以上的就行了,且管子的基極必須串接一個1~10K的電阻,阻值的大小要看管子集電極的負載是什么,對于LED類負載,由于發(fā)光電流很小,因此基極串接的電阻的阻值可以用20k的,但是對于管子的集電極為繼電器負載時,由于集電極電流大。對于驅(qū)動TTL集成電路,上拉電阻的阻值要用1~10K之間的,有時候電阻太大的話是拉不起來的,因此用的阻值較小。但是對于CMOS集成電路,上拉電阻的阻值就可以用的很大,一般不小于20K,我通常用100K的,實際上對于CMOS電路,上拉電阻的阻值用1M的也是可以的,但是要注意上拉電阻的阻值太大的時候,容易產(chǎn)生干擾,尤其是線路板的線條很長的時候,這種干擾更嚴重,這種情況下上拉電阻不宜過大,一般要小于100K,有時候甚至小于10K。 數(shù)字溫度傳感器DS18B20 DS18B20技術(shù)性能描述 ① 獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 ② 測溫范圍 -55℃~+125℃,℃。 ③支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定,實現(xiàn)多點測溫 ④工作電源: 3~5V/DC ⑤在使用中不需要任何外圍元件 ⑥ 測量結(jié)果以9~12位數(shù)字量方式串行傳送 數(shù)字溫度傳感器DS18B20的簡單介紹一、 DS18B20的外形和內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20采用常見的小功率三極管相同的TO92封裝方式,其封裝與引腳圖如圖6所示。引腳1為地線;引腳2為數(shù)據(jù)線,應(yīng)與主CPU的I/O相接;引腳3接外部電源,如采用寄生電源方式,該引腳懸空。圖6 DS18B20封裝與引腳圖三、 DS18B20工作原理 DS18B20的內(nèi)部結(jié)構(gòu)如圖7所示。圖7 DS18B20內(nèi)部結(jié)構(gòu)圖DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖8中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。 圖8 DS18B20測溫原理框圖三、 DS18B20的供電方式DS18B20的電源可以外部提供從芯片的VDD輸入,也可以由數(shù)據(jù)線本身提供而無需再接外部電源(從數(shù)據(jù)線“竊電”),稱為寄生電源方式。(1)DS18B20寄生電源強上拉供電方式改進的寄生電源供電方式如下圖9所示,為了使DS18B20在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進行溫度轉(zhuǎn)換或拷貝到 E2存儲器操作時,用MOSFET把I/O線直接拉到VCC就可提供足夠的電流。在強上拉方式下可以解決電流供應(yīng)不走的問題,因此也適合于多點測溫應(yīng)用,缺點就是要多占用一根I/O口線進行強上拉切換。圖9 寄生電源工作方式(2)DS18B20的外部電源供電方式 外部電源供電方式如圖10所示。在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空 ,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85℃。圖10 外部電源工作方式四、DS18B20的具體說明DS18B20內(nèi)部具有地址分配如表3所示的9字節(jié)RAM。其實字節(jié)0和字節(jié)1存放DS18B20的溫度測量值;字節(jié)4存放配置字節(jié),用于設(shè)定溫度測量的分辨率等參數(shù);字節(jié)8是DS18B20自己生成的循環(huán)冗余校驗碼(CRC),在主CPU讀取DS18B20數(shù)據(jù)時,用于校驗讀取數(shù)據(jù)的正確性。表3 DS18B20內(nèi)部RAM分配字節(jié)0(Byte0)溫度值低字節(jié) TL字節(jié)5(Byte5)保留字節(jié)1(Byte1)溫度值高字節(jié) TH字節(jié)6(Byte6)保留字節(jié)2(Byte2)TL或用戶Byte1字節(jié)7(Byte7)保留字節(jié)3(Byte3)TH或用戶Byte2字節(jié)8(Byte8)CRC校驗字節(jié)字節(jié)4(Byte4)配置字節(jié) CONFIG主CPU經(jīng)DQ向DS18B20發(fā)送溫度測量(變換)等命令,DS18B20將測量的溫度值存放在DS18B20的RAM 字節(jié)0和字節(jié)1中。除溫度變換命令外,還有幾個命令,見表4。 表4 DS18B20的部分命令指令代碼(十六進制)指令代碼(十六進制)Skip ROM(跳過ROM)CChRead Scratchpad(讀RAM)BEhConvert Temperature(溫度變換)44hWrite Scratchpad(寫RAM)4Ehl 命令CCh,跳過ROM。該命令跳過ROM中64位長的序號,既不關(guān)心每一個DS18B20中唯一的序號,因此該命令只能在“一總線”上僅接有一個DS18B20時應(yīng)用。在僅使用單只的DS18B20時,使用該命令可以簡化編程。l 命令44h,溫度變換。DS18B20接收到該命令后將觸發(fā)溫度測量,收到命令數(shù)百毫秒后,溫度才能測量完畢,將測量的值存入RAM的字節(jié)0和字節(jié)1中。l 命令BEh,讀RAM存儲器。該命令讀取DS18B20內(nèi)部RAM中的數(shù)據(jù)。讀取數(shù)據(jù)中的頭兩個字節(jié)就是測量的溫度值。DS18B20收到BEh命令后,將內(nèi)部RAM中的數(shù)據(jù)釋放到“一總線”DQ上。設(shè)定DS18B20使用默認的12位轉(zhuǎn)換,DS18B20內(nèi)部RAM中溫度值存放在字節(jié)0(記為TL)和字節(jié)1(記為TH)中,TL和TH的格式如下。TL(Byte0): TH(Byte1): 存儲器TH中的bit15~bit11為符號位,如果溫度為負數(shù),則bit15~bit11全為1,否則全為0。存儲器TH中的bit10~bit0共11位存儲溫度值。TL的bit3~bit0存儲溫度的小數(shù)部分,TL的LSB(最低位)的“1”℃。將存儲器中的二進制數(shù)求補,再分別將整數(shù)部分和小數(shù)部分轉(zhuǎn)換成十進制數(shù)合并后就得到被測溫度值(55℃~125℃)。表5是DS18B20中的測量數(shù)據(jù)與溫度值對應(yīng)關(guān)系的例子。表5 輸出與溫度的對應(yīng)關(guān)系舉例溫度二進制輸出十六進制輸出+125℃0000 0111 1101 000007D0h+85℃0000 0101 0101 00000550h+℃0000 0001 1001 00010191h+℃0000 0000 1010 001000A2h+℃0000 0000 0000 10000008h0℃0000 0000 0000 00000000h℃1111 1111 1111 1000FFF8h℃1111 1111 0101 1110FE5Eh℃1111 1110 0110 1111FE6Fh55℃1111 1100 1001 0000FC90h比如,當(dāng)DS18B20的數(shù)據(jù)為“0000 0000 1010 0010”時,即TH=(0000 0000)、TL=(1010 0010),根據(jù)TL和TH的格式計算溫度值為:2^6*0+2^5*0+2^4*0+2^3*1+2^2*0+2^1*1+2^0*0+2^(1)*0+2^(2)*0+2^(3)*1+2^(4)*0=℃ 由于TH中的S為0,所以得到的數(shù)為正,即+℃。 AT89C51單片機與DS18B20的接口可以使用AT89C51的任意一個I/O口連接DS18B20。如圖11所示,DS18B20使用外接電源,R1為上拉電阻。只需要占用單片機的一個I/O口,使用非常方便。每只DS18B20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采取數(shù)據(jù)總線供電方式可以節(jié)省一根導(dǎo)線,但完成溫度測量的時間較長;采用外部供電方式則多用一根導(dǎo)線,但測量速度較快。注意:單片機與DS18B20通過一總線進行數(shù)據(jù)交換,無論讀和寫均是從最低位(LSB)開始。數(shù)據(jù)線DQ是雙向的,既承擔(dān)單片機向DS18B20傳輸命令,也是DS18B20向單片機回送溫度等數(shù)據(jù)的通道。因此時序關(guān)系很重要,有3個關(guān)鍵時序需要掌握。下面將對這三個關(guān)鍵時序進行簡要介紹。圖11 AT89C51與DS18B20連接的電路原理圖(1)DS18B20的初始化DS18B20的初始化是由單片機控制的,是DS18B20一切命令的初始條件。DS18B20的初始化時序如圖12所示。主機發(fā)送一個復(fù)位脈沖(最短時間為480us的低電平信號),接著釋放總線并進入接收狀態(tài)。DS18B20會在檢測到上升沿后等待15~60us,然后發(fā)送一個低電平的存在脈沖(60~240us)告知主機,主機在60~240us的期間接收到低電平,即表示DS18B20存在,并已知初始化成功。圖12 DS18B20初始化時序圖(2)DS18B20的寫時序如圖13所示,整個寫時間隙需要持續(xù)至少60us,連續(xù)寫2位數(shù)據(jù)的間隙最少1us。主機將總線由高電平拉至低電平后就觸發(fā)了一個寫時間隙,主機必須在15us內(nèi)將所有的位送到總線上。DS18B20在15~60us間開始對總線進行采樣,如果此時總線上為低電平寫入的位是0,若為高電平寫入的位是1。(3)DS18B20的讀時序如圖13所示主機將總線由高電平拉至低電平并在保持1us后釋放總線就產(chǎn)生了一個讀時間隙。讀時間隙產(chǎn)生后DS18B20會將1或0傳至總線,若傳送0則拉低總線,若傳送1則保持總線為高電平。在讀時間隙產(chǎn)生后的15us內(nèi)主機采集數(shù)據(jù)時間。由以上的時序關(guān)系可見,DS18B20的時序關(guān)系十分嚴格,很好地掌握其時序關(guān)系也是編寫AT89C51單片機與DS18B20接口程序的關(guān)鍵。圖13 DS18B20讀/寫時序圖 DS18B20使用中注意事項 DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題: 1)較小的硬件開銷需要相對復(fù)雜的軟件進行補償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此 ,在對DS1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進行系統(tǒng)程序設(shè)計時,對 DS1820操作部分最好采用匯編語言實現(xiàn)。2)在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問題,容易使人誤認為可以掛任意多個 DS1820,在實際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820超過8個時,
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1