欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機編程必須撐握的程序(兩鍵智能豆漿機程序) [打印本頁]

作者: das    時間: 2015-4-5 00:56
標題: 單片機編程必須撐握的程序(兩鍵智能豆漿機程序)
單片機學習編程,必須要將各種中斷方法靈活的運用到系統中去,如鍵實時盤掃描,顯示,各種輸出等;兩鍵智能豆漿機程序集鍵盤實時掃描,LED指示,輸出為一體;其綜合了“定時中斷,獨立按鍵,顯示,定時”等各種功能;該程序是學習實用型編程的必要撐握的程序。本人通過實際調試,輸出效果良好,達到預期的要求。
本豆漿機編程功能要求:
1、當機器通電后,干豆指示燈、濕豆指示燈、米糊指示燈,三燈同時以0.5秒的速度進行閃亮,以指示正在處于待機中;
2,當K1鍵按下,系統程序進入三種可選功能模式,(打干豆、打顯豆、打米糊);這三種功能選擇由K1完成;
3、當K1選定了其中一個工作模式,必須按下K2確認,然后系統程序立即進入工作中;
4、當用戶不想用上面選擇的工作模式時,按下K2鍵退出工作,然后按K1鍵再次進入工作模式選擇,然后再按K2確認進入本次想要的工作模式。
5、要求系統程序任何時間,程序都必須對鍵盤實時掃描,以確保用戶可以隨時重新選擇工作模式或停機。
6、要求每按下一次任意鍵蜂嗚器都有響聲,以表示按下成功;
7、要求統統模式工作完成后,要求程序回到待機狀態,以指示工作完成,用戶可以喝豆漿了。
以下程序用SiWN開發板驗證調試完成。
////------------------兩鍵(三功能)智能豆漿機程序-------------OK  2012-7-28
////-----------------芯片STC12C5A60S2(青龍工作室)----------------
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
static uchar ID=0;
static uchar ID2=0;
static uint time=0;
static uchar nem=0;
sbit k1=P0^1;//-----功能選擇按鍵
sbit k2=P0^2;//-----確認按鍵
sbit beep=P3^3;//---蜂嗚器
sbit LED_LE=P3^4;//-LED片選端
sbit HOT=P1^5;//----發熱管
sbit MM=P1^4;//-----電機
////////
sbit LED_gandou=P1^3;//----干豆指示燈
sbit LED_shidou=P1^2;//----濕豆指示燈
sbit LED_mihu=P1^1;//------米糊指示燈
////////-------------------------------延時
void delayms(uint yanshi)
{
uint a;
for(a=0;a<yanshi;a++);
}
///////-----------------------k2/(on/off)按鍵檢測
void k2_panduan()
{
if(!k2)
{
  delayms(350);
  if(!k2)
  while(k2==0);
  beep=0;
   delayms(60000);
  beep=1;
  ID2++;
}
}
///////--------------------------------k1按鍵檢測
void k1_panduan()
{
if(!k1)
{
  delayms(350);
  if(!k1)
  while(k1==0);
  beep=0;
   delayms(60000);
  beep=1;
  ID++;
}
}
///////--------------------------------功能程序---------
void start()
{
  while(ID2<4)
{
    if(ID==1)
     {
    LED_gandou=0;
    LED_shidou=1;
    LED_mihu=1;
////
    k1_panduan();
    if(!k2)
     {
      delayms(350);
       while(k2==0);
      beep=0;
       delayms(60000);
      beep=1;
      while(time<401)
        {
        if(time<200)
        {
         TR1=1;
         HOT=0;//發熱管接通
         MM=1;
         k2_panduan();
         if(ID2==1)
                         {
          ID2=0;
                        break;
         }
        }
///-----------------------------
        if(time>200&&time<400)
        {
         TR1=1;
         HOT=1;//發熱管斷開
         MM=0;
         k2_panduan();
         if(ID2==1)
                         {
          ID2=0;
                          break;
         }
        }         
///-----------------------------
       }
       HOT=1;
       MM=1;
       time=0;
       TR1=0;
       goto qinlong;
      }
      }
////**********************************************///
else if(ID==2)
  {
    LED_gandou=1;
    LED_shidou=0;
    LED_mihu=1;
////
   k1_panduan();
   if(!k2)
    {
     delayms(350);
     while(k2==0);
     beep=0;
      delayms(60000);
     beep=1;
     while(time<401)
       {
       if(time<200)
       {
        TR1=1;
        HOT=1;//發熱管斷開
        MM=0;
        k2_panduan();
        if(ID2==1)
                         {
          ID2=0;
                          break;
         }
       }
//--------------------------
       if(time>200&&time<400)
       {
        TR1=1;
        HOT=0;//發熱管接通
        MM=1;
        k2_panduan();
        if(ID2==1)
                         {
          ID2=0;
                        break;
         }
       }
//--------------------------
      }
      HOT=1;
      MM=1;
      time=0;
      TR1=0;
        goto qinlong;
    }
   }
////**********************************************///
else if(ID==3)
  {
    LED_gandou=1;
    LED_shidou=1;
    LED_mihu=0;
////
   k1_panduan();
   if(!k2)
    {
     delayms(350);
     while(k2==0);
     beep=0;
      delayms(60000);
     beep=1;
     while(time<401)
       {
       if(time<200)
       {
        TR1=1;
        HOT=0;//發熱管斷開
        MM=0;
        k2_panduan();
        if(ID2==1)
                         {
          ID2=0;
                          break;
         }
       }
////---------------------
       if(time>200&&time<400)
       {
        TR1=1;
        HOT=1;//發熱管斷開
        MM=1;
        k2_panduan();
        if(ID2==1)
                         {
          ID2=0;
                          break;
         }
       }
///----------------------
      }
       HOT=1;
       MM=1;
       time=0;
       TR1=0;
       goto qinlong;
    }
   }
////-----------------------------
  else if(ID==4)
   ID=1;
  }
   
qinlong:return;
}
/*---------------------------------------------*/
///////------------------------------------主程序
void main()
{
TMOD=0x11;
TH0=0x4c;
TL0=0x00;
IE=0x8a;
//-------------------------------
TH1=0x4c;
TL1=0x00;
TR0=1;
TR1=0;
//-------------------------------
LED_LE=0;
while(1)
{
  if(!k1)
  {
   delayms(300);
    if(!k1)
      {
    while(k1==0);
    beep=0;
    delayms(60000);
    beep=1;
    ID++;
    start();//ID判斷
   }
  }
////============================
if(nem==10)
  {
   LED_gandou=~ LED_gandou;
   LED_shidou=~LED_shidou;
   LED_mihu=~LED_mihu;
   nem=0;
  }
}
////
}
/*---------------------定時中斷0--------------------*/
void Tmer_0() interrupt 1
{
TR0=0;
TH0=0x4c;
TL0=0x00;
nem++;
TR0=1;
}
///////////////////////定時中斷1/////////////////////
void Tmer_1() interrupt 3
{
TR1=0;
TH1=0x4c;
TL1=0x00;
time++;
TR1=1;
}




