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

正文內(nèi)容

基于18b20的溫度測(cè)量儀課程設(shè)計(jì)報(bào)告(編輯修改稿)

2024-10-06 18:35 本頁面
 

【文章內(nèi)容簡介】 將數(shù)據(jù)寫入暫存器的 TH、 TL 字節(jié) 復(fù)制暫存器 48H 把暫存器的 TH、 TL字節(jié)寫到 E2RAM中 重新調(diào) E2RAM B8H 把 E2RAM中的 TH、 TL字節(jié)寫到暫存器 TH、 TL字節(jié) 讀電源供電方式 B4H 啟動(dòng) DS18B20發(fā)送電源供電方式的信號(hào)給主 CPU ( 1) 先將數(shù)據(jù)線置高電平 “1” 。 ( 2) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn)) ( 3) 數(shù)據(jù)線拉到低電平 “0” 。 ( 4) 延時(shí) 750微秒(該時(shí)間的時(shí)間范圍可以從 480到 960微秒)。 ( 5) 數(shù)據(jù)線拉到高電平 “1” 。 ( 6)延時(shí)等待 (如果初始化成功則在 15到 60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由 DS18B20所返回的低電平 “0” 。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。 ( 7)若 CPU讀到了數(shù)據(jù)線上的低電平 “0” 后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第( 5)步的時(shí)間算起)最少要 480微秒。 ( 8) 將數(shù)據(jù)線再次拉高到高電平 “1” 后結(jié)束。 2. DS18B20的寫操作 ( 1) 數(shù)據(jù)線先置低電平 “0” 。 ( 2) 延時(shí)確定的時(shí)間為 15微秒。 ( 3) 按從低位到高位的順序發(fā)送字節(jié)( 一次只發(fā)送一位)。 ( 4) 延時(shí)時(shí)間為 45微秒。 基于 18B20 的溫度測(cè)量儀 13 ( 5) 將數(shù)據(jù)線拉到高電平。 ( 6) 重復(fù)上( 1)到( 6)的操作直到所有的字節(jié)全部發(fā)送完為止。 ( 7) 最后將數(shù)據(jù)線拉高。 3. DS18B20的讀操作 ( 1)將數(shù)據(jù)線拉高 “1” 。 ( 2)延時(shí) 2微秒。 ( 3)將數(shù)據(jù)線拉低 “0” 。 ( 4)延時(shí) 15微秒。 ( 5)將數(shù)據(jù)線拉高 “1” 。 ( 6)延時(shí) 15微秒。 ( 7)讀數(shù)據(jù)線的狀態(tài)得到 1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 ( 8)延時(shí) 30微秒。 74LS138的引腳與功能簡介 74ls138引腳圖 74HC138管腳圖 : 74LS138 為 3 線- 8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式,其工作原理如下: 當(dāng)一個(gè)選通端( G1)為高電平,另兩個(gè)選通端( /(G2A)和 /(G2B))為 低電平時(shí),可將地址端( A、 B、 C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低 電平譯出。 利用 G /(G2A)和 /(G2B)可 級(jí)聯(lián) 擴(kuò)展成 24 線譯碼器;若外接一個(gè)反 相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器。 若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí), 74LS138還可作數(shù)據(jù)分配器 用與非門組成的 3線 8線譯碼器 74LS138 基于 18B20 的溫度測(cè)量儀 14 3線 8線譯碼器 74LS138的功能表 無論從邏輯圖還是功能表我們都可以看到 74LS138的八個(gè)輸出引腳,任何時(shí)刻要么全為高電平 1— 芯片處于不工作狀態(tài),要么只有一個(gè)為低電平 0,其余 7個(gè)輸出引腳全為高電平 1。如果出現(xiàn)兩個(gè)輸出引腳同時(shí)為 0的情況,說明該芯片已經(jīng)損壞。 當(dāng)附加控制門的輸出為高電平( S= 1)時(shí) ,可由邏輯圖寫出 基于 18B20 的溫度測(cè)量儀 15 由上式可以看出,同時(shí)又是這三個(gè)變量的全部最小項(xiàng)的譯碼輸出,所以也把這種譯碼器叫做最小項(xiàng)譯碼器。 71LS138有三個(gè)附加的控制端、和。當(dāng)、時(shí),輸出為高電平( S= 1),譯碼器處于工作狀態(tài)。否則,譯碼器被禁止,所有的輸出端被封鎖在高電平,如表 。這三個(gè)控制端也叫做 “ 片選 ” 輸入端,利用片選的作用可以將多篇連接起來以擴(kuò)展譯碼器的功能。 帶控制輸入端的譯碼器又是一個(gè)完整的數(shù)據(jù)分配器。在圖 “ 數(shù)據(jù) ” 輸入端(同時(shí)),而將作為 “ 地址 ” 輸入端,那么從送來的數(shù)據(jù)只能通過 所指定的一根輸出線送出去。這就不難理解為什么把叫做地址輸入了。例如當(dāng)= 101時(shí),門的輸入端除了接至輸出端的一個(gè)以外全是高電平,因此的數(shù)據(jù)以反碼的形式從輸出,而不會(huì)被送到其他任何一個(gè)輸出端上。 74HC573的引腳與功能簡介 74HC573包含八進(jìn)制 3態(tài)非反轉(zhuǎn)透明鎖存器,是一種高性能硅門 CMOS器件。 74HC573跟 LS/AL573的管腳一樣。器件的輸入是和標(biāo) 準(zhǔn) CMOS輸出兼容的,加上拉電阻他們能和 LS/ALSTTL輸出兼容。 鎖存器 輸入是和標(biāo)準(zhǔn) CMOS 輸出兼容的;加上拉 電阻 ,他們能和 LS/ALSTTL 輸出兼容。 當(dāng)鎖存使能端 LE為高時(shí),這些器件的鎖存對(duì)于數(shù)據(jù)是透明的(也就是說輸出同步)。當(dāng)鎖存使能變低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會(huì)被鎖存。 三態(tài)總線驅(qū)動(dòng)輸出 置數(shù)全并行存取 緩沖控制輸入 使能輸入有 改善抗擾度的滯后作用 原理說明: 74HC573的八個(gè)鎖存器都是透明的 D 型鎖存器,當(dāng)使能( G)為高時(shí), Q 輸出 將隨數(shù)據(jù)( D)輸入而變。當(dāng)使能為低時(shí),輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時(shí), 新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動(dòng)大 電容 或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動(dòng)總線,而不需要外接口。特別 適用于緩沖寄存器, I/O 通道,雙向總線驅(qū)動(dòng)器和工作寄存器。 數(shù)碼管簡介 此系統(tǒng)采用的是共陰極性的 LED數(shù)碼管 ,高電平點(diǎn)亮 。如圖 16 基于 18B20 的溫度測(cè)量儀 16 圖 16 數(shù)碼管極性及端口分布 不過,我們此次是采用的四合一的數(shù)碼管。如圖 17 圖 四合一數(shù)碼管 圖 數(shù)碼管的硬件連接圖 基于 18B20 的溫度測(cè)量儀 17 第四章 軟件設(shè)計(jì) 源程序說明 include include //_nop_()。延時(shí)函數(shù)用 define Disdata P0 //段碼輸出口 define discan P2 //掃描口 define uchar unsigned char define uint unsigned int sbit DQ=P1^3。 //溫度輸入口 uint h。 uint temp。 uchar code dis_7[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}。 //共陰 LED段碼表 0 1 2 3 4 5 6 7 8 9 不亮 uchar code scan_con[4]={0xfb,0xfa,0xf9,0xf8}。 //列掃描控制字 uchar data temp_data[2]={0x00,0x00}。 //讀出溫度暫放 uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。 //顯示單元數(shù)據(jù),共 4個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用 /*****************11us延時(shí)函數(shù) *************************/ void delay(uint t) { for (。t0。t)。 } /****************顯示掃描函數(shù) ***************************/ scan() { char k。 for(k=1。k4。k++) //4位 LED掃描控制 { Disdata=dis_7[display[k]]。 //數(shù)據(jù)顯示 discan=scan_con[k]。 //位 選 delay(200)。 } } /****************DS18B20復(fù)位函數(shù) ************************/ ow_reset(void) { char presence=1。 while(presence) { 基于 18B20 的溫度測(cè)量儀 18 while(presence) { DQ=1。_nop_()。_nop_()。 //從高拉倒低 DQ=0。 delay(50)。 //550 us DQ=1。 delay(6)。 //66 us presence=DQ。 //presence=0 復(fù)位成功 ,繼續(xù)下一步 } delay(45)。 //延時(shí) 500 us presence=~DQ。 } DQ=1。 //拉高電平 } /****************DS18B20寫命令函數(shù) ************************/ //向 1WIRE 總線上寫 1個(gè)字節(jié) void write_byte(uchar val) { uchar i。 for(i=8。i0。i) { DQ=1。_nop_()。_nop_()。 //從高拉倒低 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //5 us DQ=valamp。0x01。 //最低位移出 delay(6)。 //66 us val=val/2。 //右移 1位 } DQ=1。 delay(1)。 } /****************DS18B20讀 1字節(jié)函數(shù) ************************/ //從總線上取 1個(gè)字節(jié) uchar read_byte(void) { uchar i。 uchar value=0。 for(i=8。i0。i) { DQ=1。_nop_()。_nop_()。 value=1。 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us DQ=1。_nop_()。_nop_()。_nop_()。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1