D
drkidd22
Guest
Man ir LM6733 LCD modulis, kas ir SED1330 displeju kontrolieris.Es cenšos izmantot Explorer 16, lai parādītu dažus vienkāršus ziņu uz ekrāna tikai, lai iegūtu mani sākās, bet man nav izdevies to.
Man ir zemāks 8 biti Porte uz pic noteikto datu pārraides līnijas un PORTA kontroles līnijām.Zemāk ir kods, ko esmu līdz šim, un nav varējuši parādīt kaut ko uz ekrāna.Es, izmantojot pictail MVK un ir pārbaudīts viss.100% pārliecināts, ka vadi ir pareizi.
Kods:/************************************************* *********************************
Šī projekta daļa ir visi # Noteikt direktīvas un LCD inicializācijas
Datums: 2010/03/25
LCD Modelis: LM6733
LCD Controller: SED1330
************************************************** *********************************/# Ietver "p33FJ256GP710.h"_FOSCSEL (FNOSC_PRIPLL);
_FOSC (FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMD_XT);
_FWDT (FWDTEN_OFF);# Define LCD_DATA Porte / / Port datu pārsūtīšanu. (PIC RE0-RE7 <<------>> LCD DB0-DB7)
# Define DDR_DATA TRISE / / Port E Datu virziena kontroles# Define DDR_CTRL TRISA / / Port Datu virziena kontroles# Define GLCD_COMMAND PORTAbits.RA0 / * A0 Pin PIC RA0
# Define GLCD_CS PORTAbits.RA1 / * Chip Izvēlēties PIC RA1
# Define GLCD_WR PORTAbits.RA2 / * WR Pin PIC RA2
# Define GLCD_RD PORTAbits.RA3 / * RD Pin PIC RA3
# Define GLCD_RESET PORTAbits.RA4 / * Atjaunot Pin PIC RA4# Define Hi 1
# Define Lo 0# Define LCD_RESX 320 / * Grafic rezolūcija X * /
# Define LCD_RESY 240 / * Grafic rezolūcija Y * /
# Define LCD_CHARPERROW 40 / * maksimālais ir (GLCD_RESX / GLCD_CHARWIDTH) * /
# Define LCD_CHARROWS 16 / * būtu jāaprēķina no RESY / CHARHEIGHT * /
# Define LCD_CHARWIDTH 8 / * = GLCD_RESX / GLCD_CHARPERROW * /
# Define LCD_CHARHEIGHT 8# Define SYSSET 0x40 / * System Set * /
# Define SLEEPIN 0x53 / * Ievadiet gaidīšanas režīmā * /
# Define DISPOFF 0x58 / * Parādīt uz * /
# Define DISPON 0x59 / * Parādīt off * /
# Define SCROLL 0x44 / * Displejs Sākums adr & Display reģionos * /
# Define CSRFORM 0x5D / * Set Cursor tips * /
# Define CGRAM 0x5C / * Start adr Char.
Ģenerators Ram * /
# Define CSRDIR 0x4C / * virziens kursora kustības * /
# Define HDOTSCR 0x5A / * Horizontālie Ritiniet Amats * /
# Define pārklāt 0x5B / * Parādīt pārklājuma formātā * /
# Define CSRW 0x46 / * Set Cursor adrese * /
# Define CSRR 0x47 / * Lasīt Cursor adrese * /
# Define MWRITE 0x42 / * Rakstiet Displejs Atmiņa * /
# Define MREAD 0x43 / * Read no Displejs Atmiņa * //************************************************* ********/
/ * Sūtīt komandu uz Kontrolieris * /
/************************************************* ********/
par spēkā neesošu lcdSndCmd (neparakstīts char komanda)
(
LCD_RD = Hi;
LCD_DATA = komanda;LCD_COMMAND = Hi;
LCD_CS = Lo;
LCD_WR = Lo;
/ / Short_delay;
LCD_CS = Hi;
LCD_WR = Hi;
LCD_COMMAND = Lo;
)/************************************************* ********/
/ * Sūtīt Dati Controller * /
/************************************************* ********/
par spēkā neesošu lcdSndData (neparakstīts char vērtība)
(
LCD_DATA = vērtība;LCD_COMMAND = Lo;
LCD_RD = Hi;
LCD_CS = Lo;
LCD_WR = Lo;
/ / Short_delay;
LCD_CS = Hi;
LCD_WR = Hi;
)/************************************************* ********/
/ * Atjaunot Controller * /
/************************************************* ********/
par spēkā neesošu LCD_Reset (spēkā neesošs)
(
int i;
gaistošo int j;DDR_DATA = 0x00;
DDR_CTRL = 0x00;LCD_RD = Hi;
LCD_WR = Hi;
LCD_DATA = 255;
LCD_COMMAND = Hi;LCD_RESET = Lo;
(i = 0; i <1000; i )
(J ;
LCD_RESET = Lo;
)
(i = 0; i <1000; i )
(J ;
LCD_RESET = Hi;
)LCD_RESET = Hi;
LCD_CS = Hi;
)par spēkā neesošu LCD_Init (spēkā neesošs)
(
DDR_DATA = 0x00;
DDR_CTRL = 0x00;lcdSndCmd (SYSSET);
lcdSndData (0x30);
lcdSndData ((LCD_CHARWIDTH-1) | 0x80);
lcdSndData (LCD_CHARHEIGHT-1);
lcdSndData (LCD_CHARPERROW-1);
lcdSndData (LCD_CHARPERROW 4);
lcdSndData (LCD_RESY-1);
lcdSndData (LCD_CHARPERROW);
lcdSndData (0);lcdSndCmd (pārklājuma);
lcdSndData (1);lcdSndCmd (SCROLL);
lcdSndData (0);
lcdSndData (0);
lcdSndData (LCD_RESY-1);
lcdSndData (0x80);
lcdSndData (0x02);
lcdSndData (LCD_RESY-1);lcdSndCmd (CSRFORM);
lcdSndData (0x05);
lcdSndData (0x85);lcdSndCmd (HDOTSCR);
lcdSndData (0x0);lcdSndCmd (CSRDIR);lcdSndCmd (DISPON);
lcdSndData (0x14);
/ / CurrTextx = 0;
/ / CurrTexty = 0;lcdSndCmd (MWRITE);
lcdSndData (0x4D); / / M
cdSndData (0x49), / / es
cdSndData (0x46), / / C
cdSndData (0x52), / / R
cdSndData (0x4F); / / O)int galvenais (spēkā neesošs)
(
PLLFBD = 0x00A0;
CLKDIV = 0x0048;neparakstīts char c;
int i;/ / Init LCD Dispay
LCD_Reset ();
LCD_Init ();
)
Man ir zemāks 8 biti Porte uz pic noteikto datu pārraides līnijas un PORTA kontroles līnijām.Zemāk ir kods, ko esmu līdz šim, un nav varējuši parādīt kaut ko uz ekrāna.Es, izmantojot pictail MVK un ir pārbaudīts viss.100% pārliecināts, ka vadi ir pareizi.
Kods:/************************************************* *********************************
Šī projekta daļa ir visi # Noteikt direktīvas un LCD inicializācijas
Datums: 2010/03/25
LCD Modelis: LM6733
LCD Controller: SED1330
************************************************** *********************************/# Ietver "p33FJ256GP710.h"_FOSCSEL (FNOSC_PRIPLL);
_FOSC (FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMD_XT);
_FWDT (FWDTEN_OFF);# Define LCD_DATA Porte / / Port datu pārsūtīšanu. (PIC RE0-RE7 <<------>> LCD DB0-DB7)
# Define DDR_DATA TRISE / / Port E Datu virziena kontroles# Define DDR_CTRL TRISA / / Port Datu virziena kontroles# Define GLCD_COMMAND PORTAbits.RA0 / * A0 Pin PIC RA0
# Define GLCD_CS PORTAbits.RA1 / * Chip Izvēlēties PIC RA1
# Define GLCD_WR PORTAbits.RA2 / * WR Pin PIC RA2
# Define GLCD_RD PORTAbits.RA3 / * RD Pin PIC RA3
# Define GLCD_RESET PORTAbits.RA4 / * Atjaunot Pin PIC RA4# Define Hi 1
# Define Lo 0# Define LCD_RESX 320 / * Grafic rezolūcija X * /
# Define LCD_RESY 240 / * Grafic rezolūcija Y * /
# Define LCD_CHARPERROW 40 / * maksimālais ir (GLCD_RESX / GLCD_CHARWIDTH) * /
# Define LCD_CHARROWS 16 / * būtu jāaprēķina no RESY / CHARHEIGHT * /
# Define LCD_CHARWIDTH 8 / * = GLCD_RESX / GLCD_CHARPERROW * /
# Define LCD_CHARHEIGHT 8# Define SYSSET 0x40 / * System Set * /
# Define SLEEPIN 0x53 / * Ievadiet gaidīšanas režīmā * /
# Define DISPOFF 0x58 / * Parādīt uz * /
# Define DISPON 0x59 / * Parādīt off * /
# Define SCROLL 0x44 / * Displejs Sākums adr & Display reģionos * /
# Define CSRFORM 0x5D / * Set Cursor tips * /
# Define CGRAM 0x5C / * Start adr Char.
Ģenerators Ram * /
# Define CSRDIR 0x4C / * virziens kursora kustības * /
# Define HDOTSCR 0x5A / * Horizontālie Ritiniet Amats * /
# Define pārklāt 0x5B / * Parādīt pārklājuma formātā * /
# Define CSRW 0x46 / * Set Cursor adrese * /
# Define CSRR 0x47 / * Lasīt Cursor adrese * /
# Define MWRITE 0x42 / * Rakstiet Displejs Atmiņa * /
# Define MREAD 0x43 / * Read no Displejs Atmiņa * //************************************************* ********/
/ * Sūtīt komandu uz Kontrolieris * /
/************************************************* ********/
par spēkā neesošu lcdSndCmd (neparakstīts char komanda)
(
LCD_RD = Hi;
LCD_DATA = komanda;LCD_COMMAND = Hi;
LCD_CS = Lo;
LCD_WR = Lo;
/ / Short_delay;
LCD_CS = Hi;
LCD_WR = Hi;
LCD_COMMAND = Lo;
)/************************************************* ********/
/ * Sūtīt Dati Controller * /
/************************************************* ********/
par spēkā neesošu lcdSndData (neparakstīts char vērtība)
(
LCD_DATA = vērtība;LCD_COMMAND = Lo;
LCD_RD = Hi;
LCD_CS = Lo;
LCD_WR = Lo;
/ / Short_delay;
LCD_CS = Hi;
LCD_WR = Hi;
)/************************************************* ********/
/ * Atjaunot Controller * /
/************************************************* ********/
par spēkā neesošu LCD_Reset (spēkā neesošs)
(
int i;
gaistošo int j;DDR_DATA = 0x00;
DDR_CTRL = 0x00;LCD_RD = Hi;
LCD_WR = Hi;
LCD_DATA = 255;
LCD_COMMAND = Hi;LCD_RESET = Lo;
(i = 0; i <1000; i )
(J ;
LCD_RESET = Lo;
)
(i = 0; i <1000; i )
(J ;
LCD_RESET = Hi;
)LCD_RESET = Hi;
LCD_CS = Hi;
)par spēkā neesošu LCD_Init (spēkā neesošs)
(
DDR_DATA = 0x00;
DDR_CTRL = 0x00;lcdSndCmd (SYSSET);
lcdSndData (0x30);
lcdSndData ((LCD_CHARWIDTH-1) | 0x80);
lcdSndData (LCD_CHARHEIGHT-1);
lcdSndData (LCD_CHARPERROW-1);
lcdSndData (LCD_CHARPERROW 4);
lcdSndData (LCD_RESY-1);
lcdSndData (LCD_CHARPERROW);
lcdSndData (0);lcdSndCmd (pārklājuma);
lcdSndData (1);lcdSndCmd (SCROLL);
lcdSndData (0);
lcdSndData (0);
lcdSndData (LCD_RESY-1);
lcdSndData (0x80);
lcdSndData (0x02);
lcdSndData (LCD_RESY-1);lcdSndCmd (CSRFORM);
lcdSndData (0x05);
lcdSndData (0x85);lcdSndCmd (HDOTSCR);
lcdSndData (0x0);lcdSndCmd (CSRDIR);lcdSndCmd (DISPON);
lcdSndData (0x14);
/ / CurrTextx = 0;
/ / CurrTexty = 0;lcdSndCmd (MWRITE);
lcdSndData (0x4D); / / M
cdSndData (0x49), / / es
cdSndData (0x46), / / C
cdSndData (0x52), / / R
cdSndData (0x4F); / / O)int galvenais (spēkā neesošs)
(
PLLFBD = 0x00A0;
CLKDIV = 0x0048;neparakstīts char c;
int i;/ / Init LCD Dispay
LCD_Reset ();
LCD_Init ();
)