2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  單片機(jī)原理課程</b></p><p><b>  設(shè)計(jì)報(bào)告</b></p><p><b>  一、設(shè)計(jì)目標(biāo)</b></p><p>  本設(shè)計(jì)采用LED和數(shù)碼顯示管顯示洗衣機(jī)所處在的模式和水位,所處的的洗衣狀態(tài),水溫,以及完成洗衣的剩余時(shí)間。實(shí)現(xiàn)不同模式下水位的選擇一

2、共三種模式(標(biāo)準(zhǔn),輕柔,快洗),四種水位,當(dāng)洗衣機(jī)啟動(dòng)后,上水電磁閥打開注水,當(dāng)水到達(dá)設(shè)定的限位時(shí),上水電磁閥斷電,注水過(guò)程停止,啟動(dòng)電機(jī)全自動(dòng)控制洗衣操作,整個(gè)過(guò)程的進(jìn)行按時(shí)間控制,時(shí)間自定。液位檢測(cè)和控制:使水位限定在某一個(gè)給定的液位范圍內(nèi),當(dāng)水位越限時(shí)進(jìn)入超水位中斷報(bào)警提示并打開下水電磁閥放水,不啟動(dòng)洗衣過(guò)程,待滿足要求后,投入運(yùn)行。當(dāng)投入洗衣量大于洗衣機(jī)額定容量時(shí),控制系統(tǒng)應(yīng)報(bào)警,不啟動(dòng)洗衣過(guò)程。待滿足要求后,投入運(yùn)行</

3、p><p>  1、洗衣程序功能:手動(dòng)模式:用戶可以選擇單獨(dú)的單洗,漂洗,長(zhǎng)脫水;自動(dòng)模式:用戶可以根據(jù)需求通過(guò)鍵盤選擇以下模式:即標(biāo)準(zhǔn)洗衣程序、輕柔洗衣、快洗每種模式下又可以選擇四種水位;再上電后如果不進(jìn)行任何操作一段時(shí)間后洗衣機(jī)便進(jìn)入默認(rèn)模式進(jìn)行洗衣。 </p><p>  2、顯示功能:顯示選擇的模式,水位,正在進(jìn)行的洗衣操作(狀態(tài)),水溫,完成洗衣過(guò)程的剩余時(shí)間。<

4、/p><p>  特殊功能:超水位報(bào)警并自動(dòng)放水,達(dá)到要求后結(jié)束報(bào)警開始洗衣;超容量報(bào)警,待用戶排除后結(jié)束報(bào)警開始洗衣。</p><p><b>  設(shè)計(jì)過(guò)程</b></p><p><b>  1、硬件設(shè)計(jì)</b></p><p><b> ?。?)系統(tǒng)總體設(shè)計(jì)</b></

5、p><p>  一臺(tái)洗衣機(jī)大體可分為5部分,分別為按鍵控制部分、顯示部分、進(jìn)水部分、排水部分、電機(jī)部分。這5部分按鍵控制為輸入,其余為輸出。如下圖</p><p><b>  總體結(jié)構(gòu)圖</b></p><p><b>  (2)具體實(shí)現(xiàn)</b></p><p>  本設(shè)計(jì)用98C51單片機(jī)實(shí)現(xiàn)洗衣機(jī)的

6、控制,通過(guò)對(duì)撥碼開關(guān)和鍵盤的操作實(shí)現(xiàn)手動(dòng)自動(dòng)模式的選擇,以及水位得選擇,也可以進(jìn)行任何操作進(jìn)入默認(rèn)模式。當(dāng)選擇好模式后進(jìn)入該模式設(shè)置該模式下的參數(shù),然后再次掃描鍵盤,去選擇水位,選定水位后,進(jìn)入該水位模式設(shè)置水位參數(shù)。</p><p>  在P1.4為低電平是進(jìn)入手動(dòng)模式,手動(dòng)模式下若P1.5為低電平則進(jìn)入單洗過(guò)程,單洗完成聲光報(bào)警提示用戶此過(guò)程完成;若P1.5為高電平檢查P1.6若為低電平進(jìn)去漂洗程序進(jìn)行漂洗,

7、漂洗完成聲光報(bào)警提示用戶漂洗結(jié)束。柔P1.6為高電平則檢查P1.7若為低電平就進(jìn)入長(zhǎng)脫水程序,進(jìn)行長(zhǎng)脫水,長(zhǎng)脫水結(jié)束聲光報(bào)警提示用戶操作完成;若P1.7為高電平則從P1.5重新檢查直到檢查到低電平為止。</p><p>  在P1.4為高電平時(shí)不是手動(dòng)模式,則去掃描鍵盤,第一次掃描鍵盤為選擇標(biāo)準(zhǔn),輕柔,快洗模式,待選擇好模式設(shè)定好參數(shù)后,再次掃描鍵盤選擇水位,選擇好水位后設(shè)置參數(shù),然后進(jìn)入洗衣過(guò)程。如果15秒內(nèi)沒(méi)

8、有掃描到模式的按鍵,則進(jìn)入默認(rèn)模式。</p><p>  單洗衣程序包括單洗、漂洗、長(zhǎng)脫水三個(gè)過(guò)程。</p><p>  自動(dòng)模式下的三個(gè)模式都包括單洗、漂洗、長(zhǎng)脫水三個(gè)過(guò)程,只是在不同模式和水位下的參數(shù)不同罷了;洗衣過(guò)程:進(jìn)入洗衣程序開定時(shí)器開始倒計(jì)時(shí),根據(jù)選擇的水位進(jìn)水,進(jìn)水完成后,在沒(méi)有超出要求水位的情況下,進(jìn)入單洗過(guò)程,電動(dòng)機(jī)開始正反轉(zhuǎn)過(guò)程根據(jù)所選模式中設(shè)置的正反轉(zhuǎn)次數(shù)以及不同模式

