主题 : Tiny6410 按键控制LED 裸机程序 复制链接 | 浏览器收藏 | 打印
大战6410
级别: 新手上路
UID: 59628
精华: 0
发帖: 22
金钱: 115 两
威望: 23 点
贡献值: 0 点
综合积分: 44 分
注册时间: 2011-11-27
最后登录: 2013-07-06
楼主  发表于: 2012-04-03 15:26

 Tiny6410 按键控制LED 裸机程序

第一次修改裸机程序 把按键K1,K2,K3,K4 控制LED1,2,3,4  的亮灭  
本人刚学 花了好长时间才弄好 那出来分享下 请大家多多指教
程序:#include "s3c6410_addr.h"
#include "utils.h"

int Wait_key(void);

static void delay(int times)
{
    int i,j;
    for(i=0;i<times;i++)
       for(j=0;j<400;j++);
}

void main(void)
{    
   Port_Init();
   while(1)
   {
        if(Wait_key())
        Led_Display(Wait_key());
        delay(2000);
        Led_Display(0xf);
   }
}

int Wait_key(void)
{
   int a=0xf;
   if(~(rGPNDAT & 0xf))  //按下为0 ,再取反
   delay(200);
   if(~(rGPNDAT & 0xf)) /*判断按键是否按下*/
     {a=(rGPNDAT & 0xf);
      while(!(rGPNDAT & 0xf));
      //return 1;
      return a;
     }
    else
      return a;
}
级别: 新手上路
UID: 77386
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
贡献值: 0 点
综合积分: 44 分
注册时间: 2012-09-07
最后登录: 2014-05-09
1楼  发表于: 2013-02-09 00:18
没有这个呀,老大??      Port_Init() 具体内容呢?
级别: 新手上路
UID: 77386
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
贡献值: 0 点
综合积分: 44 分
注册时间: 2012-09-07
最后登录: 2014-05-09
2楼  发表于: 2013-02-09 00:20
Led_Display() ???
级别: 新手上路
UID: 56487
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2011-10-08
最后登录: 2018-09-26
3楼  发表于: 2014-05-06 19:57

 回 楼主(往往1149) 的帖子