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

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

?? kb.asm

?? 一個新的keypad的示例程序
?? ASM
字號:
;***************************; >-< G Soft  Creations >-<;---------------------------;   AT Keyboard Routines;***************************;----------------; RAM Usage:;----------------; Keyboard vars.equ    KB_OK,          0x45.equ    KB_DATA,        0x46.equ    KB_STATS,       0x47.equ    KB_SCAN,        0x48.equ    KB_TEMP,        0x49    ; For the da*n pause key;------------------; Defines;------------------;XXXXXXXXXXXXXXXXXXXXXXXX KeyBoard XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.flag   KEYB_DATA,      P1.5    ; AT Keyboard data  (change this for your hardware).flag   KEYB_CLOCK,     P3.2    ; AT Keyboard Clock (change this for your hardware); This 2 pins should be connected to the keyboard crresponded pins with an 4K7 Pullup.; The keyboard also needs GND and +5V. .equ    KB_LSHIFT,      0x12.equ    KB_RSHIFT,      0x59.equ    KB_CTRL,        0x14.equ    KB_ALT,         0x11.equ    KB_CAPS,        0x58.equ    KB_SCROLL,      0x7E.equ    KB_NUML,        0x77.equ    KB_TAB,         0x0D.equ    KB_REL,         0xF0.equ    KB_EXT,         0xE0.equ    KB_PAUSE,       0xE1; For the stauts flags (KB_STATS).equ    CAPS,           0x01.equ    NUML,           0x02.equ    SCROLL,         0x04.equ    SHIFT,          0x08.equ    ACK,            0x10.equ    CTRL,           0x20.equ    ALT,            0x40.equ    RELEASE,        0x80; For the stauts flags 2 (KB_OK).equ    PAUSED,         0x40.equ    EXTENDED,       0x80;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;---------------------; Keyboard Routines:;---------------------;*************************************; WaitKB: Wait for keypress;*************************************WaitKB:        acall   Check_Keyb        jnc     WaitKB        ret;*************************************; InitKeyb: c=1 if ACK OK;*************************************CheckACK:        mov     a, KB_STATS        mov     c, acc.4        clr     acc.4        mov     KB_STATS, a        ret;*************************************; InitKeyb:;*************************************InitKeyb:        mov     KB_TEMP, #0        mov     KB_OK, #0        mov     r1, #0xFF        acall   Write_Keyb        acall   Check_Keyb        acall   CheckACK        jnc     InitKeyb        mov     r1, #0xF4       ; Enable        acall   Write_Keyb        acall   Check_Keyb        acall   CheckACK        jnc     KeybErr        mov     r1, #0xF3       ; Set Typematic        acall   Write_Keyb        acall   Check_Keyb        acall   CheckACK        jnc     KeybErr        mov     r1, #0x00       ; Typematic = 250 ms / 30 cps        acall   Write_Keyb        acall   Check_Keyb        acall   CheckACK        jnc     KeybErr        mov     KB_OK, #1        mov     KB_STATS, #2    ; Num Lock ON;*************************************; Keyb_Leds: Set KB_STATS as leds;*************************************Keyb_Leds:        mov     r1, #0xED       ; Set Leds        acall   Write_Keyb        acall   Check_Keyb        acall   CheckACK        jnc     KeybErr        mov     r1, KB_STATS        acall   Write_Keyb        acall   Check_Keyb        acall   CheckACKKeybErr:        ret;*************************************; Zero2One: Wait for 0 to 1 on kb; clock line, read the kb data line; and shift right the bit to acc.7;*************************************Zero2One:        jnb     KEYB_CLOCK, *        jb      KEYB_CLOCK, *        mov     c, KEYB_DATA        rrc     a        ret;*************************************; Check_Keyb: Check to see if any key; are pressed or release, returns; ASCII codes on KB_DATA, or 1 for; special keys, 2 for same special; with shift. Return also the scan; code on KB_SCAN.; Special Keys are basicaly all non; printable keys. See the table below; all 1 and 2 returned are special keys;*************************************Check_Keyb:        setb    KEYB_DATA        setb    KEYB_CLOCK              ; CLOCK & DATA high = Idle Pos        mov     r0, #50                 CheckAgain:        jnb     KEYB_CLOCK, KeyHit        djnz    r0, CheckAgain          ; check r0 times        sjmp    KeyEndKeyHit:        jnb     KEYB_DATA, KeyHit2      ; Start bit must be 0KeyEnd:        clr     KEYB_CLOCK              ; disable keyb        clr     c                       ; c=0 = no keypress        retKeyHit2:        mov     r0, #8          ; 8 bits        clr     aKeyHit3:        acall   Zero2One        djnz    r0, KeyHit3        mov     r1, a        clr     a        acall   Zero2One        ; Parity bit        acall   Zero2One        ; Stop bit        ; acc.7 = stop, acc.6 = parity        clr     KEYB_CLOCK        mov     a, KB_TEMP        jz      NoIgnore                dec     KB_TEMP         ; Igonre pause scans        sjmp    ChkKbEndNCNoIgnore:        mov     KB_SCAN, r1        cjne    r1, #0xFA, NoKbACK        orl     KB_STATS, #ACK        sjmp    ChkKbEndNCNoKbACK:        cjne    r1, #KB_PAUSE, NoKbPause        mov     KB_TEMP, #7             ; Ignore next 7 scans        mov     a, KB_OK        cpl     acc.6        mov     KB_OK, a        sjmp    ChkKbEndNCNoKbPause:        cjne    r1, #KB_EXT, NoKbExt        orl     KB_OK, #EXTENDED        sjmp    ChkKbEndNCNoKbExt:        cjne    r1, #KB_REL, NoRelease        orl     KB_STATS, #RELEASE        sjmp    ChkKbEndNCNoRelease:; Test Num lock, if pressed toggle led        cjne    r1, #KB_NUML, NoNumLock        mov     a, KB_STATS        jnb     acc.7, ChkKbEndNC        cpl     acc.1        clr     acc.7        mov     KB_STATS, a        acall   Keyb_Leds        sjmp    ChkKbEndNCNoNumLock:; Test Caps lock, if pressed toggle led        cjne    r1, #KB_CAPS, NoCapsLock        mov     a, KB_STATS        jnb     acc.7, ChkKbEndNC        cpl     acc.2        clr     acc.7        mov     KB_STATS, a        acall   Keyb_Leds        sjmp    ChkKbEndNCNoCapsLock:; Test Scroll lock, if pressed toggle led        cjne    r1, #KB_SCROLL, NoScrollLock        mov     a, KB_STATS        jnb     acc.7, ChkKbEndNC        cpl     acc.0        clr     acc.7        mov     KB_STATS, a        acall   Keyb_LedsChkKbEndNC:        clr     c        retNoScrollLock:; Test L & R shifts, set bit if pressed, clear on release        cjne    r1, #KB_LSHIFT, NoShift1ShiftOK:        mov     a, KB_STATS        jbc     acc.7, ShiftRel        setb    acc.3           ; not releasing, so Set SHIFT bit        sjmp    ShiftEndShiftRel:        clr     acc.3           ; releasing, so Clear SHIFT bitShiftEnd:        mov     KB_STATS, a        sjmp    ChkKbEndNC      NoShift1:        cjne    r1, #KB_RSHIFT, NoShift        sjmp    ShiftOKNoShift:        cjne    r1, #KB_CTRL, NoCtrl        mov     a, KB_STATS        jbc     acc.7, CtrlRel        setb    acc.5           ; not releasing, so Set CTRL bit        sjmp    CtrlEndCtrlRel:        clr     acc.5           ; releasing, so Clear SHIFT bitCtrlEnd:        mov     KB_STATS, a        sjmp    ChkKbEndNC      NoCtrl:        cjne    r1, #KB_ALT, NoAlt        mov     a, KB_STATS        jbc     acc.7, AltRel        setb    acc.6           ; not releasing, so Set ALT bit        sjmp    AltEndAltRel:        clr     acc.6           ; releasing, so Clear ALT bitAltEnd:        mov     KB_STATS, a        sjmp    ChkKbEndNC      NoAlt:        mov     a, KB_STATS             ; Releasing key test        jnb     acc.7, NoRel2                   clr     acc.7                   ; if releasing > clear        mov     KB_STATS, a             ; rel bit on KB_STATS        clr     c                       ; and do nothing         retNoRel2:        mov     a, KB_OK                ; Extended key test        jnb     acc.7, KbChars                   clr     acc.7                   ; if Extended > clear        mov     KB_OK, a                ; EXT bit on KB_OK        clr     c                       ; and do nothing         retKbChars:        mov     dptr, #KbScanCodes        mov     a, KB_STATS        jnb     acc.2, TestShift        jb      acc.3, KbChkOK        mov     a, r1        movc    a, @a+dptr        mov     r0, a        subb    a, #97        jc      KbChkOK        mov     a, r0        subb    a, #123        jnc     KbChkOK        mov     dptr, #KbScanCodes2     ; if (a to z) & Caps > table 2        sjmp    KbChkOKTestShift:        jnb     acc.3, KbChkOK        mov     dptr, #KbScanCodes2     ; with shift table 2KbChkOK:        mov     a, r1        movc    a, @a+dptr        mov     KB_DATA, a        setb    c        ret;*************************************; Zero2One2: Wait for high to low in; kb clock line;*************************************Zero2One2:        jnb     KEYB_CLOCK, *        jb      KEYB_CLOCK, *        ret;*************************************; Write_Keyb: Send r1 to the kb;*************************************Write_Keyb:        mov     r0, #8          ; 8 bits to receive        clr     KEYB_CLOCK      ; break the Keyboard        mov	r7, #0x00       ; some delay (safety reasons)_WKwait:djnz	r7, _WKwait        clr     KEYB_DATA       ; request to send        setb    KEYB_CLOCK      ; enable the Keyboard        acall   Zero2One2       ; Start Bit        mov     a, r1           ; Data BitsTxData:        rrc     a        mov     KEYB_DATA, c        acall   Zero2One2        djnz    r0, TxData        mov     a, r1           ; calculate parity bit        mov     c, psw.0        ; this is Even parity        cpl     c               ; and Keyboard needs Odd parity        mov     KEYB_DATA, c    ; send parity bit        acall   Zero2One2        setb    KEYB_DATA       ; send stop bit        acall   Zero2One2        acall   Zero2One2        mov     c, KEYB_DATA    ; get ACK bit        clr     KEYB_CLOCK      ; stop the keyboard             ret;*************************************************************************; Main Routine: Example of kb usage;*************************************************************************Start:        acall   InitKeyb        mov     a, KB_OK        jz      KBNotOKLoop:        acall   Check_Keyb        jnc     Loop        mov     a, KB_SCAN        cjne    a, #0x71, NoCtrlAltDel  ; Check for extended Del        mov     a, KB_STATS        jnb     acc.5, NoCtrlAltDel     ; Check for Ctrl        jnb     acc.6, NoCtrlAltDel     ; Check for Alt        ljmp    Start                   ; If Ctrl+Alt+Del ResetNoCtrlAltDel:        mov     a, KB_DATA        cjne    a, #1, ChkEsp2        ; Here handle Especial Keys        mov     a, KB_SCAN        cjne    a, #5, NoF1Key        ; Do something here for F1NoF1Key:        cjne    a, #6, NoF2Key        ; Do something here for F2NoF2Key:        cjne    a, #4, NoF3Key        ; Do something here for F1NoF3Key:        sjmp    LoopChkEsp2:        cjne    a, #2, NoEsp        ; Here handle Shift + Especial Keys        mov     a, KB_SCAN        cjne    a, #5, NoShfF1Key        ; Do something here for Shift + F1NoShfF1Key:        sjmp    LoopNoEsp:        ; Rest of prgram        sjmp    Loop; last 262 addr of code mem with scan codes tables.org    0x1EF8KbScanCodes:; Keyboard Scancodes;       ?,  F9, ?,  F5,  F4,  F1,  F2, F12, ?, F10,  F8,  F6,  F4, TAB,  ~.db     0,  1 , 0,  1 ,  1 ,  1 ,  1 ,  1 , 0,  1 ,  1 ,  1 ,  1 ,  1 , '~';       ?, ?,Lalt,Lshf, ?,Lctr,  Q ,  ! , ?, ?, ?,  Z ,  S ,  A ,  W ,  @.db     0, 0,  0 ,  0 , 0,  0 , 'q', '1', 0, 0, 0, 'z', 's', 'a', 'w', '2';       ?, ?,  C ,  X ,  D ,  E ,  $ ,  # , ?, ?, " ",  V ,  F ,  T ,  R.db     0, 0, 'c', 'x', 'd', 'e', '4', '3', 0, 0, ' ', 'v', 'f', 't', 'r';       % , ?, ?,  N ,  B ,  H ,  G ,  Y ,  ^ , ?, ?, ?,  M ,  J ,  U ,  &.db    '5', 0, 0, 'n', 'b', 'h', 'g', 'y', '6', 0, 0, 0, 'm', 'j', 'u', '7';       * , ?, ?,  < ,  K ,  I ,  O ,  ) ,  ( , ?, ?,  > ,  ? ,  L ,  : ,  P.db    '8', 0, 0, ',', 'k', 'i', 'o', '0', '9', 0, 0, '.', '/', 'l', ';', 'p';       _ , ?, ?, ?,  " , ?,  { ,  + , ?, ?,Caps,Rshf,Entr,  } , ?,  | .db    '-', 0, 0, 0, ''', 0, '[', '=', 0, 0,  0 ,  0 ,  1 , ']', 0,  92;       ?, ?, ?, ?, ?, ?, ?, ?,BkSp, ?, ?,  1 , ?,  4 ,  7 , ?, ?, ?,  0.db     0, 0, 0, 0, 0, 0, 0, 0,  1 , 0, 0, '1', 0, '4', '7', 0, 0, 0, '0';       . ,  2 ,  5 ,  6 ,  8 , ESC,Numl, F11,  + ,  3 ,  - ,  * ,  9 ,Scrl.db    '.', '2', '5', '6', '8',  1 ,  0 ,  1 , '+', '3', '-', '*', '9',  0;       ?, ?, ?, ?,  F7.db     0, 0, 0, 0,  1KbScanCodes2:; Keyboard Scancodes with shift;       ?,  F9, ?,  F5,  F4,  F1,  F2, F12, ?, F10,  F8,  F6,  F4, TAB,  ~.db     0,  2 , 0,  2 ,  2 ,  2 ,  2 ,  2 , 0,  2 ,  2 ,  2 ,  2 ,  2 , '`';       ?, ?,Lalt,Lshf, ?,Lctr,  Q ,  ! , ?, ?, ?,  Z ,  S ,  A ,  W ,  @.db     0, 0,  0 ,  0 , 0,  0 , 'Q', '!', 0, 0, 0, 'Z', 'S', 'A', 'W', '@';       ?, ?,  C ,  X ,  D ,  E ,  $ ,  # , ?, ?, " ",  V ,  F ,  T ,  R.db     0, 0, 'C', 'X', 'D', 'E', '$', '#', 0, 0, ' ', 'V', 'F', 'T', 'R';       % , ?, ?,  N ,  B ,  H ,  G ,  Y ,  ^ , ?, ?, ?,  M ,  J ,  U ,  &.db    '%', 0, 0, 'N', 'B', 'H', 'G', 'Y', '^', 0, 0, 0, 'M', 'J', 'U', '&';       * , ?, ?,  < ,  K ,  I ,  O ,  ) ,  ( , ?, ?,  > ,  ? ,  L ,  : ,  P.db    '*', 0, 0, '<', 'K', 'I', 'O', ')', '(', 0, 0, '>', '?', 'L', ':', 'P';       _ , ?, ?, ?,  " , ?,  { ,  + , ?, ?,Caps,Rshf,Entr,  } , ?,  | .db    '_', 0, 0, 0, '"', 0, '{', '+', 0, 0,  0 ,  0 ,  2 , '}', 0, '|';       ?, ?, ?, ?, ?, ?, ?, ?,BkSp, ?, ?,  1 , ?,  4 ,  7 , ?, ?, ?,  0.db     0, 0, 0, 0, 0, 0, 0, 0,  2 , 0, 0, '1', 0, '4', '7', 0, 0, 0, '0';       . ,  2 ,  5 ,  6 ,  8 , ESC,Numl, F11,  + ,  3 ,  - ,  * ,  9 ,Scrl.db    '.', '2', '5', '6', '8',  2 ,  0 ,  2 , '+', '3', '-', '*', '9',  0;       ?, ?, ?, ?,  F7.db     0, 0, 0, 0,  2

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女一区二区久久| 国产精品嫩草久久久久| 色哟哟一区二区在线观看 | 精品污污网站免费看| 国产精品一卡二卡| 国产99精品视频| 国产成人av一区二区三区在线观看| 国产一区二区在线观看免费| 国产一区久久久| 成人黄色av电影| 色欧美片视频在线观看在线视频| 在线亚洲免费视频| 91精品国产综合久久国产大片| 91精品婷婷国产综合久久性色| 日韩午夜精品电影| 中文幕一区二区三区久久蜜桃| 国产精品另类一区| 亚洲国产综合色| 久久成人免费网| 成年人国产精品| 欧美日韩国产精选| 国产香蕉久久精品综合网| 欧美激情一区二区三区不卡 | 日韩欧美国产小视频| 精品国产91乱码一区二区三区| 久久青草欧美一区二区三区| 亚洲国产成人私人影院tom| 综合欧美一区二区三区| 亚洲图片欧美综合| 久久国产夜色精品鲁鲁99| 国产·精品毛片| 欧美三级欧美一级| 欧美国产亚洲另类动漫| 日韩在线一区二区| av色综合久久天堂av综合| 欧美一区二区大片| 一区在线播放视频| 奇米影视一区二区三区| av一区二区不卡| 日韩女同互慰一区二区| 亚洲色图制服丝袜| 国产精品自拍av| 91精品综合久久久久久| 国产精品情趣视频| 麻豆精品一区二区av白丝在线| 一本到一区二区三区| 久久久精品tv| 日本欧美久久久久免费播放网| 成人av在线一区二区三区| 欧美一级日韩不卡播放免费| 亚洲乱码精品一二三四区日韩在线| 黑人巨大精品欧美一区| 欧美精三区欧美精三区| 日韩一区在线看| 国产精品99久久久久久有的能看| 欧美日韩高清一区| 亚洲精品午夜久久久| 成人黄色一级视频| 久久久高清一区二区三区| 美日韩一区二区| 欧美日韩国产综合一区二区| 国产精品福利影院| 成熟亚洲日本毛茸茸凸凹| 精品国产免费人成在线观看| 日韩中文字幕av电影| 欧美日本乱大交xxxxx| 亚洲一区二区三区四区在线免费观看| 国产精品一区二区你懂的| 日韩欧美www| 麻豆国产一区二区| 亚洲精品一区二区在线观看| 九九久久精品视频| 欧美大肚乱孕交hd孕妇| 麻豆国产精品一区二区三区| 日韩三级视频中文字幕| 久久成人综合网| 精品成人一区二区三区| 成人性生交大片| 国产精品国产三级国产| 97久久超碰精品国产| 国产精品久久久久毛片软件| 成人av电影在线播放| 中文字幕一区二区在线播放| 成人听书哪个软件好| 国产精品盗摄一区二区三区| 91视频观看视频| 亚洲自拍偷拍综合| 欧美日韩国产片| 免费看日韩a级影片| 久久综合丝袜日本网| 国产成人精品综合在线观看| 国产精品的网站| 欧美亚洲一区三区| 青娱乐精品视频| 国产欧美一区二区精品婷婷| 色综合天天综合网天天看片| 欧美不卡一区二区三区四区| 久久精工是国产品牌吗| 国产欧美精品一区二区色综合朱莉| 成人高清免费观看| 亚洲综合色视频| 精品久久久久久久人人人人传媒 | 色综合天天综合色综合av| 亚洲综合在线视频| 日韩免费看的电影| 99久精品国产| 偷窥少妇高潮呻吟av久久免费| 26uuu国产电影一区二区| 色综合色综合色综合| 久久99久久久久| 一区二区三区精品| 精品裸体舞一区二区三区| 成人精品国产福利| 日本不卡视频一二三区| 亚洲三级在线免费观看| 精品88久久久久88久久久| 99国产精品久久久| 韩国三级在线一区| 午夜欧美在线一二页| 国产午夜亚洲精品羞羞网站| 欧美乱妇一区二区三区不卡视频| 福利一区二区在线观看| 日韩精品一二区| 亚洲精品国产视频| 国产视频一区二区在线| 91精品国产免费久久综合| 91首页免费视频| 成人爱爱电影网址| 久久精品国产亚洲高清剧情介绍| 亚洲精品一二三区| 国产精品欧美极品| 久久综合狠狠综合| 日韩写真欧美这视频| 欧美日韩亚洲综合在线| 色综合久久中文字幕| www.欧美日韩| 国产成人免费网站| 国产一区二区三区综合| 久久精品国产免费看久久精品| 亚洲第一主播视频| 一区二区三区中文免费| 亚洲欧美怡红院| 中文字幕日韩精品一区 | 色婷婷激情综合| 成人动漫一区二区三区| 成人久久久精品乱码一区二区三区| 极品少妇一区二区三区精品视频| 日韩二区三区四区| 天天色 色综合| 日韩国产一区二| 奇米777欧美一区二区| 琪琪一区二区三区| 日本在线观看不卡视频| 免费不卡在线视频| 国模娜娜一区二区三区| 精品在线一区二区| 国产精品一区二区91| 成人一区二区视频| av成人免费在线| 色一情一伦一子一伦一区| 欧美性生活久久| 91麻豆精品91久久久久同性| 欧美xfplay| 日本一区二区三区免费乱视频| 中文字幕不卡一区| 亚洲精品五月天| 日韩综合在线视频| 国产一区二区三区在线看麻豆| 国产成人在线视频免费播放| 北条麻妃一区二区三区| 色诱视频网站一区| 日韩欧美国产系列| 国产日韩欧美a| 亚洲精品乱码久久久久久日本蜜臀| 一区二区三区四区中文字幕| 五月激情综合网| 精品一区二区三区在线观看国产 | 狠狠色狠狠色综合日日91app| 国产成人av电影在线观看| av一区二区三区在线| 欧美美女视频在线观看| 久久美女艺术照精彩视频福利播放| 亚洲欧洲韩国日本视频| 日韩二区三区在线观看| 99在线精品免费| 欧美一区二区黄| 综合久久久久综合| 美女视频网站黄色亚洲| av在线这里只有精品| 91精品国产一区二区三区| 国产精品伦理一区二区| 美女视频一区在线观看| 一本久久a久久精品亚洲| 精品三级在线看| 一区二区久久久| 国v精品久久久网| 日韩欧美国产一区二区三区| 亚洲同性gay激情无套| 美女视频免费一区| 欧美日韩久久一区二区|