久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9511|回復: 16
打印 上一主題 下一主題
收起左側

單片機編程必須撐握的程序(兩鍵智能豆漿機程序)

  [復制鏈接]
跳轉到指定樓層
樓主
ID:76127 發表于 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;
}



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

使用道具 舉報

沙發
ID:74303 發表于 2015-5-2 20:40 | 只看該作者
很好
回復

使用道具 舉報

板凳
ID:208751 發表于 2017-6-9 12:08 | 只看該作者
有電路原理圖嗎???
回復

使用道具 舉報

地板
ID:159139 發表于 2017-6-9 23:47 來自手機 | 只看該作者
謝謝分享。
回復

使用道具 舉報

5#
ID:33544 發表于 2017-8-14 16:22 | 只看該作者
學習一下樓主的文章
回復

使用道具 舉報

6#
ID:228780 發表于 2017-8-22 14:17 | 只看該作者
水位,溫度,安全,都加進去或者加WiFi模塊整手機APP好像就是個產品了
回復

使用道具 舉報

7#
ID:327516 發表于 2018-5-11 22:51 | 只看該作者
求電路圖啊 大神
回復

使用道具 舉報

8#
ID:448822 發表于 2019-2-9 17:02 | 只看該作者
學習一下樓主的文章
回復

使用道具 舉報

9#
ID:198298 發表于 2019-2-10 12:13 | 只看該作者
謝謝分享,學習了
回復

使用道具 舉報

10#
ID:122152 發表于 2019-2-10 15:03 | 只看該作者
謝謝分享!!!
回復

使用道具 舉報

11#
ID:770645 發表于 2020-6-5 19:59 | 只看該作者
樓主有原理圖沒
回復

使用道具 舉報

12#
ID:149799 發表于 2020-6-6 11:13 | 只看該作者
不錯的,謝謝分享。
回復

使用道具 舉報

13#
ID:955250 發表于 2022-3-30 16:14 | 只看該作者
加上水位檢測,溢出檢測、加熱模塊會更好
回復

使用道具 舉報

14#
ID:72088 發表于 2022-3-31 10:13 | 只看該作者
huakai 發表于 2017-6-9 12:08
有電路原理圖嗎???

這哪用得著電路圖啊,看程序定義就知道電路圖啥樣了
回復

使用道具 舉報

15#
ID:437129 發表于 2022-4-1 09:51 | 只看該作者
樓主辛苦,多謝分享!
回復

使用道具 舉報

16#
ID:399179 發表于 2022-4-16 21:20 來自手機 | 只看該作者
經典的實用的程序
回復

使用道具 舉報

17#
ID:437129 發表于 2024-10-24 14:30 | 只看該作者
學習了,多謝樓主分享!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狠狠操av| 狠狠干天天干 | 国产欧美精品在线 | 亚洲午夜视频 | 久操亚洲| 91大神xh98xh系列全部 | 国产精品久久久久久久一区探花 | 久久精品国产免费高清 | 欧美一区2区三区4区公司二百 | 日韩国产在线 | 99精品久久 | 欧美寡妇偷汉性猛交 | 草久久| 亚洲欧美在线观看 | 国产精品不卡 | 自拍偷拍在线视频 | 一级做a爰片性色毛片16美国 | 韩日精品一区 | 欧美激情精品久久久久久变态 | 国产小u女发育末成年 | 国产91在线 | 亚洲 | 精品欧美一区二区三区久久久 | 福利视频日韩 | 成人一区二区三区在线观看 | 精品国产乱码久久久久久果冻传媒 | 日日摸日日爽 | av资源中文在线 | 欧美一区二区三区四区视频 | 很很干很很日 | 亚洲网在线 | 黄色网址大全在线观看 | 久久精品国产一区 | 中文字幕第一页在线 | 久久久激情 | 天天爽一爽 | 一级免费看 | 日韩中文字幕在线播放 | 日韩在线观看精品 | www.色.com| 特黄视频 | 免费久|