仿真版本:Proteus8.6及以上版本
程序編譯:Keil5 C51
編程語(yǔ)言:C語(yǔ)言
設(shè)計(jì)編號(hào):【S04】
1.? 簡(jiǎn)介
? 本文提出了一種基于51單片機(jī)的全自動(dòng)洗衣機(jī)控制系統(tǒng)設(shè)計(jì)。該系統(tǒng)主要由顯示模塊,電機(jī)控制模塊,功能按鍵模塊,指示燈模塊組成。洗衣機(jī)支持標(biāo)準(zhǔn)、經(jīng)濟(jì)、單獨(dú)、排水模式,強(qiáng)洗和弱洗模式。
2.? 主要功能
a.通過(guò)LED顯示運(yùn)行狀態(tài)。
b.通過(guò)按鍵選擇運(yùn)行模式。
c.通過(guò)L298N驅(qū)動(dòng)洗衣機(jī)電機(jī)轉(zhuǎn)動(dòng)。
3.? 源程序(Keil5)
本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開(kāi)程序,可自行通過(guò).c和.h文件新建工程即可。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num=0,num1=0,num2=0,num3=0,num4=0,num5=0,num6=0,flag=0,flag1=0,flag4=0,flag5=0,circle=0;
sbit ledbiaozhun=P1^0; //LED指示燈
sbit ledjingji =P1^1;
sbit leddandu =P1^2;
sbit ledpaishui =P1^3;
sbit ledqiangxi =P1^4;
sbit ledruoxi =P1^5;
sbit ledxidi =P1^6;
sbit ledpiaoxi =P1^7;
sbit ledtuoshui =P2^0;
sbit sshuiwei =P3^6; //水位開(kāi)關(guān)
sbit sgai =P3^7; //蓋開(kāi)關(guān)
sbit paishui=P2^3; //排水閥控制
sbit jinshui=P2^2; //進(jìn)水閥控制
sbit U2=P2^4;
sbit U3=P2^5;
sbit k1=P3^0; // 步進(jìn)改變"標(biāo)準(zhǔn)、經(jīng)濟(jì)、單獨(dú)、排水"四種方式
sbit k2=P3^1; //強(qiáng)洗、弱洗
sbit k3=P3^2; //運(yùn)行、暫停和解除報(bào)替功能
void init()
{
uchar a=0,b=0,c=0;
TMOD=0x01; //T0工作于方式1
TH0=(65536-50000)/256; //定時(shí)時(shí)間50ms
TL0=(65536-50000)%256;
EA=1; //開(kāi)總中斷
ET0=1; //開(kāi)T0中斷
TR0=0; //關(guān)閉T0
EX0=1; //開(kāi)外部中斷0
IT0=1; //外部中斷0邊沿觸發(fā)方式
U2=1; //電機(jī)停轉(zhuǎn)
U3=1;
P0=0xff;
}
void delayms(uint xms) //延時(shí)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void key() //控制按鍵
{
circle=1;
if(k1==0) //標(biāo)準(zhǔn)、經(jīng)濟(jì)、單獨(dú)、排水按下
{
delayms(10); //延時(shí)消抖
if(k1==0) //再判
{
num++; //K1按下次數(shù)加1
if(num==4)
num=0; //等于4,按下次數(shù)清0
while(!k1); //等待按鍵釋放
}
}
if(k2==0) //強(qiáng)弱選擇
{
delayms(10); //延時(shí)消抖
if(k2==0) //再判
{
num1++; //按下次數(shù)加1
if(num1==2)
num1=0; //等于2,按下次數(shù)清0
while(!k2); //等待按鍵釋放
}
}
}
4.? 仿真proteus8.6
? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問(wèn)題,該仿真是通過(guò)proteus8.6導(dǎo)出的,所以請(qǐng)盡量使用proteus8.6打開(kāi)文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。
運(yùn)行:
5.? 設(shè)計(jì)報(bào)告
設(shè)計(jì)報(bào)告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。
6.? 資料清單
設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報(bào)告+使用說(shuō)明+元件清單+操作視頻等。
7.? 資料獲取鏈接
百度網(wǎng)盤(pán)下載鏈接:【S04】百度網(wǎng)盤(pán)下載鏈接
更多單片機(jī)仿真設(shè)計(jì)合集:單片機(jī)仿真設(shè)計(jì)合集