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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6371|回復: 4
打印 上一主題 下一主題
收起左側(cè)

求STC15W204S中斷一鍵多功能實現(xiàn)方法

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:12312 發(fā)表于 2015-11-9 19:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
現(xiàn)有產(chǎn)品需要一鍵多功能(兩個功能即長按與短按各處一個功能)在中斷口處理,請問大俠們有沒有方法附上參考程序可否。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2015-11-9 19:59 | 只看該作者
回復

使用道具 舉報

板凳
ID:79544 發(fā)表于 2015-11-10 17:54 | 只看該作者
  1. /****************************************************8
  2.                 功能  :單按鍵控制多個LED
  3.                 單片機:STC12C5608AD
  4.                 晶振  :12M
  5.                 使用矩陣按鍵小板測試
  6. ******************************************************/
  7. #include <reg52.H>   
  8. #define uchar unsigned char
  9. #define uint  unsigned int

  10. uchar ID=0;//定義按鍵的次數(shù)變量  
  11. sbit key=P3^1;
  12. sbit led1=P1^0;
  13. sbit led2=P1^1;
  14. sbit led3=P1^2;
  15. sbit led4=P1^3;
  16. sbit led5=P1^4;
  17. sbit led6=P1^5;
  18. sbit led7=P1^6;
  19. sbit led8=P1^7;
  20. uchar code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  21. uchar code tab1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,};

  22. //-----精確延時1ms----------------------
  23. void delay1ms(uint z)  
  24. {      
  25.         unsigned int a,b;     
  26.         for(a=z;a>0;a--)         
  27.         for(b=642;b>0;b--) ;            
  28. }          
  29. //---------延時20ms--------------------     
  30. void delay20ms(void)  
  31. {      
  32.         unsigned char a,b;   
  33.         for(b=215;b>0;b--)         
  34.         for(a=45;a>0;a--);
  35. }

  36. void liushui()
  37. {
  38.         unsigned char i;
  39.         for(i=0;i<8;i++)
  40.         {
  41.                 P1=tab[i];
  42.                 delay1ms(200);       
  43.         }

  44. }
  45. void liushui1()
  46. {
  47.         unsigned char i;
  48.         for(i=0;i<8;i++)
  49.         {
  50.                 P1=tab1[i];
  51.                 delay1ms(200) ;       
  52.         }

  53. }
  54. void liushui2()
  55. {
  56.         unsigned char i;
  57.         for(i=0;i<8;i++)
  58.         {
  59.                 P1=tab1[i];
  60.                 delay1ms(200) ;       
  61.         }
  62.         for(i=0;i<8;i++)
  63.         {
  64.                 P1=tab[i];
  65.                 delay1ms(200) ;       
  66.         }
  67. }
  68. void main(void)  
  69. {   
  70.        
  71.         while(1)      
  72.         {   
  73.                 if(key==0)            
  74.                 {   
  75.                         delay1ms(10);            
  76.                         if(key==0)            
  77.                          {                  
  78.                                 ID++;                 
  79.                                 if(ID==9)                 
  80.                                 {                     
  81.                                         ID=0;                  
  82.                                 }                 
  83.                                 while(key==0);              
  84.                          }         
  85.                 }         
  86.                 switch(ID)         
  87.                 {
  88.                         case 1:liushui();break;
  89.                         case 2:liushui1();break;         
  90.                         case 3:liushui2();break;
  91.                         case 4:P1=0xff;delay20ms();led4=0;delay20ms();break;
  92.                         case 5:P1=0xff;delay20ms();led5=0;delay20ms();break;
  93.                         case 6:P1=0xff;delay20ms();led6=0;delay20ms();break;         
  94.                         case 7:P1=0xff;delay20ms();led7=0;delay20ms();break;
  95.                         case 8:P1=0xff;delay20ms();led8=0;delay20ms();break;
  96.                         default: P1=0xff;break;
  97.                 }      
  98.         }  
  99. }
復制代碼
就是一個按鍵控制多個LED的程序
回復

使用道具 舉報

地板
ID:186299 發(fā)表于 2017-4-5 15:08 | 只看該作者
啊啊好
回復

使用道具 舉報

5#
ID:186299 發(fā)表于 2017-4-5 15:10 | 只看該作者
/****************************************************8
                功能  :單按鍵控制多個LED
                單片機:STC12C5608AD
                晶振  :12M
                使用矩陣按鍵小板測試
******************************************************/
#include <reg52.H>   
#define uchar unsigned char
#define uint  unsigned int

uchar ID=0;//定義按鍵的次數(shù)變量  
sbit key=P3^1;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
sbit led7=P1^6;
sbit led8=P1^7;
uchar code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code tab1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,};

//-----精確延時1ms----------------------
void delay1ms(uint z)  
{      
        unsigned int a,b;     
        for(a=z;a>0;a--)         
        for(b=642;b>0;b--) ;            
}         
//---------延時20ms--------------------     
void delay20ms(void)  
{      
        unsigned char a,b;   
        for(b=215;b>0;b--)         
        for(a=45;a>0;a--);
}

void liushui()
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                P1=tab[i];
                delay1ms(200);        
        }

}
void liushui1()
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                P1=tab1[i];
                delay1ms(200) ;        
        }

}
void liushui2()
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                P1=tab1[i];
                delay1ms(200) ;        
        }
        for(i=0;i<8;i++)
        {
                P1=tab[i];
                delay1ms(200) ;        
        }
}
void main(void)  
{   
        
        while(1)      
        {   
                if(key==0)            
                {   
                        delay1ms(10);            
                        if(key==0)            
                         {                  
                                ID++;                 
                                if(ID==9)                 
                                {                     
                                        ID=0;                  
                                }                 
                                while(key==0);              
                         }         
                }         
                switch(ID)         
                {
                        case 1:liushui();break;
                        case 2:liushui1();break;         
                        case 3:liushui2();break;
                        case 4:P1=0xff;delay20ms();led4=0;delay20ms();break;
                        case 5:P1=0xff;delay20ms();led5=0;delay20ms();break;
                        case 6:P1=0xff;delay20ms();led6=0;delay20ms();break;         
                        case 7:P1=0xff;delay20ms();led7=0;delay20ms();break;
                        case 8:P1=0xff;delay20ms();led8=0;delay20ms();break;
                        default: P1=0xff;break;
                }      
        }  
}
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线播 | 国产91精品久久久久久久网曝门 | 伊人精品久久久久77777 | 欧美日韩不卡合集视频 | 午夜午夜精品一区二区三区文 | 91爱爱·com | 欧美女优在线观看 | 午夜影院在线观看视频 | 日韩精品色网 | 日韩久久综合 | 欧美日韩电影一区二区 | 久久成人国产精品 | 精品三级| 欧美一区二区三区久久精品 | 久久久国产一区二区三区 | 国产在线麻豆精品入口 | 亚洲a在线视频 | 国产中文 | 欧美在线视频一区二区 | 日韩欧美一区二区三区免费观看 | 精品国产欧美一区二区三区成人 | 91麻豆精品国产91久久久久久 | 国产精品视频网站 | 天天操天天舔 | 浮生影院免费观看中文版 | 国产精品日韩一区 | 91高清在线视频 | 欧美一区二区在线 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 黄色成人免费在线观看 | 最新av在线网址 | 欧美成年视频 | 色婷婷av一区二区三区软件 | 日韩播放 | a级片在线观看 | 成人二区| 日本精品一区二区三区视频 | 精品久久久久久 | 亚洲精品电影在线 | 伊人伊成久久人综合网站 | 日日夜夜精品免费视频 |