9、下正反轉(zhuǎn)的時(shí)間自動(dòng)洗衣;待單洗完成就進(jìn)入排水過(guò)程,排水時(shí)間由水位模式設(shè)置,排水結(jié)束后進(jìn)入漂洗過(guò)程。漂洗過(guò)程:先進(jìn)行段脫水,脫水結(jié)束再進(jìn)水,進(jìn)水完成再進(jìn)行短洗,短洗時(shí)間為四分鐘,短洗完成在排水,然后重復(fù)上述過(guò)程一次即完成漂洗過(guò)程,漂洗完成進(jìn)入長(zhǎng)脫水過(guò)程,長(zhǎng)脫水時(shí)間為四分鐘,電機(jī)高速旋轉(zhuǎn),長(zhǎng)脫水結(jié)束,整個(gè)洗衣過(guò)稱也結(jié)束,此時(shí)聲光報(bào)警提示用戶洗衣完成。</p><p>  標(biāo)準(zhǔn)模式下的單洗過(guò)程,電機(jī)正反轉(zhuǎn)36次,每次正

10、轉(zhuǎn)十八秒,停兩秒,再反轉(zhuǎn)十八秒,停兩秒;輕柔模式下單洗過(guò)程,電機(jī)正反轉(zhuǎn)36次,每次正傳是三秒停兩秒,再反轉(zhuǎn)是三秒,停兩秒;快洗模式下但系過(guò)程,電機(jī)正反轉(zhuǎn)24次,每次正轉(zhuǎn)十八秒,停兩秒,再反轉(zhuǎn)十八秒,停兩秒;三種模式下的漂洗過(guò)程相同見(jiàn)下面漂洗過(guò)程分析;每個(gè)模式下的長(zhǎng)脫水都是相同的,都是電機(jī)正傳四分鐘。</p><p>  進(jìn)排水由時(shí)間控制,每個(gè)水位下設(shè)置好了進(jìn)排水的時(shí)間,進(jìn)水時(shí)P3.4置一,表示開進(jìn)水閥,進(jìn)水完成時(shí)

11、P3.4置0表示關(guān)進(jìn)水閥;排水是P3.5置1表示開排水閥,排水完成是P3.5置0表示管排水閥。</p><p>  在顯示時(shí)開始考慮的是通過(guò)按鍵實(shí)現(xiàn)交替顯示,但是這樣就必須時(shí)刻掃描鍵盤,這使程序進(jìn)入了掃描鍵盤的死循環(huán),無(wú)法進(jìn)行其他的工能,在多次考慮后發(fā)現(xiàn)在進(jìn)排水,電機(jī)動(dòng)作時(shí)沒(méi)有其他的要求,可以利用這段時(shí)間去驅(qū)動(dòng)數(shù)碼管顯示模式,水位,狀態(tài),溫度,以及剩余時(shí)間等,剩余時(shí)間單獨(dú)顯示,其他的一起顯示,這樣就只需要顯示兩次

12、,每次十秒,交替顯示,單洗是短洗時(shí)電機(jī)正傳是顯示十秒的模式,水位,狀態(tài),溫度,然后數(shù)碼管熄滅十秒或五秒,電機(jī)反轉(zhuǎn)時(shí)顯示十秒的剩余時(shí)間,再熄滅十秒或五秒,這樣循環(huán)進(jìn)行;在脫水或進(jìn)排水時(shí)兩種顯示一十秒每次交替顯示,這樣在整個(gè)過(guò)程中多有顯示,很好地解決了顯示與洗衣同時(shí)進(jìn)行的問(wèn)題了。</p><p>  電機(jī)的正反轉(zhuǎn)實(shí)現(xiàn)方式:當(dāng)P3.6為1,P3.7為0時(shí)電機(jī)正轉(zhuǎn),當(dāng)P3.6和P3.7都為0時(shí)電機(jī)停轉(zhuǎn),當(dāng)P3.6為0,P

13、3.7為1時(shí)電機(jī)反轉(zhuǎn)。電機(jī)正反轉(zhuǎn)用LED燈模擬,紅燈亮表示正傳,綠燈亮表示反轉(zhuǎn),兩燈都熄滅表示電機(jī)停轉(zhuǎn)。</p><p>  自動(dòng)模式下,數(shù)碼管右邊第一為表示模式,b表示標(biāo)準(zhǔn)模式,q表示輕柔模式,3表示快洗模式,第二位表示水位分別用1、2、3、4表示四種水位;中間兩位表示正在進(jìn)行的動(dòng)作即狀態(tài),7H表示進(jìn)水,dH表示短脫水,dd表示短洗,CH表示長(zhǎng)脫水PH表示排水;左邊兩位顯示的是水的溫度。在顯示模式2下用四個(gè)數(shù)碼

14、管顯示剩余時(shí)間。</p><p>  在手動(dòng)模式下的單洗,漂洗,長(zhǎng)脫水需要單獨(dú)設(shè)置參數(shù),具體設(shè)置見(jiàn)附錄的程序中;單洗時(shí),模式水位顯示位顯示的是d7表示手動(dòng)下的單洗;漂洗是顯示P7表示漂洗,長(zhǎng)脫水時(shí)顯示CH表示長(zhǎng)脫水;手動(dòng)下單洗為28分鐘,漂洗為18分鐘,長(zhǎng)脫水為4分鐘。</p><p>  默認(rèn)模式下調(diào)用的是標(biāo)準(zhǔn)模式下水位2的洗衣程序,顯示也完全相同;</p><p&g

