標題: 單片機全自動洗衣機程序+仿真+原理圖設計調試與分析 [打印本頁]
作者: 1272126260 時間: 2018-12-3 21:34
標題: 單片機全自動洗衣機程序+仿真+原理圖設計調試與分析
0.png (42.63 KB, 下載次數: 112)
下載附件
2018-12-4 03:11 上傳
學習電機驅動、繼電器的原理及編程方法。
學習鍵盤的原理及編程方法。
掌握51單片機定時器與中斷的使用。
2、要求- 請參照主要技術指標和說明完成本次設計。
- 畫出硬件連接電路圖,說明各個控制信號的作用。
- 畫出程序流程圖,編寫程序,硬件連接調試,直至正確。
- 編寫設計文檔。
三、主要技術指標和說明● 由獨立式按鍵確定功能鍵,包括“標準”、“經濟”、“單獨”、“排水”、“強洗”、“弱洗”等等;
● 排水與進水由時間控制;
● 開機默認狀態為標準方式、強洗;
● 在洗滌和漂洗過程中,電動機正轉一次,反轉一次,連續運行;
● 在進水和脫水過程中,相應指示燈亮,繼電器吸合;
● 當在執行某個步驟時,只有“K3”鍵有效,按下暫停,再按下恢復運行。
摘要
全自動洗衣機就是將洗衣的全過程(泡浸-洗滌-漂洗-脫水)預先設定好N個程序,洗衣時選擇其中一個程序,打開水龍頭和啟動洗衣機開關后洗衣的全過程就會自動完成,洗衣完成時由蜂鳴器發出響聲。洗衣機的標準洗衣程序是:洗滌——脫水——脫水——漂洗——脫水——漂洗——脫水。經濟洗衣程序少一次漂洗和脫水過程。
洗衣機控制器由單片機作為控制器的核心所構成,該控制器具有以下特點:
(1)具有較強的抗干擾能力,當受到外部強干擾,程序出錯時,可以自動使系統復位重新執行程序。
(2)采用無噪聲、無電磁干擾的雙向晶閘管作為控制元件,控制電磁閥和電機。
(3)具有欠壓和過壓保護,欠壓時,控制器不工作;超壓時,保護電路起作用。
(4)具有瞬間掉電保護功能,電源短時間停電后,電壓恢復時,能夠維持原運行程序的工作狀態并繼續完成洗衣程序。
(5)各種操作和洗衣機的運行狀態均用LED顯示.
一、設計任務與要求
利用51單片機模擬全自動智能洗衣機。
- 通過“K1”鍵步進改變“標準]經濟、單獨、排水”四種方式,執行相應的程序。對應指示燈亮。
- 通過“K2”鍵步進改變“強洗、弱洗”兩種方式,執行相應的程序,對應指示燈亮。
- 通過“K3”鍵控制洗衣機運行、暫停和解除報警功能。
一般洗衣機的步驟為:洗滌,漂洗,脫水,當處于某種狀態時,對應的指示燈以0.7S周期閃爍,當洗衣機在洗滌過程中,洗滌指示燈閃爍。可以通過方式選擇設定具體的運行過程。
- 標準方式:進水—> 洗滌 —> 排水 —> 進水 —> 漂洗 —> 排水 —>進水 —> 漂洗—> 排水 —> 脫水。
- 經濟方式:進水 —> 洗滌 —> 排水 —> 進水 —> 漂洗 —> 排水 —> 脫水。
- 單獨方式:進水 —> 洗滌。
- 排水方式:排水 —> 脫水。
- 強洗即電動機轉速快,弱洗即電動機轉速慢。
- 開機默認狀態為標準方式、強洗。
- 在洗滌和漂洗過程中,電動機正轉一次,反轉一次,連續運行。
- 在進水和脫水過程中,相應的指示燈亮,繼電器吸合。
- 當執行某個步驟時,只有“K3”鍵有效,按下暫停,再按恢復運行。
全自動洗衣機的實現方案組成框圖如圖一所示。它主要有電源、單片機最小系統、開關檢測電路、控制按鍵輸入電路和LED指示電路、繼電器和電動機電路。

