




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于ds18b20的溫度監(jiān)控系統(tǒng)設(shè)計一、任務(wù)分析隨著人們生活水平地不斷提高,單片機控制是人們追求的目標(biāo)之一。它給人們帶來的方便也是不可否認的,其中溫度監(jiān)控系統(tǒng)就是其中一個典型的例子。但人們對它的要求越來越高,要為現(xiàn)代工作、科研和生活提供更方便的設(shè)施就需要從單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器cpu隨機存儲器ram、只讀存儲器rom、多種i/o口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、a/d轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機
2、系統(tǒng)。常用的控制電路根據(jù)應(yīng)用場合和所要求的性能指標(biāo)有所不同。在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。ds18b20型數(shù)字溫度傳感器可直接輸出數(shù)字量,不需要a/d轉(zhuǎn)換,與單片機容易接口,轉(zhuǎn)換精度高,給硬件設(shè)計帶來了極大的方便,因此成為了熱電阻和熱電偶的理想替代品。本系統(tǒng)以at89c51單片機為核心控制器件,使用ds18b20作為數(shù)字溫度采集端。具有電路結(jié)構(gòu)較為簡單,反應(yīng)速度靈敏、溫度測量精度較高的特點。本設(shè)計所介紹的數(shù)字溫度監(jiān)控系統(tǒng)與傳統(tǒng)的溫度監(jiān)控系統(tǒng)相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場
3、所,或科研實驗室使用。該設(shè)計控制器使用單片機stc12c5a16s2,測溫傳感器使用ds18b20,用4位共陽極led數(shù)碼管,實現(xiàn)溫度顯示,能準(zhǔn)確達到以上要求。二、系統(tǒng)總體設(shè)計方案1、方案論述方案一:由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進行a/d轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到a/d轉(zhuǎn)換電路,感溫電路比較麻煩。方案二:進而考慮到用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用溫度傳感器ds18b20,它可以很容易直接讀取被測
4、溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求,系統(tǒng)原理框圖如圖1。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計也比較簡單,故采用了方案二。2、系統(tǒng)原理框圖單 片 機ds18b20溫度芯片鍵盤電路led顯示聲光報警繼電器動作電 源圖2.2 電路總體設(shè)計方案三、硬件系統(tǒng)分析與設(shè)計1、ds18b20溫度傳感器簡介ds18b20數(shù)字溫度計是dallas公司生產(chǎn)的1wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程
5、實現(xiàn)9到12位的數(shù)字值讀數(shù)方式。1.1 ds18b20的性能特征(1)獨特的單線接口方式,ds18b20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds18b20的雙向通訊。 (2)測溫范圍 55125,固有測溫分辨率0.5。 (3)支持多點組網(wǎng)功能,多個ds18b20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定,實現(xiàn)多點測溫。(4)工作電源: 3到5v/dc。 (5)在使用中不需要任何外圍元件。 (6)測量結(jié)果以9到12位數(shù)字量方式串行傳送。 (7)不銹鋼保護管直徑6。 (8)適用于dn1525, dn40dn250各種介質(zhì)工業(yè)
6、管道和狹小空間設(shè)備測溫。 (9)標(biāo)準(zhǔn)安裝螺紋 m10x1, m12x1.5, g1/2”任選。 (10)pvc電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。 溫度/二進制表示十六進制表示+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00000191h+10.1250000 0000 1010 000100a2h+0.50000 0000 0000 00100008h00000 0000 0000 10000000h-0.51111 1111 1111 0000fff8h-1
7、0.1251111 1111 0101 1110ff5eh-25.06251111 1110 0110 1111fe6fh-551111 1100 1001 0000fc90h圖3.1 一部分溫度對應(yīng)值表 1.2 接線說明 ds18b20的數(shù)字溫度計提供9至12位(可編程設(shè)備溫度讀數(shù)。信息從ds18b20的1線接口,所以中央微處理器與ds18b20只有一個一條口線連接。為讀寫以及溫度轉(zhuǎn)換可以從數(shù)據(jù)線本身獲得能量,不需要外接電源。因為每一個ds18b20的包含一個獨特的序號,多個ds18b20可以同時存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多,包括空調(diào)環(huán)境控制,感測建筑物
8、內(nèi)溫設(shè)備或機器,并進行過程監(jiān)測和控制。2、單片機概述 單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和i/o接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。 單片機經(jīng)過這幾年的發(fā)展,目前正朝著高性能和多品種方向發(fā)展,它們的cpu功能在增強,內(nèi)部資源在增多,引腳的多功能化,以及低電壓底功耗。3、鍵盤電路確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法”。判斷鍵盤中有無鍵按下將全部行線置低電
9、平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。判斷閉合鍵所在的位置在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。我用軟件方法去抖,在檢測到有鍵按下時,執(zhí)行一個10ms的延時程序后,再確認該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認為真正鍵按下狀態(tài),從而消除了抖動影響。
10、在這種行列式矩陣鍵盤非編碼鍵盤的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。當(dāng)確認有按鍵按下后,下一步就要識別哪一個按鍵按下。按鍵電路采用矩陣鍵盤,使用方便,效果明顯。通過模式鍵進入相應(yīng)的設(shè)置,通過數(shù)字0到9來設(shè)置溫度值,并通過確認鍵確認。如圖3.1。圖3.1 矩陣鍵盤電路圖4、溫度測試電路采用溫度芯片ds18b20。可以直接將被測溫度轉(zhuǎn)換為串行數(shù)字信號,工單片機進行處理,具有低功耗、高功能、抗擾能力強等優(yōu)點。如圖3.2。圖3.2 溫度傳感器電路引腳圖5、數(shù)碼管顯示如圖3.3所示為1個4位8段數(shù)碼管led動態(tài)顯示電路。其中斷碼線占用1個8位i/o口,而位選線占用1個4
11、位i/o口。在同一個時刻,如果各位選線都處于選通狀態(tài)的話,4位led將顯示相同的字符。若要各位led能夠同時顯示出與本位相應(yīng)的顯示字符,就必須采用動態(tài)顯示方式,即在某一時刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,段碼線上輸出相應(yīng)位要顯示的字符的斷碼。這樣,在同一時刻,4位led中只有選通的那一位顯示出字符,而其他3位則是熄滅的。在下一時刻,只讓下一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),在段碼線上輸出將要顯示字符的段碼。如此循環(huán)下去,就可以使各位顯示出將要顯示的字符。雖然這些字符是在不同時刻出現(xiàn)的,而在同一時刻,只有一位顯示,其它熄滅,但由于le
12、d顯示器的余暉和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可以造成多位同時亮的假象,達到同時顯示的效果。圖3.3 數(shù)碼管顯示電路圖四、軟件系統(tǒng)分析與設(shè)計4.1 程序結(jié)構(gòu)分析此次單片機課程設(shè)計是為實現(xiàn)用ds18b20溫度傳感器測量環(huán)境溫度,并將溫度值通過數(shù)碼管顯示,并通過鍵盤來設(shè)置溫度上下限值,判斷若當(dāng)前環(huán)境溫度超出所設(shè)置的上下限值,則實現(xiàn)聲光報警,繼電器動作。系統(tǒng)主程序中共調(diào)用了7個子程序,分別是初始化子程序、寫字節(jié)子程序、讀字節(jié)子程序、數(shù)據(jù)處理子程序、數(shù)碼管顯示子程序、溫度上下限值比較的子程序、鍵盤掃描以及按鍵處理子程序。4.2系統(tǒng)程序流圖(1)系統(tǒng)主程序(2)初始化子程序(3)寫字節(jié)子
13、程序(4)讀字節(jié)子程序(5)數(shù)據(jù)處理子程序(6)數(shù)碼管顯示子程序(7)溫度上下限值比較的子程序(8)按鍵處理子程序(9)按鍵處理中的數(shù)碼管顯示子程序五、系統(tǒng)仿真調(diào)試與參數(shù)測量 主程序當(dāng)啟動ds18b20溫度傳感器,進行溫度測量時,將測量值與所設(shè)定的溫度上下限值進行比較,若測得溫度小于設(shè)定下限值,則進入聲光報警子程序,這期間聲光報警不間斷地響起,直到溫度在設(shè)定范圍內(nèi),才終止聲光報警子程序,若測得溫度大于所設(shè)定的溫度上限值,亦進入聲光報警子程序,此時聲光報警不間斷的響起,直到所測的溫度在設(shè)定的安全范圍內(nèi)。第一次上電調(diào)試,還未會匯編編入聲光報警和按鍵處理子程序。溫度卻不顯示出來,后經(jīng)檢查發(fā)現(xiàn)在數(shù)據(jù)處
14、理的子程序中,將anl打成了mov,導(dǎo)致沒法讀到ds18b20的溫度值,重設(shè)后才顯示出溫度值來。再經(jīng)實際接電調(diào)試,一切運行正常。 在進行按鍵處理的調(diào)試過程中,剛開始由于沒有設(shè)置按鍵松手檢測程序和上下限值顯示位置出現(xiàn)了問題,按鍵一直不能發(fā)揮程度中預(yù)設(shè)的作用,后將按鍵處理子程序重新調(diào)整,并將松手檢測程序放入后,按鍵運轉(zhuǎn)正常。六、課程設(shè)計總結(jié)1、設(shè)計分析溫度檢測和控制都直接與安全生產(chǎn)、節(jié)約能源等技術(shù)經(jīng)濟指標(biāo)相聯(lián)系。溫度測量在工業(yè)、民用、軍事等領(lǐng)域占著重要的地位。航空、家電、科研等領(lǐng)域都需要溫度測試設(shè)備,用于測試和確定電工、電子及其它產(chǎn)品及材料進行高溫、低溫、交變溫度或恒定試驗的溫度環(huán)境的變化,判斷當(dāng)
15、檢測目標(biāo)的溫度值達到警示條件時發(fā)出警告信號。在工業(yè)生產(chǎn)和日常生活中,對溫度控制系統(tǒng)的要求,主要是保證溫度在一定溫度范圍內(nèi)變化,穩(wěn)定性好,不振蕩,對系統(tǒng)的快速性要求不高。在本設(shè)計中簡單分析了單片機溫度控制系統(tǒng)設(shè)計過程及實現(xiàn)方法。本系統(tǒng)的測溫范圍為-10125,溫度檢測系統(tǒng)根據(jù)用戶設(shè)定的溫度范圍完成一定范圍的溫度控制。本設(shè)計使用的溫度控制器結(jié)構(gòu)簡單、測溫準(zhǔn)確,具有一定的實際應(yīng)用價值。該智能溫度控制器只是ds18b20在溫度控制領(lǐng)域的一個簡單實例,還有許多需要完善的地方。此外,還能廣泛地應(yīng)用于其他一些工業(yè)生產(chǎn)領(lǐng)域,如建筑,倉儲等行業(yè)。本溫度控制系統(tǒng)可以應(yīng)用于多種場合,像的溫度、育嬰房的溫度、水溫的控
16、制。用戶可靈活選擇本設(shè)計的用途,有很強的實用價值。2、心得體會兩周的課程設(shè)計已經(jīng)接近尾聲,我通過自己的努力和同學(xué)們給予我的幫助,基本上完成了本次設(shè)計的要求,雖然很多功能還有待提高和完善,但這次的課程設(shè)計還是讓我學(xué)到了很多。在這期間我遇到過許多問題,比如ds18b20的時序如何控制,數(shù)碼管動態(tài)顯示時的閃爍問題等等。特別是按鍵處理子程序,流程圖也比較復(fù)雜,但通過網(wǎng)上搜集資料,圖書館查閱文獻,和同學(xué)老師積極溝通,最終還是圓滿完成任務(wù)。通過這次課程設(shè)計,我深刻的體會到了寫程序時邏輯的重要性。對整個程序的把握,如果沒有清晰的邏輯、思路,程序就很容易出錯,在程序的調(diào)試中尤為明顯。紙上學(xué)來終覺淺,絕知此事要
17、躬行。只有不斷的實踐,才能提高自己的能力。附1、參考文獻:1劉鳴、車立新主編,溫度傳感器ds18b20的特性及程序設(shè)計方法,天津大學(xué)精儀學(xué)院出版社,2001年10月。2王金亮、張強主編,數(shù)字溫度傳感器的應(yīng)用,電子工業(yè)出版社,2003年8月。3劉坤、宋戈、趙洪波、張憲棟主編,51單片機c語言應(yīng)用開發(fā)技術(shù)大全,北京人民郵電出版社,2008年2月。4馬壯主編,基于單片機的ds18b20溫度采集系統(tǒng),電子科技大學(xué)出版社,2009年1月。5趙鵬組編,基于單片機的測溫系統(tǒng),中小企業(yè)管理與科技下旬刊,2010年4月。附2:完整匯編程序;*;*主程序* temp_l equ 47h ;47h存放溫度的低八位
18、temp_h equ 48h ;48h存放溫度的高八位 temp_zs equ 49h ;49h存放溫度的整數(shù)部分 dq equ p2.2 ;p2.2口定義為dq temp_sx equ 60h ;60h存放溫度的上限值 temp_xx equ 61h ;61h存放溫度的下限值 bzw1 equ 71h ;按鍵處理中的標(biāo)志字節(jié)1 bzw2 equ 72h ;按鍵處理中的標(biāo)志字節(jié)2 org 0000h ljmp main org 0030h main: mov temp_sx,#30 mov temp_xx,#25main1:lcall chushi ;調(diào)用初始化子程序 mov a,#0cch
19、;發(fā)送跳rom指令 lcall writeword ;調(diào)用寫字節(jié)子程序 mov a,#44h ;啟動溫度轉(zhuǎn)換指令 lcall writeword ;調(diào)用寫字節(jié)子程序 lcall chushi ;調(diào)用初始化子程序 mov a,#0cch ;跳轉(zhuǎn)rom指令 lcall writeword ;調(diào)用寫字節(jié)子程序 mov a,#0beh ;開始讀取溫度指令 lcall writeword ;調(diào)用寫字節(jié)子程序 lcall readt ;調(diào)用讀字節(jié)子程序 lcall datat ;調(diào)用數(shù)據(jù)處理子程序 lcall display ;調(diào)用數(shù)碼管顯示子程序 lcall temp_compart ;調(diào)用溫度上下限值
20、比較的子程序 lcall ajcl ;調(diào)用按鍵處理子程序 ajmp main1;*;* *初始化子程序*chushi: setb dq ;dq拉高 mov r0,#12 djnz r0,$ ;延時2us clr dq ;dq拉低 mov r1,#12delay1: mov r0,#255 djnz r0,$ djnz r1,delay1 ;延時560us setb dq ;拉高dq mov r0,#180 djnz r0,$ ;延時30us mov c,dq ;讀取dq值 jnc loop1 ;判斷dq是否為0,是則跳轉(zhuǎn)loop1 clr f0 ;dq不為0,則標(biāo)志位清零 ljmp loop2
21、 loop1:setb f0 ;dq為0,則標(biāo)志位值1 loop2:jnb f0,chushi ;判斷標(biāo)志位是否為0 mov r1,#6 delay2:mov r0,#120 djnz r0,$ djnz r1,delay2 ;延時120us setb dq ;dq拉高 mov r1,#10 delay3:mov r0,#170 djnz r0,$ djnz r1,delay3 ;延時283us ret ;返回;*;*寫字節(jié)子程序* writeword:setb dq ;dq拉高 mov r0,#7 djnz r0,$ ;延時1us mov r2,#8 ;寫8次,一個字節(jié) clr cwrite
22、word2:clr dq mov r0,#18 djnz r0,$ ;延時3us rrc a mov dq,c mov r1,#6 delay4:mov r0,#90 djnz r0,$ djnz r1,delay4 ;延時90us setb dq mov r0,#18 djnz r0,$ ;延時3us djnz r2,writeword2 ;是否寫完8次 ret;*;*讀雙字節(jié)子程序* readt:setb dq ;拉高dq mov r0,#12 djnz r0,$ ;延時2us mov r3,#8 mov r4,#2 ;兩個字節(jié) mov r1,#temp_l ;將低8位存放在r1中 clr
23、 c mov a,#00h ;將a清零readt2:clr dq ;拉低dq mov r0,#18 djnz r0,$ ;延時3us setb dq ;拉高dq mov r0,#18 djnz r0,$ ;延時3us mov c,dq ;將最低位賦給c rrc a ;帶c的循環(huán)右移 mov r0,#180 djnz r0,$ mov r0,#180 djnz r0,$ ;延時60us djnz r3,readt2 ;是否讀完一個字節(jié),未讀完則繼續(xù)讀 mov r1,a ;將溫度值的低8位存放于47h inc r1 ;r1加1,進入48h mov r3,#8 djnz r4,readt2 ;是否讀
24、完兩個字節(jié) ret ;此段程度過后,將溫度值的低8位存放于47h,高8位存放于48h;*;*數(shù)據(jù)處理子程序* datat:mov a,temp_l ;將低字節(jié)送給a anl a,#0fh ;將低字節(jié)的低四位送給a mov dptr,#tab1 movc a,a+dptr ;查表得到溫度的小數(shù)值 mov 70h,a ;將小數(shù)值存放于70h anl temp_l,#0f0h ;取出低字節(jié)中的高四位 mov a,temp_l swap a ;字節(jié)取反 mov 47h,a ;將低字節(jié)中的高四位存放于47h anl temp_h,#0fh ;取出高字節(jié)中的低四位 mov a,temp_h swap a
25、orl a,47h mov temp_zs,a ;將低字節(jié)中的高四位和高字節(jié)中的低四位合并,并存放于49h mov b,#100 div ab mov 67h,a ;將溫度的百位數(shù)存放于67h mov a,b mov b,#10 div ab mov 68h,a ;將溫度的十位數(shù)存放于68h mov 69h,b ;將溫度的個位數(shù)存放于69h ret tab1:db 00h,01h,01h,02h,03h,03h,04h,04h db 05h,06h,06h,07h,08h,08h,09h ;此段程序過后,可知溫度的小數(shù)值存放于70h,溫度的百位數(shù)存放于67h ;溫度的十位數(shù)存放于68h,溫度的
26、個位數(shù)存放于69h;*;*數(shù)碼管顯示子程序* display:mov p0,#70h ;70h賦給p0口,使顯示溫度符號c clr p1.4 ;將p1.5拉低 mov r1,#180 delay9:mov r0,#30 djnz r0,$ djnz r1,delay9 ;延時900us setb p1.4 mov dptr,#tab4 mov a,70h ;將溫度的小數(shù)值賦給a movc a,a+dptr ;查表得到數(shù)碼管顯示的小數(shù)位 mov p0,a ;將溫度的小位數(shù)送給p0口 setb p0.7 clr p1.5 ;將p1.5拉低 mov r1,#180 delay6:mov r0,#30
27、 djnz r0,$ djnz r1,delay6 ;延時900us setb p1.5 mov dptr,#tab3 mov a,69h ;將溫度的個位數(shù)賦給a movc a,a+dptr ;查表得到數(shù)碼管顯示的個位數(shù) mov p0,a ;將溫度的個位數(shù)送給p0口 clr p0.7 clr p1.6 ;將p1.6拉低 mov r1,#180 delay7:mov r0,#30 djnz r0,$ djnz r1,delay7 ;延時900us setb p1.6 mov dptr,#tab2 mov a,68h ;將溫度的十位數(shù)賦給a movc a,a+dptr ;查表得到數(shù)碼管顯示的十位數(shù)
28、 mov p0,a ;將溫度的百位數(shù)送給p0口 clr p1.7 ;p1.7拉低 mov r1,#180 delay8:mov r0,#30 djnz r0,$ djnz r1,delay8 ;延時900us setb p1.7 ret ;返回 tab2: db 0c0h,0f9h,0a4h,0b0h,99h db 92h,82h,0f8h,80h,90h tab3: db 40h,79h,24h,30h,19h db 12h,02h,78h,00h,10h tab4:db 0c0h,0cfh,0a4h,86h,8bh db 92h,90h,0c7h,80h,82h;*;*溫度上下限值比較的子
29、程序*temp_compart:mov a,temp_sx dec a cjne a,temp_zs,loop5 ;當(dāng)前溫度的整數(shù)部分與上限值比較,不相等則跳轉(zhuǎn)到loop5 loop5:jc shengguang ;如果當(dāng)前溫度值超過上限值,則進行聲光報警 mov a,temp_xx dec a cjne a,temp_zs,loop6 ;當(dāng)前溫度的整數(shù)部分與下限值比較,不相等則跳轉(zhuǎn)到loop6 loop6:jnc shengguang ;如果當(dāng)前溫度值小于下限值,則進行聲光報警 setb p3.5 ;關(guān)閉8個發(fā)光二極管 setb p3.2 ;關(guān)閉蜂鳴器 setb p3.6 ;關(guān)閉繼電器 re
30、t shengguang:clr p3.5 ;點光8個發(fā)光二極管 clr p3.2 ;打開蜂鳴器 clr p3.6 ;繼電器動作 ret;*;*按鍵處理的子程序* ajcl:clr p2.6 ;拉低p2.6 mov a,p2 cjne a,#0bfh,loop11 ;是否有按鍵被按下 retn:mov a,bzw1 cjne a,#0,ds1 ;判斷標(biāo)志字節(jié)1是否是0 mov a,bzw2 cjne a,#0,ajcl ;判斷標(biāo)志字節(jié)2是否是0 ret ds1:mov a,bzw1 cjne a,#1,next mov a,temp_sx ;bzw1是1則顯示上限值 sjmp next1 next:mov a,temp_xx ;bzw1是2則顯示上限值 next1:lcall loop30 ;調(diào)用數(shù)據(jù)處理子程序 lcall display1 ;調(diào)用數(shù)碼管顯示子程序 ljmp ajcl loop11:mov r1,#250 delay10:mov r0,#210 djnz r0,$ djnz r1,delay10 ;延時10ms mov a,p2 cjne a,#0bfh,next2 ;再次判斷是否有按鍵被按下 ljmp ajcl next2:mov r7,a ss:mov a,p2 cjne a,#0bfh,ss ;松手檢測 mov a,r7 cjne a,#0beh,jj
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度澳大利亞大學(xué)本碩連讀合同
- 二零二五年度勞動合同解除協(xié)議
- 二零二五年度農(nóng)村合作社鄉(xiāng)村旅游開發(fā)合作協(xié)議
- 鏟車勞務(wù)承包合同鏟車合同書
- 社交網(wǎng)絡(luò)運營合作合同
- 公司內(nèi)外部往來文書規(guī)范手冊
- 小熊維尼的友情世界讀后感
- 生物技術(shù)在農(nóng)村綜合利用項目協(xié)議
- 新能源汽車充電站投資協(xié)議
- 企業(yè)數(shù)字化轉(zhuǎn)型解決方案手冊
- 戶外廣告制作安裝合同模板
- 污水處理廠SBR工藝的設(shè)計說明
- 2025年國家自然科學(xué)基金委員會招聘流動編制人員59人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 歷史地理學(xué)研究-深度研究
- 2025江蘇太倉市城市建設(shè)投資集團限公司招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 2.2 學(xué)會管理情緒(同步課件)2024-2025學(xué)年七年級道德與法治下冊(統(tǒng)編版2024)
- 14磁極與方向(教學(xué)設(shè)計)-二年級科學(xué)下冊(教科版)
- 2025年山西經(jīng)貿(mào)職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2024年09月江蘇2024年蘇州金融租賃校園招考筆試歷年參考題庫附帶答案詳解
- 2025年八省聯(lián)考數(shù)學(xué)試題(原卷版)
- 高教社馬工程倫理學(xué)(第二版)教學(xué)課件02
評論
0/150
提交評論