15、t;  另外每一個(gè)動(dòng)作完成時(shí)都有一秒鐘的蜂鳴提示。</p><p>  2、軟件程序的設(shè)計(jì):</p><p>  洗衣機(jī)的一次洗衣過(guò)程控制過(guò)程比較簡(jiǎn)單,主要為順序控制,如先進(jìn)水、洗滌(電機(jī)正轉(zhuǎn)反轉(zhuǎn))、再排水脫水,難點(diǎn)在于過(guò)程選擇,如不同的衣物所用的洗滌、漂洗、電機(jī)正轉(zhuǎn)反轉(zhuǎn)時(shí)間不同,如果為每個(gè)過(guò)程單獨(dú)編一套指令,則指令系統(tǒng)變得很龐大,效率低,為此,把脫水、洗滌、排水、短洗、漂洗、進(jìn)水單獨(dú)編為

16、一個(gè)子程序,由主程序根據(jù)過(guò)程選擇,不斷調(diào)用,由些減少源程序的長(zhǎng)度,不同的洗衣過(guò)程,三大動(dòng)作的時(shí)間不同,這可以通過(guò)建立數(shù)據(jù)表格,通過(guò)查表的方式獲得每個(gè)洗衣過(guò)程所需時(shí)間。此外,還需編出顯示子程序,延時(shí)子程序供主程序不斷調(diào)用,而且在每一個(gè)模式和水位下設(shè)置了不同參數(shù),這樣通過(guò)對(duì)子程序的調(diào)用,就實(shí)現(xiàn)了同一模式下不同水位的選擇這一擴(kuò)展功能,僅僅在自動(dòng)模式下就有3*4=12種小模式了。</p><p><b>  三

17、、設(shè)計(jì)結(jié)果</b></p><p><b>  1、電路原理圖</b></p><p><b>  2、PCB版圖:</b></p><p><b>  3、流程圖</b></p><p><b>  N </b></p&g

18、t;<p><b>  Y</b></p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  主程序框圖</b></p><p>  自動(dòng)模式下模式水位的選擇</p><p

19、>  洗衣流程單洗流程</p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  

20、長(zhǎng)脫水流程</b></p><p><b>  漂洗流程</b></p><p><b>  進(jìn)水流程排水流程</b></p><p><b>  N</b></p><p><b>  NY</b></p><p&

21、gt;<b>  Y</b></p><p><b>  N</b></p><p><b>  N</b></p><p><b>  YY</b></p><p><b>  電機(jī)正反轉(zhuǎn)流程</b></p><

22、;p><b>  N</b></p><p><b>  Y</b></p><p>  超水位報(bào)警并自動(dòng)排水流程</p><p><b>  匯編語(yǔ)言</b></p><p>  洗衣機(jī)系統(tǒng)的匯編程序</p><p>  FLAG EQU

23、 45H ;DS18B20是否存在標(biāo)志 </p><p>  DQ EQU P1.3 ;DQ引腳由P2.5控制 </p><p>  ORG 0000H</p><p>  LJMP START</p><p>  ORG 0003H</p><p>  LJMP

24、 PINT0</p><p>  ORG 0013H</p><p>  LJMP PINT1</p><p>  ORG 001BH</p><p>  LJMP P_T1</p><p>  ORG 0030H</p><p>  START: MOV SP,#60H

25、</p><p>  CLR P3.4 ;關(guān)進(jìn)水閥 </p><p>  CLR P3.5;關(guān)排水閥 </p><p>  CLR P3.6;電機(jī)不轉(zhuǎn)動(dòng) </p><p>  CLR P3.7 ;電機(jī)不轉(zhuǎn)動(dòng) </p><p>  MOV IP,#01H;INTI為

26、高優(yōu)先級(jí) </p><p>  SETB EA;CPU允許中斷 </p><p>  SETB IT0;跳變觸發(fā)方式 </p><p>  SETB IT1;跳變觸發(fā)方式 </p><p>  MOV TH1,#3CH<

27、;/p><p>  MOV TL1,#0B0H</p><p>  MOV 40H,#20;1S定時(shí) </p><p>  MOV TMOD,#10H</p><p>  SETB EX1;允許INT1中斷SETB EX0;允許INT0中斷 S

28、ETB ET1;允許定時(shí)器T1中斷 MOV 4DH,#05 ;等待5秒,供用戶選擇手動(dòng)還是 </p><p>  DENDAI:LCALL DL1S ;自動(dòng),若選擇手動(dòng)并設(shè)置自動(dòng)模式下的哪種 </p><p>  DJNZ 4DH,DENDAI ;工作方式,單洗,單漂,長(zhǎng)脫水 </p><p>  MO

29、V P1,#0F6H</p><p>  LCALL DL1S</p><p>  MOV P1,#0FFH</p><p>  MOV 4FH,#250</p><p>  BACK:JB P1.4,KSSM1;P1.4為1即使自動(dòng)模式,轉(zhuǎn)到掃描鍵盤 JNB P1.5,TODANXI ;P1.5為0

30、即為選擇單洗,轉(zhuǎn)到單洗JNB P1.6,TOPX;P1.6為0即為選擇漂洗,轉(zhuǎn)到漂洗JNB P1.7,TOCTS;P1.7為0即為選擇長(zhǎng)脫水,轉(zhuǎn)到長(zhǎng)脫水JMP BACK;沒(méi)有檢測(cè)到手動(dòng)選擇的是什么,換回重新檢測(cè);******手動(dòng)單洗程序******** </p><p>  TODANXI:SETB TR1</p><

