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

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

?? rem.asm

?? 10首兒歌音樂的程序源碼
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
;****** MCU: HT48RA0A  ***  Remote 48KEY
; ** OSC:455K   T1= 4/455KHz = 8.79121 uS       CARRY:38K
; ** WDT:ENABLE  ; PA: NMOS OUT ;  PB: WAKE-UP INPUT ;   PC0:CARRY OUT  ;

; System memory map ==  #include ht48ra0.inc
IAR	EQU	[00H]                      ; Indirect addressing register
MP	EQU	[01H]                      ; Data Memory point
ACC	EQU	[05H]                      ; Accumulator
PCL	EQU	[06H]                      ; Program Counter Lower-order
TBLP	EQU	[07H]                  ; Table Pointer
TBLH	EQU	[08H]                  ; Table Higher-order byte
STATUS	EQU	[0AH]                  ; Micro controll status
PA	EQU	[012H]             		   ; PA I/O register
PB	EQU	[014H]             		   ; PB I/O register
PC	EQU	[016H]                     ; PC Output register
; --- System FLAG define ---
STA_C	EQU	[0AH].0                ; C Flag
STA_AC	EQU	[0AH].1
STA_Z	EQU	[0AH].2                ; ZERO Flag
STA_OV	EQU	[0AH].3
STA_PDF	EQU	[0AH].4
STA_TO	EQU	[0AH].5
SPK	EQU	[012H].0
PA1	EQU	[012H].1
PA2	EQU	[012H].2
PA3	EQU	[012H].3
PA4	EQU	[012H].4
PA5	EQU	[012H].5
PA6	EQU	[012H].6
PA7	EQU	[012H].7
PB0	EQU	[014H].0
PB1	EQU	[014H].1
PB2	EQU	[014H].2
PB3	EQU	[014H].3
PB4	EQU	[014H].4
PB5	EQU	[014H].5
PB6	EQU	[014H].6
PB7	EQU	[014H].7
REM	EQU	[016H].0                   ; Carry Output Port
STA_RAM EQU       20H              ; HT48RA0A RAM 20H-3FH
NOP2    EQU     JMP  $+1           ; Long NOP Define = NOP+NOP
   ; --- Temp RAM ---
RAMA    EQU     [26H]              ; WORK Temp Register
RAMB    EQU     [27H]
RAMC    EQU     [28H]
RAMD    EQU     [29H]
SCANSTEP   EQU     [2AH]           ; Scan Key Colummn Step Number
PREKEY     EQU     [2BH]           ; Save Previous Key Number
NOWKEY     EQU     [2CH]           ; Scan Key Number
PBVALUE    EQU     [2DH]           ; Read on column value to PBVALUE
KDTIME     EQU     [2EH]           ; Key Debounce Check Times
NKDTIME    EQU     [2FH]           ; Key Release Confirm Times
PASTEP     EQU     [3EH]           ; PA Temp register
SendBIT    EQU     [31H].1         ; VALIDITY KEY Flag
ReckeyBIT  EQU     [32H].1         ; Check Column Multi_Key Flag
REPEATBIT  EQU     [33H].1         ; REPEAT KEY Flag
MultiBIT   EQU     [34H].1         ; INVALID KEY Flag
LSBITA     EQU     [32H].4
LSBITB     EQU     [33H].4
   ; --- Music  RAM ---
RAMR       EQU     [3AH]
RAMS       EQU     [3BH]
RAMT       EQU     [3CH] 
RAMLS      EQU     [3DH] 
   ; --- M3010 SEND RAM ---
REM_DATCODE    EQU    [36H]        ; M3010 6BIT DATA CODE --- KEY DATA CODE
REM_SYSCODE    EQU    [37H]        ; M3010 5BIT SYS  CODE --- CUSTOMER CODE
CONBIT_DAT     EQU    [38H]        ; 110 OR 111 SAVE CONTROL BIT FLAG
MUSICTIM       EQU    [39H]        ; Choose what music
RAMWA          EQU    [25H]

