找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5439|回復(fù): 4
收起左側(cè)

單片機全自動洗衣機代碼調(diào)試 Proteus仿真 原理圖 文檔

  [復(fù)制鏈接]
ID:567008 發(fā)表于 2020-12-24 17:36 | 顯示全部樓層 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
LXNSGBIVL}RC[P@E[P8HTDU.png 51hei.png

學(xué)習(xí)電機驅(qū)動、繼電器的原理及編程方法。
學(xué)習(xí)鍵盤的原理及編程方法。
掌握51單片機定時器與中斷的使用。

主要技術(shù)指標(biāo)和說明
● 由獨立式按鍵確定功能鍵,包括“標(biāo)準(zhǔn)”、“經(jīng)濟”、“單獨”、“排水”、“強洗”、“弱洗”等等;
● 排水與進水由時間控制;
● 開機默認(rèn)狀態(tài)為標(biāo)準(zhǔn)方式、強洗;
● 在洗滌和漂洗過程中,電動機正轉(zhuǎn)一次,反轉(zhuǎn)一次,連續(xù)運行;
● 在進水和脫水過程中,相應(yīng)指示燈亮,繼電器吸合;
● 當(dāng)在執(zhí)行某個步驟時,只有“K3”鍵有效,按下暫停,再按下恢復(fù)運行。

全自動洗衣機就是將洗衣的全過程(泡浸-洗滌-漂洗-脫水)預(yù)先設(shè)定好N個程序,洗衣時選擇其中一個程序,打開水龍頭和啟動洗衣機開關(guān)后洗衣的全過程就會自動完成,洗衣完成時由蜂鳴器發(fā)出響聲。洗衣機的標(biāo)準(zhǔn)洗衣程序是:洗滌——脫水——脫水——漂洗——脫水——漂洗——脫水。經(jīng)濟洗衣程序少一次漂洗和脫水過程。
洗衣機控制器由單片機作為控制器的核心所構(gòu)成,該控制器具有以下特點:
(1)具有較強的抗干擾能力,當(dāng)受到外部強干擾,程序出錯時,可以自動使系統(tǒng)復(fù)位重新執(zhí)行程序。
(2)采用無噪聲、無電磁干擾的雙向晶閘管作為控制元件,控制電磁閥和電機。
(3)具有欠壓和過壓保護,欠壓時,控制器不工作;超壓時,保護電路起作用。
(4)具有瞬間掉電保護功能,電源短時間停電后,電壓恢復(fù)時,能夠維持原運行程序的工作狀態(tài)并繼續(xù)完成洗衣程序。
(5)各種操作和洗衣機的運行狀態(tài)均用LED顯示.
一、設(shè)計任務(wù)與要求
利用51單片機模擬全自動智能洗衣機。
  • 按鍵功能要求
  • 通過K1”鍵步進改變“標(biāo)準(zhǔn)]經(jīng)濟、單獨、排水”四種方式,執(zhí)行相應(yīng)的程序。對應(yīng)指示燈亮。
  • 通過K2”鍵步進改變“強洗、弱洗”兩種方式,執(zhí)行相應(yīng)的程序,對應(yīng)指示燈亮。
  • 通過“K3”鍵控制洗衣機運行、暫停和解除報警功能。
  • 方式功能選擇要求
一般洗衣機的步驟為:洗滌,漂洗,脫水,當(dāng)處于某種狀態(tài)時,對應(yīng)的指示燈以0.7S周期閃爍,當(dāng)洗衣機在洗滌過程中,洗滌指示燈閃爍?梢酝ㄟ^方式選擇設(shè)定具體的運行過程。
  • 標(biāo)準(zhǔn)方式:進水—> 洗滌 > 排水 > 進水 > 漂洗 > 排水 >進水 > 漂洗—> 排水 > 脫水。
  • 經(jīng)濟方式:進水 > 洗滌 > 排水 > 進水 > 漂洗 > 排水 > 脫水。
  • 單獨方式:進水 > 洗滌。
  • 排水方式:排水 > 脫水。
  • 強洗即電動機轉(zhuǎn)速快,弱洗即電動機轉(zhuǎn)速慢。
  • 整機功能要求
  • 開機默認(rèn)狀態(tài)為標(biāo)準(zhǔn)方式、強洗。
  • 在洗滌和漂洗過程中,電動機正轉(zhuǎn)一次,反轉(zhuǎn)一次,連續(xù)運行。
  • 在進水和脫水過程中,相應(yīng)的指示燈亮,繼電器吸合。
  • 當(dāng)執(zhí)行某個步驟時,只有“K3”鍵有效,按下暫停,再按恢復(fù)運行。
  • 方案設(shè)計與論證
全自動洗衣機的實現(xiàn)方案組成框圖如圖一所示。它主要有電源、單片機最小系統(tǒng)、開關(guān)檢測電路、控制按鍵輸入電路和LED指示電路、繼電器和電動機電路。
  • 硬件電路設(shè)計
圖二
  • 電動機驅(qū)動模塊電路設(shè)計
電動機驅(qū)動采用LD298電動機驅(qū)動芯片,單片機P25、P24與L298的IN1、IN2分別對應(yīng)相連,ENA直接接VCC,后面所加4個二極管VD3到VD6起連續(xù)作用。電動機驅(qū)動電路原理圖如圖二所示。
  • 電源模塊電路設(shè)計
電動機驅(qū)動芯片的電源VCC和VS之間通過0歐的電阻R20進行隔離后,對LD298進行供電。
  • 控制按鍵
如圖二所示,K3鍵接到單片機的外部中斷0,通過中斷實現(xiàn)運行、暫停、繼續(xù)運行的控制功能,當(dāng)K3鍵第一次按下時(num2=1)正常運行,當(dāng)K3鍵第二次按下時(num2=2)暫停運行。
  • 進水閥和排水閥控制繼電器
如圖二所示,單片機的P23用來控制排水閥繼電器,P22用來控制進水閥繼電器,P22和P23對應(yīng)輸出為0時對應(yīng)的閥打開,輸出為1時對應(yīng)的閥關(guān)閉。
軟件設(shè)計
1)流程圖
主程序流程圖如圖三所示。
  • 程序
