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

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

?? 7279.txt

?? mega 16 7279 keybaoard
?? TXT
字號:
  
/*****************************readme.txt***********************************************************  
HD7279.C是AVR Mega16,8MHz的配置文件  
  
使用前必須先進行宏定義的“管腳配置”、”鍵值轉換配置“  
  
外部調用主要有四個函數  
  
#:init_7279()為7279初始化函數,在使用HD7279前必須先調用此文件  
  
#:void write7279(unsigned char cmd,unsigned char dta);  
    前一個cmd為指令,可直接調用宏義中“HD7279指令集”  
    后一個dat為數據,輸入0x80+i,i為顯示的數字  
      
#:unsigned char read7279(void):數據讀取函數  
    返回是鍵盤的原始值,沒有進行任何轉換  
      
#:unsigned char get_key7279(void):讀取一個鍵值  
  
    調用函數后,等待按鍵,直到有按鍵按下并松開,  
    返回一個與鍵值對應的鍵值,經過數值轉換  
      
內部函數,不對用戶開發;用戶只須調用以上上四個函數就可以完成HD7279的基本操作  
  
*****************************************************************************************************/   
   
   
/********************************管腳配置*****************************/   
#define WR7279 PORTB                                                       
#define RD7279 PINB    
#define DR7279 DDRB    
   
#define cs7279 BIT(4)   //cs7279定義為PC^5    
#define clk7279 BIT(5)  //clk7279定義為PC^4    
#define dat7279 BIT(6)  //dat7279定義為PC^3    
#define key7279 BIT(7)  //key7279定義為PC^2    
   
/******************************鍵值轉換配置********************************/   
#define ONE 0X03    
#define TWO 0X02    
#define THREE 0X01    
#define FOUR 0X00    
#define FIVE 0X0B    
#define SIX 0X0A    
#define SEVEN 0x09    
#define EIGHT 0X08    
#define NINE 0X13    
#define ZERO 0X12    
#define AAAA 0X11         
#define BBBB 0x10         
#define CCCC 0X1B           
#define DDDD 0X1A           
#define EEEE 0X19        
#define FFFF 0X18         
   
/********************************HD7279指令集***************************/   
#define CMD_RESET 0xa4      //復位(清除)指令    
#define CMD_TEST 0xbf       //測試指令    
#define DECODE0 0x80        //方式0譯碼    
#define DECODE1 0xc8        //方式1譯碼    
#define CMD_READ 0x15       //讀取鍵盤數據指令    
#define UNDECODE 0x90       //不帶小數點顯示    
#define RTL_CYCLE 0xa3      //循環左移指令    
#define RTR_CYCLE 0xa2      //循環右移指令    
#define RTL_UNCYL 0xa1      //左移指令    
#define RTR_UNCYL 0xa0      //右移指令    
#define ACTCTL 0x98     //消隱控制    
#define SEGON 0xe0      //段點亮指令     
#define SEGOFF 0xc0     //段關閉指令    
#define BLINKCTL 0x88       //閃爍控制    
   
   
/******************************************外部調用函數申明*********************************************/   
   
/*****************************************************  
函數名:HD7279初始化函數   
功  能:初始化HD7279(管腳配置、HD7279復位)  
輸  入:無  
返  回:無  
備  注:使用HD7279之前調用此函數,并配置管腳的宏定義  
******************************************************/    
extern void init_7279(void);            
   
/****************** **********************  
函數名:HD7279寫入函數    
功  能:對HD7279寫數據  
輸  入:cmd為指令數據;  dta為數據數據  
返  回:無  
備  注:HD7279的控制函數  
******************************************/   
extern void write7279(unsigned char cmd,unsigned char dta); //寫入到HD7279    
   
/****************** **********************  
函數名:HD7279讀取函數    
功  能:對HD7279讀取原始鍵值  
輸  入:無  
返  回:鍵盤原始鍵值  
備  注:HD7279的控制函數  
******************************************/   
extern unsigned char read7279(void);   
   
/****************** **********************  
函數名:HD7279按鍵等待接收函數    
功  能:當完成一次按鍵,返回鍵值  
輸  入:無  
返  回:鍵盤鍵值  
備  注:HD7279的控制函數  
******************************************/   
extern unsigned char get_key7279(void);   
   
