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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1. 用單片機控制洗衣機 通信1411 于波2. 項目名稱:項目九:洗衣機控制3. 項目內容及要求;內容: 設自動洗衣機的控制要求是:啟動后先開啟進水閥進水,水位到達設定值后關閉,然后波輪按正轉5秒、反轉5秒,正、反轉之間停3秒的規律不斷循環轉動,直至達到設定時間停止,之后打開排水閥放水,水放完后洗衣桶旋轉脫水,1分鐘后停止并關閉排水閥,洗衣過程結束。要求水位設置不少于高、中、低三檔,洗衣時間在312分鐘范圍內可調,以1分鐘為單位,排水時間定為1分鐘。運動執行器用指示燈模擬,水位用開關模擬,試設計該洗衣機的控制電路。要求:1. 畫出控制系統的框圖,說明系統方案設計的思路、理由或依據;2. 選擇

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

3、間在312分鐘范圍內可調所以大概就要用到6個發光二極管和8個復位按鍵,因此就要對整個流程控制的邏輯順序有個很好的設計。對于程序的編寫可以采用單片機或PLC(就目前所學而言),而對于這樣一個簡單的小程序就采用單片機即可。5. 方案設計說明;(在充分調研、思考的基礎上確定電路方案并說明理由。畫出電路的系統框圖,說明系統框圖的原理。)一開始看到這個題目我就打算使用單片機來完成本設計,因為單片機使用方便,只需一個最小系統即可,在宿舍就可完成對程序的編寫和修改,而PLC價格昂貴且不能隨時可用。就本項目采用單片機而言需要一個單片機最小系統,思維數碼管及驅動,一組LED和按鍵。系統框圖:MCU(AT89C5

4、1)四位數碼管八個控制按鍵六個LED指示燈通過對八個按鍵的操作,可對水位設置,洗衣時間設置,開始洗衣,水位確定。四位數碼管可顯示水位的設置值,洗衣時間設置值,還有洗衣時間計時等。六個LED有兩個表示洗衣機波輪的正反轉,兩個進水和排水,一個脫水,一個洗衣指示燈。通過編寫程序實現單片機對按鍵,四位數碼管和發光二極管的控制。啟動開進水閥進水是否達到設定水位關進水閥正轉5秒停止3秒反轉5秒停止3秒是否達到設定時間開排水閥脫水1分鐘水是否放完停止脫水關排水閥結束系統流程圖:否否否6. 單元設計說明;(按項目的具體要求撰寫,沒有可不寫。) 單片機最小系統: 系統框圖:MCU(AT89C51)復位電路時鐘電

5、路輸入/輸出設備電源 最小系統電路圖:7. 完整電路原理分析;(按項目的具體要求撰寫) 通過單片機掃描水位設置按鍵和洗衣時間設置按鍵來設置水位和洗衣時間在四位數碼管上顯示設置的值和計時時間。進水閥指示燈亮表示進水閥已打開,正轉和反轉指示燈亮表示洗衣機波輪的正轉和反轉。脫水閥亮表示脫水閥已打開可以排水。 8. 制作、調試情況;(如實介紹,重點介紹制作、調試過程中遇到的問題和解決問題的方法) 在制作,調試中遇到了許多大大小小的問題,在這選一些較為重要的寫出。1 在焊接完單片機最小系統進行調試時指示燈不會亮,也不能下載程序,經過幾番檢查發現指示燈正負接反,單片機引腳焊點有虛焊點。2 編寫好程序進行調

6、試時,四位數碼管不能正常顯示,經檢查發現共陽的數碼管使用了共陰的數碼管編碼。3 在調試程序中,發現四位數碼管顯示較暗且有閃爍,經多次調試,將數碼管顯示程序寫在定時器中斷函數里,發現結果好多了。4 在測試程序中發現按鍵不起作用,檢查了程序和硬件電路發現按鍵連接的是地,而程序寫的高電平接通。改了下程序結果就出來了。9. 實訓成果;(如實介紹實訓成果的情況) 八個按鍵從左到右的作用:按鍵1水位設置和洗衣時間設置切換選擇,按鍵2和按鍵3是加減數值,按鍵4是啟動,按鍵5按鍵6按鍵7按鍵8是表示水位的零水位和高中低水位。10. 心得體會: 通過本次實訓,收獲頗多,感覺自己有進步了一點,許多東西只用大腦去想

7、是不行的,理論可行但實際可不可行就不知道,這就需要實際動手操作了才知道,一開始看了這個項目覺得很簡單,隨便編寫個程序就可以了,但實際坐下來就沒有那么簡單了,首先硬件電路焊接就出現許多問題,跟別說編寫和調試程序就用了一個多星期。不過實際做出來,感覺還是挺好的。這也讓我進一步了解了單片機的使用,掌握了一些運動控制的思路與方法。11. 附件:完整程序#include <reg51.h> #define uint unsigned int#define uchar unsigned charuchar gewei,shiwei;uchar xiyitime,num3;uchar shuiw

