簡(jiǎn)單洗衣機(jī)控制基于單片機(jī)_第1頁
簡(jiǎn)單洗衣機(jī)控制基于單片機(jī)_第2頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-1. 用單片機(jī)控制洗衣機(jī)通信1411 于波2. 工程名稱:工程九:洗衣機(jī)控制3. 工程容及要求;容: 設(shè)自動(dòng)洗衣機(jī)的控制要:?jiǎn)?dòng)后先開啟進(jìn)水閥進(jìn)水,水位到達(dá)設(shè)定值后關(guān)閉,然后波輪按正轉(zhuǎn)5秒、反轉(zhuǎn)5秒,正、反轉(zhuǎn)之間停3秒的規(guī)律不斷循環(huán)轉(zhuǎn)動(dòng),直至到達(dá)設(shè)定時(shí)間停頓,之后翻開排水閥放水,水放完后洗衣桶旋轉(zhuǎn)脫水,1分鐘后停頓并關(guān)閉排水閥,洗衣過程完畢。要求水位設(shè)置不少于高、中、低三檔,洗衣時(shí)間在312分鐘圍可調(diào),以1分鐘為單位,排水時(shí)間定為1分鐘。運(yùn)動(dòng)執(zhí)行器用指示燈模擬,水位用開關(guān)模擬,試設(shè)計(jì)該洗衣機(jī)的控制電路。要求:1. 畫出控制系統(tǒng)的框圖,說明系統(tǒng)方案設(shè)計(jì)的思路、理由或依據(jù);2. 選擇、確定組成控

2、制系統(tǒng)的各個(gè)單元,并闡述選擇確定的原則或依據(jù);3. 畫出完整的電氣原理圖,介紹整體電路的工作原理、性能或特點(diǎn);4. 如采用單片機(jī)控制,給出單片機(jī)程序的流程圖和清單,說明程序的工作原理。5. 制作實(shí)物電路,驗(yàn)證設(shè)計(jì)、制作是否正確。4. 題目分析及設(shè)計(jì)思路;弄清楚要完成設(shè)計(jì)的技術(shù)要點(diǎn)、關(guān)鍵是什么,有哪些需要注意的事項(xiàng),可以采用哪些方法和手段,有哪些可用的方案或電路形式,等等。 要完本錢工程設(shè)計(jì)的技術(shù)要點(diǎn)是對(duì)洗衣機(jī)的整個(gè)運(yùn)行流程深刻理解之后,再用程序?qū)⑺憩F(xiàn)出來,說以關(guān)鍵就在于程序的編寫。需要注意的是運(yùn)動(dòng)執(zhí)行器是用指示燈模擬,水位用開關(guān)模擬,還要求水位設(shè)置不少于高、中、低三檔,洗衣時(shí)間在312分鐘圍

3、可調(diào)所以大概就要用到6個(gè)發(fā)光二極管和8個(gè)復(fù)位按鍵,因此就要對(duì)整個(gè)流程控制的邏輯順序有個(gè)很好的設(shè)計(jì)。對(duì)于程序的編寫可以采用單片機(jī)或PLC就目前所學(xué)而言,而對(duì)于這樣一個(gè)簡(jiǎn)單的小程序就采用單片機(jī)即可。5. 方案設(shè)計(jì)說明;在充分調(diào)研、思考的根底上確定電路方案并說明理由。畫出電路的系統(tǒng)框圖,說明系統(tǒng)框圖的原理。一開場(chǎng)看到這個(gè)題目我就打算使用單片機(jī)來完本錢設(shè)計(jì),因?yàn)閱纹瑱C(jī)使用方便,只需一個(gè)最小系統(tǒng)即可,在宿舍就可完成對(duì)程序的編寫和修改,而PLC價(jià)格昂貴且不能隨時(shí)可用。就本工程采用單片機(jī)而言需要一個(gè)單片機(jī)最小系統(tǒng),思維數(shù)碼管及驅(qū)動(dòng),一組LED和按鍵。系統(tǒng)框圖:MCU(AT89C51)四位數(shù)碼管八個(gè)控制按鍵六

