久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 單片機(jī)8個獨(dú)立鍵盤用P1口 程序 [打印本頁]

作者: hsy2966    時間: 2015-11-3 19:35
標(biāo)題: 單片機(jī)8個獨(dú)立鍵盤用P1口 程序
#include <reg51.h>           //此文件中定義了51的一些特殊功能寄存器
#include <intrins.h>

//--定義要使用的IO口--//
#define  GPIO_KEY P1  //獨(dú)立鍵盤用P1口
#define  GPIO_LED P0  //led使用P0口

//--聲明全局函數(shù)--//
void Delay10ms(unsigned int c);   //延時10ms
unsigned char Key_Scan();

/*******************************************************************************
* 函 數(shù) 名         : main
* 函數(shù)功能                   : 主函數(shù)
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void main(void)
{
        unsigned char ledValue, keyNum;

        ledValue = 0x01;

        while (1)
        {        
                keyNum = Key_Scan();  //掃描鍵盤

                switch (keyNum)
                {
                        case(0xFE) :          //返回按鍵K1的數(shù)據(jù)
                                ledValue = 0x01;
                                break;
                        case(0xFD) :          //返回按鍵K2的數(shù)據(jù)
                                ledValue = 0x02;
                                break;
                        case(0xFB) :          //返回按鍵K3的數(shù)據(jù)
                                ledValue = 0x04;
                                break;
                        case(0xF7) :          //返回按鍵K4的數(shù)據(jù)
                                ledValue = 0x08;
                                break;
                        case(0xEF) :          //返回按鍵K5的數(shù)據(jù)
                                ledValue = 0x10;
                                break;
                        case(0xDF) :          //返回按鍵K6的數(shù)據(jù)
                                ledValue = 0x20;
                                break;
                        case(0xBF) :          //返回按鍵K7的數(shù)據(jù)
                                ledValue = 0x40;
                                break;
                        case(0x7F) :          //返回按鍵K8的數(shù)據(jù)
                                ledValue = 0x80;
                                break;
                        default:
                                break;
                }

                GPIO_LED = ledValue;//點(diǎn)亮LED燈
        }                                
}

/*******************************************************************************
* 函 數(shù) 名         : Key_Scan()
* 函數(shù)功能                   : 掃描鍵盤
* 輸    入         : 無
* 輸    出         : 讀取到的鍵值
*******************************************************************************/

unsigned char Key_Scan()
{
        unsigned char keyValue = 0 , i; //保存鍵值

        //--檢測按鍵1--//
        if (GPIO_KEY != 0xFF)                //檢測按鍵K1是否按下
        {
                Delay10ms(1);        //消除抖動

                if (GPIO_KEY != 0xFF)        //再次檢測按鍵是否按下
                {
                        keyValue = GPIO_KEY;
                        i = 0;
                        while ((i<50) && (GPIO_KEY != 0xFF))         //檢測按鍵是否松開
                        {
                                Delay10ms(1);
                                i++;
                        }
                }
        }

        return keyValue;   //將讀取到鍵值的值返回
}

/*******************************************************************************
* 函 數(shù) 名         : Delay10ms
* 函數(shù)功能                   : 延時函數(shù),延時10ms
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/

void Delay10ms(unsigned int c)   //誤差 0us
{
    unsigned char a, b;

        //--c已經(jīng)在傳遞過來的時候已經(jīng)賦值了,所以在for語句第一句就不用賦值了--//
    for (;c>0;c--)
        {
                for (b=38;b>0;b--)
                {
                        for (a=130;a>0;a--);
                }
           
        }      
}





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲国产一区视频 | 国产午夜三级一区二区三 | 美女黄网 | 三极网站 | 奇米四色影视 | 一区2区| 国产欧美在线播放 | 日本偷偷操 | 国产成人影院 | 国产乱码精品1区2区3区 | 国产精品久久久久久久久久免费看 | 亚洲精品一区中文字幕乱码 | 亚洲国产视频一区二区 | 在线播放国产一区二区三区 | 久久久久久亚洲精品 | 国产精品完整版 | 免费观看一级毛片 | 日韩中文字幕 | 欧美日韩精品在线免费观看 | 一级中国毛片 | 在线亚州| 国产精品日韩欧美一区二区三区 | 在线欧美视频 | 成人免费视频网站在线看 | 在线观看黄色大片 | 亚洲一区久久 | 精品欧美一区免费观看α√ | 成人免费视频播放 | 国产精品激情小视频 | 免费的av网站 | 国产福利91精品一区二区三区 | 亚洲综合字幕 | 日韩a视频| 国产精品美女久久久久久不卡 | 91精品国产乱码久久蜜臀 | 亚洲精品一区二区三区中文字幕 | 99精品久久| 日本亚洲一区 | 亚洲在线 | 亚洲另类春色偷拍在线观看 | 久久国产精品一区二区三区 |