亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? keypad_4x4.c

?? keypad 4x4 use interrupt with PIC18F4550
?? C
字號:
#include <18F4550.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000,crystal)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C2, parity=N, bits=8,stop=1)

#include <lcd.c>

////define port
#byte portb = 0xf81
#byte porte = 0xf84
////end define port
#bit portb_2 = 0xf81.2
#bit portb_3 = 0xf81.3
#bit porte_1 = 0xf84.1
#bit porte_2 = 0xf84.2

////define tris
#byte tris_b = 0xf93
#byte tris_e = 0xf96
////end define tris

#use fast_io(B)
#use fast_io(E)


static int1 key_pressed = FALSE;
static int1 flag_idle = TRUE;
static int8 old_b_state;
static char key = 0;

void kbd_find_key(void) {
    int pin, b_state, delay = 10;
    delay_ms(50);  // debounce
    disable_interrupts(INT_RB);
    //kiem tra ngat co phat sinh tren pin 4 khong?
    pin = 4;
    if (!bit_test(old_b_state,pin)) 
    {
        //xuat pin 0 la high
        portb_3 = 0;
        portb_2 = 0;
        porte_2 = 0;
        porte_1 = 1;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin))
        {
            key = 'D';
        }
        //xuat pin 1 la high
        portb_3 = 0;
        portb_2 = 0;
        porte_2 = 1;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = 'C';
        }
        //xuat pin 2 la high
        portb_3 = 0;
        portb_2 = 1;
        porte_2 = 0;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = 'B';
        }
        //xuat pin 3 la high
        portb_3 = 1;
        portb_2 = 0;
        porte_2 = 0;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if(bit_test(b_state,pin)) 
        {
            key = 'A';
        }
    }
    //kiem tra ngat co phat sinh tren pin 5 khong?
    pin = 5;
    if (!bit_test(old_b_state,pin)) {
        //xuat pin 0 la high
        portb_3 = 0;
        portb_2 = 0;
        porte_2 = 0;
        porte_1 = 1;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '#';
        }
        //xuat pin 1 la high
        portb_3 = 0;
        portb_2 = 0;
        porte_2 = 1;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '9';
        }
        //xuat pin 2 la high
        portb_3 = 0;
        portb_2 = 1;
        porte_2 = 0;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '6';
        }
        //xuat pin 3 la high
        portb_3 = 1;
        portb_2 = 0;
        porte_2 = 0;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if(bit_test(b_state,pin)) 
        {
            key = '3';
        }
    }
    //kiem tra ngat co phat sinh tren pin 6 khong?
    pin = 6;
    if (!bit_test(old_b_state,pin)) 
    {
        //xuat pin 0 la high
        portb_3 = 0;
        portb_2 = 0;
        porte_2 = 0;
        porte_1 = 1;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '0';
        }
        //xuat pin 1 la high
        portb_3 = 0;
        portb_2 = 0;
        porte_2 = 1;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '8';
        }
        //xuat pin 2 la high
        portb_3 = 0;
        portb_2 = 1;
        porte_2 = 0;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '5';
        }
        //xuat pin 3 la high
        portb_3 = 1;
        portb_2 = 0;
        porte_2 = 0;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if(bit_test(b_state,pin)) 
        {
            key = '2';
        }
    }
    //kiem tra ngat co phat sinh tren pin 7 khong?
    pin = 7;
    if (!bit_test(old_b_state,pin)) 
    {
        //xuat pin 0 la high
        portb_3 = 0;
        portb_2 = 0;
        porte_2 = 0;
        porte_1 = 1;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '*';
        }
        //xuat pin 1 la high
        portb_3 = 0;
        portb_2 = 0;
        porte_2 = 1;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '7';
        }
        //xuat pin 2 la high
        portb_3 = 0;
        portb_2 = 1;
        porte_2 = 0;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if (bit_test(b_state,pin)) 
        {
            key = '4';
        }
        //xuat pin 3 la high
        portb_3 = 1;
        portb_2 = 0;
        porte_2 = 0;
        porte_1 = 0;
        delay_us(delay);
        b_state = portb;
        if(bit_test(b_state,pin)) 
        {
            key = '1';
        }
    }
    portb = old_b_state;
    portb_3 = 0;
    portb_2 = 0;
    porte_2 = 0;
    porte_1 = 0;
    enable_interrupts(INT_RB);
}

