Elektronika.lt
 2025 m. liepos 21 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 07 21, 15:23. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Reikia pagalbos su nokia LCD ir atmega16
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 09:20 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Sveiki visi. Atsibodo mirksinti LED nutariau kad reikia pabandyti ka nors rimciau. O cia ir prasidejo Very Happy pagriebiau namie buvusia nokia 3310, issiemiau ekrana ir bandau pajungti prie atmega16.

Jungiu taip prie A porto:

PA0 - CLK ekrano (2pin)
PA1 - Mosi ekrano (3 pin)
PA2 - SCE ekrano (5 pin)
PA3 - DC ekrano (4pin)
PA5 - reset ekrano (8 pin)
Vcc is usb 5v tas pats kur maitina ir atmega - 1 ekrano pin
GND i 6 ekrano pin
kondikas (elektrolitinis) 10uf tarp 6-7 pin

Atmega dirba su 4MHZ kvarciniu rezonatoriumi.

Fuses BODLEVEL, BODEN, SUT0, JTAGEN, SPIEN, CKOPT, BOOTSZ1, BOOTSZ0

parsisiunciau biblioteka is http://fandigunawan.wordpress.com/2008/06/18/lcd-nokia-3310-pcd8544-driver-in-winavravr-gcc/. cia atmegai8 bet visi sako kad tinka.

naudoju AVRstudio. viskas susikompiluoja be problemu. irasau *.hex i atmega ir nieko. ekranas net nesusvinta.

Buciau labai dekingas jei kas paziuretu ka ne taip darau.

Koda imesiu i sekancius postus.
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 09:21 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
pcd8544.h:

/*
*
* Name : pcd8544.h
*
* Description : This is header file for the PCD8544 graphic LCD driver.
* Based on the code written by Sylvain Bissonette
*
* Author : Fandi Gunawan <fandigunawan@gmail.com>
* Website : http://fandigunawan.wordpress.com
*
* Credit : Sylvain Bissonette (2003)
* Louis Frigon (2003)
*
* License : GPL v. 3
*
* Compiler : WinAVR, GCC for AVR platform
* Tested version :
* - 20070525
* - 20071221
* - 20081225
* Compiler note: Please be aware of using older/newer version since WinAVR
* is in extensive development. Please compile with parameter -O1
*
* History :
* Please refer to pcd8544.c
*/

#ifndef _PCD8544_H_
#define _PCD8544_H_

/* General constants for driver */
#define FALSE 0
#define TRUE 1

/* For return value */
#define OK 0
#define OUT_OF_BORDER 1
#define OK_WITH_WRAP 2


#define LCD_X_RES 84 /* x resolution */
#define LCD_Y_RES 48 /* y resolution */
#define EMPTY_SPACE_BARS 2
#define BAR_X 5
#define BAR_Y 38

/* LCD Port */
#define LCD_PORT PORTA
#define LCD_DDR DDRA

/* ATMega8 port pinout for LCD. */
/* 0.2.6 bug, fixed */
#define LCD_DC_PIN PA3
#define LCD_CE_PIN PA2
#define SPI_MOSI_PIN PA1
#define LCD_RST_PIN PA5
#define SPI_CLK_PIN PA0

/* Cache size in bytes ( 84 * 48 ) / 8 = 504 bytes */
#define LCD_CACHE_SIZE ( ( LCD_X_RES * LCD_Y_RES ) / Cool

/* Type definition */
typedef char bool;
typedef unsigned char byte;
typedef unsigned int word;

/* Enumeration */
typedef enum
{
LCD_CMD = 0,
LCD_DATA = 1

} LcdCmdData;

typedef enum
{
PIXEL_OFF = 0,
PIXEL_ON = 1,
PIXEL_XOR = 2

} LcdPixelMode;

typedef enum
{
FONT_1X = 1,
FONT_2X = 2

} LcdFontSize;

/* Function prototypes */
void LcdInit ( void );
void LcdClear ( void );
void LcdUpdate ( void );
void LcdImage ( const byte *imageData );
void LcdContrast ( byte contrast);
byte LcdGotoXYFont ( byte x, byte y );
byte LcdChr ( LcdFontSize size, byte ch );
byte LcdStr ( LcdFontSize size, byte dataArray[] );
byte LcdFStr ( LcdFontSize size, const byte *dataPtr );
byte LcdPixel ( byte x, byte y, LcdPixelMode mode );
byte LcdLine ( byte x1, byte x2, byte y1, byte y2, LcdPixelMode mode );
byte LcdRect ( byte x1, byte x2, byte y1, byte y2, LcdPixelMode mode );
byte LcdSingleBar ( byte baseX, byte baseY, byte height, byte width, LcdPixelMode mode );
byte LcdBars ( byte data[], byte numbBars, byte width, byte multiplier );



