#include void zapis1(char data) { RB1 = RB2 = RB4 = RB5 = 0; if (data & (1 << 4)) RB1 = 1; if (data & (1 << 5)) RB2 = 1; if (data & (1 << 6)) RB4 = 1; if (data & (1 << 7)) RB5 = 1; } void zapis2(char data) { RB1 = data & 16 ? 1 : 0; RB2 = data & 32 ? 1 : 0; RB4 = data & 64 ? 1 : 0; RB5 = data & 128 ? 1 : 0; } void zapis3(char data) { RB1 = data >> 4; RB2 = data >> 5; RB4 = data >> 6; RB5 = data >> 7; } void zapis4(char data) { union { char byte; struct { unsigned b0:1,b1:1,b2:1,b3:1,b4:1,b5:1,b6:1,b7:1; } bits; } u; u.byte = data; RB1 = u.bits.b4; RB2 = u.bits.b5; RB4 = u.bits.b6; RB5 = u.bits.b7; } void zapis5(char data) { RB1 = (data & 16) > 0; RB2 = (data & 32) > 0; RB4 = (data & 64) > 0; RB5 = (data & 128) > 0; } void zapis6(char data) { data = (data >> 4) + (data << 4); data <<= 1; PORTB ^= (PORTB ^ (data + (data & 0x18))) & 0x36; } void zapis7(char data) { RB1 = data & 16 ? 1 : 0; RB1 = (data & 16) > 0; RB1 = (data & 16) != 0; RB1 = !!(data & 16); RB1 = (data & 16) == 16; } void main() { }