Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void toggleSevenSegment(short success) {
- PORTD.F4 = 1;
- PORTD.F5 = 1;
- if(success == 1) {
- PORTB = 0x8E; // FF
- } else {
- PORTB = 0xFC; // 00
- }
- delay_ms(1000);
- PORTD.F4 = 0;
- PORTD.F5 = 0;
- }
- int inputValues[4][4] = {{0, 0, 1, 1}, {0, 1, 0, 1}}; //00, 01, ...
- char x;
- int i;
- void interrupt() { // PortC (0 - 5), PortD (0 - 3, 6 - 7)
- if(pir1.F5 == 1) {
- x = UART1_READ();
- switch(x) {
- case 'A': //AND
- TRISC = 0b00011011; //011011
- TRISD = 0b11000110; //11 0110
- for(i = 0; i < 4; i++) { //C0, C1 -> C2
- PORTC.F0 = inputValues[0][i];
- PORTC.F1 = inputValues[1][i];
- toggleSevenSegment(PORTC.F2);
- }
- for(i = 0; i < 4; i++) { //C3, C4 -> C5
- PORTC.F3 = inputValues[0][i];
- PORTC.F4 = inputValues[1][i];
- toggleSevenSegment(PORTC.F5);
- }
- for(i = 0; i < 4; i++) { //D0, D1 -> D2
- PORTD.F0 = inputValues[0][i];
- PORTD.F1 = inputValues[1][i];
- toggleSevenSegment(PORTD.F2);
- }
- for(i = 0; i < 4; i++) { //D3, D6 -> D7
- PORTD.F3 = inputValues[0][i];
- PORTD.F6 = inputValues[1][i];
- toggleSevenSegment(PORTD.F7);
- }
- break;
- case 'N':
- TRISC = 0b00010101; //010101
- TRISD = 0b10001010; //10 1010
- PORTC.F0 = 0;
- toggleSevenSegment(PORTC.F1);
- PORTC.F0 = 1;
- toggleSevenSegment(PORTC.F1);
- PORTC.F2 = 0;
- toggleSevenSegment(PORTC.F3);
- PORTC.F2 = 0;
- toggleSevenSegment(PORTC.F3);
- PORTC.F4 = 0;
- toggleSevenSegment(PORTC.F5);
- PORTC.F4 = 0;
- toggleSevenSegment(PORTC.F5);
- PORTD.F1 = 0;
- toggleSevenSegment(PORTD.F0);
- PORTD.F1 = 0;
- toggleSevenSegment(PORTD.F0);
- PORTD.F3 = 0;
- toggleSevenSegment(PORTD.F2);
- PORTD.F3 = 0;
- toggleSevenSegment(PORTD.F2);
- PORTD.F7 = 0;
- toggleSevenSegment(PORTD.F6);
- PORTD.F7 = 0;
- toggleSevenSegment(PORTD.F6);
- break;
- }
- }
- }
- void main() {
- UART1_INIT(9600);
- intcon = 0xc0;
- pie1 = 0x20;
- pir1 = 0x00;
- TRISB = 0x00;
- TRISD.F4 = 0;
- TRISD.F5 = 0;
- while(1) {}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement