打印

2*3 按键的扫描子程序,救高人指点怎样可以把程序写的最简

[复制链接]
1725|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
110xia|  楼主 | 2007-8-3 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    unsigned char key_buf;
    unsigned char key_flag;    
    unsigned char key_edge;

void Detect_Key(unsigned char keycow){
    static unsigned char state=0;           
    switch (keycow){                     
        case 0:
        if((key_buf&0x04)==0){
            if((key_flag&0x80)!=0){
                key_edge|=0x80;
                key_flag&=0x7f;
            }
        }
        else    key_flag|=0x80;
        if((key_buf&0x02)==0){
            if((key_flag&0x40)!=0){
                key_edge|=0x40;
                key_flag&=0xbf;
            }
        }
        else    key_flag|=0x40;
        break;     

        case 1:              
        if((key_buf&0x04)==0){
            if((key_flag&0x20)!=0){
                key_edge|=0x20;
                key_flag&=0xdf;
            }
        }
        else    key_flag|=0x20;
        if((key_buf&0x02)==0){
            if((key_flag&0x10)!=0){
                key_edge|=0x10;
                key_flag&=0xef;
            }
        }
        else    key_flag|=0x10;
        break;
        
        case 2:            
        if((key_buf&0x04)==0){
            if((key_flag&0x08)!=0){
                key_edge|=0x08;
                key_flag&=0xf7;
            }
        }
        else    key_flag|=0x08;
        if((key_buf&0x02)==0){
            if((key_flag&0x04)!=0){
                key_edge|=0x04;
                key_flag&=0xfb;
            }
        }
        else    key_flag|=0x04;
        break;

        default:
        break;
    }    
}

相关帖子

沙发
myhmz| | 2007-8-3 10:53 | 只看该作者

用线反转法

我就是用线反转法

使用特权

评论回复
板凳
110xia|  楼主 | 2007-8-3 12:49 | 只看该作者

我这个程序,可能不适合

这个程序已经完成了按键解析和抖动处理

使用特权

评论回复
地板
ayb_ice| | 2007-8-3 14:31 | 只看该作者

一个按键程序还什么“按键解析和抖动处理”。。。

使用特权

评论回复
5
etual| | 2007-8-3 14:57 | 只看该作者

一个按键程序为什么不抖动处理......

使用特权

评论回复
6
ayb_ice| | 2007-8-3 15:26 | 只看该作者

随便说说

看你的程序还要调用多次才能完成扫键功能...
简直太烂了....
费时又费代码...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

519

帖子

2

粉丝