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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? kbsub.lis

?? freescale單片機電子時鐘
?? LIS
字號:
                        .module KBsub.c
                        .area text
 0000           _KB_Init::
 0000           ; /*-----------------------------------------------------*
 0000           ; *文件描述:本文件包含了H08C鍵盤中斷子函數(shù),分別為:       *  
 0000           ; *(1)KB_Init:鍵盤初始化函數(shù)                             *
 0000           ; *   void KB_Init(void)                                 *
 0000           ; *(2)KB_Scan:掃描讀取鍵值函數(shù)                           *
 0000           ; *   unsigned char KB_Scan(void)                        *
 0000           ; *(3)KB_Def:鍵值轉(zhuǎn)為定義值函數(shù)                          *
 0000           ; *   unsigned char KB_Def(unsigned char KB_valve)       *
 0000           ; *-----------------------------------------------------*/
 0000           ; /*[以下為子程序源代碼]*/
 0000           ; /*[頭文件]*/
 0000           ; #include "GP32C.H"
 0000           ; #include "KB.h"
 0000           ; /*KB_Init:鍵盤初始化函數(shù)-------------------------------*
 0000           ; *功  能:初始化鍵盤中斷的引腳,但未開放鍵盤中斷         *
 0000           ; *參  數(shù):無                                             *
 0000           ; *返  回:無                                             *
 0000           ; *-----------------------------------------------------*/  
 0000           ; void KB_Init(void)
 0000           ; {
 0000           ; 	 KB_P=0x00;             //復(fù)位KB_P
 0000 3F00              clr 0
 0002           ;        KB_D=0b00001111;       //定定義7-4為輸入,3-0為輸出
 0002 A60F              lda #15
 0004 B704              sta 0x4
 0006           ;        KB_PUE=0b11110000;     //定義輸入引腳有內(nèi)部上拉電阻
 0006 A6F0              lda #-16
 0008 B70D              sta 0xd
 000A           ;        INTKBSCR|= (1<<IntBit);//屏蔽鍵盤中斷(IMASKk=1)
 000A 121A              bset #1,0x1a
 000C           ;        INTKBIER=0b11110000;   //允許輸入引腳的中斷可進入
 000C A6F0              lda #-16
 000E B71B              sta 0x1b
 0010           ;        INTKBSCR|= (1<<ACKKBit);  //清鍵盤中斷請求(ACKK=1)
 0010 141A              bset #2,0x1a
 0012           ;        INTKBSCR&= ~(1<<IntBit); //開放鍵盤中斷(IMASKk=1)
 0012 131A              bclr #1,0x1a
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 81                rts
 0015           ;           line -> 0,X
 0015           ;              i -> 1,X
 0015           ;            tmp -> 2,X
 0015           _KB_Scan::
 0015 A7FD              ais #-3
 0017 95                tsx
 0018           ; }
 0018           ; /*KB_Scan:掃描讀取鍵值函數(shù)-----------------------------*
 0018           ; *功  能:掃描一次4*4鍵盤上的按鍵,讀取鍵值->*p          *
 0018           ; *         若無按鍵,*p為0xff                           *
 0018           ; *參  數(shù):無                                             *
 0018           ; *返  回:掃描到的鍵值                                   *
 0018           ; *-----------------------------------------------------*/  
 0018           ; unsigned char KB_Scan(void) 
 0018           ;  {
 0018           ;        unsigned char line,i,tmp;
 0018           ;      line=0b11111110;        //使第一根行線為0(低電平)
 0018 A6FE              lda #-2
 001A F7                sta ,X
 001B           ;        for(i=1;i<=4;i++)         //將掃描4根行線
 001B A601              lda #1
 001D E701              sta 1,X
 001F 2026              bra L6
 0021           L3:
 0021           ; 	  {	
 0021           ;         tmp=KB_P;            //取KB_P->tmp
 0021 B600              lda 0
 0023 E702              sta 2,X
 0025           ;         tmp|=0b00001111;     //KB_P.7-4保留,KB_P.3-0為1
 0025 AA0F              ora #15
 0027 E702              sta 2,X
 0029           ;         KB_P=tmp&line;       //令KB_P.n=0,n=0、1、2、3
 0029 F4                and ,X
 002A B700              sta 0
 002C           ;           asm("NOP");            //等待,消除按鍵抖動
 002C 9D                NOP
 002D           ;           asm("NOP");
 002D 9D                NOP
 002E           ;           tmp=KB_P;
 002E B600              lda 0
 0030 E702              sta 2,X
 0032           ;           tmp&=0b11110000;       //看第n行是否有鍵按下
 0032 A4F0              and #-16
 0034 E702              sta 2,X
 0036           ;           if(tmp!=0xf0)          //本行有鍵按下
 0036 A1F0              cmp #-16
 0038 2706              beq L7
 003A           ;            {
 003A           ;               tmp=KB_P;
 003A B600              lda 0
 003C E702              sta 2,X
 003E           ;                   break;
 003E 200D              bra L5
 0040           L7:
 0040 F6                lda ,X
 0041 48                lsla
 0042 AA01              ora #1
 0044 F7                sta ,X
 0045           L4:
 0045 6C01              inc 1,X
 0047           L6:
 0047 E601              lda 1,X
 0049 A104              cmp #4
 004B 23D4              bls L3
 004D           L5:
 004D           ; 	     }
 004D           ; 	     else                  //本行無鍵按下,掃描下一行
 004D           ; 		    line=(line<<1)|0x01; 
 004D           ; 	 }	
 004D           ; 	  if(i==5)   tmp=0xff;
 004D E601              lda 1,X
 004F A105              cmp #5
 0051 2604              bne L9
 0053 A6FF              lda #-1
 0055 E702              sta 2,X
 0057           L9:
 0057           ; 	  return(tmp);
 0057 E602              lda 2,X
 0059           L2:
 0059 A703              ais #3
 005B                   .dbline 0 ; func end
 005B 81                rts
                        .area lit
 0000           _KB_Table::
 0000 EE31              .byte 238,49
 0002 DE32              .byte 222,50
 0004 BE33              .byte 190,51
 0006 7E41              .byte 126,'A
 0008 ED34              .byte 237,52
 000A DD35              .byte 221,53
 000C BD36              .byte 189,54
 000E 7D42              .byte 125,'B
 0010 EB37              .byte 235,55
 0012 DB38              .byte 219,56
 0014 BB39              .byte 187,57
 0016 7B43              .byte 123,'C
 0018 E72E              .byte 231,46
 001A D730              .byte 215,48
 001C B73A              .byte 183,58
 001E 7744              .byte 'w,'D
 0020 00                .byte 0
                        .area text
                ;       KeyPress -> 0,X
                ;              i -> 1,X
                ;              j -> 2,X
                ;       KB_valve -> 5,X
 005C           _KB_Def::
 005C A7FD              ais #-3
 005E 95                tsx
 005F           ;  }
 005F           ; /*KB_Def:鍵值轉(zhuǎn)為定義值函數(shù)----------------------------*
 005F           ; *功  能:鍵值轉(zhuǎn)為定義值                                 *
 005F           ; *參  數(shù):鍵值                                           *
 005F           ; *返  回:鍵定義值                                       *
 005F           ; *-----------------------------------------------------*/
 005F           ; //鍵盤定義表
 005F           ; const unsigned char KB_Table[]= 
 005F           ; {0xEE,'1',0xDE,'2',0xBE,'3',0x7E,'A',
 005F           ;  0xED,'4',0xDD,'5',0xBD,'6',0x7D,'B',
 005F           ;  0xEB,'7',0xDB,'8',0xBB,'9',0x7B,'C',
 005F           ;  0xE7,'.',0xD7,'0',0xB7,':',0x77,'D',
 005F           ;  0x00};
 005F           ; unsigned char KB_Def(unsigned char KB_valve)
 005F           ;  {
 005F           ;    unsigned char KeyPress;
 005F           ;    unsigned char i;
 005F           ;    unsigned char j;
 005F           ;    i=0;
 005F 6F01              clr 1,X
 0061 203C              bra L13
 0063           L12:
 0063           ;    while(1)
 0063           ;    {
 0063           ;      j=KB_Table[i];
 0063 3F00              clr *__r0
 0065 E601              lda 1,X
 0067 AB00              add #<_KB_Table
 0069 B700              sta *__r1
 006B B600              lda *__r0
 006D A900              adc #>_KB_Table
 006F B700              sta *__r0
 0071 5500              ldhx *__r0
 0073 F6                lda ,x
 0074 95                tsx
 0075 E702              sta 2,X
 0077           ;      //與0(定義表結(jié)束標(biāo)志)相比較
 0077           ;      if (j==0)                   //=0,即表中無次定義值
 0077 2605              bne L15
 0079           ;         {KeyPress=0xff; break;}  //返回0xff
 0079 A6FF              lda #-1
 007B F7                sta ,X
 007C 2023              bra L14
 007E           L15:
 007E           ;      else
 007E           ;         //與鍵值相比較
 007E           ;         if (j==KB_valve)         //找到       
 007E E602              lda 2,X
 0080 E105              cmp 5,X
 0082 2615              bne L17
 0084           ;            {KeyPress=KB_Table[i+1];break;} //取鍵定義值
 0084 3F00              clr *__r0
 0086 E601              lda 1,X
 0088 AB01              add #<_KB_Table+1
 008A B700              sta *__r1
 008C B600              lda *__r0
 008E A901              adc #>_KB_Table+1
 0090 B700              sta *__r0
 0092 5500              ldhx *__r0
 0094 F6                lda ,x
 0095 95                tsx
 0096 F7                sta ,X
 0097 2008              bra L14
 0099           L17:
 0099 E601              lda 1,X
 009B AB02              add #2
 009D E701              sta 1,X
 009F           L13:
 009F 20C2              bra L12
 00A1           L14:
 00A1           ;         else
 00A1           ;            i+=2;              //指向下一個鍵值,繼續(xù)判斷
 00A1           ;     };
 00A1           ;     return KeyPress;
 00A1 F6                lda ,X
 00A2           L11:
 00A2 A703              ais #3
 00A4                   .dbline 0 ; func end
 00A4 81                rts

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品一区二区色综合 | 丁香另类激情小说| 婷婷一区二区三区| 亚洲天天做日日做天天谢日日欢 | 欧美大黄免费观看| 欧美日韩一区二区不卡| 欧美日本一区二区三区四区| 欧美日韩午夜影院| 欧美一级爆毛片| 久久中文娱乐网| 中文av字幕一区| 亚洲自拍都市欧美小说| 五月开心婷婷久久| 青青草原综合久久大伊人精品优势| 欧美96一区二区免费视频| 久久aⅴ国产欧美74aaa| 国产一二三精品| 91在线免费视频观看| 欧美日韩日日摸| 久久蜜臀中文字幕| 亚洲激情在线播放| 日本va欧美va欧美va精品| 高清不卡一区二区在线| 99久久国产综合精品色伊| 欧美日韩久久一区二区| 精品成人免费观看| 亚洲人xxxx| 免费观看30秒视频久久| 成人黄色一级视频| 在线91免费看| 中文字幕一区二区三| 日韩精彩视频在线观看| 东方欧美亚洲色图在线| 欧美日韩一区二区在线视频| 久久青草欧美一区二区三区| 亚洲黄色尤物视频| 国产一区二区三区黄视频 | 欧美日韩精品综合在线| 2021中文字幕一区亚洲| 一区二区三区在线免费视频 | 成人性生交大片免费看中文| 欧美日韩一本到| 国产精品污网站| 日本欧美肥老太交大片| 99久久伊人久久99| 97精品国产露脸对白| av电影在线不卡| 亚洲国产另类av| 国产剧情一区在线| 欧美久久久久久久久中文字幕| 久久亚洲私人国产精品va媚药| 一区二区三区四区乱视频| 国产剧情av麻豆香蕉精品| 91精品欧美久久久久久动漫| 亚洲女女做受ⅹxx高潮| 福利一区在线观看| 欧美一级黄色大片| 一区二区三区四区蜜桃| 国产精品99久久久久久有的能看| 欧美日韩国产小视频| 国产精品久久久久四虎| 国产不卡高清在线观看视频| 欧美www视频| 久久精品国产精品亚洲红杏 | 亚洲国产wwwccc36天堂| 91欧美一区二区| 中文字幕一区二区三区视频| jlzzjlzz欧美大全| 中文字幕+乱码+中文字幕一区| 国产综合色视频| 日韩欧美电影一二三| 美女精品自拍一二三四| 4438成人网| 美日韩一级片在线观看| 日韩色在线观看| 麻豆高清免费国产一区| 精品av久久707| 国产精品自拍av| 国产精品污污网站在线观看| 成人黄页在线观看| 亚洲老司机在线| 欧美情侣在线播放| 久久99精品久久久久久| 久久精子c满五个校花| 粉嫩av一区二区三区| 日韩毛片在线免费观看| 欧美日韩在线播放| 久久精品99久久久| 国产亚洲女人久久久久毛片| av电影在线观看一区| 一区二区三区四区精品在线视频| 欧美狂野另类xxxxoooo| 另类欧美日韩国产在线| 国产区在线观看成人精品 | 日韩美女一区二区三区四区| 国产一区二区三区在线看麻豆| 国产午夜亚洲精品午夜鲁丝片| 国产激情91久久精品导航 | 日韩av电影免费观看高清完整版 | 日本va欧美va精品发布| 久久久青草青青国产亚洲免观| 97成人超碰视| 蜜桃在线一区二区三区| 国产精品高清亚洲| 在线成人午夜影院| 成人免费视频一区二区| 亚洲sss视频在线视频| 国产色91在线| 欧美日本韩国一区| 国产成+人+日韩+欧美+亚洲| 亚洲制服丝袜在线| 精品国产91乱码一区二区三区| 91视频免费观看| 男女视频一区二区| 18成人在线观看| 精品久久久久一区二区国产| 在线一区二区三区做爰视频网站| 国产综合一区二区| 亚洲18色成人| 亚洲手机成人高清视频| 久久久久久久久免费| 欧美日韩精品欧美日韩精品| 成人ar影院免费观看视频| 久久99久久精品欧美| 亚洲在线免费播放| 国产精品久久久久婷婷| 久久精品亚洲一区二区三区浴池| 欧美性一区二区| 91视频观看视频| 国产在线麻豆精品观看| 青青草精品视频| 亚洲国产一区二区三区青草影视| 国产精品美女www爽爽爽| 精品日韩一区二区三区免费视频| 色婷婷综合久色| a美女胸又www黄视频久久| 国产露脸91国语对白| 九九国产精品视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲国产成人av| 亚洲电影第三页| 亚洲成av人片一区二区三区| 一区二区三区久久| 亚洲日本在线a| 亚洲图片激情小说| 亚洲欧美aⅴ...| 亚洲老妇xxxxxx| 亚洲第一福利视频在线| 亚洲成人免费看| 日本最新不卡在线| 日本在线不卡视频| 美女网站一区二区| 蜜臀va亚洲va欧美va天堂| 美腿丝袜在线亚洲一区| 久久国产夜色精品鲁鲁99| 久久精品99国产精品| 国产一区二区网址| 成人免费高清在线观看| av一本久道久久综合久久鬼色| 成人免费黄色在线| 在线亚洲+欧美+日本专区| 欧美三级在线播放| 日韩一级欧美一级| 久久久电影一区二区三区| 中文字幕电影一区| 亚洲最快最全在线视频| 婷婷六月综合网| 国产精品综合久久| 色狠狠色狠狠综合| 欧美一区二区三区白人| 久久综合久久久久88| 国产精品初高中害羞小美女文| 亚洲美女免费视频| 日韩激情一区二区| 国产成人免费av在线| 色8久久精品久久久久久蜜| 4438x亚洲最大成人网| 国产日韩亚洲欧美综合| 亚洲精品国产一区二区三区四区在线 | 久久精品亚洲一区二区三区浴池| 国产精品视频一二三| 亚洲va韩国va欧美va精品| 国产精品影视网| 欧美三区在线观看| 26uuu国产电影一区二区| 国产精品区一区二区三区| 亚洲国产精品久久久久婷婷884| 久久精品国产精品青草| 色一区在线观看| 久久精品欧美一区二区三区不卡| 亚洲人成网站在线| 国内精品伊人久久久久av一坑| 一本在线高清不卡dvd| 精品国产第一区二区三区观看体验| 综合电影一区二区三区 | 不卡大黄网站免费看| 91麻豆精品久久久久蜜臀| 国产精品麻豆网站| 久久精品999| 欧美蜜桃一区二区三区|