yanghuai1023 发表于 2013-8-5 14:53:29

求助,复合按键的处理方法

目标器件:ATmega64 ,
晶振:RC 7.3728MHZ,
编译环境:ICCAVR 7.22
PE口,PF口共16个单独的按键输入口,每个按键是一个任务,多任务可以同时运行。
程序如下,可是读出来的值,不对。
有哪位大侠有按键扫描例子可参考一下的吗?

void GetKey(void)
{
unsigned char jog,inputkey;
inputkey = PINE&0xff;
if(inputkey == 0xff)
{
if(keystate == 1)
{
        keystate =0;
        return keyvalue;
}
else
{return 0;}
}
else
{
keystate = 1;
if((inputkey&0x01)==0) key1 = 1;
if((inputkey&0x02)==0) key2 = 1;
if((inputkey&0x04)==0) key3 = 1;
if((inputkey&0x08)==0) key4 = 1;
if((inputkey&0x10)==0) key5 = 1;
if((inputkey&0x20)==0) key6 = 1;
if((inputkey&0x40)==0) key7 = 1;
if((inputkey&0x80)==0) key8 = 1;
}
}

angel_gph 发表于 2013-8-9 13:52:05

分时系统

netawater 发表于 2013-8-9 13:59:25

每个按键搞一个任务,为嘛?

yanghuai1023 发表于 2013-8-9 16:47:36

我还不会那个任务式的程序编程,所以就想搞一组按键,每个按键做一个任务,采用定时器到点关闭
所以还在狂抓中啊!不知道任务式的程序结构是怎么样写的{:dizzy:}
页: [1]
查看完整版本: 求助,复合按键的处理方法