找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1926|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)控制的洗衣機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:276416 發(fā)表于 2018-11-30 17:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
void delay_s(unsigned int t);
void delay_ms(unsigned int t);
void UART_Init(void);
void Speech(unsigned char*text,unsigned char length);
void init_lcd(void);
void ch_disp_any(unsigned char line,unsigned char row,unsigned char num,unsigned char chn);
#define led P0
sbit g=P1^0;
sbit z=P1^1;
sbit d=P1^2;
sbit chengxv=P1^3;
sbit shuiwei=P1^4;
sbit qiting=P1^5;
sbit jinshui=P1^6;
sbit chushui=P1^7;
sbit forward=P2^0;
sbit backward=P2^1;
sbit xidi=P2^2;
sbit piaoxo=P2^3;
sbit tuoshui=P2^4;
sbit gai=P2^5;
unsigned char water,mode;
void JS()
{
  ch_disp_any(2,6,4,"進(jìn)水");
  jinshui=0;
  switch(water)
  {
   case 0:while(g||z||d);break;
   case 1:while(z||d);break;
   case 2:while(d);break;
   default:break;
  }
  delay_ms(2);jinshui=1;
}
void BZ()
{
ch_disp_any(3,6,8,"正在進(jìn)行");
xidi=0;
JS();
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;delay_ms(500);
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
xidi=1;
piaoxi=0;
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;delay_ms(500);
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
piaoxi=1;
tuoshui=0;
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
tuoshui=1;
}
void JJ()
{
ch_disp_any(3,6,8,"正在進(jìn)行");
xidi=0;
JS();
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;delay_ms(500);
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
xidi=1;
piaoxi=0;
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;delay_ms(500);
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
piaoxi=1;
tuoshui=0;
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
tuoshui=1;
}
void DX()
{
ch_disp_any(3,6,8,"正在進(jìn)行");
xidi=0;
JS();
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;delay_ms(500);
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
xidi=1;
piaoxi=0;
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;delay_ms(500);
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;delay_ms(500);
ch_disp_any(2,6,4,"反轉(zhuǎn)");backward=1;delay_s(4);backward=0;
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
piaoxi=1;
tuoshui=0;
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
tuoshui=1;
}
void PS()
{
tuoshui=0;
ch_disp_any(2,6,4,"整轉(zhuǎn)");forward=1;delay_s(4);forward=0;
ch_disp_any(2,6,4,"出水");chushui=0;delay_s(2);chushui=1;
tuoshui=1;
}
void main()
{
  UART_Init();
  init_lcd();
  forward=0;
  backward=0;
  led=0xee;
  ch_disp_any(1,1,16,"洗衣方式:標(biāo)準(zhǔn)     ");
  ch_disp_any(2,1,16,"洗衣?tīng)顟B(tài):         ");
  ch_disp_any(3,1,16,"運(yùn)行狀態(tài):         ");
  while(1)
  {
   while(chengxv&&shuiwei&&qiting);
delay_ms(50);
if(chengxv==0)
{
  mode++;
  if(mode>3) mode=0;
  if(mode==0) {ch_disp_any(1,6,4,"標(biāo)準(zhǔn)");led=(led|0x0f)&0xfe;}
  if(mode==1) {ch_disp_any(1,6,4,"經(jīng)濟(jì)");led=(led|0x0f)&0xfd;}
  if(mode==2) {ch_disp_any(1,6,4,"單洗");led=(led|0x0f)&0xfb;}
  if(mode==3) {ch_disp_any(1,6,4,"排水");led=(led|0x0f)&0xf7;}
}
if(shuiwei==0)
{
  water++;
  if(water==3) water=0;
  if(water==0) led=(led|0xf0)&0xef;
  if(water==1) led=(led|0xf0)&0xdf;
  if(water==2) led=(led|0xf0)&0xbf;
}
if(qiting==0)
{
   if(gai==0)
   {
    ch_disp_any(4,1,10,"請(qǐng)關(guān)機(jī)蓋!");
    Speech("請(qǐng)關(guān)機(jī)蓋",8);
    while(gai==1);
   }
   ch_disp_any(4,1,16,"              ");
   switch(mode)
   {
    case 0:BZ();break;
    case 1:JJ();break;
    case 2:DX();break;
    case 3:PS();break;
    default:break;
   }
   ch_disp_any(3,6,4,"停止");
}
  }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2018-11-30 17:21 | 只看該作者
補(bǔ)全原理圖或者詳細(xì)說(shuō)明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

板凳
ID:402717 發(fā)表于 2018-12-7 15:15 | 只看該作者
定義 sbit piaoxo=P2^3 時(shí)與程序里的 piaoxi 不一致。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表