31、p>  MOV 30H,#07 ;狀態(tài)顯示參數(shù),顯示7 </p><p>  MOV 31H,#13 ;狀態(tài)顯示參數(shù),顯示d,d7代表單洗 </p><p>  MOV 2AH,#18H ;電機(jī)動(dòng)作24分鐘 </p><p>  MOV 2CH,#05H ;進(jìn)排水4分鐘 </p><p>  MOV 25H,

32、#36;設(shè)正反轉(zhuǎn)次數(shù) </p><p>  MOV 26H,#08;轉(zhuǎn)動(dòng)8+10s </p><p>  MOV 27H,#02;停2秒 </p><p>  MOV 28H,#40;進(jìn)排水2分鐘,40+20x4 </p><p>  LCALLDJSCZ</p><p>  LCALL D

33、ANXI</p><p>  JNB P1.6,TOPX</p><p>  LJMP THEND</p><p>  ;****手動(dòng)漂洗程序****** </p><p>  TOPX:SETB TR1</p><p>  MOV 30H,#07 ;狀態(tài)顯示參數(shù),顯示7 </p><

34、p>  MOV 31H,#18 ;狀態(tài)顯示參數(shù),顯示P,P7代表漂洗 </p><p>  MOV 2AH,#0EH ;電機(jī)動(dòng)作14分鐘 </p><p>  MOV 2CH,#05H ;進(jìn)排水4分鐘 </p><p>  MOV 28H,#40;進(jìn)排水2分鐘,40+20x4 </p><p>  LCALL

35、DJSCZ</p><p><b>  LCALL PX</b></p><p>  JNB P1.7,TOCTS</p><p>  LJMP THEND</p><p>  ;****手動(dòng)長(zhǎng)脫水****** </p><p>  TOCTS:SETB TR1</p>

36、<p>  MOV 30H,#16;狀態(tài)顯示參數(shù),顯示H </p><p>  MOV 31H,#12;狀態(tài)顯示參數(shù),顯示C,CH代表長(zhǎng)脫水 </p><p>  MOV 2AH,#04H ;脫水4分鐘 </p><p>  MOV 2CH,#00H</p><p>  LCALLDJSCZ</

37、p><p>  LCALL CTS</p><p>  LJMP THEND </p><p>  ;****鍵盤掃描1******</p><p>  KSSM1:MOV P2,#0F0H ;置P2.0~P2.3為輸出,P2.4~P2.6為輸入</p><p>  MOV A,P2</

38、p><p>  ANL A,#0F0H</p><p>  XRL A,#0F0H</p><p>  JZ NO_KEY1 ;A為0則無(wú)按鍵</p><p>  LCALL DL20MS ;延時(shí)消抖</p><p>  MOV A,P2</p><p>  A

39、NL A,#0F0H ;重讀鍵盤</p><p>  XRL A,#0F0H</p><p>  JZ NO_KEY1 ;A為0則無(wú)按鍵</p><p>  MOV R2,#11110111B ;列掃描初值</p><p>  LSM1:MOV A,R2</p><p>

40、  MOV P2,A</p><p>  MOV A,P2</p><p>  ANL A,#11110000B</p><p>  MOV R3,A</p><p>  CJNE A,#0F0H,KEY1;有鍵按下則跳轉(zhuǎn)</p><p>  MOV A,R2</p><p

41、><b>  RR A</b></p><p><b>  MOV R2,A</b></p><p>  XRL A,#01111111B</p><p>  JNZ LSM1</p><p>  NO_KEY1:LJMP NEXT3</p><p>

42、;  KEY1:MOV A,R2</p><p>  ANL A,#0FH</p><p>  ORL A,R3</p><p>  MOV R4,A</p><p>  SHIFANG1: MOV A,P2</p><p>  ANL A,#0F0H</p><p> 

43、 XRL A,#0F0H</p><p>  JNZ SHIFANG1</p><p>  LCALL DL20MS</p><p>  MOV A,P2</p><p>  ANL A,#0F0H</p><p>  XRL A,#0F0H</p><p>  JNZ

44、SHIFANG1</p><p>  MOV A,R4</p><p>  CJNE A,#0D7H,NEXT1</p><p>  LJMP FANGSHI1</p><p>  NEXT1:CJNE A,#0DBH,NEXT2</p><p>  LJMP FANGSHI2</p>&

45、lt;p>  NEXT2:CJNE A,#0DDH,NEXT3</p><p>  LJMP FANGSHI3</p><p>  NEXT3: DJNZ 4FH,KSSM1</p><p>  LJMP MORENMOSHI;跳到默認(rèn)模式 </p><p>  ;****實(shí)際鍵盤掃描2*****</p

46、><p>  KSSM2:MOV P2,#0F0H ;置P2.0~P2.3為輸出,P2.4~P2.6為輸入</p><p>  MOV A,P2</p><p>  ANL A,#0F0H</p><p>  XRL A,#0F0H</p><p>  JZ NO_KEY2 ;A為0

47、則無(wú)按鍵</p><p>  LCALL DL20MS ;延時(shí)消抖</p><p>  MOV A,P2</p><p>  ANL A,#0F0H ;重讀鍵盤</p><p>  XRL A,#0F0H</p><p>  JZ NO_KEY2 ;A為0則無(wú)按鍵</

48、p><p>  MOV R2,#11110111B ;列掃描初值</p><p>  LSM2:MOV A,R2</p><p>  MOV P2,A</p><p>  MOV A,P2</p><p>  ANL A,#11110000B</p><p>  MOV

49、 R3,A</p><p>  CJNE A,#0F0H,KEY2;有鍵按下則跳轉(zhuǎn)</p><p>  MOV A,R2</p><p><b>  RR A</b></p><p><b>  MOV R2,A</b></p><p>  XRL A

