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

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

QQ登錄

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

搜索
查看: 9816|回復(fù): 16
收起左側(cè)

單片機(jī)編程必須撐握的程序(兩鍵智能豆?jié){機(jī)程序)

  [復(fù)制鏈接]
ID:76127 發(fā)表于 2015-4-5 00:56 | 顯示全部樓層 |閱讀模式
單片機(jī)學(xué)習(xí)編程,必須要將各種中斷方法靈活的運(yùn)用到系統(tǒng)中去,如鍵實(shí)時(shí)盤(pán)掃描,顯示,各種輸出等;兩鍵智能豆?jié){機(jī)程序集鍵盤(pán)實(shí)時(shí)掃描,LED指示,輸出為一體;其綜合了“定時(shí)中斷,獨(dú)立按鍵,顯示,定時(shí)”等各種功能;該程序是學(xué)習(xí)實(shí)用型編程的必要撐握的程序。本人通過(guò)實(shí)際調(diào)試,輸出效果良好,達(dá)到預(yù)期的要求。
本豆?jié){機(jī)編程功能要求:
1、當(dāng)機(jī)器通電后,干豆指示燈、濕豆指示燈、米糊指示燈,三燈同時(shí)以0.5秒的速度進(jìn)行閃亮,以指示正在處于待機(jī)中;
2,當(dāng)K1鍵按下,系統(tǒng)程序進(jìn)入三種可選功能模式,(打干豆、打顯豆、打米糊);這三種功能選擇由K1完成;
3、當(dāng)K1選定了其中一個(gè)工作模式,必須按下K2確認(rèn),然后系統(tǒng)程序立即進(jìn)入工作中;
4、當(dāng)用戶不想用上面選擇的工作模式時(shí),按下K2鍵退出工作,然后按K1鍵再次進(jìn)入工作模式選擇,然后再按K2確認(rèn)進(jìn)入本次想要的工作模式。
5、要求系統(tǒng)程序任何時(shí)間,程序都必須對(duì)鍵盤(pán)實(shí)時(shí)掃描,以確保用戶可以隨時(shí)重新選擇工作模式或停機(jī)。
6、要求每按下一次任意鍵蜂嗚器都有響聲,以表示按下成功;
7、要求統(tǒng)統(tǒng)模式工作完成后,要求程序回到待機(jī)狀態(tài),以指示工作完成,用戶可以喝豆?jié){了。
以下程序用SiWN開(kāi)發(fā)板驗(yàn)證調(diào)試完成。
////------------------兩鍵(三功能)智能豆?jié){機(jī)程序-------------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;//-----確認(rèn)按鍵
sbit beep=P3^3;//---蜂嗚器
sbit LED_LE=P3^4;//-LED片選端
sbit HOT=P1^5;//----發(fā)熱管
sbit MM=P1^4;//-----電機(jī)
////////
sbit LED_gandou=P1^3;//----干豆指示燈
sbit LED_shidou=P1^2;//----濕豆指示燈
sbit LED_mihu=P1^1;//------米糊指示燈
////////-------------------------------延時(shí)
void delayms(uint yanshi)
{
uint a;
for(a=0;a<yanshi;a++);
}
///////-----------------------k2/(on/off)按鍵檢測(cè)
void k2_panduan()
{
if(!k2)
{
  delayms(350);
  if(!k2)
  while(k2==0);
  beep=0;
   delayms(60000);
  beep=1;
  ID2++;
}
}
///////--------------------------------k1按鍵檢測(cè)
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;//發(fā)熱管接通
         MM=1;
         k2_panduan();
         if(ID2==1)
                         {
          ID2=0;
                        break;
         }
        }
///-----------------------------
        if(time>200&&time<400)
        {
         TR1=1;
         HOT=1;//發(fā)熱管斷開(kāi)
         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;//發(fā)熱管斷開(kāi)
        MM=0;
        k2_panduan();
        if(ID2==1)
                         {
          ID2=0;
                          break;
         }
       }
//--------------------------
       if(time>200&&time<400)
       {
        TR1=1;
        HOT=0;//發(fā)熱管接通
        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;//發(fā)熱管斷開(kāi)
        MM=0;
        k2_panduan();
        if(ID2==1)
                         {
          ID2=0;
                          break;
         }
       }
