⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rc5.asm

📁 红外线开发
💻 ASM
📖 第 1 页 / 共 2 页
字号:
         TAM		0
         LXY		COLNO_SEC
         XAM		0
INC_COUNTER:	 
	 LXY            COUNTERA
         TAM            0
         A 1
         NOP
         XAM            0
         RT                  

INC_COUNTERA_S:
         LXY            COUNTERA_S
         TAM            0
         A 1
         NOP
         XAM            0
         RT


COL_TRAN:
         LXY            COUNTERB
         TAM            0
         LXY            COLNO_NEW
         XAM            0
         RT
COLADD8:
         LXY            COUNTERB
         TAM            0
         A              DIGT8
         NOP
         LXY            COLNO_NEW
         XAM            0
         RT
               
;=====================================
;; CODE TABLE.
;=====================================


          .ORG    0300H
                       ;;;;;;;G3
       .DW   11AH       ;K22         ;-----D0
       .DW   13DH       ;K19
       .DW   0FFH       ;K-- 
       .DW   0FFH       ;K21
       .DW   035H   	;K20
       .DW   009H       ;K17
       .DW   03CH       ;K18
       .DW   121H       ;K15          ;-----D7
                       ;;;;;;;G2
       .DW   011H       ;K16
       .DW   024H       ;K13
       .DW   018H       ;K10
       .DW   004H       ;K12
       .DW   000H       ;K14
       .DW   038H       ;K11
       .DW   028H       ;K09
       .DW   008H       ;K08                                       
;============================
          .ORG    0310H
                      ;;;;;G1
       .DW   030H   	;K07
       .DW   025H       ;K04
       .DW   0FFH       ;K--
       .DW   010H       ;K06
       .DW   020H   	;K05
       .DW   02CH       ;K02
       .DW   007H       ;K03
       .DW   00CH       ;K01
                        ;;;G0

       .DW   0FFH   	;K28
       .DW   01CH       ;K25
       .DW   0FFH       ;K--
       .DW   0FFH       ;K24
       .DW   0FFH   	;K26
       .DW   031H       ;K23
       .DW   02DH       ;K27
       .DW   0FFH       ;K--
                       
;=========================
          .ORG    0320H
                       ;;;;E0
       .DW   122H        ;K31
       .DW   11AH        ;K34
       .DW   0FFH        ;K--
       .DW   00DH        ;K33
       .DW   12AH        ;K32
       .DW   102H        ;K29
       .DW   112H        ;K30
       .DW   0FFH        ;K--


;=====================================================
;	RAM CLEAR
;=====================================================
RAMCL0:
        LXY     0,11              ;(X) <- 0 ,(Y) <- 11
RAMCL1:
        LXY     1,11              ;(X) <- 1 ,(Y) <- 11
RAMCL2:
        LXY     2,11              ;(X) <- 2 ,(Y) <- 11
RAMCL3:
        LXY     3,11              ;(X) <- 3 ,(Y) <- 11
RAMCL:
        LA      15                ;(A) <- F
        XAMD    0           	  ;(A) <-> (M) ,Y-1
        BL       RAMCL
        RT

;======================================================
WAIT20:	NOP			;
WAIT19:	NOP			;
WAIT18:	NOP			;
WAIT17:	NOP			;
WAIT16:	NOP			;
WAIT15:	NOP			;
WAIT14:	NOP			;
WAIT13:	NOP			;
WAIT12:	NOP			;
WAIT11:	NOP			;
WAIT10:	NOP			;
WAIT9:	NOP			;
WAIT8:	NOP			;
WAIT7:	NOP			;
WAIT6:	NOP			;
WAIT5:	NOP			;
WAIT4:	RT			;

				
;*******************************************************
;	BIT DATA TRANSMIT
;*******************************************************
BIT2SEND:        
		LA        DIGT1		;BIT=0
                TBA
                LA        DIGTF
                T1AB
                LA   	  DIGTD
Pre2Htime:       
                SNZT1                                                 
                B         Pre2Htime
                TV2A
                LA   	  DIGT5
                TV1A
                LA        DIGT1
                TBA
                LA        DIGTF                
                T1AB                	
                RC
Send2Clow:
                SNZT1
                B         Send2Clow
                RT




BITSEND:        
		SZC	  
		BL	  FIRST_OSC	;BIT=1
                LA        DIGT1		;BIT=0
                TBA
                LA        DIGTF
                T1AB
               
PreHtime:       
                SNZT1                                                 
                B         PreHtime
               
                LA   	  DIGT5
                TV1A
                LA        DIGT1
                TBA
                LA        DIGTF                
                T1AB                	
                RC
SendClow:
                SNZT1
                B         SendClow
                TABE
                RAR	
                SZC
                LA	  DIGT1
                LA	  DIGT5
                TV1A
                RT
;=================================================               
FIRST_OSC:                
                LA        DIGT1
                TBA
                LA        DIGTF
                T1AB
Htime:       
                SNZT1                                                 
                B         Htime
                LA   	  DIGT5
                TV1A
                LA        DIGT1
                TBA
                LA        DIGTF                
                T1AB                
                RC                
                
Sendlow:
                SNZT1
                B         Sendlow
               
                TABE
                RAR	
                SZC	
                LA	    DIGT5	    	
                LA	    DIGT1
                TV1A
                RT