50、,#01111111B</p><p>  JNZ LSM2</p><p>  NO_KEY2:LJMP KSSM2</p><p>  KEY2:MOV A,R2</p><p>  ANL A,#0FH</p><p>  ORL A,R3</p><p>  MOV

51、 R4,A</p><p>  SHIFANG2: MOV A,P2</p><p>  ANL A,#0F0H</p><p>  XRL A,#0F0H</p><p>  JNZ SHIFANG2</p><p>  LCALL DL20MS</p><p>  MOV

52、 A,P2</p><p>  ANL A,#0F0H</p><p>  XRL A,#0F0H</p><p>  JNZ SHIFANG2</p><p>  MOV A,R4</p><p>  CJNE A,#0B7H,NEXT4</p><p>  LJMP S

53、HUIWEI1</p><p>  NEXT4: CJNE A,#0BBH,NEXT5</p><p>  LJMP SHUIWEI2</p><p>  NEXT5:CJNE A,#0BDH,NEXT6</p><p>  LJMP SHUIWEI3</p><p>  NEXT6:CJNE A,#7

54、7H,NEXT7</p><p>  LJMP SHUIWEI4</p><p>  NEXT7: LJMP KSSM2</p><p>  ;*****默認(rèn)模式***** </p><p>  MORENMOSHI: MOV 2AH,#2AH;設(shè)置時(shí)間1的參數(shù)42分鐘 MOV 30H,#0B

55、H;顯示方式為b代表標(biāo)準(zhǔn) MOV 25H,#36;正反轉(zhuǎn)次數(shù) MOV 26H,#08;轉(zhuǎn)動(dòng)8+10s MOV 27H,#02</p><p>  MOV 2CH,#0DH;時(shí)間2,為13分鐘 </p><p>  MOV 31H,#01;顯示

56、水位為1 </p><p>  MOV 28H,#50;進(jìn)排水時(shí)間,50s+80s </p><p>  LCALL XYCHX</p><p><b>  RET</b></p><p>  ;****自動(dòng)情況下方式一即為標(biāo)準(zhǔn)模式***</p><p> 

57、 FANGSHI1 : MOV 2AH,#2AH;設(shè)置時(shí)間1的參數(shù)42分鐘 MOV 30H,#0BH;顯示方式為b代表標(biāo)準(zhǔn) MOV 25H,#36;正反轉(zhuǎn)次數(shù) MOV 26H,#08;轉(zhuǎn)動(dòng)8+10s MOV 27H,#02;停兩秒 LCALL KSSM2;調(diào)用鍵盤掃描

58、程序,選擇水位</p><p>  LJMP THEND</p><p>  ;******自動(dòng)情況下方式二,即為輕柔模式*******FANGSHI2: MOV 2AH,#24H;設(shè)置時(shí)間1的參數(shù)24分鐘 MOV 30H,#25;顯示方式為q代表輕柔 MOV 25H,#36;正反轉(zhuǎn)次數(shù)

59、 MOV 26H,#03;轉(zhuǎn)動(dòng)3+10s MOV 27H,#02;停兩秒 </p><p>  LCALL KSSM2;調(diào)用鍵盤掃描程序,選擇水位</p><p>  LJMP THEND</p><p>  ;*****自動(dòng)情況下方式三,

60、即為快洗模式***** FANGSHI3: MOV 2AH,#1EH ;設(shè)置時(shí)間1的參數(shù)30分鐘 MOV 30H,#03;顯示方式為3代表快洗 MOV 25H,#18;正反轉(zhuǎn)次數(shù) MOV 26H,#08;轉(zhuǎn)動(dòng)8+10s </p><p>  MOV 2

61、7H,#02;停兩秒 </p><p>  LCALL KSSM2;調(diào)用鍵盤掃描程序,選擇水位</p><p>  LJMP THEND</p><p>  ;******水位一***** * </p><p>  SHUIWEI1: MOV 2CH,#0DH;時(shí)間2,為13分

62、鐘 </p><p>  MOV 31H,#01;顯示水位為1 </p><p>  MOV 28H,#50;進(jìn)排水時(shí)間,50s+80s </p><p>  LCALL XYCHX</p><p><b>  RET</b></p><p&g

63、t;  ;*****水位二***** </p><p>  SHUIWEI2: MOV 2CH,#0CH;時(shí)間2,為12分鐘 </p><p>  MOV 31H,#02;顯示水位為2 </p><p>  MOV 28H,#40;進(jìn)排水時(shí)間,40s+80s </p&

64、gt;<p>  LCALL XYCHX</p><p><b>  RET</b></p><p>  ;*****水位三****** </p><p>  SHUIWEI3: MOV 2CH,#0BH;時(shí)間2,為11分鐘 </p><p>  MOV

65、31H,#03;顯示水位為3 </p><p>  MOV 28H,#30;進(jìn)排水時(shí)間,30s+80s </p><p>  LCALL XYCHX</p><p><b>  RET</b></p><p>  ;*****水位四********* <

66、/p><p>  SHUIWEI4: MOV 2CH,#0AH;時(shí)間2,為10分鐘 </p><p>  MOV 31H,#04;顯示水位為4 </p><p>  MOV 28H,#20;進(jìn)排水時(shí)間,20s+80s </p><p>  LCALL XYCHX</p><p&g

67、t;<b>  RET</b></p><p>  ;*******洗衣程序****** </p><p>  XYCHX: SETB TR1;開定時(shí)器 </p><p>  LCALL DANXI;調(diào)單洗程序 </p><p>  LCALL PX;調(diào)漂洗程序 </p>