作者: looksave    時間: 2015-5-2 20:40
很好
作者: huakai    時間: 2017-6-9 12:08
有電路原理圖嗎???

作者: 3760609865    時間: 2017-6-9 23:47
謝謝分享。
作者: wis98    時間: 2017-8-14 16:22
學習一下樓主的文章
作者: stick@    時間: 2017-8-22 14:17
水位,溫度,安全,都加進去或者加WiFi模塊整手機APP好像就是個產品了
作者: w963135423    時間: 2018-5-11 22:51
求電路圖啊 大神
作者: axkf    時間: 2019-2-9 17:02
學習一下樓主的文章
作者: payload    時間: 2019-2-10 12:13
謝謝分享,學習了
作者: 853762295    時間: 2019-2-10 15:03
謝謝分享!!!
作者: wsyyta    時間: 2020-6-5 19:59
樓主有原理圖沒

作者: 王秋冬    時間: 2020-6-6 11:13
不錯的,謝謝分享。
作者: 18078462863    時間: 2022-3-30 16:14
加上水位檢測,溢出檢測、加熱模塊會更好
作者: 新鄉家電維修    時間: 2022-3-31 10:13
發表于 2017-6-9 12:08
有電路原理圖嗎???

這哪用得著電路圖啊,看程序定義就知道電路圖啥樣了
作者: dsbk123    時間: 2022-4-1 09:51
樓主辛苦,多謝分享!
作者: 快樂眼淚    時間: 2022-4-16 21:20
經典的實用的程序
作者: dsbk123    時間: 2024-10-24 14:30
學習了,多謝樓主分享!
作者: 251932270    時間: 2025-9-16 23:26
學習了,多謝樓主分享!
作者: lxh0508    時間: 2025-9-18 20:04
這個應該沒法及時響應按鍵了吧,按鍵按下后6秒內都不會響應別的按鍵了
作者: man1234567    時間: 2025-11-10 14:35
感覺不如一的結業作業,就是個唬人的東東。
豆漿機控制加熱的不是時間而是液面。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1