找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請教高手

[復制鏈接]
跳轉到指定樓層
樓主
ID:48700 發(fā)表于 2013-3-16 11:31 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
一個簡單的ARM指令,卻實現不了如下功能:按下鍵(p0.20),實現led燈閃三下,松開鍵,燈滅,采用查詢方式,不采用中斷方式,代碼如下:

********************************************************************************************************/
#include "config.h"

#define ledcon  (0xfu<<28)
#define beepcon (0x1<<7)
#define keycon  (0x1<<20)

///////////////////////////////////////////////////////////
void delay(uint32 delaytime)
{
uint32 i;
for (;delaytime>0;delaytime--)
    {for(i=5000;i>0;i--);}
}

///////////////////////////////////////////////////////////
void ledon()
{
    IO2SET=ledcon;
    delay(10);
}

//////////////////////////////////////////////////////////
void ledoff()
{
    IO2CLR=ledcon;
    delay(10);
}

///////////////////////////////////////////////////////////
void beepon()
{
    IO0SET=beepcon;
    delay(10);
}

///////////////////////////////////////////////////////////
void beepoff()
{
    IO0CLR=beepcon;
    delay(10);
}

//////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////
int main (void)
{
uint8 nCount;

//P0.20 GPIO
PINSEL1=PINSEL1 & 0xfffffcff;

while (1)
{
    if ((IO0PIN & keycon)!=0)
    {
      for(nCount=3;nCount>0;nCount--)
      {
        ledon();
        //ledoff();     //如果允許執(zhí)行此語句,則開機一復位燈就一直亮,如果屏蔽此語句,則按下鍵燈亮,松鍵燈滅,不知是何原因,請高手指點?
      }
    }
    else
    {
       ledoff();
   }
   
}

    return 0;
}


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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表