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; 
    }

    开发板运行结果如下:

  • 相关阅读:
    SQLServer中的死锁的介绍
    T-SQL基础--TOP
    jQuery 与js判断是否单选复选选中
    动态替换iframe的src及动态改变iframe的高度
    ztree-持续更新中
    java发送http连接
    nginx配置文件详解
    eclipse Mars4.5.2安装fatjar
    java Scanner类注意事项
    纯java+maven+sqlserver使用mybatis
  • 原文地址:https://www.cnblogs.com/wenqiang/p/4770845.html
Copyright © 2011-2022 走看看