eXgAM͓Hg
MvOF 
                org        0000H         
                AJMP        START 

;1/4sfBCTuvO 
YANSHI1S:        MOV        R7,#250 
YANSHI1S1:        MOV        R6,#250 
YANSHI1S2:        NOP 
                NOP 
                DJNZ        R6,YANSHI1S2 
                DJNZ        R7,YANSHI1S1 
                RET 


;581oCg͕oCgf[^ioCgR3ɂj
XIENB:                MOV        R0,#58H 
                CLR        P1.7                ;SCNdʂɂ 
XIE00:                ACALL        XIE1B 
                INC        R0 
                DJNZ        R3,XIE00 
                SETB        P1.7 
                RET 

;;R0Ƀ|C^f[^SPI^C~OŏށAĂяoOACSNdʂɂ 
;1񈽂͕ĂяoACSNdʂɂ
XIE1B:                MOV        R2,#8 
                MOV        A,@R0 
XIE1B1:                RLC        A 
                MOV        P1.5,C                ;f[^MOSIɈړ
                SETB        P1.4                ;f[^ړ
                CLR        P1.4 
                DJNZ        R2,XIE1B1 
                RET 

;`bvXe[^X5FH ɓǂݍ݁A
DUZT:                MOV        R2,#8 
                SETB        P1.5 
                CLR        P1.7                ;CSNdʂɂ
DUZT1:                SETB        P1.4                ;NbNオ
                MOV        C,P1.3                ;MISÕf[^ǂݍ
                MOV        A,5FH 
                RLC        A                ;WX^5FHɈړ
                MOV        5FH,A 
                CLR        P1.4                         
                DJNZ        R2,DUZT1 
                SETB        P1.7                ;CSNdʂɂAR}h
                RET 






START:                MOV        P1,#0AFH        ;ҋ@
                MOV        58H,#20H        ;WX^0ނƂ
                MOV        59H,#0EH        ;dAM[h
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#21H        ;01WX^
                MOV        59H,#03H        ;0C1`lɎɂ 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#22H        ;02 
                MOV        59H,#03H 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#23H        ;03WX^
                MOV        59H,#03H        ;5oCgAhX
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#24H        ;04 
                MOV        59H,#14H        ;500uS҂čđA4đA1Ał10đi206cj
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#25H        ;05WX^
                MOV        59H,#07H        ;g(ASMF2076j 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#26H        ;06 
                MOV        59H,#27H        ;071M̑MXs[hA0dBA27250KMXs[h
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#27H        ;07 
                MOV        59H,#70H        ;W[̊荞݂NA
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#2AH        ;0AWX^(`l0j 
                MOV        59H,#02H        ;ݒAhX
                MOV        5AH,#3AH 
                MOV        5BH,#39H 
                MOV        5CH,#38H 
                MOV        5DH,#37H 
                MOV        R3,#06H 
                ACALL        XIENB 
                MOV        58H,#30H        ;10WX^
                MOV        R3,#06H                ;MAhX
                ACALL        XIENB 
                MOV        58H,#2BH        ;0BWX^i`l1j 
                MOV        59H,#01H        ;{W[̃AhX
                MOV        R3,#06H 
                ACALL        XIENB 
                MOV        58H,#31H        ;11WX^
                MOV        59H,#10H        ;`l0Lf[^̒F16oCg
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#32H        ;12WX^
                MOV        59H,#10H        ;`l1Lf[^̒F16oCg
                MOV        R3,#02H 
                ACALL        XIENB 
XIEFS:                MOV        58H,#0A0H        ;Mf[^`bvɏ
                MOV        R0,#58H 
                MOV        R3,#10H 
                CLR        P1.7 
                ACALL        XIE1B 
                MOV        R0,#70H 
XIEXUN:                ACALL        XIE1B 
                INC        R0 
                DJNZ        R3,XIEXUN 
                SETB        P1.7         
                SETB        P1.6                ;MN
                MOV        R7,#5 
                DJNZ        R7,$ 
                CLR        P1.6 
                JB        P3.2,$ 
                cpl        p1.0 
                ACALL        DUZT                ;Xe[^XWX^ǂݍ
                MOV        58H,#27H        ;07 
                MOV        59H,#70H        ;荞݂NA
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#0E1H        ;Mobt@NA
                MOV        R3,#01H         
                ACALL        XIENB 
                ACALL        YANSHI1S 
                SJMP        XIEFS 
                 
         
end 

MvOF 

                org        0000H         
                AJMP        START 

                org        0003H 
                AJMP        EXINT0 

;1/4sfBCTuvO
YANSHI1S:        MOV        R7,#250 
YANSHI1S1:        MOV        R6,#250 
YANSHI1S2:        NOP 
                NOP 
                DJNZ        R6,YANSHI1S2 
                DJNZ        R7,YANSHI1S1 
                RET 


;581oCg͕oCgf[^ioCgR3ɂj
XIENB:                MOV        R0,#58H 
                CLR        P1.7                ;SCNdʂɂ
XIE00:                ACALL        XIE1B 
                INC        R0 
                DJNZ        R3,XIE00 
                SETB        P1.7 
                RET 

;R0Ƀ|C^f[^SPI^C~OŏށAĂяoOACSNdʂɂ 
;1񈽂͕ĂяoACSNdʂɂ
XIE1B:                MOV        R2,#8 
                MOV        A,@R0 
XIE1B1:                RLC        A 
                MOV        P1.5,C                ;MOSI? 
                SETB        P1.4                ;ړ? 
                CLR        P1.4 
                DJNZ        R2,XIE1B1 
                RET 

;SPI^C~OŃW[1oCgf[^MCUR0Ƀ|C^UNITATu֐ĂяoOACSNdʂɂ 
;1񈽂͕ĂяoACSNdʂɂ 
DU1B:                MOV        R2,#8 
DU1B1:                SETB        P1.4 
                MOV        C,P1.3 
                RLC        A 
                CLR        P1.4 
                DJNZ        R2,DU1B1 
                MOV        @R0,A 
                RET 

;SPI^C~OŃW[Mobt@f[^MCUR0Ƀ|C^UNITɏށAoCgR3ɂ
DUNB:                PUSH        00H 
                MOV        58H,#61H        ;1oCg݃R}h
                MOV        R0,#58H 
                CLR        P1.7 
                ACALL        XIE1B 
                POP        00H                ;R0|C^Mobt@̎n߂̃AhX
DUXUN:                ACALL        DU1B 
                INC        R0 
                DJNZ        R3,DUXUN 
                SETB        P1.7 
                RET         

;`bvXe[^X5FHɓǂݍ
DUZT:                MOV        R2,#8 
                SETB        P1.5                ;̓`bv1
                CLR        P1.7                ;CSNdʂɂ
DUZT1:                SETB        P1.4                ;NbNオ
                MOV        C,P1.3                ;MISÕf[^ǂݍ
                MOV        A,5FH 
                RLC        A                ;WX^5FHɈړ
                MOV        5FH,A 
                CLR        P1.4                         
                DJNZ        R2,DUZT1 
                SETB        P1.7                ;CSNdʁAR}h񊮐
                RET 






START:                MOV        P1,#0AFH        ;W[ҋ@
                SETB        0A8H                ;O荞0
                CLR        88H                ;dʂŃgK\
                SETB        0B8H                ;D揇
                SETB         0AFH                ;CPU犄荞݂

                MOV        58H,#20H        ;WX^0ނƂ
                MOV        59H,#0FH        ;dAM[hiMA0EHɐݒj 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#21H        ;WX^01
                MOV        59H,#03H        ;`l0A1̎ 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#22H        ;02 
                MOV        59H,#03H        ;`l0A1M 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#23H        ;WX^03
                MOV        59H,#03H        ;5oCgAhX
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#24H        ;04 
                MOV        59H,#14H        ;500uS҂čđA4đ 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#25H        ;WX^05
                MOV        59H,#07H        ;g
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#26H        ;06 
                MOV        59H,#27H        ;071M̑MXs[hA0dBA27250KMXs[h 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#27H        ;07 
                MOV        59H,#70H        ;W[̊荞݂NA
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#2AH        ;0AWX^i`l0j 
                MOV        59H,#01H        ;ݒAhX
                MOV        5AH,#3AH 
                MOV        5BH,#39H 
                MOV        5CH,#38H 
                MOV        5DH,#37H 
                MOV        R3,#06H 
                ACALL        XIENB 
                MOV        58H,#30H        ;WX^10
                MOV        R3,#06H                ;MAhX
                ACALL        XIENB 
                MOV        58H,#2BH        ;WX^0Bi`l1j 
                MOV        59H,#02H        ;{W[AhX
                MOV        R3,#06H 
                ACALL        XIENB 
                MOV        58H,#31H        ;WX^11
                MOV        59H,#10H        ;`l0Lf[^̒F16oCg 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        58H,#32H        ;WX^12
                MOV        59H,#10H        ;`l1Lf[^̒F16oCg
                MOV        R3,#02H 
                ACALL        XIENB 
                SETB        P1.6                ;MN
HALT:                SJMP        HALT 


EXINT0:                PUSH        ACC 
                PUSH        PSW 
                ACALL        DUZT                ;Xe[^XWX^ǂݍ
                MOV        58H,#27H        ;07 
                MOV        59H,#70H        ;荞݂NA 
                MOV        R3,#02H 
                ACALL        XIENB 
                MOV        R0,#60H                ;Mf[^60H6FHɓǂݍ
                MOV        R3,#10H 
                ACALL        DUNB 
                CPL        P1.0 
FANHUI:                POP        PSW 
                POP        ACC 
                RETI 
         
         
end 