/*
* Character lookup table code was taken from the work of Sylvain Bissonette
* This table defines the standard ASCII characters in a 5x7 dot format.
*/
static const byte FontLookup [][5] PROGMEM=
{
{ 0x00, 0x00, 0x00, 0x00, 0x00 }, /* space */
{ 0x00, 0x00, 0x2f, 0x00, 0x00 }, /* ! */
{ 0x00, 0x07, 0x00, 0x07, 0x00 }, /* " */
{ 0x14, 0x7f, 0x14, 0x7f, 0x14 }, /* # */
{ 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, /* $ */
{ 0xc4, 0xc8, 0x10, 0x26, 0x46 }, /* % */
{ 0x36, 0x49, 0x55, 0x22, 0x50 }, /* & */
{ 0x00, 0x05, 0x03, 0x00, 0x00 }, /* ' */
{ 0x00, 0x1c, 0x22, 0x41, 0x00 }, /* ( */
{ 0x00, 0x41, 0x22, 0x1c, 0x00 }, /* ) */
{ 0x14, 0x08, 0x3E, 0x08, 0x14 }, /* * */
{ 0x08, 0x08, 0x3E, 0x08, 0x08 }, /* + */
{ 0x00, 0x00, 0x50, 0x30, 0x00 }, /* , */
{ 0x10, 0x10, 0x10, 0x10, 0x10 }, /* - */
{ 0x00, 0x60, 0x60, 0x00, 0x00 }, /* . */
{ 0x20, 0x10, 0x08, 0x04, 0x02 }, /* / */
{ 0x3E, 0x51, 0x49, 0x45, 0x3E }, /* 0 */
{ 0x00, 0x42, 0x7F, 0x40, 0x00 }, /* 1 */
{ 0x42, 0x61, 0x51, 0x49, 0x46 }, /* 2 */
{ 0x21, 0x41, 0x45, 0x4B, 0x31 }, /* 3 */
{ 0x18, 0x14, 0x12, 0x7F, 0x10 }, /* 4 */
{ 0x27, 0x45, 0x45, 0x45, 0x39 }, /* 5 */
{ 0x3C, 0x4A, 0x49, 0x49, 0x30 }, /* 6 */
{ 0x01, 0x71, 0x09, 0x05, 0x03 }, /* 7 */
{ 0x36, 0x49, 0x49, 0x49, 0x36 }, /* 8 */
{ 0x06, 0x49, 0x49, 0x29, 0x1E }, /* 9 */
{ 0x00, 0x36, 0x36, 0x00, 0x00 }, /* : */
{ 0x00, 0x56, 0x36, 0x00, 0x00 }, /* ; */
{ 0x08, 0x14, 0x22, 0x41, 0x00 }, /* < */
{ 0x14, 0x14, 0x14, 0x14, 0x14 }, /* = */
{ 0x00, 0x41, 0x22, 0x14, 0x08 }, /* > */
{ 0x02, 0x01, 0x51, 0x09, 0x06 }, /* ? */
{ 0x32, 0x49, 0x59, 0x51, 0x3E }, /* @ */
{ 0x7E, 0x11, 0x11, 0x11, 0x7E }, /* A */
{ 0x7F, 0x49, 0x49, 0x49, 0x36 }, /* B */
{ 0x3E, 0x41, 0x41, 0x41, 0x22 }, /* C */
{ 0x7F, 0x41, 0x41, 0x22, 0x1C }, /* D */
{ 0x7F, 0x49, 0x49, 0x49, 0x41 }, /* E */
{ 0x7F, 0x09, 0x09, 0x09, 0x01 }, /* F */
{ 0x3E, 0x41, 0x49, 0x49, 0x7A }, /* G */
{ 0x7F, 0x08, 0x08, 0x08, 0x7F }, /* H */
{ 0x00, 0x41, 0x7F, 0x41, 0x00 }, /* I */
{ 0x20, 0x40, 0x41, 0x3F, 0x01 }, /* J */
{ 0x7F, 0x08, 0x14, 0x22, 0x41 }, /* K */
{ 0x7F, 0x40, 0x40, 0x40, 0x40 }, /* L */
{ 0x7F, 0x02, 0x0C, 0x02, 0x7F }, /* M */
{ 0x7F, 0x04, 0x08, 0x10, 0x7F }, /* N */
{ 0x3E, 0x41, 0x41, 0x41, 0x3E }, /* O */
{ 0x7F, 0x09, 0x09, 0x09, 0x06 }, /* P */
{ 0x3E, 0x41, 0x51, 0x21, 0x5E }, /* Q */
{ 0x7F, 0x09, 0x19, 0x29, 0x46 }, /* R */
{ 0x46, 0x49, 0x49, 0x49, 0x31 }, /* S */
{ 0x01, 0x01, 0x7F, 0x01, 0x01 }, /* T */
{ 0x3F, 0x40, 0x40, 0x40, 0x3F }, /* U */
{ 0x1F, 0x20, 0x40, 0x20, 0x1F }, /* V */
{ 0x3F, 0x40, 0x38, 0x40, 0x3F }, /* W */
{ 0x63, 0x14, 0x08, 0x14, 0x63 }, /* X */
{ 0x07, 0x08, 0x70, 0x08, 0x07 }, /* Y */
{ 0x61, 0x51, 0x49, 0x45, 0x43 }, /* Z */
{ 0x00, 0x7F, 0x41, 0x41, 0x00 }, /* [ */
{ 0x55, 0x2A, 0x55, 0x2A, 0x55 }, /* "Yen" */
{ 0x00, 0x41, 0x41, 0x7F, 0x00 }, /* ] */
{ 0x04, 0x02, 0x01, 0x02, 0x04 }, /* ^ */
{ 0x40, 0x40, 0x40, 0x40, 0x40 }, /* _ */
{ 0x00, 0x01, 0x02, 0x04, 0x00 }, /* ' */
{ 0x20, 0x54, 0x54, 0x54, 0x78 }, /* a */
{ 0x7F, 0x48, 0x44, 0x44, 0x38 }, /* b */
{ 0x38, 0x44, 0x44, 0x44, 0x20 }, /* c */
{ 0x38, 0x44, 0x44, 0x48, 0x7F }, /* d */
{ 0x38, 0x54, 0x54, 0x54, 0x18 }, /* e */
{ 0x08, 0x7E, 0x09, 0x01, 0x02 }, /* f */
{ 0x0C, 0x52, 0x52, 0x52, 0x3E }, /* g */
{ 0x7F, 0x08, 0x04, 0x04, 0x78 }, /* h */
{ 0x00, 0x44, 0x7D, 0x40, 0x00 }, /* i */
{ 0x20, 0x40, 0x44, 0x3D, 0x00 }, /* j */
{ 0x7F, 0x10, 0x28, 0x44, 0x00 }, /* k */
{ 0x00, 0x41, 0x7F, 0x40, 0x00 }, /* l */
{ 0x7C, 0x04, 0x18, 0x04, 0x78 }, /* m */
{ 0x7C, 0x08, 0x04, 0x04, 0x78 }, /* n */
{ 0x38, 0x44, 0x44, 0x44, 0x38 }, /* o */
{ 0x7C, 0x14, 0x14, 0x14, 0x08 }, /* p */
{ 0x08, 0x14, 0x14, 0x18, 0x7C }, /* q */
{ 0x7C, 0x08, 0x04, 0x04, 0x08 }, /* r */
{ 0x48, 0x54, 0x54, 0x54, 0x20 }, /* s */
{ 0x04, 0x3F, 0x44, 0x40, 0x20 }, /* t */
{ 0x3C, 0x40, 0x40, 0x20, 0x7C }, /* u */
{ 0x1C, 0x20, 0x40, 0x20, 0x1C }, /* v */
{ 0x3C, 0x40, 0x30, 0x40, 0x3C }, /* w */
{ 0x44, 0x28, 0x10, 0x28, 0x44 }, /* x */
{ 0x0C, 0x50, 0x50, 0x50, 0x3C }, /* y */
{ 0x44, 0x64, 0x54, 0x4C, 0x44 } /* z */
};

#endif /* _PCD8544_H_ */
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 09:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
pcd8544.c:

/*
*
* Name : pcd8544.c
*
* Description : This is a driver for the PCD8544 graphic LCD.
* Based on the code written by Sylvain Bissonette
* This driver is buffered in 504 bytes memory be sure
* that your MCU having bigger memory
*
* Author : Fandi Gunawan <fandigunawan@gmail.com>
* Website : http://fandigunawan.wordpress.com
*
* Credit : Sylvain Bissonette (2003)
*
* License : GPL v. 3
*
* Compiler : WinAVR, GCC for AVR platform
* Tested version :
* - 20070525 (avr-libc 1.4)
* - 20071221 (avr-libc 1.6)
* - 20081225 tested by Jakub Lasinski
* - other version please contact me if you find out it is working
* Compiler note: Please be aware of using older/newer version since WinAVR
* is under extensive development. Please compile with parameter -O1
*
* History :
* Version 0.2.6 (March 14, 2009) additional optimization by Jakub Lasinski
* + Optimization using Memset and Memcpy
* + Bug fix and sample program reviewed
* + Commented <stdio.h>
* Version 0.2.5 (December 25, 2008) x-mas version Smile
* + Boundary check is added (reported by starlino on Dec 20, 2008)
* + Return value is added, it will definitely useful for error checking
* Version 0.2.4 (March 5, 2008)
* + Multiplier was added to LcdBars to scale the bars
* Version 0.2.3 (February 29, 2008)
* + Rolled back LcdFStr function because of serious bug
* + Stable release
* Version 0.2.2 (February 27, 2008)
* + Optimizing LcdFStr function
* Version 0.2.1 (January 2, 2008)
* + Clean up codes
* + All settings were migrated to pcd8544.h
* + Using _BV() instead of << to make a better readable code
* Version 0.2 (December 11-14, 2007)
* + Bug fixed in LcdLine() and LcdStr()
* + Adding new routine
* - LcdFStr()
* - LcdSingleBar()
* - LcdBars()
* - LcdRect()
* - LcdImage()
* + PROGMEM used instead of using.data section
* Version 0.1 (December 3, 2007)
* + First stable driver
*
* Note :
* Font will be displayed this way (16x6)
* 1 2 3 4 5 6 7 8 9 0 1 2 3 4
* 2
* 3
* 4
* 5
* 6
*
* Contributor :
* + Jakub Lasinski
*/

//#include <stdio.h>
#define F_CPU 400000UL
#include <avr/io.h>
#include <string.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include "pcd8544.h"

/* Function prototypes */

static void LcdSend ( byte data, LcdCmdData cd );
static void Delay ( void );

/* Global variables */

/* Cache buffer in SRAM 84*48 bits or 504 bytes */
static byte LcdCache [ LCD_CACHE_SIZE ];

/* Cache index */
static int LcdCacheIdx;

/* Lower part of water mark */
static int LoWaterMark;

/* Higher part of water mark */
static int HiWaterMark;

/* Variable to decide whether update Lcd Cache is active/nonactive */
static bool UpdateLcd;

/*
* Name : LcdInit
* Description : Performs MCU SPI & LCD controller initialization.
* Argument(s) : None.
* Return value : None.
*/
void LcdInit ( void )
{
/* Pull-up on reset pin. */
LCD_PORT |= _BV ( LCD_RST_PIN );

/* Set output bits on LCD Port. */
LCD_DDR |= _BV( LCD_RST_PIN ) | _BV( LCD_DC_PIN ) | _BV( LCD_CE_PIN ) | _BV( SPI_MOSI_PIN ) | _BV( SPI_CLK_PIN );

Delay();

/* Toggle display reset pin. */
LCD_PORT &= ~( _BV( LCD_RST_PIN ) );
Delay();
LCD_PORT |= _BV ( LCD_RST_PIN );

/* Enable SPI port:
* No interrupt, MSBit first, Master mode, CPOL->0, CPHA->0, Clk/4
*/
SPCR = 0x50;

/* Disable LCD controller */
LCD_PORT |= _BV( LCD_CE_PIN );

LcdSend( 0x21, LCD_CMD ); /* LCD Extended Commands. */
LcdSend( 0xC8, LCD_CMD ); /* Set LCD Vop (Contrast).*/
LcdSend( 0x06, LCD_CMD ); /* Set Temp coefficent. */
LcdSend( 0x13, LCD_CMD ); /* LCD bias mode 1:48. */
LcdSend( 0x20, LCD_CMD ); /* LCD Standard Commands,Horizontal addressing mode */
LcdSend( 0x0C, LCD_CMD ); /* LCD in normal mode. */

/* Reset watermark pointers to empty */
LoWaterMark = LCD_CACHE_SIZE;
HiWaterMark = 0;

/* Clear display on first time use */
LcdClear();
LcdUpdate();
}

/*
* Name : LcdContrast
* Description : Set display contrast.
* Argument(s) : contrast -> Contrast value from 0x00 to 0x7F.
* Return value : None.
*/
void LcdContrast ( byte contrast )
{
/* LCD Extended Commands. */
LcdSend( 0x21, LCD_CMD );

/* Set LCD contrast level. */
LcdSend( 0x80 | contrast, LCD_CMD );

/* LCD Standard Commands, horizontal addressing mode. */
LcdSend( 0x20, LCD_CMD );
}

/*
* Name : LcdClear
* Description : Clears the display. LcdUpdate must be called next.
* Argument(s) : None.
* Return value : None.
* Note : Based on Sylvain Bissonette's code
*/
void LcdClear ( void )
{
// Removed in version 0.2.6, March 14 2009
// Optimized by Jakub Lasinski
// int i;
//
// /* Set 0x00 to all LcdCache's contents */
// for ( i = 0; i < LCD_CACHE_SIZE; i++ )
// {
// LcdCache[ i ] = 0x00;
// }
memset(LcdCache,0x00,LCD_CACHE_SIZE); //Sugestion - its faster and its 10 bytes less in program mem
/* Reset watermark pointers to full */
LoWaterMark = 0;
HiWaterMark = LCD_CACHE_SIZE - 1;

/* Set update flag to be true */
UpdateLcd = TRUE;
}

/*
* Name : LcdGotoXYFont
* Description : Sets cursor location to xy location corresponding to basic
* font size.
* Argument(s) : x, y -> Coordinate for new cursor position. Range: 1,1 .. 14,6
* Return value : see return value in pcd8544.h
* Note : Based on Sylvain Bissonette's code
*/
byte LcdGotoXYFont ( byte x, byte y )
{
/* Boundary check, slow down the speed but will guarantee this code wont fail */
/* Version 0.2.5 - Fixed on Dec 25, 2008 (XMAS) */
if( x > 14)
return OUT_OF_BORDER;
if( y > 6)
return OUT_OF_BORDER;
/* Calculate index. It is defined as address within 504 bytes memory */

LcdCacheIdx = ( x - 1 ) * 6 + ( y - 1 ) * 84;
return OK;
}

/*
* Name : LcdChr
* Description : Displays a character at current cursor location and
* increment cursor location.
* Argument(s) : size -> Font size. See enum in pcd8544.h.
* ch -> Character to write.
* Return value : see pcd8544.h about return value
*/
byte LcdChr ( LcdFontSize size, byte ch )
{
byte i, c;
byte b1, b2;
int tmpIdx;

if ( LcdCacheIdx < LoWaterMark )
{
/* Update low marker. */
LoWaterMark = LcdCacheIdx;
}

if ( (ch < 0x20) || (ch > 0x7b) )
{
/* Convert to a printable character. */
ch = 92;
}

if ( size == FONT_1X )
{
for ( i = 0; i < 5; i++ )
{
/* Copy lookup table from Flash ROM to LcdCache */
LcdCache[LcdCacheIdx++] = pgm_read_byte(&( FontLookup[ ch - 32 ][ i ] ) ) << 1;
}
}
else if ( size == FONT_2X )
{
tmpIdx = LcdCacheIdx - 84;

if ( tmpIdx < LoWaterMark )
{
LoWaterMark = tmpIdx;
}

if ( tmpIdx < 0 ) return OUT_OF_BORDER;

for ( i = 0; i < 5; i++ )
{
/* Copy lookup table from Flash ROM to temporary c */
c = pgm_read_byte(&(FontLookup[ch - 32][i])) << 1;
/* Enlarge image */
/* First part */
b1 = (c & 0x01) * 3;
b1 |= (c & 0x02) * 6;
b1 |= (c & 0x04) * 12;
b1 |= (c & 0x08) * 24;

c >>= 4;
/* Second part */
b2 = (c & 0x01) * 3;
b2 |= (c & 0x02) * 6;
b2 |= (c & 0x04) * 12;
b2 |= (c & 0x08) * 24;

/* Copy two parts into LcdCache */
LcdCache[tmpIdx++] = b1;
LcdCache[tmpIdx++] = b1;
LcdCache[tmpIdx + 82] = b2;
LcdCache[tmpIdx + 83] = b2;
}

/* Update x cursor position. */
/* Version 0.2.5 - Possible bug fixed on Dec 25,2008 */
LcdCacheIdx = (LcdCacheIdx + 11) % LCD_CACHE_SIZE;
}

if ( LcdCacheIdx > HiWaterMark )
{
/* Update high marker. */
HiWaterMark = LcdCacheIdx;
}

/* Horizontal gap between characters. */
/* Version 0.2.5 - Possible bug fixed on Dec 25,2008 */
LcdCache[LcdCacheIdx] = 0x00;
/* At index number LCD_CACHE_SIZE - 1, wrap to 0 */
if(LcdCacheIdx == (LCD_CACHE_SIZE - 1) )
{
LcdCacheIdx = 0;
return OK_WITH_WRAP;
}
/* Otherwise just increment the index */
LcdCacheIdx++;
return OK;
}

/*
* Name : LcdStr
* Description : Displays a character at current cursor location and increment
* cursor location according to font size. This function is
* dedicated to print string laid in SRAM
* Argument(s) : size -> Font size. See enum.
* dataArray -> Array contained string of char to be written
* into cache.
* Return value : see return value on pcd8544.h
*/
byte LcdStr ( LcdFontSize size, byte dataArray[] )
{
byte tmpIdx=0;
byte response;
while( dataArray[ tmpIdx ] != '\0' )
{
/* Send char */
response = LcdChr( size, dataArray[ tmpIdx ] );
/* Just in case OUT_OF_BORDER occured */
/* Dont worry if the signal == OK_WITH_WRAP, the string will
be wrapped to starting point */
if( response == OUT_OF_BORDER)
return OUT_OF_BORDER;
/* Increase index */
tmpIdx++;
}
return OK;
}

/*
* Name : LcdFStr
* Description : Displays a characters at current cursor location and increment
* cursor location according to font size. This function is
* dedicated to print string laid in Flash ROM
* Argument(s) : size -> Font size. See enum.
* dataPtr -> Pointer contained string of char to be written
* into cache.
* Return value : see return value on pcd8544.h
* Example : LcdFStr(FONT_1X, PSTR("Hello World"));
* LcdFStr(FONT_1X, &name_of_string_as_array);
*/
byte LcdFStr ( LcdFontSize size, const byte *dataPtr )
{
byte c;
byte response;
for ( c = pgm_read_byte( dataPtr ); c; ++dataPtr, c = pgm_read_byte( dataPtr ) )
{
/* Put char */
response = LcdChr( size, c );
if(response == OUT_OF_BORDER)
return OUT_OF_BORDER;
}
/* Fixed by Jakub Lasinski. Version 0.2.6, March 14, 2009 */
return OK;
}

/*
* Name : LcdPixel
* Description : Displays a pixel at given absolute (x, y) location.
* Argument(s) : x, y -> Absolute pixel coordinates
* mode -> Off, On or Xor. See enum in pcd8544.h.
* Return value : see return value on pcd8544.h
* Note : Based on Sylvain Bissonette's code
*/
byte LcdPixel ( byte x, byte y, LcdPixelMode mode )
{
word index;
byte offset;
byte data;

/* Prevent from getting out of border */
if ( x > LCD_X_RES ) return OUT_OF_BORDER;
if ( y > LCD_Y_RES ) return OUT_OF_BORDER;

/* Recalculating index and offset */
index = ( ( y / 8 ) * 84 ) + x;
offset = y - ( ( y / 8 ) * 8 );

data = LcdCache[ index ];

/* Bit processing */

/* Clear mode */
if ( mode == PIXEL_OFF )
{
data &= ( ~( 0x01 << offset ) );
}

/* On mode */
else if ( mode == PIXEL_ON )
{
data |= ( 0x01 << offset );
}

/* Xor mode */
else if ( mode == PIXEL_XOR )
{
data ^= ( 0x01 << offset );
}

/* Final result copied to cache */
LcdCache[ index ] = data;

if ( index < LoWaterMark )
{
/* Update low marker. */
LoWaterMark = index;
}

if ( index > HiWaterMark )
{
/* Update high marker. */
HiWaterMark = index;
}
return OK;
}

/*
* Name : LcdLine
* Description : Draws a line between two points on the display.
* Argument(s) : x1, y1 -> Absolute pixel coordinates for line origin.
* x2, y2 -> Absolute pixel coordinates for line end.
* mode -> Off, On or Xor. See enum in pcd8544.h.
* Return value : see return value on pcd8544.h
*/
byte LcdLine ( byte x1, byte x2, byte y1, byte y2, LcdPixelMode mode )
{
int dx, dy, stepx, stepy, fraction;
byte response;

/* Calculate differential form */
/* dy y2 - y1 */
/* -- = ------- */
/* dx x2 - x1 */

/* Take differences */
dy = y2 - y1;
dx = x2 - x1;

/* dy is negative */
if ( dy < 0 )
{
dy = -dy;
stepy = -1;
}
else
{
stepy = 1;
}

/* dx is negative */
if ( dx < 0 )
{
dx = -dx;
stepx = -1;
}
else
{
stepx = 1;
}

dx <<= 1;
dy <<= 1;

/* Draw initial position */
response = LcdPixel( x1, y1, mode );
if(response)
return response;

/* Draw next positions until end */
if ( dx > dy )
{
/* Take fraction */
fraction = dy - ( dx >> 1);
while ( x1 != x2 )
{
if ( fraction >= 0 )
{
y1 += stepy;
fraction -= dx;
}
x1 += stepx;
fraction += dy;

/* Draw calculated point */
response = LcdPixel( x1, y1, mode );
if(response)
return response;

}
}
else
{
/* Take fraction */
fraction = dx - ( dy >> 1);
while ( y1 != y2 )
{
if ( fraction >= 0 )
{
x1 += stepx;
fraction -= dy;
}
y1 += stepy;
fraction += dx;

/* Draw calculated point */
response = LcdPixel( x1, y1, mode );
if(response)
return response;
}
}

/* Set update flag to be true */
UpdateLcd = TRUE;
return OK;
}

/*
* Name : LcdSingleBar
* Description : Display single bar.
* Argument(s) : baseX -> absolute x axis coordinate
* baseY -> absolute y axis coordinate
* height -> height of bar (in pixel)
* width -> width of bar (in pixel)
* mode -> Off, On or Xor. See enum in pcd8544.h.
* Return value : see return value on pcd8544.h
*/
byte LcdSingleBar ( byte baseX, byte baseY, byte height, byte width, LcdPixelMode mode )
{
byte tmpIdxX,tmpIdxY,tmp;

byte response;

/* Checking border */
if ( ( baseX > LCD_X_RES ) || ( baseY > LCD_Y_RES ) ) return OUT_OF_BORDER;

if ( height > baseY )
tmp = 0;
else
tmp = baseY - height;

/* Draw lines */
for ( tmpIdxY = tmp; tmpIdxY < baseY; tmpIdxY++ )
{
for ( tmpIdxX = baseX; tmpIdxX < (baseX + width); tmpIdxX++ )
{
response = LcdPixel( tmpIdxX, tmpIdxY, mode );
if(response)
return response;

}
}

/* Set update flag to be true */
UpdateLcd = TRUE;
return OK;
}

/*
* Name : LcdBars
* Description : Display multiple bars.
* Argument(s) : data[] -> data which want to be plotted
* numbBars -> number of bars want to be plotted
* width -> width of bar (in pixel)
* Return value : see return value on pcd8544.h
* Note : Please check EMPTY_SPACE_BARS, BAR_X, BAR_Y in pcd8544.h
*/
byte LcdBars ( byte data[], byte numbBars, byte width, byte multiplier )
{
byte b;
byte tmpIdx = 0;
byte response;

for ( b = 0; b < numbBars ; b++ )
{
/* Preventing from out of border (LCD_X_RES) */
if ( tmpIdx > LCD_X_RES ) return OUT_OF_BORDER;

/* Calculate x axis */
tmpIdx = ((width + EMPTY_SPACE_BARS) * b) + BAR_X;

/* Draw single bar */
response = LcdSingleBar( tmpIdx, BAR_Y, data[ b ] * multiplier, width, PIXEL_ON);
if(response == OUT_OF_BORDER)
return response;
}

/* Set update flag to be true */
UpdateLcd = TRUE;
return OK;

}
/*
* Name : LcdRect
* Description : Display a rectangle.
* Argument(s) : x1 -> absolute first x axis coordinate
* y1 -> absolute first y axis coordinate
* x2 -> absolute second x axis coordinate
* y2 -> absolute second y axis coordinate
* mode -> Off, On or Xor. See enum in pcd8544.h.
* Return value : see return value on pcd8544.h.
*/
byte LcdRect ( byte x1, byte x2, byte y1, byte y2, LcdPixelMode mode )
{
byte tmpIdxX,tmpIdxY;
byte response;

/* Checking border */
if ( ( x1 > LCD_X_RES ) || ( x2 > LCD_X_RES ) || ( y1 > LCD_Y_RES ) || ( y2 > LCD_Y_RES ) )
/* If out of border then return */
return OUT_OF_BORDER;

if ( ( x2 > x1 ) && ( y2 > y1 ) )
{
for ( tmpIdxY = y1; tmpIdxY < y2; tmpIdxY++ )
{
/* Draw line horizontally */
for ( tmpIdxX = x1; tmpIdxX < x2; tmpIdxX++ )
{
/* Draw a pixel */
response = LcdPixel( tmpIdxX, tmpIdxY, mode );
if(response)
return response;
}
}

/* Set update flag to be true */
UpdateLcd = TRUE;
}
return OK;
}
/*
* Name : LcdImage
* Description : Image mode display routine.
* Argument(s) : Address of image in hexes
* Return value : None.
* Example : LcdImage(&sample_image_declared_as_array);
*/
void LcdImage ( const byte *imageData )
{
/* Initialize cache index to 0 */
// LcdCacheIdx = 0;
// /* While within cache range */
// for ( LcdCacheIdx = 0; LcdCacheIdx < LCD_CACHE_SIZE; LcdCacheIdx++ )
// {
// /* Copy data from pointer to cache buffer */
// LcdCache[LcdCacheIdx] = pgm_read_byte( imageData++ );
// }
/* optimized by Jakub Lasinski, version 0.2.6, March 14, 2009 */
memcpy_P(LcdCache,imageData,LCD_CACHE_SIZE); //Same as aboeve - 6 bytes less and faster instruction
/* Reset watermark pointers to be full */
LoWaterMark = 0;
HiWaterMark = LCD_CACHE_SIZE - 1;

/* Set update flag to be true */
UpdateLcd = TRUE;
}

/*
* Name : LcdUpdate
* Description : Copies the LCD cache into the device RAM.
* Argument(s) : None.
* Return value : None.
*/
void LcdUpdate ( void )
{
int i;

if ( LoWaterMark < 0 )
LoWaterMark = 0;
else if ( LoWaterMark >= LCD_CACHE_SIZE )
LoWaterMark = LCD_CACHE_SIZE - 1;

if ( HiWaterMark < 0 )
HiWaterMark = 0;
else if ( HiWaterMark >= LCD_CACHE_SIZE )
HiWaterMark = LCD_CACHE_SIZE - 1;

/* Set base address according to LoWaterMark. */
LcdSend( 0x80 | ( LoWaterMark % LCD_X_RES ), LCD_CMD );
LcdSend( 0x40 | ( LoWaterMark / LCD_X_RES ), LCD_CMD );

/* Serialize the display buffer. */
for ( i = LoWaterMark; i <= HiWaterMark; i++ )
{
LcdSend( LcdCache[ i ], LCD_DATA );
}

/* Reset watermark pointers. */
LoWaterMark = LCD_CACHE_SIZE - 1;
HiWaterMark = 0;

/* Set update flag to be true */
UpdateLcd = FALSE;
}

/*
* Name : LcdSend
* Description : Sends data to display controller.
* Argument(s) : data -> Data to be sent
* cd -> Command or data (see enum in pcd8544.h)
* Return value : None.
*/
static void LcdSend ( byte data, LcdCmdData cd )
{
/* Enable display controller (active low). */
LCD_PORT &= ~( _BV( LCD_CE_PIN ) );

if ( cd == LCD_DATA )
{
LCD_PORT |= _BV( LCD_DC_PIN );
}
else
{
LCD_PORT &= ~( _BV( LCD_DC_PIN ) );
}

/* Send data to display controller. */
SPDR = data;

/* Wait until Tx register empty. */
while ( (SPSR & 0x80) != 0x80 );


/* Disable display controller. */
LCD_PORT |= _BV( LCD_CE_PIN );
}

/*
* Name : Delay
* Description : Uncalibrated delay for LCD init routine.
* Argument(s) : None.
* Return value : None.
*/
static void Delay ( void )
{
int i;

for ( i = -32000; i < 32000; i++ );
}
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 09:23 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
main.h:


static const unsigned char waitImage[] PROGMEM = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0xE0,0x00,0x00,0xF0,0x00,0x00,0x80,0x40,0x40,
0x40,0x80,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x00,0x80,0x40,0x40,0x40,0x80,
0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0F,0x11,0x31,0x31,0xD1,0xF1,0xD1,0xD1,0x31,0x11,0x11,0x0F,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x1F,0x00,
0x00,0x0F,0x12,0x12,0x12,0x0B,0x00,0x00,0x0C,0x12,0x12,0x0A,0x1F,0x00,0x00,0x09,
0x12,0x12,0x12,0x0C,0x00,0x00,0x0F,0x12,0x12,0x12,0x0B,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xF0,0x18,0x86,0x86,0xE1,0xF1,0xE1,0xE1,0x86,0x18,0x18,
0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x80,0x00,0x80,
0x60,0x80,0x00,0x80,0x60,0x00,0x40,0x20,0x20,0x20,0xC0,0x00,0x00,0xE8,0x00,0x20,
0xF8,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x07,0x07,0x07,
0x07,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x03,0x0C,0x03,0x00,0x03,0x0C,0x03,0x00,0x00,0x06,0x09,0x09,0x05,0x0F,0x00,
0x00,0x0F,0x00,0x00,0x0F,0x08,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,
0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 09:24 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
main.c:



#define F_CPU 400000UL
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>


#include "pcd8544.h"
#include "main.h"


int main()
{
LcdInit();


//display image
LcdContrast(0x7F);
LcdClear();
LcdImage(waitImage);
LcdUpdate();


_delay_ms(2500);
LcdContrast(0x00);
LcdUpdate();
_delay_ms(2500);

//display string
LcdClear();
LcdGotoXYFont(1,1);
LcdFStr(FONT_1X,(unsigned char*)PSTR("Test"));
LcdGotoXYFont(1,2);
LcdFStr(FONT_1X,(unsigned char*)PSTR("Goto Test"));
LcdUpdate();

_delay_ms(5000);


return 0;
}
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 13:37 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Edzma
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Su tokiu kontrastu man irgi nieko nerode...
Pas mane dirba su ...LcdContrast ( 0x40);
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 19:58 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
nepadejo. LcdContrast ( 0x40);

bet manai kad cia beda?
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 21:32 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Edzma
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Chemixer rašo:
nepadejo. LcdContrast ( 0x40);

bet manai kad cia beda?
Nebutinai...Tik zinau, kad sita biblioteka veikianti, pats sita naudoju...
Ziurek, gal kazka haedwariskai ne taip sujungei..
A, beje, nors kai kur rasoma, kad sis LCD dirba prie 5V , bet pas mane bludydavo, nedirbdavo. Zodziu sis LCD turi maitintis 3V + loginiai valdymo lygiai 3V...Zodziu, as keiciau is 5V i 3V..
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 14, 22:14 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
o kaip realizaves Tu? itampos dalikliais numetes iki 3? gal schemute kazkokia ar principa?
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 15, 19:39 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Edzma
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Chemixer rašo:
o kaip realizaves Tu? itampos dalikliais numetes iki 3? gal schemute kazkokia ar principa?
https://www.google.de/search?q=4050&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:lt:official&client=firefox-a#client=firefox-a&hs=aj0&rls=org.mozilla:lt%3Aofficial&sclient=psy-ab&q=4050+level+shifter&oq=4050+leve&gs_l=serp.1.0.0j0i30l3.42906.44981.0.47049.5.5.0.0.0.0.1921.7297.6-1j2j2.5.0...0.0...1c.1.12.psy-ab.lZX5f732hF8&pbx=1&bav=on.2,or.r_qf.&bvm=bv.46471029,d.Yms&fp=a4924fe76f77d5d2&biw=1024&bih=503
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 15, 23:47 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Electromen
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Man pasileido su atmega8 ir nokia LCD si programa, as hex tiesiai irasiau tai parodo heroglifu po to test test, kampe Go o puse ekrano apacioj juoda..

_________________
Skype - edvenas
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 16, 20:32 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
pabandziau su itampos dalikliais numesti iki +-3v, taip pat ir maitinima iki 3.3v, bet vistiek nepasileidzia, radau dar viena toki ekrana, kad patikrinti ar tikrai ne ekranas pasimires, bet vistiek nieko. sakau dar pabandysiu su mikruske iki 3v nemetineti, gal pades. bet kazkodel abejoju. sujungimus visus perskambinau nuo atmegos iki ekrano pinu, tai viskas ok. nuojauta tokia, jog su programa kazkas ne taip. siaip dauguma biblioteku kurias randu yra atmegai8. gal yra kazkokiu esminiu skirtumu, kad nepasileidzia. nes kiek pavyksta intike rasti shemuciu ar projekteliu, tai visi su atmega8. gal dar kas kokiu minciu turi. ka pamatuoti ar pabandyti pakeisti?
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 16, 21:35 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Edzma
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Tai kad tamsta neteisinga porta naudojat...Port A..Sitas kodas, jei neklystu, naudoja hardwarini SPI, taigi ir isvadus reikia naudot atatinkamus- MOSI,SCK,MISO........
Cia ant atmegos8....pasiziurek, kurie isvadai atitinka atmega16 ir junk..
http://www.part.lt/perziura/9a35358b83ccccb1486101b2f1d241fa69.jpg
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 17, 00:57 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
ok. bandyti galima. parasysiu kaip seksis.
 Reikia pagalbos su nokia LCD ir atmega16
PranešimasParašytas: 2013 05 17, 23:05 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chemixer
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
uzsikure. bet keistai. vienas ekranas veikia kaip priklauso nuo 5 v be jokiu keitikliu. o kitas ijungus parodo image ir uzgesta, ir vel nebeuzsidega. itariu contrast settings reikia pakaitalioti. reikes su mikruske keitikli signalu pasidaryti, manau bus geriausia. na kolkas pazaisti ir taip galima. aciu Edzma uz pagalba.
Pradėti naują temą  Atsakyti į pranešimą
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Football Training Kit
Football Training Equipment, Football Skills, Football Training
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama