$nomod51 ;Standarddatei abschalten #include ;Spezielle Includedatei einbinden org 0000h mov P1,#00h ;P1 auf 0 setzen setb P1.2 ;Port 1.2 setzen (MR/ vom Schiebereg ; 7 6 5 4 3 2 1 0 ; SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR2 mov SPCR,#01010000b ;SPI-Control Rergister - Einstellungen vornehmen ; 7 6 5 4 3 2 1 0 ; SPIF WCOL --- --- --- --- --- --- mov SPSR,#00000000b ;SPI-Status Register - Status sicherheitshalber zurcksetzen Loop: mov a,#01010101b ;Daten zum Senden in Akku laden call SendSPI ;Unterprogramm zum Senden per SPI setb P1.0 ;Storage Register (ST CP) setzen mov R5, #0FFh ;warten mxy1: djnz R5,mxy1 clr P1.0 ;Storage Register (ST CP) rcksetzen jmp Loop1 ;Ans Ende springen ;***************************** SEND SPI *********************** SendSPI: mov SPDR,a ;SPI-Data Register - Senderegister mit Daten laden WaitSPI: mov a,SPSR ; anl a,#SPIF_ jz WaitSPI mov SPSR,#00000000b ret loop1: jmp loop1 ;Endlosschleife end