I
iedchan
Guest
bilo tko znati kako to promijeniti kodiranje, tako da bih mogao koristiti port c umjesto luke d za tipkovnicu sučelje s pic16f877Šifra:/ / # Byte port_d = 0x08
char get_key (void)
(
char t;
dok je (1) (
output_d (input_d () | 0xff);output_bit (PIN_D4, 0);
if (ulaz (PIN_D0) == 0); (
delay_ms (10);
povratak '';
)
if (ulaz (PIN_D1) == 0) (
delay_ms (10);
natrag '7 ';
)if (ulaz (PIN_D2) == 0) (
delay_ms (10);
natrag '4 ';
)
if (ulaz (PIN_D3) == 0) (
delay_ms (10);
natrag '1 ';
)
output_d (input_d () | 0xff);output_bit (PIN_D5, 0);
if (ulaz (PIN_D0) == 0); (
delay_ms (10);
natrag '0 ';
)
if (ulaz (PIN_D1) == 0) (
delay_ms (10);
natrag '8 ';
)
if (ulaz (PIN_D2) == 0) (
delay_ms (10);
natrag '5 ';
)
if (ulaz (PIN_D3) == 0) (
delay_ms (10);
natrag '2 ';
)
output_d (input_d () | 0xff);output_bit (PIN_D6, 0);
if (ulaz (PIN_D0) == 0); (
delay_ms (10);
povratak 'B';
)
if (ulaz (PIN_D1) == 0) (
delay_ms (10);
natrag '9 ';
)
if (ulaz (PIN_D2) == 0) (
delay_ms (10);
natrag '6 ';
)
if (ulaz (PIN_D3) == 0) (
delay_ms (10);
natrag '3 ';
)
output_d (input_d () | 0xff);output_bit (PIN_D7, 0);
if (ulaz (PIN_D0) == 0); (
delay_ms (10);
povratak 'C';
)
if (ulaz (PIN_D1) == 0) (
delay_ms (10);
povratak 'D';
)
if (ulaz (PIN_D2) == 0) (
delay_ms (10);
povratak 'E';
)
if (ulaz (PIN_D3) == 0) (
delay_ms (10);
povratak 'F';
)
return '<';
)
)
char get_key (void)
(
char t;
dok je (1) (
output_d (input_d () | 0xff);output_bit (PIN_D4, 0);
if (ulaz (PIN_D0) == 0); (
delay_ms (10);
povratak '';
)
if (ulaz (PIN_D1) == 0) (
delay_ms (10);
natrag '7 ';
)if (ulaz (PIN_D2) == 0) (
delay_ms (10);
natrag '4 ';
)
if (ulaz (PIN_D3) == 0) (
delay_ms (10);
natrag '1 ';
)
output_d (input_d () | 0xff);output_bit (PIN_D5, 0);
if (ulaz (PIN_D0) == 0); (
delay_ms (10);
natrag '0 ';
)
if (ulaz (PIN_D1) == 0) (
delay_ms (10);
natrag '8 ';
)
if (ulaz (PIN_D2) == 0) (
delay_ms (10);
natrag '5 ';
)
if (ulaz (PIN_D3) == 0) (
delay_ms (10);
natrag '2 ';
)
output_d (input_d () | 0xff);output_bit (PIN_D6, 0);
if (ulaz (PIN_D0) == 0); (
delay_ms (10);
povratak 'B';
)
if (ulaz (PIN_D1) == 0) (
delay_ms (10);
natrag '9 ';
)
if (ulaz (PIN_D2) == 0) (
delay_ms (10);
natrag '6 ';
)
if (ulaz (PIN_D3) == 0) (
delay_ms (10);
natrag '3 ';
)
output_d (input_d () | 0xff);output_bit (PIN_D7, 0);
if (ulaz (PIN_D0) == 0); (
delay_ms (10);
povratak 'C';
)
if (ulaz (PIN_D1) == 0) (
delay_ms (10);
povratak 'D';
)
if (ulaz (PIN_D2) == 0) (
delay_ms (10);
povratak 'E';
)
if (ulaz (PIN_D3) == 0) (
delay_ms (10);
povratak 'F';
)
return '<';
)
)