'Picsimulatoride, Fejlesztő:bbatka 'RA4 SOFTUSART ki 'RA5 SOFTUSART be 'kvarc:20Mhz Pic16f877a Dim i As Byte Dim ci As Byte Dim cs As Byte Dim k As Word AllDigital PCLATH = 0 TRISA = %100000 TRISB = %11111111 TRISC = %00000000 TRISD = %00000000 loop: Serin PORTA.5, 9600, i If i = 65 Then i = 0 ASM: ;write ASM: bcf PORTA,3 ASM: bcf PORTA,2 ASM: bcf PORTA,1 x1: ASM: bsf PORTA,0 ASM: movfw k ASM: movwf PORTC ASM: movfw k + 1 ASM: movwf PORTD ASM: bcf PORTA,0 If PORTD.7 Then Goto olvas '16-ról 15 bitesre való átalakításhoz ASM: incfsz k,f Goto x2 ASM: incfsz k + 1,f x2: Goto x1 olvas: ASM: clrf k + 1 ASM: clrf k ASM: bcf PORTA,3 ASM: bcf PORTA,2 ASM: bsf PORTA,1 x3: ASM: bsf PORTA,0 ASM: nop ASM: nop ASM: nop ASM: nop ASM: nop ASM: nop ASM: nop ASM: nop ASM: nop ASM: nop ASM: nop ASM: movfw k ASM: movwf PORTC ASM: movfw k + 1 ASM: movwf PORTD ASM: bcf PORTA,0 If PORTD.7 Then Goto vege '16-ról 15 bitesre való átalakításhoz ASM: incfsz k,f Goto x4 ASM: incfsz k + 1,f x4: If PORTB.0 = 1 Then 'nyák korrekció cs = %10000000 'nyák korrekció Endif 'nyák korrekció ci = ShiftRight(PORTB, 1) 'nyák korrekció ci = ci Or cs 'nyák korrekció cs = 0 'nyák korrekció Gosub serki Goto x3 vege: ASM: clrf k + 1 ASM: clrf k Endif Goto loop End serki: Define SEROUT_DELAYUS = 500 Serout PORTA.4, 9600, ci, Return