程序附在最后
圖三
  • 調(diào)試與分析
1、軟件調(diào)試:
寫程序代碼時應(yīng)先搭建好硬件電路,然后根據(jù)硬件電路寫程序代碼。在調(diào)試程序過程中,先保證程序能夠運行無錯誤,然后在燒到實物中觀察結(jié)果。
2、硬件調(diào)試:
硬件電路設(shè)計與軟件設(shè)計完成后,將程序燒寫到單片機中,觀察運行結(jié)果是否符合要求。如果不符合設(shè)計要求,應(yīng)先檢查硬件是否能正常工作,如用實驗板自帶的正確代碼檢測硬件電路;然后根據(jù)設(shè)計要求到程序代碼中分模塊進行調(diào)試,比如該設(shè)計需用到液晶、矩陣鍵盤、定時器、獨立鍵盤、中斷和LED燈等,如果測試過程中液晶模塊不能正常顯示或者顯示亂碼,應(yīng)將液晶模塊單獨分離出來進行測試,其他模塊亦是如此。程序調(diào)試完成后,應(yīng)在硬件電路上反復(fù)運行,以確保程序和硬件電路的穩(wěn)定性。
  • 總結(jié)
這次單片機程序設(shè)計,我感覺收獲了很多,尤其是在提升自身的工作和自主學(xué)習(xí)能力方面。我在大二上學(xué)期就開始在實驗室自學(xué)單片機,但是因為是自學(xué),自覺性就很差,而且自學(xué)也是一件比較難的事,學(xué)習(xí)過程中一直都是學(xué)習(xí)和模仿別人的代碼,看著別人寫出來的程序代碼,總覺得都能看懂,所以自己基本上沒有自己構(gòu)思寫程序代碼,
唯一做過一次全自動洗衣機也是看著別人寫的源程序代碼,不停的修修改改。
這次剛拿到設(shè)計時,本以為不難,一開始還信心滿滿,然而開始做就感覺有些茫然了,尤其是還有些知識是我還沒學(xué)過的,比如液晶。所以我們組就必須得先把液晶學(xué)了,把需要學(xué)習(xí)的模塊學(xué)完后,先是毫無頭緒的寫主程序,整個過程舉步維艱,然后我們?nèi)W(xué)習(xí)了別人的設(shè)計方法,開始分工和分模塊進行。組內(nèi)分組搭建硬件電路,和寫程序,先把電路搭建好,再寫程序。寫程序的過程中,我們是把程序分成幾個小模塊:液晶顯示模塊、鍵盤輸入模塊、搶答模塊,然后每個模塊寫成子程序,在主程序中只需調(diào)用各個子程序即可。
在程序調(diào)試過程中,也遇到各種問題,但都逐個解決了。在整個設(shè)計過程中,我學(xué)到了許多課堂上老師無法傳授的知識,也真正地做出了一件自己的產(chǎn)品。