4、個(gè)LED指示燈通過對(duì)八個(gè)按鍵的操作,可對(duì)水位設(shè)置,洗衣時(shí)間設(shè)置,開場(chǎng)洗衣,水位確定。四位數(shù)碼管可顯示水位的設(shè)置值,洗衣時(shí)間設(shè)置值,還有洗衣時(shí)間計(jì)時(shí)等。六個(gè)LED有兩個(gè)表示洗衣機(jī)波輪的正反轉(zhuǎn),兩個(gè)進(jìn)水和排水,一個(gè)脫水,一個(gè)洗衣指示燈。通過編寫程序?qū)崿F(xiàn)單片機(jī)對(duì)按鍵,四位數(shù)碼管和發(fā)光二極管的控制。啟動(dòng)開進(jìn)水閥進(jìn)水是否到達(dá)設(shè)定水位關(guān)進(jìn)水閥正轉(zhuǎn)5秒停頓3秒反轉(zhuǎn)5秒停頓3秒是否到達(dá)設(shè)定時(shí)間開排水閥脫水1分鐘水是否放完停頓脫水關(guān)排水閥完畢系統(tǒng)流程圖:否否否6. 單元設(shè)計(jì)說明;按工程的具體要求撰寫,沒有可不寫。 單片機(jī)最小系統(tǒng): 系統(tǒng)框圖:MCUAT89C51復(fù)位電路時(shí)鐘電路輸入/輸出設(shè)備電源 最小系統(tǒng)電路圖

5、:7. 完整電路原理分析;按工程的具體要求撰寫 通過單片機(jī)掃描水位設(shè)置按鍵和洗衣時(shí)間設(shè)置按鍵來設(shè)置水位和洗衣時(shí)間在四位數(shù)碼管上顯示設(shè)置的值和計(jì)時(shí)時(shí)間。進(jìn)水閥指示燈亮表示進(jìn)水閥已翻開,正轉(zhuǎn)和反轉(zhuǎn)指示燈亮表示洗衣機(jī)波輪的正轉(zhuǎn)和反轉(zhuǎn)。脫水閥亮表示脫水閥已翻開可以排水。8. 制作、調(diào)試情況;如實(shí)介紹,重點(diǎn)介紹制作、調(diào)試過程中遇到的問題和解決問題的方法在制作,調(diào)試中遇到了許多大大小小的問題,在這選一些較為重要的寫出。1 在焊接完單片機(jī)最小系統(tǒng)進(jìn)展調(diào)試時(shí)指示燈不會(huì)亮,也不能下載程序,經(jīng)過幾番檢查發(fā)現(xiàn)指示燈正負(fù)接反,單片機(jī)引腳焊點(diǎn)有虛焊點(diǎn)。2 編寫好程序進(jìn)展調(diào)試時(shí),四位數(shù)碼管不能正常顯示,經(jīng)檢查發(fā)現(xiàn)共陽的數(shù)

6、碼管使用了共陰的數(shù)碼管編碼。3 在調(diào)試程序中,發(fā)現(xiàn)四位數(shù)碼管顯示較暗且有閃爍,經(jīng)屢次調(diào)試,將數(shù)碼管顯示程序?qū)懺诙〞r(shí)器中斷函數(shù)里,發(fā)現(xiàn)結(jié)果好多了。4 在測(cè)試程序中發(fā)現(xiàn)按鍵不起作用,檢查了程序和硬件電路發(fā)現(xiàn)按鍵連接的是地,而程序?qū)懙母唠娖浇油ā8牧讼鲁绦蚪Y(jié)果就出來了。9. 實(shí)訓(xùn)成果;如實(shí)介紹實(shí)訓(xùn)成果的情況八個(gè)按鍵從左到右的作用:按鍵1水位設(shè)置和洗衣時(shí)間設(shè)置切換選擇,按鍵2和按鍵3是加減數(shù)值,按鍵4是啟動(dòng),按鍵5按鍵6按鍵7按鍵8是表示水位的零水位和高中低水位。10. 心得體會(huì):通過本次實(shí)訓(xùn),收獲頗多,感覺自己有進(jìn)步了一點(diǎn),許多東西只用大腦去想是不行的,理論可行但實(shí)際可不可行就不知道,這就需要實(shí)際動(dòng)