;;====================================================================
;@========================= Main Program =============================
;;====================================================================
MAINCODE  .SECTION    'CODE'
        ORG     00H
        JMP     MAIN
MAIN:
         CLR     WDT
         MOV     A,11111110B
         MOV     PA,A              ; PA.0=0   CLR SPK         
        CLR     PASTEP             ; TEMP TO PA SCAN KEY
        SET     PB                 ; PB: WAKE-UP INPUT PB=FF
        MOV     A,11111111B        ; PC0:  O  PULL-HIGH
        MOV     PC,A               ; REM=PC.0
     ;=== Clear RAM ( HT-48RA0A : 20H-3FH ) ===
CLEAR_RAM:
        MOV     A,STA_RAM          ; RAM Start Address
        MOV     MP,A
        MOV     A,032D             ; Amount of RAM 20H-3FH =32
CLEAR_RAM_1:
        CLR     IAR                ; 5X30=150
        INC     MP
        SDZ     ACC                ; A-1=0?
        JMP     CLEAR_RAM_1        ; A<>0
        CLR     SCANSTEP           ; T1=455KHz /4 = 8.79 uS
     ;=== Polling System Event ===
POLLING_EVENT:                     ; Anjian is > TV hujiao             
         CLR     WDT
         SET     PB                ; PB0=0 ? Hujiao ?         
         MOV     A,PB                 
         SNZ     ACC.0 
         JMP     REMCALL           ; PB0=0,Hujiao   
 YWAKE:                            ; Anjian wake ?
     CLR     SPK                   ; STOP  SPK=PA0                   
     CLR     PA1                   ; OFFSET TV Call Vcc
     CALL    SCAN_KEY_MATRIX       ; SCAN KEY PROCEDURE
     CALL    F_DELAY               ; TIME DELAY PROCEDURE
     CALL    SEND_REMOTE_CODE      ; SEND CODE PROCEDURE
     SZ      MultiBIT              ; Check Invalid Key
     JMP     POLLING_EVENT         ; <>0
     SZ      SENDBIT               ; =0 Check Validity Key
     JMP     POLLING_EVENT         ; <>0 FA
     SZ      NOWKEY                ; =0 Check NO Key Press
     JMP     POLLING_EVENT         ; <>0
  SLEEP:                           ; =0
     CLR     PA                    ; NMOS OUTPUT = Ready WakeUp Low Level,SPK=0
     HALT                          ; System Halt  PB=WAKEUP INPUT
     JMP     POLLING_EVENT         ; Any Key WakeUp
   
     ;===  Scan 64 Key Matrix (8x8) ===
