zoukankan      html  css  js  c++  java
  • Tiny4412之按键驱动

      一:按键驱动

      按键驱动跟之前的LED,蜂鸣器的方法类似;通过底板,核心板我们可以看到按键的电路图:

      

    通过电路图我们可以看出,当按键按下去为低电平,松开为高电平;所以我们要检测XEINT26的状态,通过芯片手册找到GPX3_2的说明;

     

    有芯片手册可知:GPX3CON为0为检测,GPAC3DAT为1是高电平下面贴出代码:按键KEY1,KEY2,KEY3分别控制输出字符串,KEY4控制退出:

    #define GPX3CON (*(volatile unsigned long *)0x11000c60)
    #define GPX3DAT (*(volatile unsigned long *)0x11000c64)
    
    int (*printf)(char *, ...) = 0xc3e114d8;
    void (*udelay)(int) = 0xc3e25f90;//延时程序
    
    int main()
    {
        GPX3CON &= ~(0xffff << 8);
        while(1) {
            /*key1*/
            if((GPX3DAT & (0x1 << 2)) == 0) {
                printf("key 1 down
    ");
                printf("hello world
    ");
                udelay(250000);
            }
            /*key2*/
            if((GPX3DAT & (0x1 << 3)) == 0) {
                printf("key 2 down
    ");
                printf("good monig
    ");
                udelay(250000);
            }
            /*key3*/
            if((GPX3DAT & (0x1 << 4)) == 0) {
                printf("key 3 down
    ");
                printf("welcom key 3
    ");
                udelay(250000);
            }
            /*key4*/
            if((GPX3DAT & (0x1 << 5)) == 0) {
                printf("key 4 down
    ");
                break;
            }
        }
        printf("Over
    ");
        
        return 0; 
    }

    开发板运行结果如下:

  • 相关阅读:
    第七章
    第五章
    第六章
    Git使用入门
    源代码的下载和编译
    向中国最牛的前端群-鬼群致敬
    Normalize.css做了哪些事情--看代码
    谷歌浏览器:书签被误删了怎么办
    2013/8月读书计划
    Limu:JavaScript的那些书
  • 原文地址:https://www.cnblogs.com/wenqiang/p/4770845.html
Copyright © 2011-2022 走看看