7、手操作了才知道,一開場(chǎng)看了這個(gè)工程覺得很簡(jiǎn)單,隨便編寫個(gè)程序就可以了,但實(shí)際坐下來就沒有則簡(jiǎn)單了,首先硬件電路焊接就出現(xiàn)許多問題,跟別說編寫和調(diào)試程序就用了一個(gè)多星期。不過實(shí)際做出來,感覺還是挺好的。這也讓我進(jìn)一步了解了單片機(jī)的使用,掌握了一些運(yùn)動(dòng)控制的思路與方法。11. :完整程序*include <reg51.h> *define uint unsigned int*define uchar unsigned charuchar gewei,shiwei;uchar *iyitime,num3;uchar shuiweizhi,shuiwei;uint num1,num2;sb

8、it wei1=P10;sbit wei2=P11;sbit wei3=P12;sbit wei4=P13;sbit shuiwei0=P14;/sbit shuiwei1=P15; /低水位sbit shuiwei2=P16;/中水位sbit shuiwei3=P17; / 高水位sbit shezhi_key=P20;sbit qidong_key=P21;/sbit *iyi_key=P20;sbit up_key=P22;sbit down_key=P23;sbit shuifa=P24;sbit paishuifa=P25;sbit zhengzhuang=P26;sbit fanz

9、huang=P27;sbit tuoshui=P36;sbit zhishiled=P37;/此表為 LED 的字模, 共陰數(shù)碼管 0-9 - unsigned char code segtab=0*c0,0*f9,0*a4,0*b0,0*99,0*92,0*82,0*f8,0*80,0*90,0*88,0*83,0*c6,0*a1,0*86,0*8e; /段碼控制unsigned char code segtab1=0*40,0*4F,0*24,0*30,0*19,0*12,0*02,0*78,0*00,0*10; /共陰0-9帶小數(shù)點(diǎn)編碼/延時(shí)*毫秒函數(shù)11.0592Mhz時(shí)void de

10、lay_*ms(uint *ms) uint i,j; for(i=*ms;i>0;i-) for(j=110;j>0;j-);/延時(shí)*秒函數(shù)void delay_s(uint *s) uint *; for(*=*s;*>0;*-) delay_*ms(1000);/延時(shí)*分鐘函數(shù)void delay_min(uint *min) uint m,n; for(m=*min;m>0;m-) for(n=60;n>0;n-) delay_s(1); /取操作數(shù)的個(gè)十位void chuli(uint num) gewei=num%10; shiwei=(num/10)

11、%10;/按鍵掃描函數(shù)void keysaomiao() uchar jianzhi; if(shezhi_key=0) delay_*ms(10); if(!shezhi_key) jianzhi+;if(jianzhi>2) jianzhi=1; while(!shezhi_key); if(jianzhi=1)/水位設(shè)置 if(up_key=0) delay_*ms(10); if(up_key=0) shuiwei+; if(shuiwei>3) shuiwei=0; while(!up_key); if(down_key=0) delay_*ms(10); if(down

12、_key=0) if(shuiwei<=0) shuiwei=3; shuiwei-; while(!down_key); chuli(shuiwei); P0=segtabgewei; wei1=0; delay_*ms(5); wei1=1; P0=segtabshiwei; wei2=0; delay_*ms(5); wei2=1; P0=0*FE; wei3=0; delay_*ms(5); wei3=1; P0=0*9C; wei4=0; delay_*ms(5); wei4=1; if(jianzhi=2) if(up_key=0) delay_*ms(10); if(up_

13、key=0) *iyitime+; if(*iyitime>12) *iyitime=3; while(!up_key); if(down_key=0) delay_*ms(10); if(down_key=0) *iyitime-; if(*iyitime<3) *iyitime=12; while(!down_key); chuli(*iyitime); P0=segtabgewei; wei1=0; delay_*ms(5); wei1=1; P0=segtabshiwei; wei2=0; delay_*ms(5); wei2=1; P0=0*F7; wei3=0; del