68、<p>  LCALL CTS;調(diào)長(zhǎng)脫水程序 </p><p>  RET </p><p>  ;******單洗程序 *******</p><p><b>  DANXI: </b></p><p>  LCALL DJSCZ ;倒計(jì)時(shí)初值 </p><

69、;p>  LCALL JSH;調(diào)進(jìn)水程序 </p><p>  GOON2: MOV 32H,#07</p><p>  MOV 33H,#13</p><p>  LCALL ZFZ;調(diào)正反轉(zhuǎn)程序 </p><p>  DJNZ 25H,GOON2;循環(huán)幾次 </p><p>

70、  LCALL PSH;排水 </p><p><b>  RET</b></p><p>  ;******漂洗程序 ******* </p><p>  PX:MOV 29H,#02;循環(huán)2次 </p><p>  LCALL DTS;短脫水 </p><p>

71、;  GOON3: LCALL JSH;進(jìn)水 </p><p>  LCALL DXD;短洗滌 </p><p>  LCALL PSH;排水 </p><p>  LCALL DTS;短脫水 </p><p>  DJNZ 29H,GOON3</p><p><b

72、>  RET</b></p><p>  ;*****長(zhǎng)脫水程序(4分鐘) ****** </p><p>  CTS:MOV 32H,#16;狀態(tài)顯示查表參數(shù),顯示H</p><p>  MOV 33H,#12;狀態(tài)顯示查表參數(shù),顯示C,表示長(zhǎng)脫水 </p><p>  MOV 2BH,#12

73、;設(shè)置調(diào)用延時(shí)顯示程序的次數(shù) </p><p>  SETB P3.5;開排水閥 </p><p>  SETB P3.6</p><p>  CLR P3.7;開始脫水 </p><p>  LCALL YSXS;延時(shí)并顯示 </p><p>  CLR P3.6;停止脫水

74、 </p><p>  CLR P3.5;關(guān)排水閥 </p><p>  LCALL SHGTS;聲光提示 </p><p><b>  RET</b></p><p>  ;******進(jìn)水程序******* </p><p>  JSH:MOV 32H,#16;

75、狀態(tài)顯示查表參數(shù)顯示H </p><p>  MOV 33H,#07;狀態(tài)顯示查表參數(shù)顯示7,7H代表進(jìn)水 </p><p>  MOV 24H,28H;進(jìn)水時(shí)間參數(shù) </p><p>  SETB P3.4;開排進(jìn)閥 </p><p>  LCALL JPSHYS;延時(shí)并顯示 </p>&

76、lt;p>  CLR P3.4;關(guān)進(jìn)水閥 </p><p>  LCALL SHGTS;聲光提示 </p><p><b>  RET</b></p><p>  ; *****短脫水程序(2分鐘)******** </p><p>  DTS: MOV 32H,#16;狀態(tài)顯示查表

77、參數(shù),顯示H </p><p>  MOV 33H,#13;狀態(tài)顯示查表參數(shù),顯示d,dH代表短脫水 </p><p>  MOV 2BH,#06;設(shè)置調(diào)用延時(shí)顯示程序的次數(shù) </p><p>  SETB P3.5;開排水閥 </p><p>  SETB P3.6</p><p> 

78、 CLR P3.7;開始脫水 </p><p>  LCALL YSXS;延時(shí)并顯示 </p><p>  CLR P3.6;停止脫水 </p><p>  CLR P3.5;關(guān)排水閥 </p><p>  LCALL SHGTS;聲光提示 </p><p><b&g

79、t;  RET</b></p><p>  ;*****短洗程序 4分鐘******* </p><p>  DXD:MOV 32H,#13;狀態(tài)顯示查表參數(shù) </p><p>  MOV 33H,#13;狀態(tài)顯示查表參數(shù) </p><p>  MOV 25H,#08H;正反轉(zhuǎn)次數(shù) </p

80、><p>  MOV 26H,#03H;3+10s </p><p>  MOV 27H,#02H;停兩秒 </p><p>  GOON1:LCALL ZFZ</p><p>  DJNZ 25H,GOON1;正反轉(zhuǎn)8次 </p><p>  LCALL SHGTS;聲光提示 &

81、lt;/p><p><b>  RET</b></p><p>  ;******排水程序****** </p><p>  PSH:MOV 32H,#16;狀態(tài)顯示查表參數(shù),顯示H </p><p>  MOV 33H,#18;狀態(tài)顯示查表參數(shù),顯示P,PH代表排水 </p><

82、p>  MOV 24H,28H;進(jìn)水時(shí)間參數(shù) </p><p>  SETB P3.5;開排進(jìn)閥 </p><p>  LCALL JPSHYS;延時(shí)并顯示 </p><p>  CLR P3.5;關(guān)進(jìn)水閥 </p><p>  LCALL SHGTS;聲光提示 </p><

83、;p><b>  RET</b></p><p>  ;****進(jìn)排水延時(shí)并顯示程序***** </p><p>  JPSHYS:MOV R7,#04H ;調(diào)4次顯示,共80s </p><p>  GO4:LCALL T01</p><p>  LCALL T02</p>&l

84、t;p>  DJNZ R7,GO4;4次完沒(méi)有 </p><p><b>  RET</b></p><p>  ;*******脫水延時(shí)顯示 ******* </p><p><b>  YSXS:NOP</b></p><p>  GO3:LCALL T01</p&

85、gt;<p>  LCALL T02</p><p>  DJNZ 2BH,GO3</p><p><b>  RET </b></p><p>  ;*****20ms延時(shí)子程序******* </p><p>  DL20MS:MOV 20H,#10</p><p> 

