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

QQ登錄

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

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

求大神幫忙更改調(diào)試

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:255596 發(fā)表于 2017-11-30 13:09 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg52.h>
#include "12864.h"
#include "delay.h"
#define uc unsigned char
sbit led_DJ=P1^0;  //電機(jī)
sbit led_XY=P1^1;  //洗衣
sbit led_JS=P1^2;  //進(jìn)水
sbit led_CS=P1^3;  //出水
sbit led_TS=P1^4;  //脫水
sbit key_JS=P1^5;  //進(jìn)水按鍵
sbit key_CS=P1^6;  //出水按鍵
sbit moshi=P3^0;   //更改模式光標(biāo)
sbit queren=P3^1;  //確認(rèn)運(yùn)行
sbit xuanze=P3^2;  //選擇不同模式
sbit qingrou=P3^3; //輕柔按鍵
sbit xidi=P3^4;    //洗滌按鍵
sbit jiare=P3^5;   //加熱

void delay();         // 延時(shí)函數(shù)
void jinshui();         // 進(jìn)水子程序
void chushui();         // 出水子程序
void start();         // 開(kāi)始子程序
void over();         // 結(jié)束子程序
uc cycle=10,pwm=0;
uc xiyi=0,xiyit=20,ret=20,st=5;
uc n,j,second,minute;

//延時(shí)函數(shù)
/**********************************/
void delay(uc c)
{
uc a,b;
for(;c>0;c--)
  for(a=38;a>0;a--)
   for(b=130;b>0;b--);
}
// 進(jìn)水子程序
/**********************************/
void jinshui()
{
if(key_JS==0)
  led_JS=0;
  delay(2);
  while(key_JS==0)
  delay(2);
}
// 出水子程序
/**********************************/
void chushu()
{
  if(key_CS==0)
  led_CS=0;
  delay(2);
  while(key_CS==0)
  delay(2);
}
// 開(kāi)始子程序
/***********************************/
void start()
{
  if(qingrou==0)
  led_DJ=0;
  delay(2);
  while(qingrou==0)
  delay(2);
}
void main()
{   unsigned char i,count=0;
        TMOD=0X11;
        TH0=15536/256;
        TL0=15536%256;
        TH1=64536/256;
        TL1=64536%256;
        ET0=1;
        ET1=1;
        EA=1;
        Init_ST7920();
        for(i=0;i<20;i++)
    DelayMs(200);
        ClrScreen();
        LCD_PutString(0,1,"輕柔模式");
        LCD_PutString(0,2,"洗滌模式");
        LCD_PutString(0,3,"當(dāng)前狀態(tài):");
        while(1)
        {
          while(1)
          {
           if(moshi==0)
           {
            delay(20);
                count++;
                if(count==5)
                count=1;               
                while(moshi==0);               
                delay(20);               
                while(1)                     
                {switch(count)
                {case 1:Write_Cmd(0x80);Write_Data(' ');Write_Data(' ');break;
                 case 2:Write_Cmd(0x82);Write_Data(' ');Write_Data(' ');break;
         case 3:Write_Cmd(0x86);Write_Data(' ');Write_Data(' ');break;
         case 4:Write_Cmd(0x92);Write_Data(' ');Write_Data(' ');break;
        }                 
            delay(100);
                switch(count)
                {case 1:if(xiyi==0) LCD_PutString(0,1,"輕柔");else LCD_PutString(0,1,"洗滌");break;
                 case 2:Write_Cmd(0x82);Write_Data(xiyit/10+'0');Write_Data(xiyit%10+'0');break;
         case 3:Write_Cmd(0x86);Write_Data(st/10+'0');Write_Data(st%10+'0');break;
         case 4:Write_Cmd(0x92);Write_Data(ret/10+'0');Write_Data(ret%10+'0');break;
        }                 
                 if(moshi==0||queren==0||xuanze==0)  break;
         }                         
            }
           }
          }
        if(xuanze==0)
        {delay(20);
         switch(count)                                          
        {case 1:xiyi=!xiyi;break;
     case 2:xiyit-=5;if(xiyit==0) xiyit=20;break;
     case 3:st--;if(st==0) st=5;break;
         case 4:ret-=5;if(ret==0) ret=20;break;
    }
        switch(count)                                       
    { case 1:if(xiyi==0)   LCD_PutString(0,1,"輕柔");else LCD_PutString(0,1,"洗滌");break;
          case 2:Write_Cmd(0x82);Write_Data(xiyit/10+'0');Write_Data(xiyit%10+'0');break;
      case 3:Write_Cmd(0x86);Write_Data(st/10+'0');Write_Data(st%10+'0');break;
      case 4:Write_Cmd(0x92);Write_Data(ret/10+'0');Write_Data(ret%10+'0');break;
    }
        while(xuanze==0);
        DelayMs(20);
    }
        {DelayMs(20);
        switch(count)                                             
        {
        case 1:xiyi=!xiyi;break;
     case 2:xiyit-=5;if(xiyit==0) xiyit=20;break;
     case 3:st--;if(st==0) st=5;break;
         case 4:ret-=5;if(ret==0) ret=20;break;
    }
        switch(count)                                       
        {
        case 1:if(xiyi==0)   LCD_PutString(0,1,"輕柔");else LCD_PutString(0,1,"洗滌");break;
         case 2:Write_Cmd(0x82);Write_Data(xiyit/10+'0');Write_Data(xiyit%10+'0');break;
     case 3:Write_Cmd(0x86);Write_Data(st/10+'0');Write_Data(st%10+'0');break;
     case 4:Write_Cmd(0x92);Write_Data(ret/10+'0');Write_Data(ret%10+'0');break;
    }
     while(xuanze==0);
         DelayMs(20);
    }
    if(queren==0)  
           count=0;
       DelayMs(20);
       while(queren==0);
                   DelayMs(20);       
                   led_JS=0;
                        LCD_PutString(0,4,"洗滌進(jìn)水                ");
                        while(key_JS==0);  
                        led_JS=1;
                        LCD_PutString(0,4,"洗滌中                    ");
                        if(xiyi==0)
                        pwm=5;
                        else
                        pwm=7;
                        TR0=1;
                        TR1=1;
                        while(minute!=xiyit);                              
                        TR0=0;
                        TR1=0;
                        TH0=15536/256;
                TL0=15536%256;
                TH1=64536/256;
                TL1=64536%256;
                        led_DJ=1;                  
                        n=j=second=minute=0;
                        LCD_PutString(0,4,"洗滌排水                ");
                        led_CS=0;
                        while(key_CS==0);           
                        LCD_PutString(0,4,"第一次甩干              ");
                        pwm=10;               
                    TR0=1;
                        TR1=1;
                        while(minute!=st);      
                        TR0=0;
                        TR1=0;
                        TH0=15536/256;
                TL0=15536%256;
                TH1=64536/256;
                TL1=64536%256;
                        led_DJ=1;                    
                        n=j=second=minute=0;
                        led_JS=0;
                        LCD_PutString(0,4,"涮洗進(jìn)水                ");
                        while(key_JS==0);      
                        led_JS=1;
                        if(xiyi==0)
                    pwm=5;
                        else
            pwm=7;
                        TR0=1;
                        TR1=1;
                        LCD_PutString(0,4,"涮洗                    ");
                        while(minute!=xiyit);        
                        TR0=0;
                        TR1=0;
                        TH0=15536/256;
                TL0=15536%256;
                TH1=64536/256;
                TL1=64536%256;
                        led_DJ=1;                  
                        n=j=second=minute=0;
                        led_CS=0;
                        LCD_PutString(0,4,"涮洗排水                     ");
                        while(led_JS=0);           
                        led_CS=1;
                        jiare=0;                  
                        LCD_PutString(0,4,"加熱烘干                      ");
                        TR0=1;
                        while(minute!=ret);
                TR0=0;
                        TR1=0;
                        TH0=15536/256;
                TL0=15536%256;
                TH1=64536/256;
                TL1=64536%256;
                        jiare=1;                  
                        n=j=second=minute=0;
                        LCD_PutString(0,4,"洗滌結(jié)束                    ");
}
void dd() interrupt 3
{
          TH1=64536/256;
        TL1=64536%256;
        n++;
        if(n==cycle)
        n=0;
        if(n<pwm)
        led_DJ=0;
        else
        led_DJ=1;
}
void ss() interrupt 1
{ TH0=15536/256;
        TL0=15536%256;
        j++;
        if(j==20)
        {second++;
         j=0;
    }
        if(second==60)
        {minute++;
         second=0;
         Write_Cmd(0x9E);
         Write_Data(minute/10+'0');
         Write_Data(minute%10+'0');
         LCD_PutString(7,4,"分               ");
        }
}

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

