سلام
من میخوام این برنامه رو طوری تغییر بدم که بیت پریتی روهم چک بکنه و اگه درست بود portd.7 = 0 و اگر نبود portd.7 = 1 بکنه
میشه کمک کنین ؟
من میخوام این برنامه رو طوری تغییر بدم که بیت پریتی روهم چک بکنه و اگه درست بود portd.7 = 0 و اگر نبود portd.7 = 1 بکنه
میشه کمک کنین ؟
کد:
void send7(char a) { #asm send_7bit: ldd r19,Y+0 cbi PORTD,1 call bit_delay ldi r16,7 nxt_bit: in r17,PORTD bst r19,0 bld r17,1 out PORTD,r17 lsr r19 call bit_delay dec r16 brne nxt_bit sbi PORTD,1 call bit_delay ret #endasm } char receive7(void) { #asm receive_7bit: ldi r18,0 till_reset: in r17,PIND andi r17,1 brne till_reset call hbit_delay ldi r16,7 rnxt_bit: clc sbic PIND,0 sec ror r18 call bit_delay dec r16 brne rnxt_bit clc ror r18 mov r30,r18 #endasm } #asm bit_delay: push r16 push r17 ldi r17,1 bdel2: ldi r16,26 bdel1: dec r16 brne bdel1 dec r17 brne bdel2 pop r17 pop r16 ret hbit_delay: push r16 push r17 ldi r17,1 hbdel2: ldi r16,43 hbdel1: dec r16 brne hbdel1 dec r17 brne hbdel2 pop r17 pop r16 ret #endasm
دیدگاه