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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

8、 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 fanzhuang=P27;sbit t

9、uoshui=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ù)點編碼/延時*毫秒函數(shù)11.0592Mhz時void delay_*ms(uint *ms

10、) uint i,j; for(i=*ms;i0;i-) for(j=110;j0;j-);/延時*秒函數(shù)void delay_s(uint *s) uint *; for(*=*s;*0;*-) delay_*ms(1000);/延時*分鐘函數(shù)void delay_min(uint *min) uint m,n; for(m=*min;m0;m-) for(n=60;n0;n-) delay_s(1); /取操作數(shù)的個十位void chuli(uint num) gewei=num%10; shiwei=(num/10)%10;/按鍵掃描函數(shù)void keysaomiao() uchar j

11、ianzhi; if(shezhi_key=0) delay_*ms(10); if(!shezhi_key) jianzhi+;if(jianzhi2) jianzhi=1; while(!shezhi_key); if(jianzhi=1)/水位設(shè)置 if(up_key=0) delay_*ms(10); if(up_key=0) shuiwei+; if(shuiwei3) shuiwei=0; while(!up_key); if(down_key=0) delay_*ms(10); if(down_key=0) if(shuiwei12) *iyitime=3; while(!up_

12、key); if(down_key=0) delay_*ms(10); if(down_key=0) *iyitime-; if(*iyitime3) *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; delay_*ms(5); wei3=1; P0=0*A3; wei4=0; delay_*ms(5); wei4=1; /水位檢測

13、子函數(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; while(!shuiwei2); if(shuiwei3=0) delay_*ms(10); if(shuiwei3=0)

14、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; init(); P0=0*bf; wei1=0; wei2=0; wei3=0; wei4=0; while(qidong_key

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

16、i);P0=segtabgewei; wei3=0; delay_*ms(5); wei3=1; P0=segtabshiwei; wei4=0; delay_*ms(5); wei4=1; while(i100) i+;shuiweijiance();chuli(shuiweizhi);P0=segtabgewei;wei1=0;delay_*ms(5); wei1=1;P0=segtabshiwei;wei2=0;delay_*ms(5); wei2=1;delay_*ms(5);chuli(shuiwei);P0=segtabgewei; wei3=0; delay_*ms(5); we

17、i3=1; P0=segtabshiwei; wei4=0; delay_*ms(5); wei4=1; delay_s(1); while(j=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=

18、13) zhengzhuang=1;if(num2=9) fanzhuang=0;if(num2=3) fanzhuang=1; TR0=0; zhengzhuang=1; fanzhuang=1; paishuifa=0; while(1) if(shuiwei0=0) delay_*ms(10); if(shuiwei0=0) P0=0*bf; wei1=0; wei2=0; wei3=0; wei4=0; tuoshui=0; delay_min(1); tuoshui=1; paishuifa=1; P0=0; delay_s(2); zhishiled=1; break; void zhongduangT0() interrupt 1 /TH0=(65536-45872)/256;/11.0592M晶振 /TL0=(65536-45872)%256; TH0 = 0*B1;/12M晶振 TL0 = 0*E0; num1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論