




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一、設(shè)計(jì)目標(biāo)1、全自動(dòng)洗衣機(jī)用51系列單片機(jī)89C51控制全自動(dòng)洗衣機(jī)的運(yùn)行,使其能自動(dòng)地完成進(jìn)水、洗滌、漂洗、脫水等功能。不同的衣物,洗滌、漂洗、脫水和洗衣電機(jī)正反轉(zhuǎn)所用的時(shí)間不同,要求設(shè)計(jì)能夠?qū)崿F(xiàn)過程選擇,并在LED顯示屏上顯示過程代碼。在運(yùn)行的時(shí)候能顯示完成整個(gè)過程的剩余時(shí)間。2、洗衣機(jī)主要功能:進(jìn)水、洗滌、脫水、排水具體功能有浸泡、強(qiáng)力洗、輕柔洗、標(biāo)準(zhǔn)洗、快速洗、單獨(dú)洗、單獨(dú)脫水、漂洗脫水二、設(shè)計(jì)過程洗衣機(jī)要實(shí)現(xiàn)衣服的洗滌、漂洗和脫水,離不開進(jìn)水、電機(jī)正轉(zhuǎn)、電機(jī)反轉(zhuǎn)和排水這四個(gè)動(dòng)作。上述四個(gè)動(dòng)作,是通過單片機(jī)的P0端口,做輸出端口,去控制雙向可控硅通斷來實(shí)現(xiàn)的,如下圖所示。同時(shí)加上輸入開關(guān)的按鈕、數(shù)碼管顯示器、蜂鳴接警器和欠壓檢測(cè)保護(hù)電路等,就可以形成完整的單片機(jī)控制系統(tǒng)。通過軟件編程達(dá)到對(duì)整個(gè)洗衣過程進(jìn)行控制、檢測(cè)以及與用戶交互。洗衣機(jī)單片機(jī)控制系統(tǒng)方框圖三、設(shè)計(jì)結(jié)果(1)硬件部分1、電路圖PCB版圖2(2)、匯編語言洗衣機(jī)的一次洗衣過程控制過程主要為順序控制,如先進(jìn)水、洗滌(電機(jī)正轉(zhuǎn)反轉(zhuǎn))、再排水脫水。將把脫水、洗滌、進(jìn)水單獨(dú)編為一個(gè)子程序,由主程序根據(jù)過程選擇,不斷調(diào)用,可以減少源程序的長度,不同的洗衣過程,三大動(dòng)作的時(shí)間不同,這可以通過建立數(shù)據(jù)表格,通過查表的方式獲得每個(gè)洗衣過程所需時(shí)間。此外,還需編出顯示子程序,延時(shí)子程序供主程序不斷調(diào)用。1、流程圖(1)、洗衣機(jī)控制系統(tǒng)主程序流程圖
(2)洗滌動(dòng)作子程序流程圖(3)脫水子程序流程圖安全開關(guān)
是否斷開.
—?r、顯示鳴叫」丕口 —電機(jī)動(dòng)電機(jī)動(dòng)\J安全開
關(guān)是否延時(shí)5安全開是否暫口安全開關(guān)斷開是 暫停處是否暫不平衡修
正>3次“脫水不平衡卜不平衡修正H不平衡修正H重置修正”脫水時(shí)間到否延時(shí)30秒,關(guān)閉排水2、程序ORG0000HLJMPMAINORG0030H;延遲10ms程序;使用R0,R1DELAY10MS:MOVR0,#100D;DELAY10MS02:MOVR1,#23DDELAY10MS01:DJNZR1,DELAY10MS01DJNZR0,DELAY10MS02RET;顯示子程序;20H.0閃爍標(biāo)志位:=0不閃爍,=1在1s內(nèi)亮滅一次;20H.1程序開始標(biāo)志:=1開始,=0選擇;顯示緩沖:50H;經(jīng)過的時(shí)間:53H,52H,51H二分鐘,秒,20ms的次數(shù);總時(shí)間:TOTALTIME=40HTOTALTIMEEQU40HDISPLAY:PUSHACCPUSHPSWSETBRS0JNB20H.1,DISPLAY01MOVA,50H ;高位是否為零CJNEA,#0AH,DISPLAY05DISPLAY05:JNCDISPLAY06XRLA,#0F0H ;高位為零不顯示MOV50H,ADISPLAY06:JNB20H.0,DISPLAY01;是否需閃爍MOVA,51HCJNEA,#25D,DISPLAY02;DISPLAY02:JCDISPLAY01MOV50H,#0FFH;暗顯示(不亮)DISPLAY01:MOVA,50H ;顯示低位ANLA,#0FH;MOVDPTR,#DISPLAYTAB;MOVCA,@A+DPTR;MOVP2,A;SETBP0.6CLRP0.7LCALLDELAY10MSMOVA,50H ;顯示高位SWAPAANLA,#0FH;MOVDPTR,#DISPLAYTAB;MOVCA,@A+DPTR;MOVP2,A;CLRP0.6SETBP0.7LCALLDELAY10MSINC51H;累計(jì)時(shí)間MOVA,#50D;XRLA,51H ;JNZDISPLAY03;50次的20ms未到MOV51H,A;INC52H;1sMOVA,#60D;XRLA,52H ;JNZDISPLAY03MOV52H,A;INC53H;1minDISPLAY03:JNB20H.0,DISPLAY04;MOVA,TOTALTIME;計(jì)算剩余時(shí)間CLRCSUBBA,53H ;MOVB,#10D ;16進(jìn)制轉(zhuǎn)換到10進(jìn)制DIVABSWAPAXRLA,B;MOV50H,A;DISPLAY04:POPPSWPOPACCRETDISPLAYTAB: ;共陽數(shù)碼管反向編碼DB03H,9FH,25H,0DH,99H;01234DB49H,41H,1FH,01H,09H;56789DB11H,0C1H,63H,85H,61H;ABCDEDB0FFH ;暗;重算時(shí)間;入口數(shù)據(jù):A=總時(shí)間(分)CALUTIME:MOVTOTALTIME,ACLRAMOV52H,A ;秒MOV53H,A ;經(jīng)過的分鐘RET;鳴叫一下,時(shí)長120msPLAY:SETBP1.6MOVR0,#12D;PLAY1:LCALLDISPLAYDJNZR0,PLAY1CLRP1.6RET;鳴叫六下,時(shí)長240ms*12ALARM:SETBP1.6MOVR1,#11D;ALARM2:MOVR0,#12D;ALARM3:LCALLDISPLAYDJNZR0,ALARM3CPLP1.6DJNZR1,ALARM2RET;;;;;洗滌用子程序;洗滌時(shí)暫停按鍵XDPAUSE:JBP0.0,XDPS01LCALLDISPLAYJBP0.0,XDPS01PUSH52HPUSH53HCLR20H.0 ;不閃爍MOVA,P1PUSHACCMOVP1,#00HLCALLPLAYXDPS02:LCALLDISPLAYJNBP0.0,XDPS02;等待按鍵釋放XDPS03:LCALLDISPLAYJBP0.0,XDPS03LCALLDISPLAYJBP0.0,XDPS03LCALLPLAYXDPS04:LCALLDISPLAYJNBP0.0,XDPS04;等待按鍵釋放POPACCMOVP1,ACCSETB20H.0POP53HPOP52HXDPS01:RET;洗滌時(shí)延遲0.32sDELAY320MS:MOVR2,#14D;SJMPXDELAY01;洗滌時(shí)延遲0.56sXDELAY560MS:MOVR2,#28D
SJMPXDELAY01;洗滌時(shí)延遲1sXDELAY1S:MOVR2,#50DSJMPXDELAY01;洗滌時(shí)延遲1.6sDELAY1600MS:MOVR2,#80DXDELAY01:LCALLDISPLAYLCALLXDPAUSE;暫停按鍵LCALLIFINWATER;水位開關(guān)DJNZR2,XDELAY01RET;洗滌前進(jìn)水子程序INWATER:JNBP0.2,PI1;SETBP1.2MOVA,53H;ADDA,#20D;MOV59H,A;PI3:MOVA,53H;XRLA,59H;JNZPI2LCALLERRORE4SJMPINWATERPI2:JNBP0.2,PI4;LCALLDISPLAYLCALLXDPAUSESJMPPI3PI4:CLRP1.2PI1:RET;洗滌時(shí)是否再進(jìn)水IFINWATER:JNBP0.2,IF1;MOVA,P1;PUSHACCMOVP1,#00H;LCALLINWATER;進(jìn)水POPACCMOVP1,A;IF1:RET;不能進(jìn)水報(bào)警ERRORE4:PUSH52HPUSH53HCLR20H.0MOVA,P1;PUSHACCMOVP1,#00H;MOV50H,#0E4H10LCALLALARM
10E4PK2:LCALLDISPLAYJNBP0.1,E4PK2;LCALLDISPLAYJNBP0.1,E4PK2E4PK3:LCALLDISPLAYJBP0.1,E4PK3LCALLDISPLAYJBP0.1,E4PK3SETB20H.0POPACCMOVP1,ACC;POP53HPOP52HRET;排水時(shí)延遲1sDELAY1000MS:MOVR2,#50D;DLY51:LCALLDISPLAYLCALLXDPAUSE ;暫停按鍵DJNZR2,DLY51;RET;排水子程序OUTWATER:CLRASETBP1.3JBP0.2,OUTW1MOVR7,#60DOUTW2:LCALLDELAY1000MSJBP0.2,OUTW4DJNZR7,OUTW2LCALLERRORE1SJMPOUTWATEROUTW4:CLRCMOVA,#60DSUBBA,R7OUTW1:ADDA,#60DMOVR7,AOUTW3:LCALLDELAY1000MSDJNZR7,OUTW3RET;不能排水報(bào)警ERRORE1:PUSH52HPUSH53HCLR20H.0MOVA,P1;PUSHACCMOVP1,#00H;MOV50H,#0E1H11LCALLALARM
11E1PK2:LCALLDISPLAYJNBP0.1,E1PK2;LCALLDISPLAYJNBP0.1,E1PK2E1PK3:LCALLDISPLAYJBP0.1,E1PK3LCALLDISPLAYJBP0.1,E1PK3SETB20H.0POPACCMOVP1,ACC;POP53HPOP52HRET;脫水時(shí)暫停按鍵TPKEY:JBP0.0,TPK1;LCALLDISPLAYJBP0.0,TPK1;PUSH52HPUSH53HCLR20H.0LCALLPLAYMOVA,P1;PUSHACCJNBACC.0,TPK6CLRP1.0MOVR0,#250;延遲5秒TPK5:LCALLDISPLAYDJNZR0,TPK5TPK6:MOVP1,#00H;TPK2:LCALLDISPLAYJNBP0.0,TPK2;TPK3:LCALLDISPLAYJBP0.0,TPK3LCALLDISPLAYJBP0.0,TPK3LCALLPLAYSETB20H.0SETBP1.3MOVR0,#250;延遲5秒TPK4:LCALLDISPLAYDJNZR0,TPK4POPACCMOVP1,ACC;POP53HPOP52HTPK1:RET;脫水時(shí)開蓋,脫水時(shí)安全報(bào)警12IFOPEN:ERRORE2:JNBP0.1,TTPK1;LCALLDISPLAYJNBP0.1,TTPK1;PUSH52HPUSH53HCLR20H.0MOVA,P1;PUSHACC;LCALLALARMJNBACC.0,TTPK6CLRP1.0MOVR0,#250;延遲5秒TTPK5:LCALLDISPLAYDJNZR0,TTPK5TTPK6:MOVP1,#00H;MOV50H,#0E2HTTPK2:LCALLDISPLAYJBP0.1,TTPK2;TTPK3:LCALLDISPLAYJBP0.1,TTPK2LCALLDISPLAY;JBP0.1,TTPK3SETB20H.0SETBP1.3MOVR0,#250;延遲5秒TTPK4:LCALLDISPLAYDJNZR0,TPK4POPACCMOVP1,ACC;POP53HPOP52HTTPK1:RET;脫水時(shí)延遲4sDELAY4S:MOVR2,#200D;DLY431:LCALLDISPLAYLCALLTPKEY ;暫停按鍵LCALLIFOPEN ;安全開關(guān)DJNZR2,DLY431;RET;脫水時(shí)延遲3sDELAY3S:MOVR2,#150D;DLY321:LCALLDISPLAYLCALLTPKEY ;暫停按鍵LCALLIFOPEN ;安全開關(guān)13DJNZR2,DLY321;RET;主程序開始;選擇程序:30H,程序開始20H.1=1MAIN:MOVSP,#60H;CLR20H.0CLR20H.1MOVA,#00H;MOVP1,A;MOV50H,A;MOV51H,A;MOV52H,A;MOV53H,A;MOV30H,A;LP1: ;有無按鍵LCALLDISPLAYJBP0.0,LP1;LCALLDISPLAY;按鍵去抖動(dòng)JBP0.0,LP1;LP3:INC30HMOVA,#0AH ;共有九種可選擇XRLA,30H;JNZLP2MOV30H,#01H;LP2:LCALLPLAYMOV50H,30H;LP4:LCALLDISPLAYJNBP0.0,LP4;等待按鍵釋放CLRAMOV52H,A;LP5:LCALLDISPLAYMOVA,52H;XRLA,#03H ;3秒延遲到否JZSTART ;開始洗衣JBP0.0,LP5;SJMPLP3 ;重選洗衣程序START:LCALLALARMSETB20H.1CLRAMOV52H,A;MOVA,30H;DECAMOVB,#03H;MULABMOVDPTR,#PROCTAB;JMP@A+DPTRPROCTAB:LJMPPROC1 ;洗衣程序1LJMPPROC2 ;洗衣程序2LJMPPROC3 ;洗衣程序314LJMPPROC4 ;洗衣程序4
14LJMPPROC5 ;洗衣程序5LJMPPROC6 ;洗衣程序6LJMPPROC7 ;洗衣程序7LJMPPROC8 ;洗衣程序8LJMPPROC9 ;洗衣程序9PROC1:MOVA,#59DLCALLCALUTIMESETB20H.0LCALLINWATER;進(jìn)水MOVA,#57DLCALLCALUTIME;洗滌3分鐘MOVR7,#42D;XIDI0:SETBP1.0LCALLDELAY1600MSCLRP1.0LCALLXDELAY560MSSETBP1.1LCALLDELAY1600MSCLRP1.1LCALLXDELAY560MSDJNZR7,XIDI0MOVR6,#01D ;共4次*3分鐘=12分鐘MOVR7,#30D ;停2分鐘XIDI01:LCALLXDELAY1SDJNZR7,XIDI01MOVR7,#14D ;洗滌1分鐘XIDI03:SETBP1.0LCALLDELAY1600MSCLRP1.0LCALLXDELAY560MSSETBP1.1LCALLDELAY1600MSCLRP1.1LCALLXDELAY560MSDJNZR7,XIDI03DJNZR6,XIDI02MOVR7,#30D ;停2分鐘XIDI04:LCALLXDELAY1SDJNZR7,XIDI04LJMPPROC3;以下同過程3PROC2:;(待完成)LJMPoverPROC3:MOVA,#42DLCALLCALUTIMESETB20H.0LCALLINWATER;進(jìn)水MOVA,#40DLCALLCALUTIME;洗滌15分鐘15MOVR7,#8D;XIDI:SETBP1.0LCALLDELAY1600MSCLRP1.0LCALLXDELAY560MSSETBP1.1LCALLDELAY1600MSCLRP1.1LCALLXDELAY560MSDJNZR7,XIDI;快速洗滌15秒MOVR7,#11DQXIDI:SETBP1.0LCALLDELAY320MSCLRP1.0LCALLDELAY320MSSETBP1.1LCALLDELAY320MSCLRP1.1LCALLDELAY320MSDJNZR7,QXIDIMOVA,#25DLCALLCALUTIME;排水LCALLOUTWATERMOVA,#23DLCALLCALUTIME;第一次脫水MOVR7,#04D秒TS1:SETBP1.0LCALLDELAY4SCLRP1.0LCALLDELAY3SDJNZR7,TS1SETBP1.0MOVR7,#10DTS2:LCALLDELAY4SDJNZR7,TS2CLRP1.0MOVR7,#250TS25:LCALLDISPLAYDJNZR7,TS25CLRP1.3MOVA,#20DLCALLCALUTIME;第一次漂洗LCALLINWATERMOVA,#18DLCALLCALUTIME;洗滌2分鐘MOVR7,#08DXIDI1:SETBP1.0;間隙脫水30;長脫水90秒
;;延遲5秒16LCALLDELAY1600MSCLRP1.0LCALLXDELAY560MSSETBP1.1LCALLDELAY1600MSCLRP1.1LCALLXDELAY560MSDJNZR7,XIDI1;快速洗滌15秒MOVR7,#11DQXIDI1:SETBP1.0LCALLDELAY320MSCLRP1.0LCALLDELAY320MSSETBP1.1LCALLDELAY320MSCLRP1.1LCALLDELAY320MSDJNZR7,QXIDI1MOVA,#16DLCALLCALUTIME;排水LCALLOUTWATERMOVA,#14DLCALLCALUTIME;第二次脫水MOVR7,#04DTS21:SETBP1.0LCALLDELAY4SCLRP1.0LCALLDELAY3SDJNZR7,TS21SETBP1.0MOVR7,#10D ;TS22:LCALLDELAY4SDJNZR7,TS22CLRP1.0MOVR7,#250;延遲5秒TS26:LCALLDISPLAYDJNZR7,TS26CLRP1.3MOVA,#12DLCALLCALUTIME;第二次漂洗LCALLINWATERMOVA,#
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度退股及員工持股計(jì)劃合同
- 個(gè)人股權(quán)轉(zhuǎn)讓合同2025年度含業(yè)績對(duì)賭條款
- 二零二五年度臨時(shí)項(xiàng)目經(jīng)理職務(wù)聘用與成果轉(zhuǎn)化合同
- 二零二五年度旅游團(tuán)隊(duì)保險(xiǎn)責(zé)任免除聲明
- 電線電纜購銷合同
- 管理層勞動(dòng)合同工資
- 個(gè)人數(shù)字資產(chǎn)管理協(xié)議
- 全新池塘出租協(xié)議
- 月餅產(chǎn)品代銷合同
- 鄉(xiāng)村旅游發(fā)展策略與實(shí)施方案
- AQ6111-2023個(gè)體防護(hù)裝備安全管理規(guī)范
- GGD交流低壓配電柜運(yùn)行、維護(hù)說明書、安裝、操作手冊(cè)
- JCT2354-2016 衛(wèi)生陶瓷企業(yè)安全生產(chǎn)規(guī)范
- 2024年全國國家版圖(中小學(xué)組)知識(shí)競賽題庫及答案
- QBT 2605-2003 工業(yè)氯化鎂行業(yè)標(biāo)準(zhǔn)
- 2024年江西機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測(cè)試題庫帶答案
- 《拒絕沉迷手機(jī)遠(yuǎn)離“垃圾快樂”》班會(huì)課件
- 普通高中政治課程標(biāo)準(zhǔn)測(cè)試題及答案
- 2024年知識(shí)競賽-《民用爆炸物品安全管理?xiàng)l例》知識(shí)競賽筆試參考題庫含答案
- 屋頂 屋頂?shù)呐潘O(shè)計(jì) 屋頂?shù)呐潘绞剑ńㄖ?gòu)造)
- Web-of-sciencenew文獻(xiàn)檢索-課件
評(píng)論
0/150
提交評(píng)論