
Den koder jag har frågat om hjälp på blev tillslut
Kod: Markera allt
void main() {
PORTA = 0;
CMCON = 0x07;
TRISA = 0;
while(1) {
PORTA.F1 = 1;
delay_ms(1000);
PORTA.F2 = 1;
delay_ms(1000);
PORTA.F1 = 0;
delay_ms(1000);
PORTA.F2 = 0;
delay_ms(2000);
}
}
Den koden som jag fixade men hjälpen på ovanstående kod var:
Kod: Markera allt
/*
RS-4 = RA0-17
R/W-5 = RA1-18
E-6 = RA2-1
CS1-15 = RA3-2
CS2-16 = RA4-3
DB0-7 = RA0-7
*/
void start() {
PORTB = 0b00111111;
delay_us(100);
}
void page(int i) {
if(i==0) { PORTB = 0b10111000; }
else if(i==1) { PORTB = 0b10111001; }
else if(i==2) { PORTB = 0b10111010; }
else if(i==3) { PORTB = 0b10111011; }
else if(i==4) { PORTB = 0b10111100; }
else if(i==5) { PORTB = 0b10111101; }
else if(i==6) { PORTB = 0b10111110; }
else if(i==7) { PORTB = 0b10111111; }
}
void y() {
PORTB = 0b10000010;
}
void write() {
PORTA.F0 = 1;
PORTB = 0b11111111;
}
void main() {
int i = 0;
int x = 0;
PORTA = 0;
CMCON = 7;
TRISA = 0;
PORTB = 0;
TRISB = 0;
PORTA.F3 = 1;
PORTA.F4 = 1;
start();
PORTA.F2 = 1;
PORTA.F2 = 0;
page(i);
PORTA.F2 = 1;
PORTA.F2 = 0;
y();
PORTA.F2 = 1;
PORTA.F2 = 0;
while(x!=64) {
write();
PORTA.F2 = 1;
PORTA.F2 = 0;
++x;
}
}
Den kanske inte är den bäst optimerade men det spelar inte så stor roll.