86、 DELY1:MOV 21H,#250</p><p>  DELY2:NOP</p><p><b>  NOP</b></p><p>  NOP </p><p><b>  NOP</b></p><p><b>

87、;  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ 21H,DELY2</p><p>  DJNZ 20H,DELY1</p><p><b>  RET</b></p><p>  ;******1s延時(shí)子程序

88、 ****** </p><p>  DL1S:MOV 22H,#50</p><p>  DELY3:LCALL DL20MS</p><p>  DJNZ 22H,DELY3</p><p><b>  RET</b></p><p>  ;******t0延時(shí)子程序******

89、 </p><p><b>  TO:NOP</b></p><p>  GO5:LCALL DL1S</p><p>  DJNZ 24H,GO5</p><p><b>  RET</b></p><p>  ;******1ms延時(shí)程序***** &l

90、t;/p><p>  DL1MS:MOV 23H,#250</p><p>  DELY4:NOP</p><p><b>  NOP</b></p><p>  DJNZ 23H,DELY4</p><p><b>  RET</b></p><p&

91、gt;  ;*******t01延時(shí)顯示程序 ****** </p><p>  T01:MOV 47H,#10</p><p>  GO10:MOV R6,#00</p><p>  LCALL DO18B20</p><p>  GO1:LCALL XSCX1;調(diào)顯示程序1 </p><p>

92、;  CJNE R6,#01,GO1</p><p>  DJNZ 47H,GO10</p><p><b>  RET</b></p><p>  ;******t02延時(shí)顯示程序2****** </p><p>  T02:MOV R6,#00</p><p>  GO2:LCALL

93、 SHJFL</p><p>  LCALL XSCX2</p><p>  CJNE R6,#10,GO2</p><p><b>  RET</b></p><p>  ;******正反轉(zhuǎn)程序******* </p><p>  ZFZ:MOV 24H,26H</p>

94、<p>  SETB P3.6</p><p>  CLR P3.7</p><p>  LCALL T01;正轉(zhuǎn)10秒 </p><p>  MOV P1,#07H</p><p>  LCALL TO;正轉(zhuǎn)8或3秒 </p><p>  CLR P3.6;停 </

95、p><p>  MOV 24H,27H </p><p>  LCALL TO;停2秒 </p><p>  MOV 24H,26H</p><p>  SETB P3.7</p><p>  LCALL T02;反轉(zhuǎn)十秒 </p><p>  MOV P1,#07H&l

96、t;/p><p>  LCALL TO;反轉(zhuǎn)8或3秒 </p><p><b>  CLR P3.7</b></p><p>  MOV 24H,27H </p><p>  LCALL TO;停2秒 </p><p><b>  RET</b></p&

97、gt;<p>  ;*******計(jì)算倒計(jì)時(shí)初值****** </p><p>  DJSCZ:MOV A,2AH</p><p>  ADD A,2CH</p><p><b>  DEC A</b></p><p>  MOV 42H,A</p><p>  MOV

98、 41H,#60</p><p><b>  RET</b></p><p>  ;*****定時(shí)到中斷****** </p><p>  P_T1:PUSH ACC</p><p><b>  PUSH PSW</b></p><p>  MOV TH1,#3CH

99、 ;重置計(jì)時(shí)初值 </p><p>  MOV TL1,#0BH</p><p>  DJNZ 40H,TODO1;到一秒使秒單元減一 </p><p>  MOV 40H,#20</p><p><b>  INC R6</b></p><p><b>  DE

100、C 41H</b></p><p>  MOV R2,41H</p><p>  CJNE R2,#00,TODO1</p><p>  MOV R3,42H</p><p>  CJNE R3,#00,TODO2</p><p><b>  CLR TR1</b><

101、/p><p>  LJMP TODO1</p><p>  TODO2:DEC 42H ;到一分鐘使分單元減一 </p><p>  MOV 41H,#60</p><p>  TODO1:POP PSW</p><p><b>  POP ACC</b></p>&

102、lt;p><b>  RETI</b></p><p>  ;****時(shí)間分離并緩存 **** </p><p>  SHJFL:MOV A,41H ;將秒分離到兩個(gè)單元里 </p><p>  MOV B,#10 ;一個(gè)存放個(gè)位,一個(gè)存放十位</p><p><b>  D

103、IV AB</b></p><p>  MOV 36H,B</p><p>  MOV 37H,A</p><p>  MOV A,42H</p><p>  MOV B,#10 ;將分鐘數(shù)分離到兩個(gè)單元 </p><p>  DIV AB;一個(gè)存放各位,一個(gè)存放十位 &l

104、t;/p><p>  MOV 38H,B</p><p>  MOV 39H,A</p><p><b>  RET</b></p><p>  ;************聲光提示程序 ********</p><p>  SHGTS:MOV P1,#06H</p><

105、p>  LCALL DL1S ;蜂鳴一秒 </p><p>  MOV P1,#07H</p><p>  LCALL DL1S;亮燈一秒 </p><p>  MOV P1,#00H</p><p><b>  RET</b></p><p>  ;*****顯示程序一

106、***** </p><p>  XSCX1:MOV R0,#30H ;數(shù)據(jù)首地址 </p><p>  MOV P1,#05H ;選顯示數(shù)碼管 </p><p>  LCALL DISP; 顯示模式 </p><p>  INC R0</p><p>  MOV P1,#04

107、H</p><p>  LCALL DISP ;顯示水位 </p><p><b>  INC R0</b></p><p>  MOV P1,#03H</p><p>  LCALL DISP;顯示狀態(tài) </p><p><b>  INC R0</b&g