/****************** **********************  
函數名:HD7279測試函數    
功  能:對HD7279功能測試  
輸  入:無  
返  回:無  
備  注:  
******************************************/   
extern void test_7279(void);   
   
   
   
/*******************************************內部函數申明***********************************************/   
//長時延函數    
extern void long_delay(void);      
//短時延函數                     
extern void short_delay(void);                     
//10ms時延函數    
extern void delay10ms(unsigned int);               
//發送一個字節    
   
/****************** **********************  
函數名:HD7279字節發送函數      
功  能:HD7279發送一個字節  
輸  入:無  
返  回:無  
備  注:HD7279硬件函數  
******************************************/   
extern void send_byte(unsigned char);      
   
/****************** **********************  
函數名:HD7279字節接收函數      
功  能:從HD7279接收一個字節  
輸  入:無  
返  回:一個字節  
備  注:HD7279硬件函數  
******************************************/   
extern unsigned char receive_byte(void);               
   
/****************** **********************  
函數名:HD7279按鍵等待接收函數    
功  能:當完成一次按鍵,返回鍵值  
輸  入:無  
返  回:鍵盤鍵值  
備  注:HD7279的控制函數  
******************************************/   
extern unsigned char  num_change7279 (unsigned char X);   
   
   
   
/******************************************外部調用函數*********************************************/   
   
/*****************************************************  
函數名:HD7279初始化函數   
功  能:初始化HD7279(管腳配置、HD7279復位)  
輸  入:無  
返  回:無  
備  注:使用先,選配置管腳的宏定義  
******************************************************/        
extern void init_7279(void)    
{   
    unsigned int tmr;   
       
    DR7279 |= cs7279;       //cs7279定義為輸出    
    DR7279 |= clk7279;      //clk7279定義為輸出    
    DR7279 |= dat7279;      //dat7279定義為輸出    
    DR7279 &= ~(key7279);       //key7279定義為輸入    
       
    WR7279 |= cs7279;       //cs7279初始化為1    
    WR7279 |= clk7279;      //clk7279初始化為1    
    WR7279 |= dat7279;      //dat7279初始化為1    
    WR7279 |= key7279;      //key7279初始化為有弱上拉     
       
    for(tmr=0;tmr<0xf000;tmr++); //上電延時    
           
    send_byte(CMD_RESET);       //復位HD7279    
                       
}       
   
/****************** **********************  
函數名:HD7279寫入函數    
功  能:對HD7279寫數據  
輸  入:cmd為指令數據;  dta為數據數據  
返  回:無  
備  注:HD7279的控制函數  
******************************************/   
extern void write7279(unsigned char cmd,unsigned char dta)  //寫入到HD7279    
{      
    send_byte(cmd);     //寫指令    
    send_byte(dta);     //定數據    
}   
   
/****************** **********************  
函數名:HD7279讀取函數    
功  能:對HD7279讀取原始鍵值  
輸  入:無  
返  回:鍵盤原始鍵值  
備  注:HD7279的控制函數  
******************************************/   
extern unsigned char read7279(void)   
{   
    send_byte(0x15);    //發送讀取指令    
    return(receive_byte()); //返回鍵值    
       
}   
   
/****************** **********************  
函數名:HD7279按鍵等待接收函數    
功  能:當完成一次按鍵,返回鍵值  
輸  入:無  
返  回:鍵盤鍵值  
備  注:HD7279的控制函數  
******************************************/   
extern unsigned char get_key7279(void)   
{   
    unsigned char KeyNum;   
    while( (RD7279&key7279) );      //等待有鍵按下    
       
    delay10ms(1);               //時延100ms    
       
    KeyNum=read7279();          //讀出鍵碼      
       
    KeyNum=num_change7279(KeyNum);      //鍵碼轉為十進制    
       
    delay10ms(1);               //時延100ms    
       
    while( !(RD7279&key7279) );         //等待按鍵松開    
       
    return KeyNum;              //返回鍵值    
}   
   
/*****************************************內部函數*****************************************/   
   
//長時延函數    
extern void long_delay(void)   
{   
    unsigned char i;   
    for(i=0;i<80;i++);   
}      
   