8、eizhi,shuiwei;uint num1,num2;sbit 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 xiyi_key=P20;sbit up_key=P22;sbit down_key=P23;sbit shuifa=P24;sbit paishuifa=P25

9、;sbit zhengzhuang=P26;sbit fanzhuang=P27;sbit tuoshui=P36;sbit zhishiled=P37;/此表為 LED 的字模, 共陰數碼管 0-9 - unsigned char code segtab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e; /段碼控制unsigned char code segtab1=0x40,0x4F,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; /共陰0-9帶

10、小數點編碼/延時X毫秒函數11.0592Mhz時void delay_xms(uint xms) uint i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-);/延時X秒函數void delay_s(uint xs) uint x; for(x=xs;x>0;x-) delay_xms(1000);/延時X分鐘函數void delay_min(uint xmin) uint m,n; for(m=xmin;m>0;m-) for(n=60;n>0;n-) delay_s(1); /取操作數的個十位void chuli(uint num

11、) gewei=num%10; shiwei=(num/10)%10;/按鍵掃描函數void keysaomiao() uchar jianzhi; if(shezhi_key=0) delay_xms(10); if(!shezhi_key) jianzhi+;if(jianzhi>2) jianzhi=1; while(!shezhi_key); if(jianzhi=1)/水位設置 if(up_key=0) delay_xms(10); if(up_key=0) shuiwei+; if(shuiwei>3) shuiwei=0; while(!up_key); if(dow

12、n_key=0) delay_xms(10); if(down_key=0) if(shuiwei<=0) shuiwei=3; shuiwei-; while(!down_key); chuli(shuiwei); P0=segtabgewei; wei1=0; delay_xms(5); wei1=1; P0=segtabshiwei; wei2=0; delay_xms(5); wei2=1; P0=0xFE; wei3=0; delay_xms(5); wei3=1; P0=0x9C; wei4=0; delay_xms(5); wei4=1; if(jianzhi=2) if(

13、up_key=0) delay_xms(10); if(up_key=0) xiyitime+; if(xiyitime>12) xiyitime=3; while(!up_key); if(down_key=0) delay_xms(10); if(down_key=0) xiyitime-; if(xiyitime<3) xiyitime=12; while(!down_key); chuli(xiyitime); P0=segtabgewei; wei1=0; delay_xms(5); wei1=1; P0=segtabshiwei; wei2=0; delay_xms(5

14、); wei2=1; P0=0xF7; wei3=0; delay_xms(5); wei3=1; P0=0xA3; wei4=0; delay_xms(5); wei4=1; /水位檢測子函數void shuiweijiance() if(shuiwei0=0) delay_xms(10); if(shuiwei0=0) shuiweizhi=0; while(!shuiwei0); if(shuiwei1=0) delay_xms(10); if(shuiwei1=0) shuiweizhi=1; while(!shuiwei1); if(shuiwei2=0) delay_xms(10)

15、; if(shuiwei2=0) shuiweizhi=2; while(!shuiwei2); if(shuiwei3=0) delay_xms(10); if(shuiwei3=0) shuiweizhi=3; while(!shuiwei3);/初始化函數void init() num2=60; num3=4; shuiweizhi=0; xiyitime=3; TMOD=0x01; /TH0=(65536-45872)/256;/11.0592M晶振 /TL0=(65536-45872)%256; TH0 = 0xB1;/12M晶振 TL0 = 0xE0; EA=1; ET0=1; /

16、*主函數*/ void main() uint i,j; init(); P0=0xbf; wei1=0; wei2=0; wei3=0; wei4=0; while(qidong_key) keysaomiao();/水位和洗衣時間設置 num3=xiyitime-1; if(qidong_key=0) delay_xms(10); if(qidong_key=0)/啟動鍵按下 shuifa=0; /開進水閥進水 while(shuiwei!=shuiweizhi)/檢測是否到達設定水位 shuiweijiance();chuli(shuiweizhi);P0=segtabgewei;wei

17、1=0;delay_xms(5); wei1=1;P0=segtabshiwei;wei2=0;delay_xms(5); wei2=1;delay_xms(5);chuli(shuiwei);P0=segtabgewei; wei3=0; delay_xms(5); wei3=1; P0=segtabshiwei; wei4=0; delay_xms(5); wei4=1; while(i<100) i+;shuiweijiance();chuli(shuiweizhi);P0=segtabgewei;wei1=0;delay_xms(5); wei1=1;P0=segtabshiwe

18、i;wei2=0;delay_xms(5); wei2=1;delay_xms(5);chuli(shuiwei);P0=segtabgewei; wei3=0; delay_xms(5); wei3=1; P0=segtabshiwei; wei4=0; delay_xms(5); wei4=1; delay_s(1); while(j<300) j+;chuli(shuiwei); P0=segtabgewei;wei1=0;delay_xms(5);wei1=1;P0=segtabshiwei;wei2=0;delay_xms(5);wei2=1;chuli(xiyitime);P

19、0=segtabgewei;wei3=0; delay_xms(5);wei3=1;P0=segtabshiwei; wei4=0;delay_xms(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; TR

溫馨提示

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

評論

0/150

提交評論