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

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

?? sio.c

?? 智能充電參考程序 可以控制整個充電過程希望對大家有幫助
?? C
字號:
/****************************************Copyright (c)**************************************************
**                              智 能 充 電 器 開 發 小 組
**                                     OurAVR 論壇
**                                   QQ 群: 26052247 
**
**                               http://www.ouravr.com/bbs
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: SIO.c
**創   建   人: Trinove
**最后修改日期: 2008年01月13日
**描        述: 按鍵的底層函數  FOR AVR MCU / Mega16
**              
**--------------歷史版本信息----------------------------------------------------------------------------
** 創建人: Trinove
** 版  本: v0.01
** 日 期: 2008年01月13日
** 描 述: 原始版本
**
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人: mowin , martin7wind
** 日 期: 2008年02月03日
** 描 述: For 智能充電器
**
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人: 呂海安
** 日 期: 2008年03月02日
** 描 述: 修改格式,歸檔
**------------------------------------------------------------------------------------------------------
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人: 村長 aleyn.wu
** 日 期: 2008年3月3日
** 描 述: 修改了一些BUG,使本項目能在CVAVR下編譯通過
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "config.h"
#include "SIO.h"


/***************************************************
 74HC166并入串出

 連線如下
 KEY_SDO   = PB0
 KEY_CLK   = PB1
 KEY_SLOAD = PB2

 KEY_1 = A (UP)     62 
 KEY_2 = B (DOWN)   61
 KEY_3 = C (LEFT)   59
 KEY_4 = D (RIGHT)  55
 KEY_5 = E (ENTER)  47
 KEY_6 = F (CANCEL) 31
***************************************************/

#define KEY_ADR  10

#define KEY_DDR  DDRB
#define KEY_PORT PORTB
#define KEY_PIN  PINB

#define SDO      PB0
#define SCK      PB1
#define SLOAD    PB2

#define _BV(a)          (1 << a)
#define SCK_high()      (KEY_PORT |= _BV(SCK))
#define SLOAD_high()    (KEY_PORT |= _BV(SLOAD))

#define SCK_low()       (KEY_PORT &=~ _BV(SCK))
#define SLOAD_low()     (KEY_PORT &=~ _BV(SLOAD))
#define read_SDO()      (KEY_PIN & _BV(SDO))


/*******************************************************************************************************
** 函數名稱: KEY_init
** 功能描述: 74HC166 通信端口設置
** 輸入參數: 無
** 輸出參數: 無
********************************************************************************************************/
void KEY_init(void)
{
    // SLOAD SCK 輸出,SDO 輸入
    KEY_DDR |= _BV(SLOAD)|_BV(SCK);
    KEY_DDR &=~ _BV(SDO);
    
    // SLOAD = 1
    // SCK = 0
    // SDO上拉電阻啟用
    SLOAD_high();
    SCK_low();
    KEY_PORT |= _BV(SDO);
}

/*******************************************************************************************************
** 函數名稱: SCK_low_to_high
** 功能描述: 時鐘產生
** 輸入參數: 無
** 輸出參數: 無
********************************************************************************************************/
void SCK_low_to_high(void)
{
    SCK_low();
    SCK_high();
    SCK_low();
}

/*******************************************************************************************************
** 函數名稱: read_keycode
** 功能描述: 鍵值讀取函數
** 輸入參數: 無
** 輸出參數: 鍵值
********************************************************************************************************/
INT8U read_keycode(void)
{
    INT8U key_code = 0,i;
    
    SLOAD_high();
    SLOAD_low();        // 允許并行數據 <----> Parallel enable input (active LOW)
    
    SCK_low_to_high();  // 時鐘信號,上升沿鎖存數據并移出最高位 BIT7,非常重要
    
    SLOAD_high();       // 并行鎖存結束,非常重要
    
    // 先讀取 BIT7,非常重要
    for(i = 8; i > 0; i--)
    {
        if(read_SDO())
        {
            key_code |= _BV(i-1);
        }
        
        //產生下一個時鐘信號 
        SCK_low_to_high();
    }
    
    //返回鍵值,六個按鍵,只要低六位,高兩位未用
    return (key_code & 0x3f);                                               
}


