基于單片機的洗衣機控制器
采用兩位數碼管顯示洗衣時間,采用驅動芯片控制電機轉動
全自動洗衣機課程設計
基于51單片機,C語言實現。
基本要求
模擬全自動洗衣機工作過程。以電機替代洗衣機電機。顯示洗衣機工作的狀態(進水、浸泡、洗衣、脫水、結束)。顯示工作剩余時間(洗衣程序可自定義,時間精度:秒)。
洗衣時交替正、反轉。
擴展要求
洗衣和脫水時電機轉速不同。增加水位傳感器輸入。故障報警。增加聲音提示。其它自定義功能。
設計用Preteus仿真:
0.png (203.38 KB, 下載次數: 13)
下載附件 保存到相冊
2018-6-25 06:57 上傳
仿真圖如下:
#include //****************************// #define uchar unsigned char #define uint unsigned int //*******************************// //***************************// sbit mo_r = P3^2; //電機右控制線 sbit mo_l = P3^3; //電機左控制線 //****************************// sbit key_menu = P3^4; // 菜單按鍵 sbit key_on = P3^5; // 開始按鍵 sbit key_off = P3^6; // 結束按鍵 sbit key_se = P3^7; // 菜單選擇按鍵 //***************************// sbit led_in = P0^0; // 進水指示燈 sbit led_xi = P0^1; // 洗衣指示燈 sbit led_pao = P0^2; // 泡洗指示燈 sbit led_xx = P0^3; // 脫水指示燈 sbit led_out = P0^4; // 出水指示燈 sbit led_over = P0^5; // 洗衣結束指示燈 sbit led_work = P0^6; // 電機工作指示燈 sbit led_wring = P0^7; // 報警指示燈 sbit other = P3^1; // 脫水電源控制開關 sbit anther = P3^0; // 洗衣電源控制開關 //******************************// uchar code num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // //*****************************// char sec = 0; // 時間秒 char min = 0; // 時間分 uchar count=0; // 中斷計數 uchar flag0=0; // 洗衣機工作狀態標志 uchar flag1=0; // 進水次數標志 uchar flag2=0; // 出水次數標志 uchar flag3=0; // 泡洗次數標志 uchar err =0; // 報警標志 uchar quan = 0;//正反轉計數 //**********************************// // 函數聲明 //*************************************// void delay();// 延時函數 void in(); // 進水子程序 void out(); // 出水子程序 void over(); // 結束子程序 void xi(); // 洗衣子程序 void pao(); // 泡衣子程序 void xx(); // 脫水子程序 void on(); // 工作on處理子程序 void se(); // 顯示菜單選擇 void SEG_display(); //顯示時間子程序 void key_scan(); // 按鍵掃描子程序 //*****************************// // 延時函數 //****************************// void delay(uint i) { uint x,y; for(x=i;x>0;x--) for(y=120;y>0;y--); } //******************************// // 工作on處理子程序 //********************************// void on() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; P0 = 0xff; if(flag0 == 0) in(); if(flag0 == 1) xi(); if(flag0 == 2) pao(); if(flag0 == 3) xx(); if(flag0 == 4) out(); } //*******************************// // 結束子程序 //*********************************// void over() { other=0; anther=0; P0 = 0xff; mo_r=0; mo_l=0; led_over = 0; EA=0; } //*********************************// // 進水子程序 //*********************************// void in() { anther=0; other=0; P0 = 0xff; led_in = 0; flag1++; mo_r = 0; mo_l = 0; min = 0; sec = 8; } //*********************************// // 洗衣子程序 //*********************************// void xi() { anther=1; other=0; P0 = 0xff; led_work = 0; led_xi = 0; mo_r = 1; mo_l = 0; min = 1; sec = 36; quan = 0; } //*********************************// // 泡衣子程序 //*********************************// void pao() { anther=1; other=0; P0 = 0xff; led_pao = 0; led_work = 0; flag3++; mo_r = 1; mo_l = 0; min = 1; sec = 35; quan = 0; } //*********************************// // 脫水子程序 //*********************************// void xx() { other=1; anther=0; P0 = 0xff; led_xx = 0; mo_r = 0; mo_l = 1; min = 0; sec = 50; } //*********************************// // 出水子程序 //*********************************// void out() { anther=0; other=0; P0 = 0xff; led_out = 0; flag2++; mo_r = 0; mo_l = 0; min = 0; sec = 5; } //*********************************// // 顯示菜單選擇 //*********************************// void se() { P0 = 0xff; if(flag0 >= 5) flag0 = 0; if(flag0 == 0) { led_in = 0; } if(flag0 == 1) { led_xi=0; } if(flag0 == 2) { led_pao=0; } if(flag0 == 3) { led_xx=0; } if(flag0 == 4) { led_out=0; } } //********************************// // 菜單處理子程序 //**********************************// void menu() { min = 0; sec = 0; mo_r=0; mo_l=0; SEG_display(); while(1) { if(key_on == 0) { delay(5); if(key_on == 0) { while(!key_on); on(); break; }
上一篇:單片機電子時鐘課設匯編語言代碼和proteus仿真
下一篇:VL53L0X激光測距模塊的單片機驅動程序
推薦閱讀
史海拾趣
隨著第一款產品的成功,Electric Imp Inc.公司開始積極拓展市場。公司與多家知名廠商建立了合作關系,將物聯網設備管理平臺應用于智能家居、工業自動化、智慧城市等領域。同時,公司還加強了與高校、科研機構的合作,共同研發新技術、新產品。這些努力使得公司在物聯網領域的影響力逐漸擴大。
近年來,電子行業面臨著諸多挑戰,如市場競爭加劇、技術更新換代迅速等。然而,晶豐明源憑借強大的研發實力和敏銳的市場洞察力,成功應對了這些挑戰。公司不僅加大了研發投入,加強了與高校、科研機構的合作,還積極引進和培養人才,為公司的發展注入了新的活力。同時,公司還注重產品創新和品牌建設,不斷提升產品的附加值和競爭力。
為了進一步擴大市場份額,Fibrefab開始實施全球化戰略。公司先后在亞洲、歐洲和美洲等地設立生產基地和研發中心,以滿足不同地區客戶的需求。同時,Fibrefab還積極與全球知名的電信運營商和設備制造商建立合作關系,共同推動光纖通訊技術的發展和應用。這一戰略的實施不僅幫助Fibrefab拓展了海外市場,也提升了其品牌影響力和市場競爭力。
ENERGIZER公司,作為全球領先的電池制造商,自1896年以來就以其技術革新引領著電池能源行業的發展。1896年,ENERGIZER發明了全球第一粒電池,這一創新性的產品為電子行業的發展奠定了基石。隨著科技的不斷進步,ENERGIZER的電池技術也在不斷革新,以滿足日益增長的電子設備需求。如今,ENERGIZER的電池已經廣泛應用于各種電子設備中,從遙控器、手電筒到高端電子設備,其優良的品質和耐用的性能受到了全球消費者的廣泛認可。
在追求業務增長的同時,HEICO Corporation也積極履行社會責任,注重環保與可持續發展。公司致力于減少生產過程中的能源消耗和廢棄物排放,采用環保材料和工藝進行生產。此外,HEICO還積極參與環保公益活動,推動電子行業的綠色發展。這種環保理念不僅提升了公司的社會形象,也為公司在電子行業中樹立了良好的口碑。通過持續推動環保與可持續發展戰略的實施,HEICO在電子行業中實現了經濟效益與社會效益的雙贏。
隨著智能家居和物聯網技術的興起,EiKO開始積極探索智能照明系統的研發與應用。公司投入大量研發資源,將傳統照明產品與智能控制技術相結合,推出了具有遠程控制、定時開關、色溫調節等功能的智能照明系統。
這些智能照明系統不僅提高了用戶的使用體驗,還為用戶帶來了更加便捷和智能的生活方式。例如,用戶可以通過手機APP遠程控制家中的照明設備,實現定時開關和色溫調節等功能;同時,智能照明系統還可以與智能家居系統相連接,實現與其他智能設備的聯動控制。
本帖最后由 paulhyde 于 2014-9-15 09:02 編輯 filter solution!很實用的!! 輸入需要的截止頻率,然后就會自動生成實用的濾波器的電路圖~~ … 查看全部問答∨ |
還有一種方法可以檢查這個軌對軌保護元器件對USB協議正常工作模式的影響,就是通過圖4的眼圖響應來分析信號數據位的完整性。 從圖4中不難看出,USB2.0信號的完整性沒有受到太大影響,因此它的傳輸是安全的。 圖4 眼圖響應與USB 2.0模板 軌 ...… 查看全部問答∨ |
#include #define uchar unsigned char #define uint unsigned int unsigned char flag,a,i; uchar b[4]; uchar code table[]="I get "; void init() { TMOD=0x20; //確定T1的工作方式 &nbs ...… 查看全部問答∨ |
如題.在Wince6.0 RILMDD的基礎上進行二次撥號功能的開發,Modem的指令為DTMF,我按照參數進行配置后,可以收到Modem的Response.<CR><LF>1.<CR><LF><CR><LF>OK<CR><LF> 撥入命令為AT%%DTMF=<CallID><CharNUM> ...… 查看全部問答∨ |
我最近用YC2440—F V3.5 在用里面的DNW(串口調試軟件) 按下U沒有反應 WinCE NAND Boot v1.00 May 24 2007 10:29:49 WinCE NAND Boot v1.00 Oct 31 2007 18:42:36 \'U\' for USBMON ********** ERR_INVALID_TOC: 0xea000091 Boot ERROR:0x ...… 查看全部問答∨ |
|
我用C# MSComm控件編程作下位機通訊,需要控制串口4,7電平,請問該如何編程,謝謝了.(我知道用電路,在8051里很容易,可是不會在C#里控制啊)請各位大俠幫忙.… 查看全部問答∨ |
本帖最后由 dontium 于 2015-1-23 11:27 編輯 電阻作為一種最基本電子元器件,廣泛運用在各種電路中,通常我們也認為電阻是用法最簡單的一種電子元器件,除了功率外,沒有過多的講究。如果今天我說就這個小小的電阻,許多資深電子工程師都不一定真 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 利用STM32MP1和STM32MP2在嵌入式 Linux 平臺上部署有效的安全保護機制
- 超小但強大:MCU 的小尺寸封裝和集成如何幫助優化空間受限的設計
- 德州儀器推出全球超小型 MCU,助力微型應用創新
- Microchip推出電動兩輪車(E2W)生態系統,加速電動出行創新
- 意法半導體推出STM32U3微控制器,面向遠程、智能和可持續應用,拓展超低功耗系列創新
- (一) ECloudIDE入門STM32-CubeMX工程創建與導入
- (二)ECloudIDE入門STM32-官方寄存器版例程使用
- Simulink STM32F407VGT6實現硬件在環
- openharmony:hilog_lite組件移植