////---------------------
       if(time>200&&time<400)
       {
        TR1=1;
        HOT=1;//發(fā)熱管斷開(kāi)
        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;
  }
}
////
}
/*---------------------定時(shí)中斷0--------------------*/
void Tmer_0() interrupt 1
{
TR0=0;
TH0=0x4c;
TL0=0x00;
nem++;
TR0=1;
}
///////////////////////定時(shí)中斷1/////////////////////
void Tmer_1() interrupt 3
{
TR1=0;
TH1=0x4c;
TL1=0x00;
time++;
TR1=1;
}



回復(fù)

使用道具 舉報(bào)

ID:74303 發(fā)表于 2015-5-2 20:40 | 顯示全部樓層
很好
回復(fù)

使用道具 舉報(bào)

ID:208751 發(fā)表于 2017-6-9 12:08 | 顯示全部樓層
有電路原理圖嗎???
回復(fù)

使用道具 舉報(bào)

ID:159139 發(fā)表于 2017-6-9 23:47 來(lái)自觸屏版 | 顯示全部樓層
謝謝分享。
回復(fù)

使用道具 舉報(bào)

ID:33544 發(fā)表于 2017-8-14 16:22 | 顯示全部樓層
學(xué)習(xí)一下樓主的文章
回復(fù)

使用道具 舉報(bào)

ID:228780 發(fā)表于 2017-8-22 14:17 | 顯示全部樓層
水位,溫度,安全,都加進(jìn)去或者加WiFi模塊整手機(jī)APP好像就是個(gè)產(chǎn)品了
回復(fù)

使用道具 舉報(bào)

ID:327516 發(fā)表于 2018-5-11 22:51 | 顯示全部樓層
求電路圖啊 大神
回復(fù)

使用道具 舉報(bào)

ID:448822 發(fā)表于 2019-2-9 17:02 | 顯示全部樓層
學(xué)習(xí)一下樓主的文章
回復(fù)

使用道具 舉報(bào)

ID:198298 發(fā)表于 2019-2-10 12:13 | 顯示全部樓層
謝謝分享,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:122152 發(fā)表于 2019-2-10 15:03 | 顯示全部樓層
謝謝分享!!!
回復(fù)

使用道具 舉報(bào)

ID:770645 發(fā)表于 2020-6-5 19:59 | 顯示全部樓層
樓主有原理圖沒(méi)
回復(fù)

使用道具 舉報(bào)

ID:149799 發(fā)表于 2020-6-6 11:13 | 顯示全部樓層
不錯(cuò)的,謝謝分享。
回復(fù)

使用道具 舉報(bào)

ID:955250 發(fā)表于 2022-3-30 16:14 | 顯示全部樓層
加上水位檢測(cè),溢出檢測(cè)、加熱模塊會(huì)更好
回復(fù)

使用道具 舉報(bào)

ID:72088 發(fā)表于 2022-3-31 10:13 | 顯示全部樓層
huakai 發(fā)表于 2017-6-9 12:08
有電路原理圖嗎???

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

使用道具 舉報(bào)

ID:437129 發(fā)表于 2022-4-1 09:51 | 顯示全部樓層
樓主辛苦,多謝分享!
回復(fù)

使用道具 舉報(bào)

ID:399179 發(fā)表于 2022-4-16 21:20 來(lái)自觸屏版 | 顯示全部樓層
經(jīng)典的實(shí)用的程序
回復(fù)

使用道具 舉報(bào)

ID:437129 發(fā)表于 2024-10-24 14:30 | 顯示全部樓層
學(xué)習(xí)了,多謝樓主分享!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成 人 黄 色 片 在线播放 | 97人人看| 69福利视频 | 午夜视频一区二区三区 | 性生活网址 | 日韩福利在线 | 成人免费看片视频 | 欧美精品久 | 欧美日韩免费看 | 中文字幕一区二区三区视频 | 国产精品伦理一区 | 18岁毛片| 国产高清91 | 在线看片你懂的 | 99视频在线播放 | 日本亚洲天堂 | 黄色网址在线免费观看 | 毛片一区 | 国语对白永久免费 | 中文字幕专区 | 91理论片午午伦夜理片久久 | 欧美一区不卡 | 国产无遮挡又黄又爽又色 | 欧美黄色一级 | 九月丁香婷婷 | 中文字幕视频在线 | 日本在线看 | 日韩中文字幕在线播放 | 国产网址 | 一级欧美一级日韩 | 在线a视频| 亚洲欧美在线视频 | 免费黄色一级视频 | 一区二区三区视频 | 一本色道久久综合亚洲精品小说 | 色婷婷亚洲 | 中文字幕在线免费看线人 | 日韩中文字幕在线观看 | 国产三级黄色片 | 欧美色图一区二区三区 | 亚洲一区二区精品视频 |