108、t;</p><p>  MOV P1,#02H</p><p>  LCALL DISP;顯示狀態(tài) </p><p><b>  INC R0</b></p><p>  MOV P1,#01H</p><p>  LCALL DISP ;顯示溫度 </p>

109、<p><b>  INC R0</b></p><p>  MOV P1,#00H </p><p>  LCALL DISP ;顯示溫度 </p><p><b>  RET</b></p><p>  ;******顯示程序二***** </p>

110、<p>  XSCX2:MOV R0,#36H ;數(shù)據(jù)首地址 </p><p>  MOV P1,#05H ;選擇數(shù)碼管 </p><p>  LCALL DISP</p><p>  INC R0;改地址</p><p>  MOV P1,#04H;改數(shù)碼管 </p>

111、<p>  LCALL DISP</p><p><b>  INC R0</b></p><p>  MOV P1,#02H</p><p>  LCALL DISP</p><p><b>  INC R0</b></p><p>  MOV

112、P1,#01H</p><p>  LCALL DISP</p><p><b>  RET</b></p><p>  ;*****位顯示程序****** </p><p>  DISP:MOV DPTR,#LED_TAB</p><p>  MOV A,@R0</p>

113、<p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  LCALL DL1MS</p><p><b>  RET</b></p><p>  LED_TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,

114、07H</p><p>  DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H</p><p>  DB 76H,38H,73H,31H,3EH,6EH,40H,80H,00H,67H</p><p>  ;****18B20的驅(qū)動(dòng)機(jī)溫度轉(zhuǎn)換程序****** </p><p>  DO18B20:MOV 50H,#04&

115、lt;/p><p>  GOTO: LCALL RE_TEMP ;對(duì)傳感器設(shè)置及讀取 </p><p>  LCALL TURN ;轉(zhuǎn)化溫度子程序 </p><p>  LCALL DISPLAY ;數(shù)據(jù)轉(zhuǎn)換緩存程序 </p><p>  DJNZ 50H,GOTO

116、 ;循環(huán) </p><p><b>  RET</b></p><p>  RE_TEMP: SETB DQ ;對(duì)DS18B20初始化及讀取</p><p>  ACALL RESET_1820 ;調(diào)用復(fù)位子程序 </p><p>  JB FLAG, ST

117、 ;判斷DS1820是否存在? </p><p><b>  RET </b></p><p>  ;*****復(fù)位子程序 ***** </p><p>  RESET_1820: SETB DQ </p><p><b>  NOP </b></p>&l

118、t;p>  CLR DQ ;主機(jī)發(fā)出延時(shí)501微秒的復(fù)位低脈沖 </p><p>  DLY: MOV R0,#250 </p><p>  TTO2: DJNZ R0,TTO2 ;然后拉高數(shù)據(jù)線,等待DS18B20回應(yīng) </p><p>  SETB DQ </p><p>&l

119、t;b>  NOP </b></p><p><b>  NOP </b></p><p><b>  NOP </b></p><p>  MOV R0,#35 </p><p>  T2: JNB DQ ,T3 ;等待DS18B20回

120、應(yīng),回應(yīng)0電平 </p><p>  DJNZ R0, T2 ;等70us </p><p><b>  JMP T4</b></p><p>  T3: SETB FLAG ;置標(biāo)志位,表示DS1820存在 </p><p><b>  JMP T5 &l

121、t;/b></p><p>  T4: MOV FLAG,#00H ;清標(biāo)志位,表示DS1820不存在 </p><p><b>  JMP T7 </b></p><p>  T5: MOV R0,#120 </p><p>  T6: DJNZ R0,T6

122、 ;時(shí)序要求延時(shí)60-240us時(shí)間 </p><p>  T7: SETB DQ </p><p><b>  RET </b></p><p>  ;*******子程序溫度傳感工作程序 **** </p><p>  ST:

123、 ; DS18B20存在 </p><p>  MOV A,#0CCH ;跳過(guò)ROM匹配 p217 </p><p>  ACALL WRITE_1820 ;寫入數(shù)據(jù) </p><p>  MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令 </p><p>  ACALL WRITE_182

124、0 ;寫入數(shù)據(jù) </p><p>  ACALL RESET_1820 ;準(zhǔn)備讀溫度前先復(fù)位 </p><p>  MOV A,#0CCH ;跳過(guò)ROM匹配 </p><p>  ACALL WRITE_1820 ;寫入數(shù)據(jù) </p><p>  MOV A,#0BEH

125、 ;發(fā)出讀溫度命令 </p><p>  ACALL WRITE_1820 ;寫入數(shù)據(jù) </p><p>  ACALL READ_1820 ;讀出溫度數(shù)據(jù) </p><p><b>  RET </b></p><p>  ;******寫入程

126、序 ******* </p><p>  WRITE_1820: ;寫入DS18B20(有具體的時(shí)序要求) </p><p>  MOV R2,#8 ;一共8位數(shù)據(jù) </p><p><b>  CLR C </b></p><p>  WR

127、1: CLR DQ ;總線拉低,開始寫入 </p><p>  MOV R3,#8 </p><p>  TTO: DJNZ R3,TTO ;保持16微秒以上 </p><p>  RRC A ;把字節(jié)DATA分成8個(gè)BIT環(huán)移給C <

128、/p><p>  MOV DQ, C ;寫入一個(gè)BIT,地位在前,高位在后 </p><p>  MOV R3,#23 </p><p>  TTO1: DJNZ R3,TTO1 ;等待46微妙 </p><p>  SETB DQ ;重新釋放

129、總線 </p><p><b>  NOP </b></p><p>  DJNZ R2,WR1 ;寫入下一個(gè)BIT </p><p>  SETB DQ </p><p><b>  RET </b></p><p> 

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論