圖二
電動機驅動采用LD298電動機驅動芯片,單片機P25、P24與L298的IN1、IN2分別對應相連,ENA直接接VCC,后面所加4個二極管VD3到VD6起連續作用。電動機驅動電路原理圖如圖二所示。
電動機驅動芯片的電源VCC和VS之間通過0歐的電阻R20進行隔離后,對LD298進行供電。
如圖二所示,K3鍵接到單片機的外部中斷0,通過中斷實現運行、暫停、繼續運行的控制功能,當K3鍵第一次按下時(num2=1)正常運行,當K3鍵第二次按下時(num2=2)暫停運行。
如圖二所示,單片機的P23用來控制排水閥繼電器,P22用來控制進水閥繼電器,P22和P23對應輸出為0時對應的閥打開,輸出為1時對應的閥關閉。
軟件設計
1)流程圖
主程序流程圖如圖三所示。
程序附在最后

圖三
1、軟件調試:
寫程序代碼時應先搭建好硬件電路,然后根據硬件電路寫程序代碼。在調試程序過程中,先保證程序能夠運行無錯誤,然后在燒到實物中觀察結果。
2、硬件調試:
硬件電路設計與軟件設計完成后,將程序燒寫到單片機中,觀察運行結果是否符合要求。如果不符合設計要求,應先檢查硬件是否能正常工作,如用實驗板自帶的正確代碼檢測硬件電路;然后根據設計要求到程序代碼中分模塊進行調試,比如該設計需用到液晶、矩陣鍵盤、定時器、獨立鍵盤、中斷和LED燈等,如果測試過程中液晶模塊不能正常顯示或者顯示亂碼,應將液晶模塊單獨分離出來進行測試,其他模塊亦是如此。程序調試完成后,應在硬件電路上反復運行,以確保程序和硬件電路的穩定性。
這次單片機程序設計專周,我感覺收獲了很多,尤其是在提升自身的工作和自主學習能力方面。我在大二上學期就開始在實驗室自學單片機,但是因為是自學,自覺性就很差,而且自學也是一件比較難的事,學習過程中一直都是學習和模仿別人的代碼,看著別人寫出來的程序代碼,總覺得都能看懂,所以自己基本上沒有自己構思寫程序代碼,
唯一做過一次全自動洗衣機也是看著別人寫的源程序代碼,不停的修修改改。
這次剛拿到設計項目時,本以為不難,一開始還信心滿滿,然而開始做就感覺有些茫然了,尤其是項目中還有些知識是我還沒學過的,比如液晶。所以我們組就必須得先把液晶學了,把需要學習的模塊學完后,先是毫無頭緒的寫主程序,整個過程舉步維艱,然后我們去學習了別人的設計方法,開始分工和分模塊進行。組內分組搭建硬件電路,和寫程序,先把電路搭建好,再寫程序。寫程序的過程中,我們是把程序分成幾個小模塊:液晶顯示模塊、鍵盤輸入模塊、搶答模塊,然后每個模塊寫成子程序,在主程序中只需調用各個子程序即可。
在程序調試過程中,也遇到各種問題,但都逐個解決了。在整個設計過程中,我學到了許多課堂上老師無法傳授的知識,也真正地做出了一件自己的產品。
單片機源程序如下:
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar num=0,num1=0,num2=0,num3=0,num4=0,num5=0,num6=0,flag=0,flag1=0,flag4=0,flag5=0,circle=0;
- sbit ledbiaozhun=P1^0; //LED指示燈
- sbit ledjingji =P1^1;
- sbit leddandu =P1^2;
- sbit ledpaishui =P1^3;
- sbit ledqiangxi =P1^4;
- sbit ledruoxi =P1^5;
- sbit ledxidi =P1^6;
- sbit ledpiaoxi =P1^7;
- sbit ledtuoshui =P2^0;
-
- sbit sshuiwei =P3^6; //水位開關
- sbit sgai =P3^7; //蓋開關
- sbit paishui=P2^3; //排水閥控制
- sbit jinshui=P2^2; //進水閥控制
-
- sbit U2=P2^4;
- sbit U3=P2^5;
- sbit k1=P3^0; // 步進改變"標準、經濟、單獨、排水"四種方式
- sbit k2=P3^1; //強洗、弱洗
- sbit k3=P3^2; //運行、暫停和解除報替功能
- void init()
- {
- uchar a=0,b=0,c=0;
- TMOD=0x01; //T0工作于方式1
- TH0=(65536-50000)/256; //定時時間50ms
- TL0=(65536-50000)%256;
- EA=1; //開總中斷
- ET0=1; //開T0中斷
- TR0=0; //關閉T0
- EX0=1; //開外部中斷0
- IT0=1; //外部中斷0邊沿觸發方式
- U2=1; //電機停轉
- U3=1;
- P0=0xff;
- }
- void delayms(uint xms) //延時
- {
- uint i,j;
- for(i=xms;i>0;i--)
- for(j=110;j>0;j--);
- }
-
- void key() //控制按鍵
- {
- circle=1;
- if(k1==0) //標準、經濟、單獨、排水按下
- {
- delayms(10); //延時消抖
- if(k1==0) //再判
- {
- num++; //K1按下次數加1
- if(num==4)
- num=0; //等于4,按下次數清0
- while(!k1); //等待按鍵釋放
- }
- }
-
- if(k2==0) //強弱選擇
- {
- delayms(10); //延時消抖
- if(k2==0) //再判
- {
- num1++; //按下次數加1
- if(num1==2)
- num1=0; //等于2,按下次數清0
- while(!k2); //等待按鍵釋放
- }
- }
- }
-
- void qiang() //強
- {
- if(flag4==0) //電機正轉
- {
- U2=0;
- U3=1;
- }
-
- if(flag4==1) //電機反轉
- {
- U2=1;
- U3=0;
- }
- }
- void ruo() //弱
- {
- if(flag5==0) //電機正轉
- {
- U2=0;
- U3=1;
- }
-
- if(flag5==1) //電機反轉
- {
- U2=1;
- U3=0;
- }
- }
-
- void qbiaozhun() //強標準
- {
- /*******洗滌********/
- num=0;
- num1=0;
- ledbiaozhun=0;//標準洗LED亮
- ledqiangxi=0; //強洗LED亮
- jinshui=0; //打開進水閥
- ledxidi=1; //洗滌
- ledpiaoxi=1; //漂洗LED亮
- ledtuoshui=1; //脫水LED亮
- delayms(5000);//水位監測
- jinshui=1; //關閉進水閥
- ledxidi=0;
- flag1=1; //
- TR0=1; //啟動定時器T0
- while(flag==0)//flag為洗滌次數標志位
- {
- if(flag==0&&num2==1)
- {
- TR0=1;
- flag1=1; //
- qiang();
- }
- if(flag==0&&num2==2)
- {
- TR0=0; //關閉定時器T0
- U2=1; //電機停止
- U3=1;
- }
- };
- //漂洗
- U2=1;
- U3=1;
- TR0=0;
- flag1=0;
- paishui=0; //排水
- ledtuoshui=1;
- ledpiaoxi=1;
- ledxidi=1;
- delayms(5000);
- paishui=1; //關閉排水
- delayms(100);
- jinshui=0; //打開進水
- delayms(5000);
- jinshui=1; //關閉進水
- ledpiaoxi=0;
- flag1=2;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==1)
- {
- if(flag==1&&num2==1)//強漂洗
- {
- TR0=1;
- flag1=2;
- qiang();
- }
- if(flag==1&&num2==2)//暫停強漂洗
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- //漂洗
- U2=1;
- U3=1;
- TR0=0;
- flag1=0;
- paishui=0;
- ledtuoshui=1;
- ledpiaoxi=0;
- delayms(5000);
- paishui=1;
- delayms(100);
- jinshui=0;
- delayms(5000);
- jinshui=1;
- flag1=2;
- TR0=1;
- num3=0;
- num4=0;
-
- while(flag==2)
- {
- if(flag==2&&num2==1)
- {
- TR0=1;
- flag1=2;
- qiang();
- }
- if(flag==2&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- } ;
- //脫水
- U2=1;
- U3=1;
- TR0=0;
- flag1=0;
- paishui=0;//打開排水
- ledtuoshui=0;
- ledpiaoxi=1;
- while(sgai);
- paishui=1;
- delayms(1000);
- flag1=3;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==3)
- {
- if(flag==3&&num2==1)
- {
- TR0=1;
- U2=0;
- U3=1;
- flag1=3;
- }
- if(flag==3&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- ledtuoshui=1;
- U2=1;
- U3=1;
- flag1=0;
- }
-
- void qjingji() //強經濟
- {
- /*******洗滌********/
- num=0;
- num1=0;
- ledjingji=0;
- ledqiangxi=0;
- ledtuoshui=1;
- ledpiaoxi=1;
- ledxidi=1;
- jinshui=0;
- delayms(5000);
- jinshui=1;
- flag1=1; //控制定時器中的洗滌指示燈
- TR0=1;
- while(flag==0)
- {
- if(flag==0&&num2==1)
- {
- TR0=1;
- flag1=1;
- qiang();
- }
- if(flag==0&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
-
- //漂洗
- TR0=0;
- U2=1;
- U3=1;
- flag1=0;
- paishui=0;
- ledjingji=0;
- ledtuoshui=1;
- ledxidi=1;
- delayms(5000);
- paishui=1;
- delayms(100);
- jinshui=0;
- delayms(5000);
- jinshui=1;
- ledpiaoxi=0;
- flag1=2;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==1)
- {
- if(flag==1&&num2==1)
- {
- TR0=1;
- flag1=2;
- qiang();
- }
- if(flag==1&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- //脫水
- TR0=0;
- U2=1;
- U3=1;
- flag1=0;
- paishui=0; //打開排水
- ledjingji=0;
- ledtuoshui=0;
- ledpiaoxi=1;
- delayms(5000);
- while(sgai);
- paishui=1;
- delayms(1000);
- flag1=3;
- TR0=1;
- flag=2;
- num3=0;
- num4=0;
- while(flag==2)
- {
- if(flag==2&&num2==1)
- {
- TR0=1;
- U2=0;
- U3=1;
- flag1=3;
- }
- if(flag==2&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- ledtuoshui=1;
- U2=1;
- U3=1;
- flag1=0;
- }
-
- void qdandu() //強單獨
- {
- num=0;
- num1=0;
- ledqiangxi=0;
- ledxidi=0;
- leddandu=0;
- jinshui=0;
- delayms(5000);
- jinshui=1;//關閉進水閥
- flag1=1;
- TR0=1;
- while(flag==0)
- {
- if(flag==0&&num2==1)
- {
- TR0=1;
- flag1=1;
- qiang();
- }
- if(flag==0&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- flag1=0;
- U2=1;
- U3=1;
- }
-
- void rbiaozhun() //弱標準
- {
- /*******洗滌********/
- num=0;
- num1=0;
- ledbiaozhun=0;
- ledruoxi=0;
- ledtuoshui=1;
- ledpiaoxi=1;
- jinshui=0;
- delayms(5000);
- jinshui=1;
- ledxidi=0;
- flag1=1;
- TR0=1;
- while(flag==0)
- {
- if(flag==0&&num2==1)
- {
- TR0=1;
- flag1=1;
- ruo();
- }
- if(flag==0&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- //漂洗
- U2=1;
- U3=1;
- TR0=0;
- flag1=0;
- paishui=0;
- ledtuoshui=1;
- ledxidi=1;
- delayms(5000);
- paishui=1;
- delayms(100);
- jinshui=0;
- delayms(5000);
- jinshui=1;
- ledpiaoxi=0;
- flag1=2;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==1)
- {
- if(flag==1&&num2==1)
- {
- TR0=1;
- flag1=2;
- ruo();
- }
- if(flag==1&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- //漂洗
- U2=1;
- U3=1;
- TR0=0;
- flag1=0;
- paishui=0;
- ledtuoshui=1;
- ledpiaoxi=0;
- delayms(5000);
- paishui=1;
- delayms(100);
- jinshui=0;
- delayms(5000);
- jinshui=1;
- flag1=2;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==2)
- {
- if(flag==2&&num2==1)
- {
- TR0=1;
- flag1=2;
- ruo();
- }
- if(flag==2&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- }
- //脫水
- U2=1;
- U3=1;
- TR0=0;
- flag1=0;
- paishui=0;
- delayms(5000);
- ledtuoshui=0;
- ledpiaoxi=1;
- while(sgai);
- paishui=1;
- delayms(1000);
- flag1=3;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==3)
- {
- if(flag==3&&num2==1)
- {
- TR0=1;
- U2=0;
- U3=1;
- flag1=3;
- }
- if(flag==3&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- ledtuoshui=1;
- U2=1;
- U3=1;
- flag1=0;
- }
-
- void rjingji() //弱經濟
- {
- /*******洗滌********/
- num=0;
- num1=0;
- ledjingji=0;
- ledruoxi=0;
- ledtuoshui=1;
- ledpiaoxi=1;
- ledxidi=1;
- jinshui=0;
- delayms(5000);
- jinshui=1; //打開進水閥,進水
- flag1=1;
- TR0=1;
- while(flag==0)
- {
- if(flag==0&&num2==1) //弱經濟洗
- {
- TR0=1;
- flag1=1;
- ruo();
- }
- if(flag==0&&num2==2) //弱經濟洗暫停
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
-
- //漂洗
- TR0=0;
- U2=1;
- U3=1;
- flag1=0;
- paishui=0; //排水閥打開
- ledjingji=0;
- ledtuoshui=1;
- ledxidi=1;
- delayms(5000);
- paishui=1; //排水閥關閉
- delayms(100);
- jinshui=0; //進水閥打開
- delayms(5000);
- jinshui=1; //進水閥關閉
- ledpiaoxi=0;
- flag1=2;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==1)
- {
- if(flag==1&&num2==1)//漂洗
- {
- TR0=1;
- flag1=2;
- ruo();
- }
- if(flag==1&&num2==2)//漂洗暫停
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- //脫水
- TR0=0;
- U2=1;
- U3=1;
- flag1=0;
- ledjingji=0;
- ledtuoshui=0;
- ledpiaoxi=1;
- paishui=0; //排水閥打開
- delayms(5000);
- while(sgai);
- paishui=1;
- delayms(3000);
- flag1=3;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==2)
- {
- if(flag==2&&num2==1)
- {
- TR0=1;
- U2=0;
- U3=1;
- flag1=3;
- }
- if(flag==2&&num2==2)
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- ledtuoshui=1;
- U2=1;
- U3=1;
- flag1=0;
- }
-
- void rdandu() //弱單獨
- {
- num=0;
- num1=0;
- ledruoxi=0;
- ledxidi=0;
- leddandu=0;
- jinshui=0; //打開進水閥,進水
- delayms(5000);
- jinshui=1;
- flag1=1;
- TR0=1; //啟動定時器T0
- while(flag==0)
- {
- if(flag==0&&num2==1) //弱單獨洗
- {
- TR0=1;
- flag1=1;
- ruo();
- }
- if(flag==0&&num2==2)//弱單獨洗暫停
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- flag1=0;
- U2=1;
- U3=1;
- }
-
- void dpaishui() //排水/脫水
- {
- num=0;
- num1=0;
- ledpaishui=0;
- ledtuoshui=0;
- jinshui=1;
- paishui=0;
- delayms(3000);
- while(sgai);
- delayms(3000);
- flag1=3;
- TR0=1;
- num3=0;
- num4=0;
- while(flag==0)
- {
- if(flag==0&&num2==1) //脫水
- {
- TR0=1;
- flag1=3;
- U2=0;
- U3=1;
- }
- if(flag==0&&num2==2)//暫停脫水
- {
- TR0=0;
- U2=1;
- U3=1;
- }
- };
- U2=1;
- U3=1;
- flag1=0;
- ledtuoshui=1;
- paishui=1; ////排水閥關閉
- }
-
- void main()
- {
- init();
- while(1)
- {
- key(); //鍵掃描
- if((num1==0&&num==0)&&circle==1) //標準 強洗
- {
- ledruoxi=1; //關閉弱洗LED
- ledpaishui=1; //關閉排水LED
- ledbiaozhun=0;//強標準LED亮
- ledqiangxi=0; //強洗LED亮
- if(num2==1)
- {
- qbiaozhun(); //強標準洗
- }
- if(num2>1) //K3鍵按下次數為2,暫停洗滌
- {
- ;
- }
- circle=0;
- }
- if(num1==0&&num==1) //經濟 強洗
- {
- ledruoxi=1;
- ledbiaozhun=1;
- ledqiangxi=0;
- ledjingji=0;
- if(num2==1)
- {
- qjingji(); //強經濟洗
- ledjingji=1;
- }
- circle=0;
- }
- if(num1==0&&num==2) //單獨 強洗
- {
- ledruoxi=1;
- ledjingji=1;
- ledqiangxi=0;
- leddandu=0;
- if(num2==1)
- {
- qdandu(); //強單獨洗
- leddandu=1;
- }
- circle=0;
- }
- if(num1==0&&num==3)
- {
- ledruoxi=1; //排水 強洗
- leddandu=1;
- ledqiangxi=0;
- ledpaishui=0;
- if(num2==1)
- {
- dpaishui(); //單排水
- ledpaishui=1;
- }
- circle=0;
- }
- if(num1==1&&num==0) //弱 標準
- {
- ledqiangxi=1;
- ledpaishui=1;
- ledruoxi=0;
- ledbiaozhun=0;
- if(num2==1)
- {
- rbiaozhun(); //弱標準洗
- ledruoxi=1;
- }
- circle=0;
- }
- if(num1==1&&num==1) //弱經濟
- {
- ledqiangxi=1;
- ledbiaozhun=1;
- ledruoxi=0;
- ledjingji=0;
- if(num2==1)
- {
- rjingji(); //弱經濟洗
- ledruoxi=1;
- ledjingji=1;
- }
- circle=0;
- }
- if(num1==1&&num==2)
- {
- ledqiangxi=1;
- ledjingji=1;
- ledruoxi=0;
- leddandu=0;
- if(num2==1)
- {
- rdandu(); //弱單獨洗
- ledruoxi=1;
- leddandu=1;
- }
- circle=0;
- }
- if(num1==1&&num==3)
- {
- ledqiangxi=1;
- leddandu=1;
- ledruoxi=0;
- ledpaishui=0;
- if(num2==1) //K3鍵
- {
- dpaishui(); //單排水
- ledpaishui=1;
- }
- circle=0;
- }
- num2=0;
- }
- }
-
- void T0_time() interrupt 1 //定時
- {
- TH0=(65536-50000)/256; //重賦初值
- TL0=(65536-50000)%256;
- num3++; //定時計數加1
- if(num3==20) //1秒時間到
- {
- num3=0; //計數清0
- if(flag1==1)
- ledxidi=~ledxidi; //洗滌指示取反
- if(flag1==2)
- ledpiaoxi=~ledpiaoxi; //漂洗指示取反
- if(flag1==3)
- ledtuoshui=~ledtuoshui; //脫水指示取反
- num4++;
- num5++;
- num6++;
- if(num4==15) //洗滌定時,15秒到
- {
- num4=0; //清0
- flag++; //標志洗滌次數
- }
- if(num5==5) //強洗周期,5秒到
- {
- num5=0;
- flag4++; //強洗標志加1
- if(flag4==2)
- flag4=0;
- }
- if(num6==3) //弱洗周期 ,3秒到
- {
- num6=0;
- flag5++; //弱洗標志加1
- if(flag5==2)
- flag5=0;
- }
- }
- }
-
- void int0() interrupt 0 //外部中斷0 ,K3鍵
- {
- num2++; //K3按下計數加1 ,num2為1運行,num2為2暫停
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
資料.7z
(578.78 KB, 下載次數: 773)
2022-3-16 00:13 上傳
點擊文件名下載附件
洗衣機仿真原理
下載積分: 黑幣 -5
作者: admin 時間: 2018-12-4 03:33
好資料,51黑有你更精彩!!!
作者: 歸鉉 時間: 2019-5-28 15:45
挺不錯的很實用
作者: wzy11223 時間: 2019-11-22 22:15
很詳細 太好用了
作者: 51單片機2 時間: 2019-12-5 09:46
太好用了!
作者: DemoCc 時間: 2019-12-5 10:30
很詳細 太好用了
作者: tttpotr 時間: 2020-2-19 20:40
非常感謝
作者: lock66 時間: 2020-3-19 17:45
參考看看,看看
作者: 嘿嘿是我呀 時間: 2020-5-25 17:23
代碼是用keil軟件寫的嗎?
作者: 四大佛教哦 時間: 2021-5-26 14:49
很詳細,文檔參考看看
作者: 4446 時間: 2021-10-28 08:41
不錯,很有用
作者: 931052902@qq 時間: 2022-3-28 09:40
好資料,51黑有你更精彩!!!
作者: daxinan 時間: 2023-5-31 22:39
學與致用,很實用教程
作者: liqingyundmtech 時間: 2023-8-31 01:19
好資料,51黑有你更精彩!!!
作者: nlming 時間: 2023-8-31 19:54
太詳細了,好資料,樓主辛苦
作者: 202004132228 時間: 2023-9-8 21:21
看起來不錯
作者: 青桐與藍桉 時間: 2023-9-13 09:58
樓主可以參考一下你的實物圖嗎,真的很需要,非常感謝。
作者: 1418285258 時間: 2023-9-13 10:39
很有用,參考看看
作者: liqingyundmtech 時間: 2024-2-3 17:19
很詳細,文檔參考看看
作者: ydq2015ok 時間: 2024-12-25 22:58
實用的工程案例;才能讓后來人有更多的理解、學習!
謝謝!
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
国产精品福利在线
|
成人在线免费电影
|
精品久久久久久久久久
|
亚洲成人一区二区三区
|
91爱爱·com
|
成人三级视频
|
欧美日韩在线一区二区三区
|
亚洲久久一区
|
成人精品久久
|
久久成人精品视频
|
干干天天
|
在线观看国产三级
|
一级做a爰片性色毛片16
|
国产日韩精品在线
|
九九精品在线
|
东京av男人的天堂
|
av免费看在线|
中文字幕国产第一页
|
久久精品国产亚洲
|
日韩av在线免费
|
亚洲日本欧美日韩高观看
|
在线黄色网
|
国产一区二区三区视频在线观看
|
日本免费黄色
|
中文久久
|
成人网在线观看
|
国产95在线
|
在线国产一区
|
黄色一级片在线播放
|
国产在线1区
|
欧洲精品码一区二区三区免费看
|
欧美在线观看一区二区
|
午夜精品久久久
|
亚洲高清电影
|
99热精品久久
|
精品国产91乱码一区二区三区
|
一级免费a|
在线一区观看
|
99av成人精品国语自产拍
|
国产伦精品一区二区三区精品视频
|
欧美a级成人淫片免费看
|