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

專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

PIC單片機1X4獨立鍵盤C語言程序

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年03月31日   【字體:
/********************************************
*** 功能:1X4按鍵
*** 實驗內(nèi)容:按下S1 S2 S3 S4 數(shù)碼管分別顯示出0 1 2 3
*** 開發(fā)板連接方法:把J3的的跳線帽跳到1-2(左邊)
*********************************************/
#include<pic.h>              //包含單片機內(nèi)部資源預定義
__CONFIG(0xFF32);
//芯片配置字,看門狗關,上電延時開,掉電檢測關,低壓編程關,加密,4M晶體HS振蕩
const unsigned char TABLE[] = {0x3f,0x6,0x5b,0x4f,0x66};
int result;
void delay();              //delay函數(shù)申明
void init();               //I/O口初始化函數(shù)申明
void scan();               //按鍵掃描程序申明
void display(int x);       //顯示函數(shù)申明

/****************************************************************************
* 名    稱:main()
* 功    能:
* 入口參數(shù):
* 出口參數(shù):
****************************************************************************/
void main()
{   
    result = 0x8;               //開始時顯示F
        init();                                           //調(diào)用初始化函數(shù)
        while (1)                         //死循環(huán)
        {
                scan();                      //調(diào)用按鍵掃描程序
                display(result);             //調(diào)用結果顯示程序
        }
}

/****************************************************************************
* 名    稱:init()
* 功    能:初始化
* 入口參數(shù):
* 出口參數(shù):
****************************************************************************/
void init()
{
        TRISB = 0X0F;          //設置B口低4位為輸入
        TRISD = 0;          //portd 輸出
        TRISC = 0xf0;
        TRISA = 0;          //porta 輸出
        PORTA = 0x00;        //先關閉所有顯示
        PORTD = 0x0f;
        PORTC = 0xff;
       
}

/****************************************************************************
* 名    稱:scan()
* 功    能:按鍵掃描
* 入口參數(shù):
* 出口參數(shù):
****************************************************************************/
void scan()
{
        if (RB0 == 0)               //判斷B0是否按下
                result = 0x1;
        if (RB1 == 0)               //判斷B1是否按下
                result = 0x2;
        if (RB2 == 0)               //判斷B2是否按下
                result = 0x3;
        if (RB3 == 0)               //判斷B3是否按下
                result = 0x4;
}

/****************************************************************************
* 名    稱:display()
* 功    能:結果顯示
* 入口參數(shù):int x 要現(xiàn)實的數(shù)據(jù)
* 出口參數(shù):
****************************************************************************/
void display(int x)
{
        switch (x)                //根據(jù)X值的不同,跳轉到相應的部分處理
        {
        case 0x1:
                PORTD = TABLE[0];PORTA = 0X3F;delay();break;          //B0
        case 0x2:
                PORTD = TABLE[1];PORTA = 0X3F;delay();break;          //B1
        case 0x3:
                PORTD = TABLE[2];PORTA = 0X3F;delay();break;          //B2
        case 0x4:
                PORTD = TABLE[3];PORTA = 0X3F;delay();break;          //B3
        case 0x8:
                PORTD = 0X71;PORTA = 0Xff;delay();break;                  //無按鍵下
        }
}

/****************************************************************************
* 名    稱:delay()
* 功    能:延時
* 入口參數(shù):
* 出口參數(shù):
****************************************************************************/
void delay()              
{
        int i;                  //定義整形變量
        for (i = 600;i--;);     //延時
}
關閉窗口

相關文章

主站蜘蛛池模板: 在线国产视频观看 | 久久久精品一区二区三区 | 久久99久久 | 国产免费看 | 日韩在线免费视频 | 美女黄频| 天天干国产 | 国产一区二区三区 | 国产欧美精品区一区二区三区 | 男人的天堂中文字幕 | 国产精品久久久久久久一区探花 | 中文字幕日韩欧美一区二区三区 | 伊人网综合在线观看 | 天天干国产 | a级在线免费 | 蜜桃av一区二区三区 | 丁香婷婷久久久综合精品国产 | 色香婷婷| 久久精品国产99国产精品 | 日本三级做a全过程在线观看 | 国产日韩久久 | 国产免费一区二区三区免费视频 | 97国产在线观看 | 一级黄色片免费在线观看 | 91在线精品一区二区 | 国产一级视频在线 | 免费人成在线观看网站 | 亚洲3p| h片在线免费看 | 国产一区二区三区久久 | 国产视频一二三区 | 在线国产小视频 | 中文字幕免费在线观看 | 久久综合久久自在自线精品自 | 欧美日韩成人在线 | 亚洲h视频 | 日本在线综合 | 中文字幕在线一区 | 亚洲国产精品久久久 | 中文字幕一区在线 | 久久国产精品偷 |