版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1. 用單片機控制洗衣機 通信1411 于波2. 項目名稱:項目九:洗衣機控制3. 項目內(nèi)容及要求;內(nèi)容: 設(shè)自動洗衣機的控制要求是:啟動后先開啟進水閥進水,水位到達設(shè)定值后關(guān)閉,然后波輪按正轉(zhuǎn)5秒、反轉(zhuǎn)5秒,正、反轉(zhuǎn)之間停3秒的規(guī)律不斷循環(huán)轉(zhuǎn)動,直至達到設(shè)定時間停止,之后打開排水閥放水,水放完后洗衣桶旋轉(zhuǎn)脫水,1分鐘后停止并關(guān)閉排水閥,洗衣過程結(jié)束。要求水位設(shè)置不少于高、中、低三檔,洗衣時間在312分鐘范圍內(nèi)可調(diào),以1分鐘為單位,排水時間定為1分鐘。運動執(zhí)行器用指示燈模擬,水位用開關(guān)模擬,試設(shè)計該洗衣機的控制電路。要求:1. 畫出控制系統(tǒng)的框圖,說明系統(tǒng)方案設(shè)計的思路、理由或依據(jù);2. 選擇
2、、確定組成控制系統(tǒng)的各個單元,并闡述選擇確定的原則或依據(jù);3. 畫出完整的電氣原理圖,介紹整體電路的工作原理、性能或特點;4. 如采用單片機控制,給出單片機程序的流程圖和清單,說明程序的工作原理。5. 制作實物電路,驗證設(shè)計、制作是否正確。4. 題目分析及設(shè)計思路;(弄清楚要完成設(shè)計的技術(shù)要點、關(guān)鍵是什么,有哪些需要注意的事項,可以采用哪些方法和手段,有哪些可用的方案或電路形式,等等。) 要完成本項目設(shè)計的技術(shù)要點是對洗衣機的整個運行流程深刻理解之后,再用程序?qū)⑺憩F(xiàn)出來,說以關(guān)鍵就在于程序的編寫。需要注意的是運動執(zhí)行器是用指示燈模擬,水位用開關(guān)模擬,還要求水位設(shè)置不少于高、中、低三檔,洗衣時
3、間在312分鐘范圍內(nèi)可調(diào)所以大概就要用到6個發(fā)光二極管和8個復(fù)位按鍵,因此就要對整個流程控制的邏輯順序有個很好的設(shè)計。對于程序的編寫可以采用單片機或PLC(就目前所學(xué)而言),而對于這樣一個簡單的小程序就采用單片機即可。5. 方案設(shè)計說明;(在充分調(diào)研、思考的基礎(chǔ)上確定電路方案并說明理由。畫出電路的系統(tǒng)框圖,說明系統(tǒng)框圖的原理。)一開始看到這個題目我就打算使用單片機來完成本設(shè)計,因為單片機使用方便,只需一個最小系統(tǒng)即可,在宿舍就可完成對程序的編寫和修改,而PLC價格昂貴且不能隨時可用。就本項目采用單片機而言需要一個單片機最小系統(tǒng),思維數(shù)碼管及驅(qū)動,一組LED和按鍵。系統(tǒng)框圖:MCU(AT89C5
4、1)四位數(shù)碼管八個控制按鍵六個LED指示燈通過對八個按鍵的操作,可對水位設(shè)置,洗衣時間設(shè)置,開始洗衣,水位確定。四位數(shù)碼管可顯示水位的設(shè)置值,洗衣時間設(shè)置值,還有洗衣時間計時等。六個LED有兩個表示洗衣機波輪的正反轉(zhuǎn),兩個進水和排水,一個脫水,一個洗衣指示燈。通過編寫程序?qū)崿F(xiàn)單片機對按鍵,四位數(shù)碼管和發(fā)光二極管的控制。啟動開進水閥進水是否達到設(shè)定水位關(guān)進水閥正轉(zhuǎn)5秒停止3秒反轉(zhuǎn)5秒停止3秒是否達到設(shè)定時間開排水閥脫水1分鐘水是否放完停止脫水關(guān)排水閥結(jié)束系統(tǒng)流程圖:否否否6. 單元設(shè)計說明;(按項目的具體要求撰寫,沒有可不寫。) 單片機最小系統(tǒng): 系統(tǒng)框圖:MCU(AT89C51)復(fù)位電路時鐘電
5、路輸入/輸出設(shè)備電源 最小系統(tǒng)電路圖:7. 完整電路原理分析;(按項目的具體要求撰寫) 通過單片機掃描水位設(shè)置按鍵和洗衣時間設(shè)置按鍵來設(shè)置水位和洗衣時間在四位數(shù)碼管上顯示設(shè)置的值和計時時間。進水閥指示燈亮表示進水閥已打開,正轉(zhuǎn)和反轉(zhuǎn)指示燈亮表示洗衣機波輪的正轉(zhuǎn)和反轉(zhuǎn)。脫水閥亮表示脫水閥已打開可以排水。 8. 制作、調(diào)試情況;(如實介紹,重點介紹制作、調(diào)試過程中遇到的問題和解決問題的方法) 在制作,調(diào)試中遇到了許多大大小小的問題,在這選一些較為重要的寫出。1 在焊接完單片機最小系統(tǒng)進行調(diào)試時指示燈不會亮,也不能下載程序,經(jīng)過幾番檢查發(fā)現(xiàn)指示燈正負接反,單片機引腳焊點有虛焊點。2 編寫好程序進行調(diào)
6、試時,四位數(shù)碼管不能正常顯示,經(jīng)檢查發(fā)現(xiàn)共陽的數(shù)碼管使用了共陰的數(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),收獲頗多,感覺自己有進步了一點,許多東西只用大腦去想
7、是不行的,理論可行但實際可不可行就不知道,這就需要實際動手操作了才知道,一開始看了這個項目覺得很簡單,隨便編寫個程序就可以了,但實際坐下來就沒有那么簡單了,首先硬件電路焊接就出現(xiàn)許多問題,跟別說編寫和調(diào)試程序就用了一個多星期。不過實際做出來,感覺還是挺好的。這也讓我進一步了解了單片機的使用,掌握了一些運動控制的思路與方法。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 的字模, 共陰數(shù)碼管 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、小數(shù)點編碼/延時X毫秒函數(shù)11.0592Mhz時void delay_xms(uint xms) uint i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-);/延時X秒函數(shù)void delay_s(uint xs) uint x; for(x=xs;x>0;x-) delay_xms(1000);/延時X分鐘函數(shù)void delay_min(uint xmin) uint m,n; for(m=xmin;m>0;m-) for(n=60;n>0;n-) delay_s(1); /取操作數(shù)的個十位void chuli(uint num
11、) gewei=num%10; shiwei=(num/10)%10;/按鍵掃描函數(shù)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)/水位設(shè)置 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; /水位檢測子函數(shù)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);/初始化函數(shù)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、*主函數(shù)*/ void main() uint i,j; init(); P0=0xbf; wei1=0; wei2=0; wei3=0; wei4=0; while(qidong_key) keysaomiao();/水位和洗衣時間設(shè)置 num3=xiyitime-1; if(qidong_key=0) delay_xms(10); if(qidong_key=0)/啟動鍵按下 shuifa=0; /開進水閥進水 while(shuiwei!=shuiweizhi)/檢測是否到達設(shè)定水位 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度餐飲企業(yè)外賣配送服務(wù)合同6篇
- 2025年度生物制藥研發(fā)與生產(chǎn)合同模板3篇
- 二零二五年度智能化別墅建造及智能化系統(tǒng)采購合同3篇
- 《養(yǎng)老機構(gòu)服務(wù)合同》示范文本
- 違法分包對揭陽匯金中心C項目影響評估合同(2025版)3篇
- 2025年網(wǎng)絡(luò)平臺肖像權(quán)授權(quán)使用合同3篇
- 二零二五年度蟲草資源保護與可持續(xù)利用合同范本3篇
- 2024私人之間的房屋買賣合同樣本
- 2024腳手架工程安全施工與技術(shù)服務(wù)協(xié)議版
- 2025年度智慧城市安全監(jiān)控系統(tǒng)設(shè)備采購合同2篇
- 橫格紙A4打印模板
- CT設(shè)備維保服務(wù)售后服務(wù)方案
- 重癥血液凈化血管通路的建立與應(yīng)用中國專家共識(2023版)
- 兒科課件:急性細菌性腦膜炎
- 柜類家具結(jié)構(gòu)設(shè)計課件
- 陶瓷瓷磚企業(yè)(陶瓷廠)全套安全生產(chǎn)操作規(guī)程
- 煤炭運輸安全保障措施提升運輸安全保障措施
- JTGT-3833-2018-公路工程機械臺班費用定額
- 保安巡邏線路圖
- (完整版)聚乙烯課件
- 建筑垃圾資源化綜合利用項目可行性實施方案
評論
0/150
提交評論