void main (void) { int cnt = 0; InitDevice (); Delay10KTCYx (250); InitializeUSB (); InitLCD (); /* UCONbits.USBEN = 0; */ /* UCFGbits.UTRDIS = 0; */ /* UCFGbits.UPUEN = 1; */ /* UCFGbits.FSEN = 1; */ USBDeviceAttach (); while (1) { WriteLCDChar (UCONbits.USBEN ? '0' : '1'); WriteLCDChar (UCFGbits.FSEN ? '0' : '1'); WriteLCDChar (UCFGbits.UTRDIS ? '0' : '1'); WriteLCDChar (UCFGbits.UPUEN ? '0' : '1'); WriteLCDChar ('0' + UCFGbits.PPB); WriteLCDChar ('-'); WriteLCDChar ('0' + USTATbits.ENDP); WriteLCDChar ('0' + USTATbits.DIR); WriteLCDChar ('0' + USTATbits.PPBI); WriteLCDChar ('-'); putNumber (USBDeviceState); WriteLCDChar ('-'); putNumber (cnt++); // if (USBDeviceState == DETACHED_STATE) // USBDeviceAttach (); Delay10KTCYx (1000); LCDHome (); Delay10KTCYx (10); } // if (USBDeviceState < CONFIGURED_STATE) // continue; // bitset (PORTB, E_PORT); // Delay10TCYx (10); // ClearLCD (); // bitclr (PORTB, E_PORT); // Delay10TCYx (10); // } }
void LCDInit(void) { _uLCDloops = LCD_STARTUP; Wait(_uLCDloops); _uLCDloops = LCD_F_INSTR; PMDIN1 = 0x38; // Set the default function Wait(_uLCDloops); _uLCDloops = LCD_STARTUP; Wait(_uLCDloops); _uLCDloops = LCD_F_INSTR; PMDIN1 = 0x0C; Wait(_uLCDloops); _uLCDloops = LCD_STARTUP; Wait(_uLCDloops); _uLCDloops = LCD_S_INSTR; PMDIN1 = 0x01; // Clear the display Wait(_uLCDloops); _uLCDloops = LCD_STARTUP; Wait(_uLCDloops); _uLCDloops = LCD_S_INSTR; PMDIN1 = 0x0F; // Clear the display Wait(_uLCDloops); _uLCDloops = LCD_STARTUP; Wait(_uLCDloops); _uLCDloops = LCD_S_INSTR; PMDIN1 = 0x06; // Set the entry mode Wait(_uLCDloops); LCDClear(); LCDHome(); }