SCAN_KEY_MATRIX:                   ; Anjian No PA7 & PB5
          ; = READ KEY PROCEDURE =
        CLR     WDT
        CLR     NOWKEY             ; THIS LUN KEYNUM=00H
        CLR     ReckeyBIT          ; REC KEY BIT=0
        CLR     SCANSTEP           ; THIS LUN SCAN 8 LIE PA=1111 1110 RL8
        CLR     MultiBIT           ; MULTI KEY BIT=0        
        MOV     A,01111111B        ; PA LSTEM RL8
        MOV     PASTEP,A
 NEXT_COLUMN:
        RLA     PASTEP             ; 1111 1110--STEP
        MOV     PASTEP,A
         CLR     ACC.0             ; PA0=SPK=0(ALL TIMES)
        MOV     PA,A               ; Scan Column PA PORT OUTPUT       
        CLR     WDT
        SET     PB                 ; PB=FF SET PB0,PB1 Pull-Up
        MOV     A,PB               ; Read on column value to PBVALUE
         SET     ACC.0             ; PB0=1 Anjian no pb0
        MOV     PBVALUE,A          ; SAVE AS PBVALUE
        MOV     A,001D
        MOV     RAMB,A             ; KEY CAL LSRAM
        MOV     A,11111110B
        MOV     RAMA,A             ; KEY CAL LSRAM
        MOV     A,PBVALUE          ; READ PB KEY-This column value to ACC
       SNZ     PBVALUE.7
       JMP     KEY_ROW_7
        SNZ     PBVALUE.6
        JMP     KEY_ROW_6
       SNZ     PBVALUE.5
       JMP     KEY_ROW_5
        SNZ     PBVALUE.4
        JMP     KEY_ROW_4
       SNZ     PBVALUE.3
       JMP     KEY_ROW_3
        SNZ     PBVALUE.2
        JMP     KEY_ROW_2
       SNZ     PBVALUE.1
       JMP     KEY_ROW_1
        SNZ     PBVALUE.0
        JMP     KEY_ROW_0
        NOP2                       ; =JMP $+1    2 T1
        CLR       WDT
        JMP     COL_WITHOUT_KEY    ; THIS LUN PB=1111 1111 NOKEY
      KEY_ROW_7:
        RL      RAMA               ; RAMA TO END IS "01111111b"
        INC     RAMB               ; KEY NUM CAL
      KEY_ROW_6:
        RL      RAMA               ; RAMA TO END IS "10111111b"
        INC     RAMB
      KEY_ROW_5:
        RL      RAMA               ; RAMA TO END IS "11011111b"
        INC     RAMB
      KEY_ROW_4:
        RL      RAMA               ; RAMA TO END IS "11101111b"
        INC     RAMB
      KEY_ROW_3:
        RL      RAMA               ; RAMA TO END IS "11110111b"
        INC     RAMB
      KEY_ROW_2:
        RL      RAMA               ; RAMA TO END IS "11111011b"
        INC     RAMB
      KEY_ROW_1:
        RL      RAMA               ; RAMA TO END IS "11111101b"
        INC     RAMB
      KEY_ROW_0:
        XOR     A,RAMA             ; Check HANG HANG HANG Multi-Key FOR EX PB=1010 1111 2KEY
        SZ      STA_Z              ; PBVALUE=RAMA ?
        JMP     COL_WITH_KEY       ; =  IS 1KEY
    COL_ERROR_KEY:
        SET     MultiBIT           ; = IS 2-8 KEY

    COL_WITHOUT_KEY:
        NOP2
        NOP2
        NOP2                       ; TIMES DELAY
        JMP     READY_2_NEXT_COLUMN
    COL_WITH_KEY:
        RLA     SCANSTEP           ; \ KEYNUM CAL K1-K64 TO A
        RL      ACC                ; > SCANSTEP * 8 --> ACC
        RL      ACC                ; /
        ADD     A,RAMB
        MOV     NOWKEY,A           ; KEY NUM CAL OVER K1-K64
        SZ      ReckeyBIT          ; CHECK LIE LIE LIE Multi-Key REC KEY BIT=0 ? FOR EX K1\K9 KNOB
        SET     MultiBIT           ; <>0 DUO TIMES
        SET     ReckeyBIT          ; =0 ONE TIME REV NO KEY
  READY_2_NEXT_COLUMN:
        INC     SCANSTEP           ; THIS LUN=8LIE  PA RL8
        MOV     A,SCANSTEP
        XOR     A,008D
        SNZ      STA_Z
        JMP     NEXT_COLUMN        ; A=1-7
        CLR       WDT                        ; A=8 THIS LUN OVER
      ; === Scan Key Complete, Check key valid ? ===
CHECK_KEY_ACTIVE:
        CLR     WDT
        SZ      NOWKEY             ; If NOWKEY = 00H, invalid key
        JMP     VALID_KEY_CHK      ; <>0 YES KEY
        JMP     INVALID_KEY_CHK    ; =0 NO KEY
   VALID_KEY_CHK:
        SZ      PREKEY             ; Check New Key ?
        JMP     VALID_KEYC_PRO     ; OLD KEY
        JMP     KEY_DEB            ; NEW KEY PREKEY=0 CONFIRM 6 TIMES TO PREKEY=0FFH
   VALID_KEYC_PRO:
        MOV     A,NOWKEY           ; OLD KEY
        XOR     A,PREKEY           ; Check Repeat key
        SNZ      STA_Z
        JMP     VALID_SEND_KEY     ; OLD KEY <> NEWKEY
   VALID_RPSEND_KEY:               ; OLD KEY = NEWKEY <> 0
        SNZ     MultiBIT           ; Check Multi-Key Clear NOWKEY
        JMP     REPEAT_KEY         ; (Multibit=0) & (OLD KEY = NEWKEY <> 0) REPEAT KEY
        CLR     NOWKEY             ; (Multibit=1) & (OLD KEY = NEWKEY <> 0)  DOU KEYS
        RET

   REPEAT_KEY:
        SET     RepeatBIT          ; SET Repeat Flag
        NOP2
        JMP     SET_VALIDFG
   VALID_SEND_KEY:                 ; OLD KEY <> NEWKEY <> 0
        MOV     A,PREKEY
        XOR     A,0FFH             ; Check Debounce END
        SNZ     STA_Z
        JMP     CHANG_KEY
        CLR     RepeatBIT          ; PREKEY=OFFH IS 6 TIMES CONFIRM NEWKEY
        MOV     A,NOWKEY
        MOV     PREKEY,A           ; PREKEY = NOWKEY  NEW KEYCODE SEND
   SET_VALIDFG:
        SET     SENDBIT            ; SEND FLAG
        RET

   CHANG_KEY:                      ; (OLD KEY <> NEWKEY <> 0) & (OLD KEY<>0FFH)
        CLR     KDTIME             ; ONE KEY AND ANOTHER KEY - CHUAN KEY
        JMP     RKEY_PRO           ; INVAILD KEY,CLR KD-TIME
   INVALID_KEY_CHK:
        CLR     KDTIME             ; NO KEY is  RL8 PB ALL=1111 1111  -NKDTIME=5TIME
   RKEY_PRO:
        INC     NKDTIME            ; AT 5 RL8 LUN CAN CONFIM NO KEY
        MOV     A,NKDTIME
        XOR     A,005D
        SNZ     STA_Z
        JMP     SCAN_KEY_MATRIX    ; <>5 CLR ALL , NEW SCAN-KEY
        DEC     NKDTIME            ; =5 TIME -1  FOR (OLD KEY <> NEWKEY <> 0) & (OLD KEY<>0FFH)
   NO_KEY_PROC:                    ; UP: FOR (ONE KEY AND ANOTHER KEY - CHUAN KEY) / (NO KEY)
        CLR     SENDBIT            ; NO SENDBIT
        NOP2
        NOP2
        CLR     WDT
        MOV     A,NOWKEY           ; EXIT_INVALID_KEY: Clear PREKEY
        MOV     PREKEY,A           ; NO KEY NOWKEY=0
        NOP2
        RET

   KEY_DEB:                        ; NOWKEY<>0,PREVKEY=0     NEWKEY
        INC     KDTIME             ; Check Key Debounce  T1=455KHz/4=116480Hz = 8.79us
        MOV     A,KDTIME
        XOR     A,6
        SNZ     STA_Z
        JMP     SCAN_KEY_MATRIX    ; KDTIME<>6,CLR ALL - SCAN-KEY
        MOV     A,0FFH             ; SAVE KEY Debounce Check END
        MOV     PREKEY,A           ; 0FFH to PREKEY -- SCAN-KEY
        JMP     SCAN_KEY_MATRIX

     ; === TIME DELAY PROCEDURE  Delay 10*ACC+5 Instruction Cycle  ===