14、ay_*ms(5); wei3=1; P0=0*A3; wei4=0; delay_*ms(5); wei4=1; /水位檢測(cè)子函數(shù)void shuiweijiance() if(shuiwei0=0) delay_*ms(10); if(shuiwei0=0) shuiweizhi=0; while(!shuiwei0); if(shuiwei1=0) delay_*ms(10); if(shuiwei1=0) shuiweizhi=1; while(!shuiwei1); if(shuiwei2=0) delay_*ms(10); if(shuiwei2=0) shuiweizhi=2;

15、while(!shuiwei2); if(shuiwei3=0) delay_*ms(10); if(shuiwei3=0) shuiweizhi=3; while(!shuiwei3);/初始化函數(shù)void init() num2=60; num3=4; shuiweizhi=0; *iyitime=3; TMOD=0*01; /TH0=(65536-45872)/256;/11.0592M晶振 /TL0=(65536-45872)%256; TH0 = 0*B1;/12M晶振 TL0 = 0*E0; EA=1; ET0=1; /*主函數(shù)*/ void main() uint i,j; in

16、it(); P0=0*bf; wei1=0; wei2=0; wei3=0; wei4=0; while(qidong_key) keysaomiao();/水位和洗衣時(shí)間設(shè)置 num3=*iyitime-1; if(qidong_key=0) delay_*ms(10); if(qidong_key=0)/啟動(dòng)鍵按下 shuifa=0; /開進(jìn)水閥進(jìn)水 while(shuiwei!=shuiweizhi)/檢測(cè)是否到達(dá)設(shè)定水位 shuiweijiance();chuli(shuiweizhi);P0=segtabgewei;wei1=0;delay_*ms(5); wei1=1;P0=seg

17、tabshiwei;wei2=0;delay_*ms(5); wei2=1;delay_*ms(5);chuli(shuiwei);P0=segtabgewei; wei3=0; delay_*ms(5); wei3=1; P0=segtabshiwei; wei4=0; delay_*ms(5); wei4=1; while(i<100) i+;shuiweijiance();chuli(shuiweizhi);P0=segtabgewei;wei1=0;delay_*ms(5); wei1=1;P0=segtabshiwei;wei2=0;delay_*ms(5); wei2=1;d

18、elay_*ms(5);chuli(shuiwei);P0=segtabgewei; wei3=0; delay_*ms(5); wei3=1; P0=segtabshiwei; wei4=0; delay_*ms(5); wei4=1; delay_s(1); while(j<300) j+;chuli(shuiwei); P0=segtabgewei;wei1=0;delay_*ms(5);wei1=1;P0=segtabshiwei;wei2=0;delay_*ms(5);wei2=1;chuli(*iyitime);P0=segtabgewei;wei3=0; delay_*ms

19、(5);wei3=1;P0=segtabshiwei; wei4=0;delay_*ms(5); wei4=1; shuifa=1;zhishiled=0; TR0=1; while(!num3=0) if(num2>=59) zhengzhuang=0; if(num2=55) zhengzhuang=1;if(num2=52) fanzhuang=0;if(num2=46) fanzhuang=1;if(num2=42) zhengzhuang=0;if(num2=35) zhengzhuang=1;if(num2=30) fanzhuang=0;if(num2=23) fanzhuang=1;if(num2=19) zhengzhuang=0;if(num2=13) zhengzhuang=1;if(num2=9) fanzhuang=0;if(num2=3) fanzhuang=1; TR0=0; z

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論