zoukankan      html  css  js  c++  java
  • 按键与静态数码管

    #include<reg51.h>
    #include<intrins.h>
    
    #define GPIO_LED P2                  //将P2口另外取名为GPIO_LED
    #define GPIO_KEY P0
    
    void Delay10ms(unsigned int);           //误差 0us
    
    /*******************************************************************************
    * 函数名           : main
    * 函数功能         : 主函数
    * 输入             : 无
    * 输出              : 无
    *******************************************************************************/
    
    unsigned char code DIG_CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9的值
    void main(void)
    {
        //unsigned char n;
        int i,j;
        j=~DIG_CODE[0];
        
        while(1)
        {
            GPIO_LED = j;
            if(GPIO_KEY!=0xFF)
            {
                Delay10ms(1);
                if(GPIO_KEY==0xFE)//1111 1110
                {
                    j=~DIG_CODE[1];
                }    
                if(GPIO_KEY==0xFD)//1111 1101
                {
                    j=~DIG_CODE[2];
                }
                if(GPIO_KEY==0xFB)//1111 1011
                {
                    j=~DIG_CODE[3];
                }
                if(GPIO_KEY==0xF7)//1111 0111
                {
                    j=~DIG_CODE[4];
                }                
                if(GPIO_KEY==0xEF)//1110 1111
                {
                    j=~DIG_CODE[5];
                }
                if(GPIO_KEY==0xDF)//1101 1111
                {
                    j=~DIG_CODE[6];
                }
                if(GPIO_KEY==0xBF)//1011 1111
                {
                    j=~DIG_CODE[7];
                }
                if(GPIO_KEY==0x7F)//0111 1111
                {
                    j=~DIG_CODE[8];
                }
                while((i<50)&&(GPIO_KEY!=0xFF))     //检测按键是否松开
                {
                    Delay10ms(1);
                    i++;
                }
                i=0;
            }
        }    
    }
    /*******************************************************************************
    * 函数名         : Delay10ms
    * 函数功能           : 延时函数,延时10ms
    * 输入           : 无
    * 输出              : 无
    *******************************************************************************/
    void Delay10ms(unsigned int c)   //误差 0us
    {
        unsigned char a,b;
        for(;c>0;c--)
            for(b=38;b>0;b--)
                for(a=130;a>0;a--);
    }
  • 相关阅读:
    Java学习(零)
    WP7 Toolkit ExpanderView 控件 介绍 01
    WP7 Tip:改变启动页
    WP7 Toolkit LoopingSelector 控件 介绍
    azkaban hdfs plugin 配置
    修改hostname
    hybris Models
    hadoop 2.6 安装配置
    hadoop CDH5.1.0 配置kerberos
    flumengtaildirectorysource 修改调试可用
  • 原文地址:https://www.cnblogs.com/hnhcc39/p/3450517.html
Copyright © 2011-2022 走看看