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

QQ登錄

只需一步,快速開始

搜索
查看: 3432|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

[求助]

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:46594 發(fā)表于 2012-11-19 22:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

采用單片機(jī)系統(tǒng)、四路按鍵、四個(gè)LED燈、一個(gè)數(shù)碼管,學(xué)習(xí)按鍵檢測(cè)的基本原理,實(shí)現(xiàn)四路按鍵的檢測(cè),當(dāng)檢測(cè)到某一按鍵按下,點(diǎn)亮對(duì)應(yīng)LED等,并在數(shù)碼管顯示對(duì)應(yīng)的按鍵號(hào)。   跪求啊   最好在這個(gè)程序上修改  


/***************************************************
描  述:按鍵控制

***************************************************/
#include<reg52.h>                 //包含一個(gè)51標(biāo)準(zhǔn)內(nèi)核的頭文件

sbit K1=P3^5;   //定義IO口
sbit K2=P3^4;                   //定義IO口
sbit K3=P3^3;                   //定義IO口
sbit K4=P3^2;                   //定義IO口
sbit L1=P1^0;
sbit L2=P1^1;
sbit L3=P1^2;                   
sbit L4=P1^3;

sbit DU=P2^6;
sbit WE=P2^7;


void delay10ms(void) //延時(shí)程序
{
 unsigned char i,j;
 for(i=20;i>0;i--)
 for(j=248;j>0;j--);

}
 
void main(void)                  //主函數(shù)
{ 
   K1=1 ; 
   K2=1 ;
   K3=1 ;
   K4=1 ;
   L1=1; 
   L2=1; 
   L3=1; 
   L4=1;
   DU=1;
   WE=1;
   P0=0xff;                        //賦初值 
   while(1)       
   {
 
 
if(K1==0)                       //如果按鍵1按下
     {
   delay10ms();
   if(K1==0)
    L1=0;                //燈亮
       DU=0;
    WE=1;
       P0=0xf9; 
  }
    else                        //沒按下
      {
       L1=1;                   //燈滅
    
     }
     
if(K2==0)                       //如果按鍵2按下
     {
   delay10ms();
   if(K2==0)
    L2=0;                //燈亮
       DU=0;
    WE=1;
       P0=0xa4; 
  }
    else                        //沒按下
      {
       L2=1;                   //燈滅
    
       }
     
if(K3==0)                       //如果按鍵3按下
     {
   delay10ms();
   if(K3==0)
    L3=0;                //燈亮
       DU=0;
    WE=1;
       P0=0xb0; 
  }
    else                        //沒按下
      {
       L3=1;   
                //燈滅
       }
           
if(K4==0)                       //如果按鍵4按下
     {
   delay10ms();
   if(K4==0)
    L4=0;                //燈亮
    DU=0;
    WE=1;
       P0=0x99; 
      }
    else                        //沒按下
      {
       L4=1;                   //燈滅
       
   }
     }

}

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

使用道具 舉報(bào)

沙發(fā)
ID:46654 發(fā)表于 2012-11-26 10:28 | 只看該作者

描  述:按鍵控制

***************************************************/
#include<reg52.h>                 //包含一個(gè)51標(biāo)準(zhǔn)內(nèi)核的頭文件

sbit K1=P3^5;   //定義IO口
sbit K2=P3^4;                   //定義IO口
sbit K3=P3^3;                   //定義IO口
sbit K4=P3^2;                   //定義IO口
sbit L1=P1^0;
sbit L2=P1^1;
sbit L3=P1^2;                  
sbit L4=P1^3;

sbit DU=P2^6;
sbit WE=P2^7;


void delay10ms(void) //延時(shí)程序
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);

}

void main(void)                  //主函數(shù)
{
   K1=1 ;
   K2=1 ;
   K3=1 ;
   K4=1 ;
   L1=1;
   L2=1;
   L3=1;
   L4=1;
   DU=1;
   WE=1;
   P0=0xff;                        //賦初值
   while(1)      
   {


if(K1==0)                       //如果按鍵1按下
     {
   delay10ms();
   if(K1==0)
    L1=0;                //燈亮
       DU=0;
         P0=0xf9;

      DU=1;

     delay();

     WE=0;

   P0=OX??

    WE=1;

 

   p0=0XFF;消隱

 delay();

   }
    else                        //沒按下
      {
       L1=1;                   //燈滅
   
     }
    
if(K2==0)                       //如果按鍵2按下
     {
   delay10ms();
   if(K2==0)
    L2=0;                //燈亮
       DU=0;
 
       P0=0xa4; //數(shù)碼管顯示數(shù)字

      DU=1;

      WE=0;

   P0=OX??

    WE=1;

 

   p0=0XFF;消隱

 delay();

      
  }
    else                        //沒按下
      {
       L2=1;                   //燈滅
   
       }
    
if(K3==0)                       //如果按鍵3按下
     {
   delay10ms();
   if(K3==0)
    L3=0;                //燈亮
       DU=0;
          P0=0xb0;

       DU=1;

    WE=0;

P0=0x??; 

WE=1;

p0=0xff;


  }
    else                        //沒按下
      {
       L3=1;  
                //燈滅
       }
          
if(K4==0)                       //如果按鍵4按下
     {
   delay10ms();
   if(K4==0)
    L4=0;                //燈亮
    DU=0;
    WE=0;
       P0=0x99;
      }
    else                        //沒按下
      {
       L4=1;                   //燈滅
      
   }
     }

[此貼子已經(jīng)被作者于2012-11-26 11:26:20編輯過]
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表