;=======================================================

SEND_1BIT:	
		TAM	    0
                XAMI	    0
                RAR
                SZC	
                BL	    SC_1
                RC		
                BL	    ROT_1
SC_1:
                SC
ROT_1:                	  
		TAM	    0			;The toggle bit is transfered to A.
                TEAB
                BML         BITSEND             ;BIT DATA TRANSMIT
                RT


TOGGLE:        
                TAM	  0
                RAR
		SZC	  
		BL	  TGFIRST_OSC	;BIT=1
                LA        DIGT1		;BIT=0
                TBA
                LA        DIGTF
                T1AB
              
TGPreHtime:       
                SNZT1                                                 
                B         TGPreHtime
                
                LA   	  DIGT5
                TV1A
                LA        DIGT1
                TBA
                LA        DIGTF                
                T1AB                	
                RC
TGSendClow:
                SNZT1
                B         TGSendClow
                LXY	  CUSTOMH
                TAM	  0
                RAR	
                SZC
                LA	  DIGT1
                LA	  DIGT5
                TV1A
                RT
;=================================================               
TGFIRST_OSC:                
                LA        DIGT1
                TBA
                LA        DIGTF
                T1AB
TGHtime:       
                SNZT1                                                 
                B         TGHtime
                LA   	  DIGT5
                TV1A
                LA        DIGT1
                TBA
                LA        DIGTF                
                T1AB                
                RC                
                
TGSendlow:
                SNZT1
                B         TGSendlow
                
                
                LXY	  CUSTOMH
                TAM	  0
                RAR	
                SZC	
                LA	  DIGT5	    	
                LA	  DIGT1
                TV1A
                RT
                                
;*******************************************************
;	WORD DATA TRANSMIT
;*******************************************************
WORD:
                BML	    CHECK_NEXDATBIT
                RAR                        ;0 	;Clear C 
                TEAB                   
                BML         BITSEND             ;BIT DATA TRANSMIT
		TABE
                RAR                        ;1
		TEAB
                BML         BITSEND             ;BIT DATA TRANSMIT
       		TABE
		RAR                        ;2
		TEAB
                BML         BITSEND             ;BIT DATA TRANSMIT
		TABE
                RAR                        ;3
		TEAB
                BML         BITSEND             ;BIT DATA TRANSMIT
		TABE
                RT  
                
SEND_2BIT:
                BML	    CHECK_NEXDATBIT
                RAR                        ;0   ;Clear C 
                TEAB                   
                BML         BITSEND             ;BIT DATA TRANSMIT
		TABE
                RAR                        ;1
                LA	    1
		TEAB
                BML         BITSEND             ;BIT DATA TRANSMIT
       		TABE                 
                RT
                
;==================================================                	
CHECK_NEXDATBIT:
		TAM	    0
                XAMI	    0
                TEAB
                TAM	    0
                RAR
                SZC	
                BL	    SC_BIT
                RC		
                BL	    ROT_DATA
SC_BIT:
                SC	
ROT_DATA:
		TABE                
		RT
;==================================================
;this program compare twice key if equal.
;if equal,return and  skip
;if no equal, save new scan key and no skip
;==================================================
COMP_KEY:
                   LXY     ROWNO_NEW
                   TAM     0
                   LXY     ROWNO_SAE
                   SEAM
                   BL      NoEqual
                   LXY     COLNO_NEW
                   TAM     0
                   LXY     COLNO_SAE
                   SEAM
                   BL      NoEqual
                   RT
NoEqual:
                   LXY     ROWNO_NEW
                   TAM     0
                   LXY     ROWNO_SAE
                   XAM     0
                   LXY     COLNO_NEW
                   TAM     0
                   LXY     COLNO_SAE
                   XAM     0
                   
                   RTS
                   
;=================================================
;;================================================

COLD1:
        SEA   0
        BL    RESCAN2       
        BL    WAITKEY       
RESCAN2:
        LXY    ROWNO_OLD
        LA     DIGTF
        XAMI   0            ;ROWNO_OLD
        LA     DIGTF
        XAMI   0            ;COLNO_OLD
        LA     DIGTF
        XAMI   0            ;ROWNO_SAE
        LA     DIGTF
        XAM    0            ;COLNO_SAE   
               
        BL     RESCAN
        



;============================================================  

COLD_BOOT:                
                BML     RAMCL0          ;RAM CLEAR TO F
                BML     RAMCL1          ;RAM CLEAR
                BML     RAMCL2          ;RAM CLEAR
                BML     RAMCL3
                
WAITKEY:

                LXY      0,7                 
SETD_H:         SD
                DEY
                BL      SETD_H          ;SET D0-D7=1.
                LXY     ROWNO_CUR
                LA      DIGTF
                XAMI    0
                LA      DIGTF
                XAM     0

                LXY     ROWNO_SAE
                LA      DIGTF
                XAMI    0
                LA      DIGTF
                XAM     0

                LA       DIGTF     ;all G/E port expect E0!!!set pull-down transistor
                TPU0A              ;and key-on wakeup valid
                LA       DIGT0     ;set D7-D4 port  no pull-down transistor.
                TPU1A              ;and key-on wakeup invalid.
                POF                ; WAIT FOR PRESS KEY
                

       .END
;======================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -