標(biāo)題: STC15F104W單片機(jī)四路按鍵循環(huán)開(kāi)關(guān)程序 [打印本頁(yè)]

作者: 6313    時(shí)間: 2020-12-16 14:00
標(biāo)題: STC15F104W單片機(jī)四路按鍵循環(huán)開(kāi)關(guān)程序
用一個(gè)按鍵控制四個(gè)繼電器循環(huán)導(dǎo)通,程序由51單片機(jī)的程序改到STC15F104W上,第一次按鍵,第一個(gè)繼電器吸合,第二次按鍵,第二個(gè)繼電器吸合,第一個(gè)繼電器釋放,以此類推。最初的想法就是實(shí)現(xiàn)電風(fēng)扇,三檔開(kāi)關(guān),程序里面可以修改端口。
#include<reg52.h>

sbit key = P3^4; //定義按鍵

void delayms(void);                         //延時(shí)
void led_refresh(unsigned char i);   //led顯示
unsigned char keyscan(void);                 //按鍵
void init(void);                                         //初始化

void main(void)
{
   unsigned char m;

   init();
   while(1)
        {
          m = keyscan();
          led_refresh(m);
        }

}
               
void delayms(void)                   //延時(shí)函數(shù)
{
  unsigned int i;

  i = 10000;
  while(i--);
}

void led_refresh(unsigned char j)        //led顯示
{
      switch(j)
           {
                  case 0 :  P3=0xFF; break;            // 全部熄滅
                  case 1 :  P3=0xFE; break;                // led1 點(diǎn)亮
                  case 2 :  P3=0XFD; break;                // led2 點(diǎn)亮
                  case 3 :  P3=0XFB; break;                // led3
                                  case 4 :  P3=0XF7; break;        
           }
}

unsigned char keyscan(void)                          //按鍵掃描
{
        static unsigned char count = 0;
        unsigned char z = 0;
    static bit keyflag = 1;
    static bit backup = 1;

       keyflag = key;
              if(keyflag != backup )
           {
                 delayms();
                     if(keyflag == key)
                       {
                             if(backup == 0)
                            {
                                     count++;
                                   if(count >= 5)
                                             {
                                       count = 0;
                            }         }
                          }
                }
               
                 完整程序請(qǐng)下載文件
作者: 51hei團(tuán)團(tuán)    時(shí)間: 2020-12-16 14:06
樓主您好 ,程序不完整啊
作者: 6313    時(shí)間: 2020-12-16 14:19
想上傳文件,手機(jī)怎么上傳不了
作者: 51hei團(tuán)團(tuán)    時(shí)間: 2020-12-16 14:21
6313 發(fā)表于 2020-12-16 14:19
想上傳文件,手機(jī)怎么上傳不了

手機(jī)點(diǎn)擊底部的電腦版可以傳文件,好像手機(jī)版只能發(fā)圖片
作者: 6313    時(shí)間: 2020-12-16 17:45
STC15F104W四路按鍵循環(huán)開(kāi)關(guān).zip (750 Bytes, 下載次數(shù): 139)
作者: 6313    時(shí)間: 2020-12-16 17:55
程序由51單片機(jī)修改而來(lái)的,只要修改一下輸出端口,51和STC15F104都可以用
作者: 6313    時(shí)間: 2020-12-16 17:56
51hei團(tuán)團(tuán) 發(fā)表于 2020-12-16 14:06
樓主您好 ,程序不完整啊

附件已上傳
作者: jialishoushi    時(shí)間: 2021-1-4 05:05
非常感謝  有空也照著做一個(gè)
作者: w234    時(shí)間: 2021-4-21 16:55
非常好  反向很好  剛好需要一個(gè)這種好的程序  謝謝貼主
作者: 6313    時(shí)間: 2021-7-12 21:37
這只是模擬電風(fēng)扇的循環(huán)開(kāi)關(guān),誰(shuí)可以在這基礎(chǔ)上再加一個(gè)定時(shí)程序,就是電風(fēng)扇的定時(shí)程序,一個(gè)按鍵控制,按一次加30分鐘,或者是一個(gè)小時(shí),一個(gè)按鍵循環(huán)使用
作者: zzya1985    時(shí)間: 2023-9-28 11:19
感謝樓主分享,正在用業(yè)余時(shí)間學(xué)習(xí)51單片機(jī)




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