單片機源程序如下:
  1. #include<reg52.h>
  2.         #define uchar unsignd char
  3.         #define uint unsigned int
  4.         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;
  5.         sbit ledbiaozhun=P1^0; //LED指示燈
  6.         sbit ledjingji  =P1^1;
  7.         sbit leddandu   =P1^2;
  8.         sbit ledpaishui =P1^3;
  9.         sbit ledqiangxi =P1^4;
  10.         sbit ledruoxi   =P1^5;
  11.         sbit ledxidi    =P1^6;
  12.         sbit ledpiaoxi  =P1^7;
  13.         sbit ledtuoshui =P2^0;
  14.         
  15.         sbit sshuiwei   =P3^6; //水位開關(guān)
  16.         sbit sgai       =P3^7; //蓋開關(guān)
  17.         sbit paishui=P2^3; //排水閥控制
  18.         sbit jinshui=P2^2; //進水閥控制
  19.         
  20.         sbit U2=P2^4;
  21.         sbit U3=P2^5;
  22.         sbit k1=P3^0;  // 步進改變"標(biāo)準(zhǔn)、經(jīng)濟、單獨、排水"四種方式
  23.         sbit k2=P3^1;  //強洗、弱洗
  24.         sbit k3=P3^2;  //運行、暫停和解除報替功能
  25.         void init()
  26.         {
  27.                 uchar a=0,b=0,c=0;
  28.                 TMOD=0x01;                       //T0工作于方式1
  29.                 TH0=(65536-50000)/256; //定時時間50ms
  30.                 TL0=(65536-50000)%256;
  31.                 EA=1;                                   //開總中斷
  32.                 ET0=1;                                   //開T0中斷
  33.                 TR0=0;                                   //關(guān)閉T0
  34.                 EX0=1;                                   //開外部中斷0
  35.                 IT0=1;                                   //外部中斷0邊沿觸發(fā)方式
  36.                 U2=1;                                   //電機停轉(zhuǎn)
  37.                 U3=1;
  38.                 P0=0xff;
  39.         }
  40.         void delayms(uint xms) //延時
  41.         {
  42.                 uint i,j;
  43.                 for(i=xms;i>0;i--)
  44.                         for(j=110;j>0;j--);
  45.         }
  46.         
復(fù)制代碼
51hei.png
全部資料51hei下載地址:
全自動洗衣機仿真電路 程序 原理圖 設(shè)計簡單文檔.zip (323.04 KB, 下載次數(shù): 192)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:92810 發(fā)表于 2021-3-11 22:37 | 顯示全部樓層
剛好需要的,謝謝樓主分享,好好學(xué)習(xí)一波了。
回復(fù)

使用道具 舉報

ID:92810 發(fā)表于 2021-3-11 22:38 | 顯示全部樓層
先下載下來學(xué)習(xí)先,謝謝樓主分享了
回復(fù)

使用道具 舉報

ID:744941 發(fā)表于 2021-12-16 18:39 | 顯示全部樓層
先下載下來學(xué)習(xí)先,謝謝樓主分享了
回復(fù)

使用道具 舉報

ID:1084173 發(fā)表于 2023-6-14 22:03 | 顯示全部樓層
先下載下來學(xué)習(xí)先,謝謝樓主分享了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表