void kbd_print_key(void){
    kbd_find_key();
    if (key != 0) 
    {
        lcd_putc(key);
        key = 0;
    }
}

#INT_RB
void int_rb_function(void) 
{
    if ((old_b_state & 0xF0) != (portb & 0xF0)) 
    {
        old_b_state = portb;
        if (flag_idle == true)
        {
            key_pressed = TRUE;
            flag_idle = false;
        }
        if ((portb & 0xF0) == 0xF0)
        {
            flag_idle = true;
        }
    }
}
void kbd_init()
{
    enable_interrupts(GLOBAL);
    enable_interrupts(INT_RB);

    //port_b_pullups(TRUE);
    //set in out cho cac port B
    //B7-B4 input   B3-B2 output    B1-B0 khong su dung
    //1111          00              default
    tris_b = tris_b & 0x03;     //chi lay B1 va B0
    tris_b = tris_b + 0xF0;     //B4-B7 input, B2-B3 output
    //set in out cho cac port C
    //C7-C4 khong co   C3 khong dung    C2-C1 output    C0 khong dung
    //default          default          00              default
    tris_e = tris_e & 0xF9;     //C1 va C2 la output, cac pin con lai no change
    
    ///////////
    portb = portb & 0xF3;       //xuat B2-B3 la low
    porte = porte & 0xF9;       //xuat C1-C2 la low
    //luu trang thai B4-B7 cua portb
    old_b_state = portb;
}