//短時延函數                     
extern void short_delay(void)   
{   
    unsigned char i;   
    for(i=0;i<46;i++);   
}   
                   
//10ms時延函數    
void delay10ms(unsigned int count)   
{   
    unsigned char i,j,k;   
    for (i=0;i<COUNT;I++) k="k" { for(j="0;j<100;j++)" 消隱指令測試 delay10ms(150); } delay10ms(50); 譯碼方式1,顯示在第8位 write7279(DECODE1+7,j); 不循環左移指令 send_byte(RTR_UNCYL); 譯碼方式1及右移指令測試 send_byte(CMD_RESET); 譯碼方式0,顯示在第1位 write7279(DECODE0,j); send_byte(RTL_UNCYL); 譯碼方式0及左移指令測試 delay10ms(12); 循環左移23次 send_byte(RTL_CYCLE); 循環右移23次 send_byte(RTR_CYCLE); 循環左右移測試,‘三’字向右移3次,再向左移3次。 delay10ms(80); 在第8位按不譯碼方式顯示一個字符‘三’。 write7279(UNDECODE+7,0x49); 下載數據但不譯碼指令測試 清除顯示 清除閃爍設置 write7279(BLINKCTL,0xff); 如果按鍵為?0?和超時則進入下一步演示 while(wait_cnter<1000); delay10ms(10); wait_cnter="0;" 等待按鍵放開 while(!(RD7279&key7279)); 在第1位顯示鍵碼低8位 write7279(DECODE1,key7279_number&0x0f); 位顯示鍵碼高8位 在第2 16); write7279(DECODE1+1,key7279_number key7279_number="0xff;" write7279(DECODE0+7,0x88); 如果有鍵按下 if(!(RD7279&key7279)) do 在第1?2位顯示下劃線?_? write7279(UNDECODE+1,0x08); write7279(UNDECODE,0x08); 第1?2兩位設為閃爍顯示 write7279(BLINKCTL,0xfc); 閃爍指令及鍵盤接口測試,將用戶按鍵的鍵碼顯示出來,如果10秒內無按鍵或按S0鍵即進入下一步演示 delay10ms(200); write7279(DECODE0+7,0x87); write7279(DECODE0+6,0x86); write7279(DECODE0+5,0x85); write7279(DECODE0+4,0x84); write7279(DECODE0+3,0x83); write7279(DECODE0+2,0x82); write7279(DECODE0+1,0x81); write7279(DECODE0,0x80); delay10ms(100); 延時約3秒 send_byte(CMD_TEST); 測試指令演示 復位HD7279 上電延時 for(tmr="0;tmr<0xf000;tmr++);" while(1) init_7279(); key7279_number; char unsigned tmr,j,k; long wait_cnter; test_7279(void) void extern 作用:測試函數 HD7279測試函數************************* ****************** 0xFF; return : default 0x0F; FFFF case 0x0E; EEEE 0x0D; DDDD 0x0C; CCCC 0x0B; BBBB 0x0A; AAAA 0X00; ZERO 0X09; NINE 0X08; EIGHT 0X07; SEVEN 0X06; SIX 0X05; FIVE 0X04; FOUR 0X03; THREE 0X02; TWO 0X01; ONE (X) switch X) (unsigned num_change7279 ****************************************** 注:HD7279的控制函數 備 回:鍵盤鍵值 返 入:無 輸 能:當完成一次按鍵,返回鍵值 功 函數名:HD7279按鍵等待接收函數 ********************** return(in_byte); dat7279還原為輸出口 DR7279|="dat7279;" short_delay(); clk7279="0;" WR7279&="~clk7279;" in_byte="in_byte<<1;" if(RD7279&dat7279) WR7279|="dat7279;" for(i="0;i<8;i++)" long_delay(); 改dat7279為輸入 DR7279&="~dat7279;" i,in_byte; receive_byte(void) 注:HD7279硬件函數 回:一個字節 能:從HD7279接收一個字節 函數名:HD7279字節接收函數 dat7279="1;" out_byte="out_byte<<1;" else if(out_byte&0x80) cs7279="0" i; out_byte) send_byte(unsigned 回:無 入:一個字節 能:HD7279發送一個字節 函數名:HD7279字節發送函數 for(k="0;k<100;k++);">>1;   
            write7279(ACTCTL,k);            //每隔一秒鐘增加一個消隱位    
            delay10ms(100);   
        }   
        write7279(ACTCTL,0xff);             //恢復8位顯示    
        delay10ms(100);   
        send_byte(CMD_RESET);               //清除顯示    
       
        //段點亮指令和段關閉指令    
        for(j=0;j<64;j++)   
        {   
            write7279(SEGON,j);         //將64個顯示段逐個點亮    
            write7279(SEGOFF,j-1);          //同時將前一個顯示段關閉    
            delay10ms(20);   
        }   
    }   
}   
   
*/   
   
   
/********************************** HD7279輸入輸出函數 *******************************************/   
   
void dis_data ( unsigned char dig_start,unsigned char dig_end,signed long num)   
{   
    unsigned char i,temp_char;   
       
    for( i = dig_start; i <= dig_end; i++ )   
    {   
        temp_char = num % 10;   
        num -= temp_char;   
        num /= 10;   
           
        write7279 ( DECODE0 + i , 0x80 +  temp_char);   
    }   
}   
   
signed long get_data ( signed char dig_start,signed char dig_end )   
{   
    signed long temp_long = 0;   
    signed char i,temp_char;       
       
    for( i = dig_start; i <= dig_end; i++ )   
        write7279(UNDECODE + i,0x08);   
           
    for( i = dig_end; i >= dig_start ; i-- )   
    {   
        temp_char = get_key7279();   
           
        temp_long *= 16;   
        temp_long += temp_char;   
           
        write7279 ( DECODE1 + i , 0x80 +  temp_char);   
    }   
           
    return temp_long;   
       
       
}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人91在线观看| 亚洲国产一区二区在线播放| 国产精品视频免费看| 伊人婷婷欧美激情| 青娱乐精品视频| 懂色av一区二区三区蜜臀| 色成人在线视频| 精品美女一区二区| 亚洲免费电影在线| 久久国产尿小便嘘嘘尿| 成人黄色一级视频| 7777精品伊人久久久大香线蕉完整版| 精品国产三级电影在线观看| 亚洲丝袜精品丝袜在线| 日韩高清在线电影| 丁香婷婷深情五月亚洲| 欧美人xxxx| 国产精品乱码人人做人人爱| 天堂va蜜桃一区二区三区漫画版 | 91色porny| 日韩欧美亚洲国产另类| 国产精品久久久久久户外露出| 视频一区在线播放| 不卡视频在线观看| 欧美一卡二卡在线| 国产精品每日更新| 麻豆一区二区在线| 欧美性一二三区| 国产精品丝袜久久久久久app| 亚洲va韩国va欧美va精品| 国产不卡在线一区| 欧美精品亚洲一区二区在线播放| 欧美激情资源网| 日韩电影一区二区三区| 色综合视频在线观看| 久久免费电影网| 日本不卡中文字幕| 色婷婷久久综合| 亚洲国产精品t66y| 激情成人综合网| 在线电影一区二区三区| 成人伦理片在线| 欧美日韩精品一区二区三区蜜桃 | 亚洲国产精品一区二区尤物区| 国产乱码精品一区二区三区av| 欧美日韩电影在线播放| 中文字幕在线一区免费| 国产一区二区看久久| 日韩精品中文字幕在线不卡尤物 | 欧美伊人久久久久久午夜久久久久| 亚洲精品一区二区三区精华液| 丝袜国产日韩另类美女| 在线免费不卡电影| 玉足女爽爽91| 99精品黄色片免费大全| 日本一区二区三区在线不卡| 狠狠色丁香久久婷婷综合丁香| 69av一区二区三区| 五月天视频一区| 欧美性生交片4| 一区二区三区日韩欧美精品| aaa亚洲精品一二三区| 国产香蕉久久精品综合网| 国产乱码精品一区二区三| 精品1区2区在线观看| 日韩福利视频导航| 欧美一区二区三区视频在线| 热久久国产精品| 91精品久久久久久久91蜜桃| 日韩影院免费视频| 3d动漫精品啪啪| 丝袜亚洲精品中文字幕一区| 欧美精选一区二区| 青娱乐精品在线视频| 欧美大度的电影原声| 男男gaygay亚洲| 精品人在线二区三区| 九九**精品视频免费播放| 久久影院电视剧免费观看| 国产一区美女在线| 中文字幕av资源一区| 成人激情校园春色| 国产精品免费aⅴ片在线观看| 风流少妇一区二区| 中文字幕一区二区5566日韩| 99久久99久久精品国产片果冻| 国产精品免费aⅴ片在线观看| 99精品桃花视频在线观看| 亚洲男同性恋视频| 亚洲精品乱码久久久久久| 欧美日韩在线播放| 全部av―极品视觉盛宴亚洲| 精品国产第一区二区三区观看体验 | 国内外成人在线视频| 国产午夜亚洲精品午夜鲁丝片| 成人18精品视频| 亚洲综合图片区| 91精品久久久久久久久99蜜臂| 狠狠狠色丁香婷婷综合久久五月| 国产视频一区二区在线| 99re这里都是精品| 亚洲 欧美综合在线网络| 精品精品国产高清a毛片牛牛| 国产成人av电影在线| 亚洲欧美日韩系列| 91麻豆精品国产91久久久| 精品一区二区三区免费毛片爱| 国产女人水真多18毛片18精品视频 | 日韩一区二区三| 国产成a人亚洲| 亚洲图片欧美一区| 欧美mv日韩mv国产网站app| 国产99久久久久久免费看农村| 亚洲精品成人在线| 日韩欧美一级二级| 色域天天综合网| 免费视频最近日韩| **欧美大码日韩| 日韩一级高清毛片| 不卡一二三区首页| 免费在线一区观看| 亚洲欧美一区二区三区国产精品| 欧美日本一区二区三区| 国产成人一区在线| 日韩精品一级中文字幕精品视频免费观看 | 精品久久久久久最新网址| 99re热这里只有精品免费视频| 日本亚洲三级在线| 国产精品久久久久一区二区三区共| 在线观看一区二区视频| 国产在线精品一区二区| 亚洲小说欧美激情另类| 久久久久久久久久久99999| 欧美色图一区二区三区| 国产精品18久久久| 无吗不卡中文字幕| 国产精品福利一区| 精品成人a区在线观看| 欧美色老头old∨ideo| yourporn久久国产精品| 黄色日韩网站视频| 亚洲国产成人tv| 国产精品久久久久一区二区三区 | 免费人成在线不卡| 亚洲色大成网站www久久九九| 精品欧美一区二区久久| 在线观看91精品国产入口| 国产精品影视在线观看| 婷婷成人激情在线网| 亚洲视频免费观看| 国产欧美日韩三级| 欧美精品一区二区三区蜜桃| 欧美精品第1页| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品一级黄| 久久国产精品区| 日韩av电影免费观看高清完整版| 亚洲视频电影在线| 国产精品久久网站| 中文字幕的久久| 国产喂奶挤奶一区二区三区| 欧美xxx久久| 91精品欧美久久久久久动漫| 欧美日韩国产综合一区二区三区| 99视频国产精品| 成人一道本在线| 粉嫩绯色av一区二区在线观看| 国产精品一级在线| 国产美女精品人人做人人爽| 免费在线视频一区| 欧美bbbbb| 蜜桃av一区二区在线观看| 视频一区欧美精品| 日韩国产一二三区| 日本美女一区二区三区| 日本不卡视频在线观看| 日韩成人午夜电影| 免费观看在线综合| 久久成人麻豆午夜电影| 麻豆精品在线看| 精品一区二区久久| 国产在线观看一区二区| 国产精品12区| 成人精品国产免费网站| 成人动漫一区二区三区| www.激情成人| 91蜜桃在线免费视频| 91视视频在线观看入口直接观看www| 成人网男人的天堂| 91视频观看免费| 欧美综合天天夜夜久久| 欧美视频精品在线观看| 3d动漫精品啪啪| 精品国产网站在线观看| 国产无一区二区| 综合婷婷亚洲小说| 亚洲超碰精品一区二区| 美女脱光内衣内裤视频久久影院| 国产一区二区三区日韩| 国产aⅴ综合色|