使用道具 舉報(bào)

沙發(fā)
ID:82765 發(fā)表于 2017-11-30 13:57 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

板凳
ID:255596 發(fā)表于 2017-11-30 14:11 | 只看該作者
12864.h和delay.h在上面定義的有  現(xiàn)在是無(wú)法選擇工作模式。。  我用的開(kāi)發(fā)板調(diào)試的
回復(fù)

使用道具 舉報(bào)

地板
ID:231046 發(fā)表于 2017-11-30 14:12 | 只看該作者
是編譯不過(guò)嗎,還是那里出問(wèn)題了,看不完整
回復(fù)

使用道具 舉報(bào)

5#
ID:255596 發(fā)表于 2017-11-30 16:55 | 只看該作者
david888 發(fā)表于 2017-11-30 14:12
是編譯不過(guò)嗎,還是那里出問(wèn)題了,看不完整

編譯沒(méi)有問(wèn)題  在開(kāi)發(fā)板上進(jìn)行模擬不行。。。  按鍵無(wú)法控制程序運(yùn)行
回復(fù)

使用道具 舉報(bào)

6#
ID:255596 發(fā)表于 2017-11-30 16:56 | 只看該作者
david888 發(fā)表于 2017-11-30 14:12
是編譯不過(guò)嗎,還是那里出問(wèn)題了,看不完整

方便加下QQ嗎 我的是958218792
回復(fù)

使用道具 舉報(bào)

7#
ID:96682 發(fā)表于 2017-11-30 18:48 | 只看該作者
在開(kāi)發(fā)板上搞就更需要注意了,沒(méi)有完整資料這更改調(diào)試咋進(jìn)行
回復(fù)

使用道具 舉報(bào)

8#
ID:255596 發(fā)表于 2017-12-1 17:30 | 只看該作者
wc86110 發(fā)表于 2017-11-30 18:48
在開(kāi)發(fā)板上搞就更需要注意了,沒(méi)有完整資料這更改調(diào)試咋進(jìn)行

12864.H和delay.h 沒(méi)有任何問(wèn)題 我在別的程序試過(guò)了 您方便加下我QQ嗎 。。。958218792
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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