void main() {

   lcd_init();
   kbd_init();   
   lcd_putc("Ready");


    while (TRUE) 
    {
        restart_wdt();
        if (key_pressed)
        {
            key_pressed = FALSE;
            kbd_print_key();
        }
    }
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费不卡在线视频| 男女男精品网站| 亚洲国产裸拍裸体视频在线观看乱了 | 最新高清无码专区| 日精品一区二区| 国产高清无密码一区二区三区| 99久久精品国产麻豆演员表| 在线观看国产日韩| 国产亚洲综合性久久久影院| 亚洲成人免费观看| gogogo免费视频观看亚洲一| 91麻豆精品国产自产在线观看一区| 久久精品亚洲乱码伦伦中文 | 99精品国产热久久91蜜凸| 在线不卡a资源高清| 久久一日本道色综合| 亚洲愉拍自拍另类高清精品| 国产在线播放一区二区三区| 91国偷自产一区二区三区成为亚洲经典| 欧美成人欧美edvon| 亚洲国产一区二区在线播放| 国产激情一区二区三区四区| www国产成人| 日韩不卡一区二区三区| yourporn久久国产精品| 日本一区二区三区电影| 麻豆精品一区二区av白丝在线| 99re成人在线| 一区在线观看免费| 国产成人啪免费观看软件| 欧美日韩视频专区在线播放| 亚洲一区二区中文在线| 99久久精品一区二区| 国产精品天干天干在线综合| 精品一区二区三区久久| 91精品国产综合久久福利| 亚洲成人激情综合网| 91久久香蕉国产日韩欧美9色| 久久精品亚洲精品国产欧美| 日本成人在线电影网| 在线视频一区二区三| 亚洲色图19p| 91毛片在线观看| 中文字幕亚洲区| 成人av在线资源网站| 久久精品人人做人人综合 | 欧美挠脚心视频网站| 亚洲电影欧美电影有声小说| 欧美日韩不卡在线| 日韩不卡一区二区| 欧美电影免费观看高清完整版在| 日韩av不卡在线观看| 欧美片在线播放| 免费在线观看一区| 欧美精品一区二区三区很污很色的| 日产国产欧美视频一区精品| 日韩欧美国产一区在线观看| 久久国产麻豆精品| 国产色爱av资源综合区| 99久久婷婷国产综合精品电影| 久久久国际精品| 日本道精品一区二区三区| 五月天婷婷综合| 欧美一二三区在线观看| 高清在线观看日韩| 中文字幕在线免费不卡| 一本大道久久a久久精二百| 免费成人你懂的| 亚洲国产精品二十页| av一区二区不卡| 日韩二区三区四区| 国产婷婷色一区二区三区四区| 一本色道久久综合狠狠躁的推荐| 亚洲午夜精品网| 久久综合九色综合欧美亚洲| 91麻豆国产香蕉久久精品| 水野朝阳av一区二区三区| 精品国产乱码久久久久久夜甘婷婷 | 91在线观看视频| 日本怡春院一区二区| 国产日韩欧美激情| 欧美日韩不卡在线| 粉嫩欧美一区二区三区高清影视| 亚洲欧美日韩精品久久久久| 日韩视频一区二区在线观看| 成人国产精品免费网站| 亚洲国产wwwccc36天堂| 中文字幕精品在线不卡| 欧美日韩精品久久久| 成人av在线网站| 青青草原综合久久大伊人精品 | 欧美一区二区播放| 成人精品在线视频观看| 水蜜桃久久夜色精品一区的特点| 亚洲日穴在线视频| 精品国产露脸精彩对白| 欧美午夜精品一区二区三区| 成人app软件下载大全免费| 奇米精品一区二区三区在线观看 | 久久综合中文字幕| 99riav一区二区三区| 国产精品1区二区.| 日本女人一区二区三区| 日韩一卡二卡三卡国产欧美| www.性欧美| 国产真实乱对白精彩久久| 琪琪一区二区三区| 最新日韩在线视频| 国产欧美一区二区三区沐欲| 日韩久久久精品| 欧美中文字幕一区| 97久久精品人人爽人人爽蜜臀| 不卡高清视频专区| 国产成人一区二区精品非洲| 久久精品国产一区二区| 久久99精品网久久| 男人的天堂久久精品| 91美女蜜桃在线| 色综合天天综合狠狠| 国产激情91久久精品导航 | 国产成人自拍在线| 极品少妇xxxx精品少妇| 国产乱人伦精品一区二区在线观看| 五月综合激情日本mⅴ| 亚洲超丰满肉感bbw| 丝袜美腿亚洲综合| 免费观看成人av| 日韩高清欧美激情| 国产美女精品一区二区三区| 青青草97国产精品免费观看 | 中文字幕一区二区三区在线观看| 久久久久久97三级| 久久久精品免费观看| 欧美精品一区二区三区一线天视频 | 欧美电视剧在线看免费| 欧美精品第一页| 91精品久久久久久久99蜜桃| 91久久精品一区二区二区| 91亚洲精品乱码久久久久久蜜桃 | 在线视频一区二区三区| 在线观看91视频| 91福利国产精品| 91小视频免费看| 日本道精品一区二区三区| 欧美日本乱大交xxxxx| 91成人免费在线| 欧美四级电影网| 欧美日韩久久一区| 欧美成人a∨高清免费观看| 日韩欧美国产系列| 欧美激情中文不卡| 中文字幕一区视频| 亚洲福利一区二区三区| 蜜臀av一区二区在线观看| 国产一本一道久久香蕉| 白白色亚洲国产精品| 国产成人在线视频网站| 欧美日韩三级在线| 日韩欧美亚洲国产精品字幕久久久| 精品日产卡一卡二卡麻豆| 国产午夜亚洲精品羞羞网站| 久久综合久久综合久久综合| 亚洲日本在线a| 免费日本视频一区| 精品一区二区三区免费播放| 99国产精品视频免费观看| 91精品国产乱| 国产欧美一区二区在线| 亚洲美女在线一区| 久久国产精品一区二区| 狠狠色丁香久久婷婷综合_中| 成人国产在线观看| 欧美日本一区二区在线观看| 久久女同性恋中文字幕| 亚洲综合成人在线| 免费成人深夜小野草| 色综合天天综合网国产成人综合天 | 懂色av一区二区夜夜嗨| heyzo一本久久综合| 日韩欧美一二三四区| 一区二区三区在线视频观看 | 无吗不卡中文字幕| 国产91色综合久久免费分享| 精品国产制服丝袜高跟| 国产精品久久久久一区 | 久久一留热品黄| 五月天丁香久久| 91色九色蝌蚪| 91免费视频网| 日韩精品一区二区三区在线| 亚洲免费在线视频一区 二区| 国产一区二区女| 欧美精品v日韩精品v韩国精品v| 一区二区三区日韩在线观看| 国产成人无遮挡在线视频| 欧美一区二区三区在线观看| 亚洲同性gay激情无套| 久久69国产一区二区蜜臀| 欧美美女网站色| 国产精品日日摸夜夜摸av|