![單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/44073d31-1953-4c49-afae-3c91ae564841/44073d31-1953-4c49-afae-3c91ae5648411.gif)
![單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/44073d31-1953-4c49-afae-3c91ae564841/44073d31-1953-4c49-afae-3c91ae5648412.gif)
![單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/44073d31-1953-4c49-afae-3c91ae564841/44073d31-1953-4c49-afae-3c91ae5648413.gif)
![單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/44073d31-1953-4c49-afae-3c91ae564841/44073d31-1953-4c49-afae-3c91ae5648414.gif)
![單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/44073d31-1953-4c49-afae-3c91ae564841/44073d31-1953-4c49-afae-3c91ae5648415.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、成都理工大學(xué)工程技術(shù)學(xué)院本科課程設(shè)計(jì)報(bào)告成都理工大學(xué)工程技術(shù)學(xué)院?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告數(shù)字溫度計(jì)設(shè)計(jì) 指導(dǎo)教師: 學(xué)生: 摘要在這個(gè)信息化高速發(fā)展的時(shí)代,單片機(jī)作為一種最經(jīng)典的微控制器,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),作為自動(dòng)化專業(yè)的學(xué)生,我們學(xué)習(xí)了單片機(jī),就應(yīng)該把它熟練應(yīng)用到生活之中來(lái)。本文將介紹一種基于單片機(jī)控制的數(shù)字溫度計(jì),本溫度計(jì)屬于多功能溫度計(jì),可以設(shè)置上下報(bào)警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。本文設(shè)計(jì)的數(shù)字溫度計(jì)具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn)。關(guān)鍵詞:?jiǎn)纹瑱C(jī),數(shù)字控制,數(shù)碼管顯示,溫度計(jì),DS18B2
2、0,AT89S52。 目 錄1概述41.1設(shè)計(jì)目的41.2設(shè)計(jì)原理41.3設(shè)計(jì)難點(diǎn)42 系統(tǒng)總體方案及硬件設(shè)計(jì)52.1數(shù)字溫度計(jì)設(shè)計(jì)方案論證52.2.1 主控制器52.4 系統(tǒng)整體硬件電路設(shè)計(jì)73系統(tǒng)軟件設(shè)計(jì)83.1初始化程序83.2讀出溫度子程序93.3讀、寫時(shí)序子程序113.4 溫度處理子程序133.5 顯示程序144 Proteus軟件仿真165硬件實(shí)物166課程設(shè)計(jì)體會(huì).17附錄1:181概述1.1設(shè)計(jì)目的 隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、
3、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫比較準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用,可廣泛用于食品庫(kù)、冷庫(kù)、糧庫(kù)、溫室大棚等需要控制溫度的地方。目前,該產(chǎn)品已在溫控系統(tǒng)中得到廣泛的應(yīng)用。1.2設(shè)計(jì)原理 本系統(tǒng)是一個(gè)基于單片機(jī)AT89S52的數(shù)字溫度計(jì)的設(shè)計(jì),用來(lái)測(cè)量環(huán)境溫度,測(cè)量范圍為-50110度。整個(gè)設(shè)計(jì)系統(tǒng)分為4部分:?jiǎn)纹瑱C(jī)控制、溫度傳感器、數(shù)碼顯示以及鍵盤控制電路。整個(gè)設(shè)計(jì)是以AT89S52為核心,通過(guò)數(shù)字溫度傳感器DS18B
4、20來(lái)實(shí)現(xiàn)環(huán)境溫度的采集和A/D轉(zhuǎn)換,同時(shí)因其輸出為數(shù)字形式,且為串行輸出,這就方便了單片機(jī)進(jìn)行數(shù)據(jù)處理,但同時(shí)也對(duì)編程提出了更高的要求。單片機(jī)把采集到的溫度進(jìn)行相應(yīng)的轉(zhuǎn)換后,使之能夠方便地在數(shù)碼管上輸出。LED采用三位一體共陽(yáng)的數(shù)碼管。1.3設(shè)計(jì)難點(diǎn) 此設(shè)計(jì)的重點(diǎn)在于編程,程序要實(shí)現(xiàn)溫度的采集、轉(zhuǎn)換、顯示和上下限溫度報(bào)警,其外圍電路所用器件較少,相對(duì)簡(jiǎn)單,實(shí)現(xiàn)容易。2 系統(tǒng)總體方案及硬件設(shè)計(jì)2.1數(shù)字溫度計(jì)設(shè)計(jì)方案論證由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被
5、測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。2.2總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖1所示,控制器采用單片機(jī)AT89S52,溫度傳感器采用DS18B20,用3位共陽(yáng)LED數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。圖1 總體設(shè)計(jì)框圖(要求根據(jù)實(shí)際情況修改)2.2.1 主控制器單片機(jī)AT89S52具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,適合
6、便攜手持式產(chǎn)品的設(shè)計(jì)使用。AT89S52單片機(jī)芯片具有以下特性:1)指令集合芯片引腳與Intel公司的8052兼容;2)4KB片內(nèi)在系統(tǒng)可編程FLASH程序存儲(chǔ)器;3)時(shí)鐘頻率為033MHZ;4)128字節(jié)片內(nèi)隨機(jī)讀寫存儲(chǔ)器(RAM);5)6個(gè)中斷源,2級(jí)優(yōu)先級(jí);6)2個(gè)16位定時(shí)/記數(shù)器;7)全雙工串行通信接口;8)監(jiān)視定時(shí)器;9)兩個(gè)數(shù)據(jù)指針;2.2.2 顯示電路2.2.3溫度傳感器DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式。DS18
7、B20的性能特點(diǎn)如下:(要求補(bǔ)充完整)l l全數(shù)字溫度轉(zhuǎn)換及輸出。 l l先進(jìn)的單總線數(shù)據(jù)通信。 l l最高 12 位分辨率,精度可達(dá)土 0.5攝氏度。 l l12 位分辨率時(shí)的最大工作周期為 750 毫秒。 l l可選擇寄生工作方式。 l l檢測(cè)溫度范圍為55°C +125°C (67°F +257°F) l l內(nèi)置 EEPROM,限溫報(bào)警功能。 l l64 位光刻 ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。 l l多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。2.3 DS18B20溫度傳感器與單片機(jī)的接口電路(要求補(bǔ)充完整)2.4 系統(tǒng)整體硬件電路設(shè)計(jì)2.4.1 主板
8、電路 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,單片機(jī)主板電路等,單片機(jī)主板電路如圖5 所示:(要求補(bǔ)充完整)圖5 單片機(jī)主板電路2.4.2 顯示電路(要求補(bǔ)充完整) 圖6 溫度顯示電路3 系統(tǒng)軟件設(shè)計(jì)(要求畫出子程序流程圖)系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。3.1初始化程序RSTSNR: SETB DQ;P3.7置1圖2.25-2溫度初始化時(shí)序圖 NOP NOP CLR DQ ;P3.7置0 MOV R6,#250 ;延時(shí)500us DJNZ R6,$ ;減1不為0則原地跳轉(zhuǎn), MOV R6,#50 ;延時(shí)100u
9、s DJNZ R6,$ SETB DQ ; ;延時(shí)600us后拉高P3.7 MOV R6,#15 ;延時(shí)30us DJNZ R6,$ CALL CHCK ; ;DS18B20初始化,初始化成功則F0置1 MOV R6,#60 ;延時(shí)120us DJNZ R6,$ SETB DQ ;拉高P3.7 RET 開 始 拉高總線延時(shí)2US 拉低總線 延時(shí)400-960us 拉高總線等待ds18b20發(fā)送存在脈沖Ds18b20是否工作正常是否 延時(shí)60-240us結(jié) 束 圖7 初始化程序流程圖3.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的2字節(jié),讀出溫度的低八位和高八位,在讀出時(shí)需進(jìn)行CRC
10、校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖8示; Read a temperature from the DS18B20DSWD: LCALL RSTSNR ;Init of the DS18B20即:初始化DS18B20,初始化成功,則F0置1 JNB F0,KEND ;F0為0,則初始化不成功,則退出 MOV R0,#0CCH ;跳過(guò)ROM LCALL SEND_BYTE ;向DS18B20寫#0CCH (SEND_BYTE 是寫一個(gè)字節(jié)) MOV R0,#44H LCALL SEND_BYTE ; Send a Convert Command(#44H溫度變換) SETB E
11、A ; MOV 48H,#1 ;延時(shí)500us左右等待讀取溫度SS2: MOV 49H,#255SS1: MOV 4AH,#255SS0: DJNZ 4AH,SS0 DJNZ 49H,SS1 DJNZ 48H,SS2 CLR EA ;進(jìn)入讀時(shí)序禁用任何中斷 LCALL RSTSNR ;首先進(jìn)行初始化 JNB F0,KEND ;F0為0,則初始化不成功,則退出 MOV R0,#0CCH ;跳過(guò)ROM LCALL SEND_BYTE ;向DS18B20寫#0CCH(SEND_BYTE 是寫一個(gè)字節(jié)) MOV R0,#0BEH ;讀暫存存儲(chǔ)器 LCALL SEND_BYTE ; Send Read
12、Scratchpad command (寫入#0BEH) LCALL READ_BYTE ; Read the low byte from scratchpad (從DS18B20中讀取字節(jié)) MOV WDLSB,A ; Save the temperature (low byte)(把低8位放在WDLSB) LCALL READ_BYTE ; Read the high byte from scratchpad MOV WDMSB,A ; Save the temperature (high byte) (把高8位放在WDLSB) LCALL TRANS12 ;調(diào)用溫度處理KEND: SET
13、B EA RET開 始DS18B20是否初始化成功否是跳過(guò)ROM#44H溫度變換等待500us左右DS18B20再次是否初始化成功否是跳過(guò)ROM讀暫存存儲(chǔ)器把讀到的低8位和高8位別給30H和31H結(jié) 束 圖8 讀溫度程序流程圖3.3讀、寫時(shí)序子程序讀寫的程序是本次設(shè)計(jì)中的重點(diǎn)和難點(diǎn),通過(guò)我們對(duì)其時(shí)序的分析,從而寫出高效的程序。寫1,0時(shí)序讀0,1時(shí)序 22WRITE_0:;圖2.25-3寫0時(shí)序圖 CLR DQ;先拉低P3.7 MOV R6,#30;延時(shí)60us DJNZ R6,$ SETB DQ;再拉高P3.7 RET;*WRITE_1: ;圖2.25-4寫1時(shí)序圖 CLR DQ;先拉低P3
14、.7 NOP ;延時(shí)5us NOP NOP NOP NOP SETB DQ;再拉高P3.7 MOV R6,#30;延時(shí)60us DJNZ R6,$ RETREAD: SETB DQ ;拉高P3.7 (讀一位) 圖2.25-5讀時(shí)序圖 NOP ;延時(shí)2US NOP CLR DQ;拉低P3.7 NOP ;延時(shí)2US NOP SETB DQ ; ;拉高P3.7 NOP NOP NOP NOP NOP NOP NOP MOV C,DQ;讀P3.7到C MOV R6,#23;延時(shí)46US DJNZ R6,$ RET開 始拉低總線延時(shí)>60us拉高總線結(jié) 束開 始拉低總線延時(shí)5us拉高總線延時(shí)>
15、;60us結(jié) 束延時(shí)2us拉高總線延時(shí)7us讀一位延時(shí)>60us拉低總線延時(shí)2us拉高總線開 始結(jié) 束寫0時(shí)序 寫1時(shí)序圖9 寫時(shí)序子程序流程圖 圖10 讀時(shí)序子程序流程圖3.4 溫度處理子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖11所示TRANS12:MOV A,30H ;取小數(shù)位ANL A,#0FH ;將WDLSB低4位給A,高四位為0MOV DPTR,#TAB ;查表MOVC A,A+DPTRMOV 44H,A; ;把取到的小數(shù)位給44HMOV A,30H ;30H(WDLSB)從1820取的溫度值A(chǔ)NL A,#0F0H ;
16、取WDLSB的高4位MOV 3AH,A ;把讀到的高4位給3AH ,暫時(shí)存在3AH中,MOV A,31H ;31H(WDMSB)從1820取的溫度值A(chǔ)NL A,#0FH ;把WDMSB的低4位給AORL A,3AH ;把3AH中的高4位和A中低4位相或,得到8位整數(shù)SWAP A ;A中的高低半字節(jié)交換MOV B,#10 ;轉(zhuǎn)換為10進(jìn)制DIV AB ;A/BBAMOV 43H,B ; 除10 取余數(shù)(把低4位給43H,即個(gè)位)MOV b,#10DIV ab ;此時(shí)A為上面A除法預(yù)算的高四位在這句A的第四位MOV 42H,B ; 除10 取余數(shù)(把低4給43H,即十位)MOV 41H,ARET開
17、 始取溫度小數(shù)值取溫度整數(shù)值個(gè)位給43H十位給42H結(jié) 束圖11 溫度處理程序流程圖 3.5 顯示程序此函數(shù)實(shí)現(xiàn)的對(duì)數(shù)碼管顯示的處理,其亮點(diǎn)在于可以直接對(duì)數(shù)碼管進(jìn)行操作,其本身是個(gè)兩變量函數(shù),第一個(gè)變量是要開通的位選,第二個(gè)變量是要顯示的數(shù)據(jù),這樣我們可以直接方便而又簡(jiǎn)單直觀的對(duì)數(shù)碼管進(jìn)行操作。程序流程圖如圖12。TMR0: MOV TH0,#swpH ;輪流送溫度值的高低兩位到數(shù)碼管 MOV TL0,#swpL;定時(shí)器4.097us JB 21H,DSL1 JB 22H,DSL2 DSL0: MOV P0,42H ;十位 ORL P0,#10100000B SJMP EXIT0DSL1: M
18、OV P0,43H;個(gè)位 ORL P0,#00010000B SJMP EXIT1DSL2: MOV P0,44H;小數(shù) ORL P0,#11000000B SJMP EXIT2EXIT0: CPL 21HCPL 22H RETIEXIT1: CPL 21H RETIEXIT2: CPL 22H RETI(要求補(bǔ)充完整)21H.22H都為1開 始顯示個(gè)位21H=0,22H=1顯示小數(shù)位21H=0,22H=0顯示十位21H=1,22H=1圖12顯示程序流程圖 4 Proteus軟件仿真(要求補(bǔ)充完整)5 硬件實(shí)物(要求補(bǔ)充完整)6 課程設(shè)計(jì)體會(huì)(要求補(bǔ)充完整) 參考文獻(xiàn)1DS18b20數(shù)據(jù)手冊(cè)。
19、2 求是科技編著8051系列單片機(jī)C程序設(shè)計(jì)完全手冊(cè)北京: 人民郵電出版社, 20063 余發(fā)山,王福忠.單片機(jī)原理及應(yīng)用技術(shù).徐州:中國(guó)礦業(yè)大學(xué)出版社,2003附錄1:(程序代碼) DQ BIT P3.7; 1 wire line swpH equ 0efH ;swpH=0d2H swpL equ 0ffH ;swpL=0ffH WDLSB DATA 30H ; WDLSB地址空間30H WDMSB DATA 31H ;* ORG 0000H LJMP MAIN ORG 000BH LJMP TMR0 ; Timer0 isr;*; Timer0 Interrupt Service Rout
20、ineTMR0: MOV TH0,#swpH ;輪流送溫度值的高低兩位到數(shù)碼管 MOV TL0,#swpL;定時(shí)器4.097us JB 21H,DSL1 JB 22H,DSL2 DSL0:MOV P0,42H ;十位 ORL P0,#10100000B SJMP EXIT0DSL1: MOV P0,43H;個(gè)位 ORL P0,#00010000B SJMP EXIT1DSL2: MOV P0,44H;小數(shù) ORL P0,#11000000B SJMP EXIT2EXIT0: CPL 21HCPL 22H RETIEXIT1: CPL 21H RETIEXIT2: CPL 22H RETI; M
21、ain programMAIN: TOINIT: CLR EA MOV TMOD,#01H ;定時(shí)器0,方式1 MOV TH0,#swpH ;裝初值 MOV TL0,#swpL SETB EA ;開總開關(guān) SETB ET0 ;開T0 SETB TR0;* MOV R2,#2 ;把42H、43H清0 MOV R0,#42H ;OVER: MOV R0,#00H; ;首先給42H清0, INC R0 ;然后R0+1 ,給下一次的43H清0 DJNZ R2,OVER ;R2-1不為0則轉(zhuǎn)移,LOOP: ;相當(dāng)于while(1) LCALL DSWD ; ;調(diào)用溫度函數(shù) SJMP LOOP;*; Re
22、ad a temperature from the DS18B20DSWD: LCALL RSTSNR ; Init of the DS18B20即:初始化DS18B20,初始化成功,則F0置1 JNB F0,KEND ;F0為0,則初始化不成功,則退出 MOV R0,#0CCH ;跳過(guò)ROM LCALL SEND_BYTE ;向DS18B20寫#0CCH(SEND_BYTE 是寫一個(gè)字節(jié)) MOV R0,#44H LCALL SEND_BYTE ; Send a Convert Command(#44H溫度變換) SETB EA ; MOV 48H,#1 ;延時(shí)SS2: MOV 49H,#2
23、55SS1: MOV 4AH,#255SS0: DJNZ 4AH,SS0 DJNZ 49H,SS1 DJNZ 48H,SS2 CLR EA ;進(jìn)入讀時(shí)序禁用任何中斷 LCALL RSTSNR ;首先進(jìn)行初始化 JNB F0,KEND ;F0為0,則初始化不成功,則退出 MOV R0,#0CCH ;跳過(guò)ROM LCALL SEND_BYTE ;向DS18B20寫#0CCH(SEND_BYTE 是寫一個(gè)字節(jié)) MOV R0,#0BEH ;讀暫存存儲(chǔ)器 LCALL SEND_BYTE ; Send Read Scratchpad command (寫入#0BEH) LCALL READ_BYTE ;
24、 Read the low byte from scratchpad (從DS18B20中讀取字節(jié)) MOV WDLSB,A ; Save the temperature (low byte)(把低8位放在WDLSB) LCALL READ_BYTE ; Read the high byte from scratchpad MOV WDMSB,A ; Save the temperature (high byte) (把高8位放在WDLSB) LCALL TRANS12 ;調(diào)用溫度處理KEND: SETB EA RET;*TRANS12: MOV A,30H ;取小數(shù)位ANL A,#0FH ;
25、將WDLSB低4位給A,高四位為0MOV DPTR,#TAB ;查表MOVC A,A+DPTRMOV 44H,A; ;把取到的小數(shù)位給44H MOV A,30H ;30H(WDLSB)從1820取的溫度值 ANL A,#0F0H ;取WDLSB的高4位 MOV 3AH,A ;把讀到的高4位給3AH ,暫時(shí)存在3AH中, MOV A,31H ;31H(WDMSB)從1820取的溫度值 ANL A,#0FH ;把WDMSB的低4位給A ORL A,3AH ;把3AH中的高4位和A中低4位相或,得到8位整數(shù) SWAP A ;A中的高低半字節(jié)交換 MOV B,#10 ;轉(zhuǎn)換為10進(jìn)制 DIV AB ;
26、A/BBA MOV 43H,B ; 除10 取余數(shù)(把低4位給43H,即個(gè)位) MOV b,#10 DIV ab ;此時(shí)A為上面A除法預(yù)算的高四位在這句A的第四位 MOV 42H,B ; 除10 取余數(shù)(把高4給43H,即十位) MOV 41H,A RET;*; Send a byte to the 1 wire line (寫字節(jié))SEND_BYTE: ;;寫一個(gè)字節(jié)(8位),循環(huán)寫,R5作為循環(huán)個(gè)數(shù) MOV A,R0 ;把要寫的數(shù)給A MOV R5,#8 ;8位SEN3: CLR C RRC A ;A(帶進(jìn)位標(biāo)志的)循環(huán)右移,將低位給C,用來(lái)判斷 JC SEN1;判斷R0中的每一位數(shù),從低
27、位開始向高位判斷,為1就調(diào)用WRITE_1(寫1),為0就調(diào)用WRITE_0 LCALL WRITE_0 ;調(diào)用寫0 SJMP SEN2SEN1: LCALL WRITE_1 ;寫1SEN2: DJNZ R5,SEN3 ;循環(huán)8次,若R5-1不為0就跳轉(zhuǎn)到SEN3繼續(xù)寫 RET;*; Read a byte from the 1 wire lineREAD_BYTE: ;讀一個(gè)字節(jié) 圖2.25-5讀時(shí)序圖 MOV R5,#8;8位READ1: LCALL READ ;(READ是讀一位) RRC A ;將讀到的C依次右循環(huán)到A(讀到的第一個(gè)為最低位,循環(huán)8次后即在最低位) DJNZ R5,READ1 ; 判斷一個(gè)字節(jié)(8位)是否讀完 MOV R0,A ;把讀到的數(shù)給R0 RET;*; Reset 1 wire lineRSTSNR: SETB DQ;P3.7置1圖2.25-2溫度初始化時(shí)序圖 NOP NOP CLR DQ ;P3.7置0 MOV R6,#250 ;延時(shí)500us DJNZ R6,$ ;減1不為0則原地跳轉(zhuǎn), MOV R6,#50
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代學(xué)生餐廳的照明與色彩搭配藝術(shù)
- 深度解讀網(wǎng)絡(luò)輿情的來(lái)源與影響研究報(bào)告解讀分享
- 現(xiàn)代金融行業(yè)中的移動(dòng)支付技術(shù)與教育普及
- 快手國(guó)慶節(jié)的活動(dòng)方案
- 國(guó)慶假期活動(dòng)方案
- 國(guó)慶節(jié)酒店漲價(jià)活動(dòng)方案
- 2、3、4的乘法口訣(說(shuō)課稿)-2024-2025學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)人教版
- Unit1 There is a horse in this photo(說(shuō)課稿)-2024-2025學(xué)年外研版(三起)四年級(jí)上冊(cè)001
- 17《他們那時(shí)候多有趣啊》(說(shuō)課稿)-2023-2024學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)下冊(cè)
- 13 我能行(說(shuō)課稿)-統(tǒng)編版(五四制)道德與法治二年級(jí)下冊(cè)
- 2025年廣州中醫(yī)藥大學(xué)順德醫(yī)院(佛山市順德區(qū)中醫(yī)院)招考聘用高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年華僑港澳臺(tái)學(xué)生聯(lián)招考試英語(yǔ)試卷試題(含答案詳解)
- 2025-2030年中國(guó)美容院行業(yè)營(yíng)銷創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2024-2025學(xué)年北京石景山區(qū)九年級(jí)初三(上)期末語(yǔ)文試卷(含答案)
- 第一章 整式的乘除 單元測(cè)試(含答案) 2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)下冊(cè)
- 2024人教版英語(yǔ)七年級(jí)下冊(cè)《Unit 3 Keep Fit How do we keep fit》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- 藥品流通監(jiān)管培訓(xùn)
- JD37-009-2024 山東省存量更新片區(qū)城市設(shè)計(jì)編制技術(shù)導(dǎo)則
- 中國(guó)高血壓防治指南(2024年修訂版)
- 北京市海淀區(qū)重點(diǎn)中學(xué)2025屆高考數(shù)學(xué)押題試卷含解析
- 2024EPC施工總包合同范本
評(píng)論
0/150
提交評(píng)論