/*******************************************************************************************************
** 函數名稱: read_keycode
** 功能描述:  連接并接收鍵盤信號,并進行持續按鍵判斷
**            鍵盤按鍵值和持續按鍵標志 均直接寫入內存數據表
**            鍵盤內存分配一個單元 INT8U
**            前2位代表狀態,后6位對應每一個按鍵
**            最多存儲三個按鍵狀態,多余將被忽略
**            狀態: 1 1 --- 前兩次結果未處理,等待
**                  1 0 --- 上次按鍵結果未處理,等待
**                  0 1 --- 正常按下,等待處理 
**                  0 0 --- 空閑 忽略,不處理
**            普通按鍵位1代表正常,0代表按下
** 輸入參數: 無
** 輸出參數: 鍵值
********************************************************************************************************/
void s_keyboard(void)
{ 
    INT8U i;
    i = read_keycode();
    if(i != NO_KEY)
    {
        lcd_locate(14,0);  
        lcd_print_number(i,2,0); 
    }    


}


/**********************************************************************************************************
**                                 END OF FILE
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品入口麻豆88视频| 亚洲国产美国国产综合一区二区| 国产精品久久久久久久久久免费看 | xnxx国产精品| 性做久久久久久| 99热99精品| 国产三级三级三级精品8ⅰ区| 亚洲午夜精品17c| 成人动漫视频在线| 久久综合网色—综合色88| 视频一区在线视频| 欧美性生交片4| 欧美国产激情二区三区| 日本午夜精品视频在线观看| 成人精品gif动图一区| 欧美一区二区三区四区视频| 中文字幕一区二区三区四区| 美国毛片一区二区| 精品视频在线免费看| 欧美区视频在线观看| 亚洲精选一二三| 国产 日韩 欧美大片| 欧美一二三四区在线| 一区二区三区四区不卡在线 | 国产乱淫av一区二区三区| 欧美中文字幕亚洲一区二区va在线| 日韩欧美国产一区二区三区| 亚洲免费在线观看| 懂色av一区二区三区免费看| 欧美一区二区观看视频| 亚洲成人一二三| 成人午夜电影小说| 26uuu精品一区二区三区四区在线| 亚洲综合清纯丝袜自拍| 成人aa视频在线观看| 国产亚洲女人久久久久毛片| 蜜桃视频免费观看一区| 69av一区二区三区| 亚洲午夜电影在线| av电影一区二区| 国产精品久久久久久久久久久免费看| 久久精品久久99精品久久| 制服丝袜国产精品| 首页综合国产亚洲丝袜| 欧美视频在线一区| 亚洲国产日韩av| 欧美日韩国产精选| 亚洲精品美腿丝袜| 在线看国产日韩| 亚洲成在人线在线播放| 欧美主播一区二区三区美女| 亚洲影视在线播放| 欧美色视频在线观看| 一个色在线综合| 欧美久久久影院| 美女被吸乳得到大胸91| 欧美电影免费观看高清完整版在线观看 | 日韩午夜小视频| 紧缚捆绑精品一区二区| 日韩精品影音先锋| 国产在线精品一区二区夜色 | 在线视频亚洲一区| 亚洲国产日韩一区二区| 91精品国产综合久久精品| 偷拍一区二区三区四区| 欧美一区二区私人影院日本| 精品一区二区三区香蕉蜜桃| 久久久午夜电影| 99re热这里只有精品免费视频| 亚洲天天做日日做天天谢日日欢| 欧美性大战久久久久久久| 日韩电影在线免费观看| 久久综合狠狠综合| 97久久超碰国产精品电影| 亚洲动漫第一页| 日韩一区二区视频在线观看| 国产专区欧美精品| 亚洲精品国产a久久久久久| 在线播放一区二区三区| 国产资源在线一区| 亚洲精品ww久久久久久p站| 欧美日韩国产电影| 国产毛片精品视频| 亚洲一区二区在线观看视频| 日韩欧美精品三级| 色又黄又爽网站www久久| 日韩黄色小视频| 一区二区中文视频| 日韩欧美精品在线视频| 成人午夜av在线| 青青草91视频| 一区二区在线电影| 日韩欧美在线123| 色综合天天性综合| 美女www一区二区| 亚洲欧美另类久久久精品| 日韩色视频在线观看| av不卡在线播放| 美女高潮久久久| 亚洲乱码中文字幕综合| 精品日本一线二线三线不卡| 色av一区二区| hitomi一区二区三区精品| 九九国产精品视频| 午夜电影一区二区三区| 综合分类小说区另类春色亚洲小说欧美 | 久久蜜臀精品av| 91麻豆精品国产91久久久久久| 顶级嫩模精品视频在线看| 日本在线不卡一区| 亚洲精品免费在线观看| 久久天堂av综合合色蜜桃网| 欧美精品第1页| 色婷婷综合久久久久中文| 国产精品18久久久久久vr| 日韩黄色小视频| 亚洲成人av一区二区| 亚洲六月丁香色婷婷综合久久 | 国产婷婷色一区二区三区四区| 日韩午夜精品电影| 99re这里只有精品首页| 国产成人亚洲综合a∨猫咪| 久久99最新地址| 久久精品72免费观看| 青娱乐精品视频| 日韩avvvv在线播放| 亚洲成国产人片在线观看| 一区二区三区美女| 一区二区三区在线播放| 亚洲乱码国产乱码精品精小说 | 久久综合成人精品亚洲另类欧美 | 日韩一级二级三级精品视频| 99久久婷婷国产综合精品电影| 国产在线播精品第三| 久久99久久99| 麻豆免费精品视频| 国产在线看一区| 床上的激情91.| zzijzzij亚洲日本少妇熟睡| 不卡一区二区中文字幕| eeuss鲁一区二区三区| 99这里都是精品| 91国在线观看| 欧美中文字幕亚洲一区二区va在线| 在线免费亚洲电影| 欧美日本一道本在线视频| 91成人国产精品| 欧美一区二区三区啪啪| 欧美变态tickling挠脚心| 久久综合九色综合欧美就去吻| 久久久不卡网国产精品一区| 国产精品乱人伦中文| 亚洲综合一区在线| 日韩高清不卡在线| 国产精品综合网| 色狠狠综合天天综合综合| 欧美色图12p| 欧美tk丨vk视频| 国产精品久久免费看| 亚洲成a人片综合在线| 九九精品一区二区| 99riav一区二区三区| 欧美福利电影网| 国产丝袜美腿一区二区三区| 亚洲日本丝袜连裤袜办公室| 午夜伦理一区二区| 成人影视亚洲图片在线| 欧美色综合影院| 久久精品视频网| 亚洲国产精品久久人人爱蜜臀| 精品一区二区在线视频| 色吧成人激情小说| 精品国产一区a| 亚洲老妇xxxxxx| 国产一区二区三区电影在线观看 | 久久精品欧美一区二区三区不卡| 成人欧美一区二区三区黑人麻豆| 日韩av二区在线播放| 91原创在线视频| 日韩午夜av电影| 亚洲黄色在线视频| 国产成人鲁色资源国产91色综| 欧美区在线观看| 国产精品国产三级国产有无不卡| 免费三级欧美电影| 91浏览器打开| 久久久国产精华| 日韩电影在线免费观看| 色先锋资源久久综合| 久久日一线二线三线suv| 丝袜美腿亚洲一区二区图片| 91免费版pro下载短视频| 久久亚洲精华国产精华液| 亚洲成人福利片| 在线观看亚洲一区| 中文字幕一区二区三区不卡| 国产伦精品一区二区三区免费| 欧美一区二区视频在线观看| 亚洲一区二区三区四区在线观看| 国产乱码字幕精品高清av|