F_DELAY:
        SZ      KDTIME
        JMP     NEWK_D             ; KD-TIME <> 0
        MOV     A,NKDTIME          ; KD-TIME=0 Release Confirm time offset delay
        MOV     RAMD,A
    BLANK_DELAY_00:
        INC     RAMD
        MOV     A,RAMD             ; NKDTIME=5 ?
        XOR     A,005D
        SZ      STA_Z
        JMP     BLANK_DELAY_010    ; =5
        MOV     A,154D             ; <>5    ORIGIN=155D 
    BLANK_DELAY_01:
        SDZ     ACC
        JMP     BLANK_DELAY_01     ; DELAY
        CLR     WDT
        JMP     BLANK_DELAY_00
    BLANK_DELAY_010:               ; NKDTIME=5
        CLR     NKDTIME            ; NKDTIME=0
        MOV     A,1                ; OFFSET TIME DELAY
        MOV     RAMD,A
    BLANK_DELAY_02:
        MOV     A,037D
    BLANK_DELAY_03:
        CLR     WDT
        SDZ     ACC
        JMP     BLANK_DELAY_03
        SDZ     RAMD
        JMP     BLANK_DELAY_02

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品伦理精品一区| 95精品视频在线| 26uuu久久综合| 日韩不卡一区二区三区| 国产iv一区二区三区| 美女一区二区久久| 中文字幕中文在线不卡住| 91精品国产欧美一区二区18| 成人av免费在线观看| 久久成人18免费观看| 亚洲国产va精品久久久不卡综合| 日本一区二区三区dvd视频在线| 91精品国产综合久久久蜜臀图片| 色婷婷激情综合| 国产精品99久久久久久宅男| 免费黄网站欧美| 亚洲va国产天堂va久久en| 亚洲色欲色欲www| 国产欧美日韩精品一区| 精品国产乱子伦一区| 91精品国产综合久久蜜臀| 欧美手机在线视频| 在线观看日韩一区| 99精品偷自拍| 99天天综合性| 99久久精品国产导航| 高清久久久久久| 国产成人在线观看| 懂色中文一区二区在线播放| 国产一区二区美女诱惑| 裸体一区二区三区| 日韩电影一区二区三区四区| 亚洲成人一区在线| 一区二区在线观看免费视频播放| 1024国产精品| 亚洲视频在线观看三级| 中文字幕视频一区| 日韩理论片在线| 亚洲乱码国产乱码精品精的特点| 亚洲视频一区二区在线观看| 亚洲欧美日韩电影| 伊人性伊人情综合网| 一区二区欧美国产| 亚洲午夜在线电影| 五月婷婷激情综合| 奇米精品一区二区三区在线观看| 日韩va亚洲va欧美va久久| 日本欧美一区二区| 黄色小说综合网站| 国产一区在线观看麻豆| 成人午夜伦理影院| 一本色道久久综合狠狠躁的推荐 | 日韩一级片在线播放| 911精品产国品一二三产区| 欧美一区二区三区性视频| 91精品国产综合久久国产大片| 91精品国产一区二区三区| 日韩欧美成人激情| 久久久久久久性| 亚洲欧洲精品一区二区精品久久久| 亚洲女人的天堂| 亚洲1区2区3区4区| 激情综合五月天| 成人一区在线看| 91国产精品成人| 日韩一卡二卡三卡国产欧美| 国产婷婷色一区二区三区 | 国产精品嫩草影院com| 亚洲日本在线视频观看| 五月婷婷激情综合网| 精品无人码麻豆乱码1区2区| 福利一区在线观看| 在线视频一区二区三| 日韩精品一区二区三区四区| 国产精品嫩草久久久久| 偷拍亚洲欧洲综合| 国产mv日韩mv欧美| 欧美浪妇xxxx高跟鞋交| 国产肉丝袜一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 午夜不卡在线视频| 国产91精品入口| 欧美日韩激情一区二区三区| 久久精品视频在线看| 亚洲最大的成人av| 国产一区二区三区| 欧美日本一道本在线视频| 欧美韩国日本综合| 日韩精品国产欧美| 色综合久久综合中文综合网| 日韩精品在线一区二区| 一区二区三区视频在线观看| 国产综合色视频| 欧美日韩一区中文字幕| 国产精品不卡一区| 老司机精品视频线观看86| 色狠狠桃花综合| 久久久国产精品不卡| 亚洲成人免费在线观看| 成人avav在线| 久久综合狠狠综合久久综合88| 亚洲国产婷婷综合在线精品| 成人性视频网站| 日韩欧美中文字幕精品| 亚洲午夜视频在线| 99精品国产视频| 久久免费的精品国产v∧| 天堂在线亚洲视频| 91丝袜高跟美女视频| 久久久久久久网| 美腿丝袜亚洲一区| 欧美亚洲一区二区在线观看| 国产精品久久久久久久久动漫| 日韩av在线发布| 欧美午夜精品久久久久久超碰| 国产精品福利av| 国产成人精品免费看| 久久午夜色播影院免费高清| 日韩黄色一级片| 欧美日韩不卡视频| 午夜电影久久久| 欧美男同性恋视频网站| 亚洲国产一区二区三区青草影视| 色婷婷亚洲一区二区三区| 亚洲国产高清aⅴ视频| 国产精品白丝jk黑袜喷水| 精品88久久久久88久久久| 美女视频一区在线观看| 在线91免费看| 人妖欧美一区二区| 欧美一区二区三区在线电影| 日韩精品一二三区| 日韩一区二区免费电影| 视频在线在亚洲| 宅男噜噜噜66一区二区66| 亚洲成人激情社区| 7799精品视频| 免费精品视频在线| 26uuu国产日韩综合| 国产精品主播直播| 久久精品人人做| 成人高清免费观看| 亚洲色图在线看| 欧亚一区二区三区| 天天综合色天天| 欧美一级xxx| 精品一区二区三区视频| 久久精品这里都是精品| 国产高清不卡二三区| 国产精品乱子久久久久| 99久久精品国产麻豆演员表| 一区二区三区精品在线| 欧美美女直播网站| 久久精品国内一区二区三区 | 亚洲激情欧美激情| 欧洲一区在线电影| 图片区小说区国产精品视频| 欧美成人猛片aaaaaaa| 粉嫩一区二区三区性色av| 中文字幕一区二区三区蜜月| 91.麻豆视频| 久久久亚洲精品石原莉奈 | 91超碰这里只有精品国产| 国产综合成人久久大片91| 国产精品美女一区二区在线观看| 91丨porny丨户外露出| 亚洲大型综合色站| 精品国产伦一区二区三区观看方式| 国产成人av在线影院| 欧美美女一区二区在线观看| 国产一区二区三区高清播放| 亚洲乱码精品一二三四区日韩在线| 91精品国产综合久久蜜臀 | 欧美色图12p| 久草在线在线精品观看| 1024亚洲合集| 91精品国产色综合久久不卡电影| 国产成人在线视频网址| 午夜电影久久久| 国产精品欧美极品| 欧美一二三四区在线| 97久久精品人人做人人爽 | 日本乱人伦一区| 老鸭窝一区二区久久精品| 中文字幕佐山爱一区二区免费| 91精品一区二区三区在线观看| 粉嫩一区二区三区在线看| 三级久久三级久久久| 国产精品久久久久久久午夜片 | 久久精品在线免费观看| 欧美体内she精高潮| 国产福利91精品一区| 亚洲一二三四区不卡| 欧美精彩视频一区二区三区| 在线不卡a资源高清| 91伊人久久大香线蕉| 韩国成人在线视频| 日韩国产欧美在线播放| 亚洲乱码中文字幕| 国产精品乱码久久久久久|