Hallo @ all, jetzt hab ich das komplette Internet durchforstet, an der Frage sind schon 2 Professoren gescheitert und wir wissen nicht weiter, woran es liegen kann, warum das Display von Batron BTHQ 128064AVD-SRE-06-COG nicht anspringen will. Selbst der Hersteller des Displays kann uns nicht wirklich weiterhelfen, um zum Erfolg zu kommen. Hab denen den C-Code und Stromlaufplan / Layout geschickt. Die wissen nicht, woran es liegen kann. Wir steuern das LCD mit einem PIC18F2620 an. Könnte jemand kurz über den Code drüberkucken, um mir zu sagen, wo der Fehler liegen könnte. Laut Displayfirma müssen an den Kondensatoren, die zum Display gehen, toggelnde Rechteckspannungen mit 3 V p-p liegen und an VOUT ca. -10 V liegen. Das mit den Rechtecksignalen könnte grad noch hinhauen, aber an VOut messen wir keine negative Spannung (Ca. + 450 mV). Ich habe den Stromlaufplan und Layout mal gezippt... Bitte helft mir weiter. Brauch ein Erfolgserlebnis. Wir wollen nur ALL pixels on machen. Das würde uns schon reichen 1000000 dank im vorauss Hier das Main.C [c] //###################################################################### ######## // filename: WW0708_main.c // // Implements the ???? // //###################################################################### ######## // // Author: // Company: HS Ulm // // Revision: x.x // Date: Dez. 2007 // Assembled using MPLAB 8.00 C18 3.14 // // who? 01.12.2007 start the project // who? // // // todo - // - // - // - // //###################################################################### ######## #define Debug_P1 PORTBbits.RB4 #define Debug_T1 TRISBbits.TRISB4 /** I N C L U D E S ***********************************************************/ #include <p18f2620.h> #include "LCD12864.h" #pragma config OSC = INTIO67 // Configurationen #pragma config FCMEN = OFF #pragma config IESO = OFF #pragma config PWRT = OFF #pragma config BOREN = OFF #pragma config BORV = 0 #pragma config WDT = OFF #pragma config WDTPS = 1 #pragma config MCLRE = ON #pragma config LPT1OSC = OFF #pragma config PBADEN = OFF #pragma config STVREN = OFF #pragma config LVP = OFF #pragma config XINST = OFF #pragma config DEBUG = ON #pragma config CP0 = OFF #pragma config CP1 = OFF #pragma config CP2 = OFF #pragma config CP3 = OFF #pragma config CPB = OFF #pragma config CPD = OFF #pragma config WRT0 = OFF #pragma config WRT1 = OFF #pragma config WRTB = OFF #pragma config WRTC = OFF #pragma config WRTD = OFF #pragma config EBTR0 = OFF #pragma config EBTR1 = OFF #pragma config EBTR2 = OFF #pragma config EBTR3 = OFF #pragma config EBTRB = OFF /** V A R I A B L E S *********************************************************/ #pragma udata /** P R I V A T E P R O T O T Y P E S ****************************************/ static void InitializeSystem(void); /** V E C T O R R E M A P P I N G ********************************************/ extern void _startup (void); // See c018i.c in your C18 compiler dir //#pragma code _RESET_INTERRUPT_VECTOR = 0x000800 //void _reset (void) //{ // _asm goto _startup _endasm //} //#pragma code /** D E C L A R A T I O N S ***************************************************/ #pragma code /*********************************************************************** ******** * Function: void main(void) * * PreCondition: None * * Input: None * * Output: None * * Side Effects: None * * Overview: Main program entry point. * * Note: None ************************************************************************ *****/ void main(void) { InitializeSystem(); //Sprung in Initialisierungsfunktion while(1) { Debug_P1 = 1; Debug_P1 = 0; }//end while }//end main /*********************************************************************** ******* * Function: static void InitializeSystem(void) * * PreCondition: None * * Input: None * * Output: None * * Side Effects: None * * Overview: InitializeSystem is a centralize initialization routine. * All required USB initialization routines are called from * here. * * User application initialization routine should also be * called from here. * * Note: None ************************************************************************ *****/ //Initialisation sample for ST7565 void InitializeSystem(void) { /* Initialisation PIC18F2620 */ OSCCON = '0b01110000'; //IDLEN IRCF2 IRCF1 IRCF0 OSTS IOFS SCS1 SCS0 OSCTUNE = '0b11000000'; //INTSRC PLLEN — TUN4 TUN3 TUN2 TUN1 TUN0 TRISA = '0b00111111'; LATA = 0xC0; TRISB = '0b11000000'; LATB = 0x3F; TRISC = 0x00; // databus /* Initialisation End PIC18F2620 */ Debug_T1 = 0; // set debugpin #one to output Debug_P1 = 0; lcd_init(); } [\c] Hier die Routinen zum Initialisieren des Displays: [c]//################################################################### ########### // filename: LCD12864.c // // Implements the BTHQ128064AVD-... Communication // //###################################################################### ######## // // Author: // Company: HS Ulm // // Revision: x.x // Date: Dez. 2007 // Assembled using MPLAB 8.00 C18 3.14 // // who? 01.12.2007 start the project // who? // // // todo - // - // - // - // //###################################################################### ######## /** I N C L U D E S ***********************************************************/ #include "p18f2620.h" #include "delays.h" #include "LCD12864.h" #pragma udata access ACCESSRAM /** G L O B A L V A R I A B L E s ********************************************/ #pragma udata /** P R I V A T E V A R I A B L E S ******************************************/ /** G L O B A L P R O T O T Y P E S ****************************************/ //void lcd_command(char cmd); //void lcd_data(char dat); //void lcd_init(); /** P R I V A T E P R O T O T Y P E S ****************************************/ /** F U N C T I O N S *********************************************************/ //////////////////////////////////////////////////////////////////////// //////// // lcd_command() // //////////////////////////////////////////////////////////////////////// //////// void lcd_init(void) // intel 8080 { /* Initialisation LCD-Controller ST7565*/ lcd_command(cmdRESET); // Reset lcd_command(disp_on); // Display 0n lcd_command(adc_0); // ADC=0 lcd_command(c_outputm); // Common Output Mode Select lcd_command(disp_normal); // Display normal lcd_command(all_dots_off); // all dots off (normal) lcd_command(lcd_bias); // LCD BIAS SED1565 lcd_command(disp_linestart); // Display Line Start adress lcd_command(page_adress); // Page adress lcd_command(c_adress_l); // Column adress low lcd_command(c_adress_h); // Column adress high lcd_command(power_circuits); // power circuits lcd_command(resistor_ratio); // Resistor ratio lcd_command(e_volume); // electronic volume lcd_command(e_volume_value); // electronic volume value } //////////////////////////////////////////////////////////////////////// //////// // lcd_command() // //////////////////////////////////////////////////////////////////////// //////// void lcd_command(char cmd) // intel 8080 { DISP_DATA=cmd; R_S=0; // Register Select RD=1; // READ WR=0; // Write CS=0; // Chip Select Delay10TCYx( 1 ); WR=1; // Write CS=1; Delay10TCYx( 10 ); } //////////////////////////////////////////////////////////////////////// //////// // lcd_data() // //////////////////////////////////////////////////////////////////////// //////// void lcd_data(char dat) // intel 8080 { DISP_DATA=dat; R_S=1; // Register Select RD=1; // READ WR=0; // Write CS=0; // Chip Select Delay10TCYx( 1 ); WR=1; // Write CS=1; Delay10TCYx( 10 ); } [\c] Hier die Defines: [c] //###################################################################### ######## // filename: LCD12864.h // // Implements the BTHQ128064AVD-... Communication // //###################################################################### ######## // // Author: // Company: HS Ulm // // Revision: x.x // Date: Dez. 2007 // Assembled using MPLAB 8.00 C18 3.14 // // //###################################################################### ######## /* Pin Defining */ #define RES LATBbits.LATB2 // low active #define CS LATBbits.LATB1 // low active #define R_S LATBbits.LATB0 // cmd or data #define WR LATAbits.LATA7 // low active #define RD LATAbits.LATA6 // low active #define DISP_DATA PORTC /* LCD Command Defining */ #define cmdRESET 0xE2 #define disp_on 0xAF #define adc_0 0xA0 #define c_outputm 0xC0 #define disp_normal 0xA6 #define all_dots_off 0xA4 #define lcd_bias 0xA2 #define disp_linestart 0x40 #define page_adress 0xB0 #define c_adress_l 0x00 #define c_adress_h 0x10 #define power_circuits 0x2f #define resistor_ratio 0x24 #define e_volume 0x81 #define e_volume_value 0x20 /** G L O B A L V A R I A B L E s ********************************************/ //extern ... /** G L O B A L P R O T O T Y P E S ****************************************/ void lcd_command(char cmd); void lcd_data(char dat); void lcd_init(void); [\c]
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.