Fórum témák

» Több friss téma
Fórum » LCD kijelző vezérlése, életre keltése
Lapozás: OK   20 / 71
(#) Axel hozzászólása Ápr 19, 2011 /
 
Hello!

Találkoztatok már olyannal, hogy egy LCD kijelző alsó és felső sorának csak az első felébe lehet írni? (a másik 8 digit mindkét sorban sötét.) Mi lehet a gondja? Olyat már hallottam ,hogy bizonyos sorokba nem ír, de hogy mindkettőnek csak a felébe olyat még nem.

Köszi!
(#) bzolitb válasza Axel hozzászólására (») Ápr 19, 2011 /
 
kicsit visszább volt már ilyen gondja másnak, és vszinű az LCD felépítése olyan, hogy ha 1 sorosnak engedélyezed, akkor mindkét sor első fele működik, és ha 2 sorosnak engedélyezed, akkor jó lesz. De ez csak tipp.
(#) zenetom válasza Axel hozzászólására (») Ápr 19, 2011 /
 
Vagy: nyomkodd meg óvatosan a kijelzőt a panel felé. :yes:
(#) Axel hozzászólása Ápr 19, 2011 /
 
Hát nem tudom, ez nem akarja az igazságot
Egy olyan függvény vezérli ami Atmega128-ra lett írva és avval jól működött. Most ugyan Atmega8-at használok de a függvényben csak a PORTA-t kellett POTRC-re állítani szóval nem ott lesz a bibi szerintem. A kijelző típusa:
PLC1602D1W-SYL. Adatlapot sehol sem találtam hozzája... Megpróbálom majd egy másik 2x16-os LCD-vel is, hátha.
(#) Stygian hozzászólása Ápr 24, 2011 /
 
Sziasztok!

Vásároltam egy 2x20-as lcd kijelzőt. Az IC benne KS0066U.
Ez kompatibilis a hd44780-val?

CCSC-ben fordítottam le a forrásfájlt
A PIC-em : PIC16F1938

DB4: PIN_C0
DB5: PIN_C1
DB6: PIN_C2
DB7: PIN_C3

RS: PIN_B4
RW: PIN_B5
E: PIN_B6

VO: GND
VSS: GND
VDD: +5V
DB0-DB3: Levegőben lóg

Most csak az első sorban kockákat rak ki.

Többször is ellenőriztem a csatlakozást.

Mellékelem az LCD meghajtó kódot:

  1. // Flex_LCD420.c
  2.  
  3. // These pins are for my Microchip PicDem2-Plus board,
  4. // which I used to test this driver.
  5. // An external 20x4 LCD is connected to these pins.
  6. // Change these pins to match your own board's connections.
  7.  
  8. #define LCD_DB4   PIN_C0
  9. #define LCD_DB5   PIN_C1
  10. #define LCD_DB6   PIN_C2
  11. #define LCD_DB7   PIN_C3
  12.  
  13. #define LCD_RS    PIN_B4
  14. #define LCD_RW    PIN_B5
  15. #define LCD_E     PIN_B6
  16.  
  17. /*
  18. // To prove that the driver can be used with random
  19. // pins, I also tested it with these pins:
  20. #define LCD_DB4   PIN_D4
  21. #define LCD_DB5   PIN_B1
  22. #define LCD_DB6   PIN_C5
  23. #define LCD_DB7   PIN_B5
  24.  
  25. #define LCD_RS    PIN_E2
  26. #define LCD_RW    PIN_B2
  27. #define LCD_E     PIN_D6
  28. */
  29.  
  30. // If you want only a 6-pin interface to your LCD, then
  31. // connect the R/W pin on the LCD to ground, and comment
  32. // out the following line.  Doing so will save one PIC
  33. // pin, but at the cost of losing the ability to read from
  34. // the LCD.  It also makes the write time a little longer
  35. // because a static delay must be used, instead of polling
  36. // the LCD's busy bit.  Normally a 6-pin interface is only
  37. // used if you are running out of PIC pins, and you need
  38. // to use as few as possible for the LCD.
  39. #define USE_RW_PIN   1    
  40.  
  41.  
  42. // These are the line addresses for most 4x20 LCDs.
  43.  
  44. #define LCD_LINE_1_ADDRESS 0x00
  45. #define LCD_LINE_2_ADDRESS 0x40
  46. #define LCD_LINE_3_ADDRESS 0x14
  47. #define LCD_LINE_4_ADDRESS 0x54
  48.  
  49. // These are the line addresses for LCD's which use
  50. // the Hitachi HD66712U controller chip.
  51.  
  52. /*
  53. #define LCD_LINE_1_ADDRESS 0x00
  54. #define LCD_LINE_2_ADDRESS 0x20
  55. #define LCD_LINE_3_ADDRESS 0x40
  56. #define LCD_LINE_4_ADDRESS 0x60
  57. */
  58.  
  59.  
  60. //========================================
  61.  
  62. #define lcd_type 2   // 0=5x7, 1=5x10, 2=2 lines(or more)
  63.  
  64. int8 lcd_line;
  65.  
  66. int8 const LCD_INIT_STRING[4] =
  67. {
  68.  0x20 | (lcd_type << 2),  // Set mode: 4-bit, 2+ lines, 5x8 dots
  69.  0xc,                     // Display on
  70.  1,                       // Clear display
  71.  6                        // Increment cursor
  72.  };
  73.                              
  74.  
  75. //-------------------------------------
  76. void lcd_send_nibble(int8 nibble)
  77. {
  78. // Note:  !! converts an integer expression
  79. // to a boolean (1 or 0).
  80.  output_bit(LCD_DB4, !!(nibble & 1));
  81.  output_bit(LCD_DB5, !!(nibble & 2));
  82.  output_bit(LCD_DB6, !!(nibble & 4));  
  83.  output_bit(LCD_DB7, !!(nibble & 8));  
  84.  
  85.  delay_cycles(1);
  86.  output_high(LCD_E);
  87.  delay_us(2);
  88.  output_low(LCD_E);
  89. }
  90.  
  91. //-----------------------------------
  92. // This sub-routine is only called by lcd_read_byte().
  93. // It's not a stand-alone routine.  For example, the
  94. // R/W signal is set high by lcd_read_byte() before
  95. // this routine is called.    
  96.  
  97. #ifdef USE_RW_PIN
  98. int8 lcd_read_nibble(void)
  99. {
  100. int8 retval;
  101. // Create bit variables so that we can easily set
  102. // individual bits in the retval variable.
  103. #bit retval_0 = retval.0
  104. #bit retval_1 = retval.1
  105. #bit retval_2 = retval.2
  106. #bit retval_3 = retval.3
  107.  
  108. retval = 0;
  109.    
  110. output_high(LCD_E);
  111. delay_us(1);
  112.  
  113. retval_0 = input(LCD_DB4);
  114. retval_1 = input(LCD_DB5);
  115. retval_2 = input(LCD_DB6);
  116. retval_3 = input(LCD_DB7);
  117.  
  118. output_low(LCD_E);
  119. delay_us(1);
  120.    
  121. return(retval);  
  122. }  
  123. #endif
  124.  
  125. //---------------------------------------
  126. // Read a byte from the LCD and return it.
  127.  
  128. #ifdef USE_RW_PIN
  129. int8 lcd_read_byte(void)
  130. {
  131. int8 low;
  132. int8 high;
  133.  
  134. output_high(LCD_RW);
  135. delay_cycles(1);
  136.  
  137. high = lcd_read_nibble();
  138.  
  139. low = lcd_read_nibble();
  140.  
  141. return( (high<<4) | low);
  142. }
  143. #endif
  144.  
  145. //----------------------------------------
  146. // Send a byte to the LCD.
  147. void lcd_send_byte(int8 address, int8 n)
  148. {
  149. output_low(LCD_RS);
  150.  
  151. #ifdef USE_RW_PIN
  152. while(bit_test(lcd_read_byte(),7)) ;
  153. #else
  154. delay_us(60);
  155. #endif
  156.  
  157. if(address)
  158.    output_high(LCD_RS);
  159. else
  160.    output_low(LCD_RS);
  161.      
  162.  delay_cycles(1);
  163.  
  164. #ifdef USE_RW_PIN
  165. output_low(LCD_RW);
  166. delay_cycles(1);
  167. #endif
  168.  
  169. output_low(LCD_E);
  170.  
  171. lcd_send_nibble(n >> 4);
  172. lcd_send_nibble(n & 0xf);
  173. }
  174. //----------------------------
  175.  
  176. void lcd_init(void)
  177. {
  178. int8 i;
  179.  
  180. lcd_line = 1;
  181.  
  182. output_low(LCD_RS);
  183.  
  184. #ifdef USE_RW_PIN
  185. output_low(LCD_RW);
  186. #endif
  187.  
  188. output_low(LCD_E);
  189.  
  190. // Some LCDs require 15 ms minimum delay after
  191. // power-up.  Others require 30 ms.  I'm going
  192. // to set it to 35 ms, so it should work with
  193. // all of them.
  194. delay_ms(35);        
  195.  
  196. for(i=0 ;i < 3; i++)
  197.    {
  198.     lcd_send_nibble(0x03);
  199.     delay_ms(5);
  200.    }
  201.  
  202. lcd_send_nibble(0x02);
  203.  
  204. for(i=0; i < sizeof(LCD_INIT_STRING); i++)
  205.    {
  206.     lcd_send_byte(0, LCD_INIT_STRING[i]);
  207.    
  208.     // If the R/W signal is not used, then
  209.     // the busy bit can't be polled.  One of
  210.     // the init commands takes longer than
  211.     // the hard-coded delay of 50 us, so in
  212.     // that case, lets just do a 5 ms delay
  213.     // after all four of them.
  214.     #ifndef USE_RW_PIN
  215.     delay_ms(5);
  216.     #endif
  217.    }
  218.  
  219. }
  220.  
  221. //----------------------------
  222.  
  223. void lcd_gotoxy(int8 x, int8 y)
  224. {
  225. int8 address;
  226.  
  227.  
  228. switch(y)
  229.   {
  230.    case 1:
  231.      address = LCD_LINE_1_ADDRESS;
  232.      break;
  233.  
  234.    case 2:
  235.      address = LCD_LINE_2_ADDRESS;
  236.      break;
  237.  
  238.    case 3:
  239.      address = LCD_LINE_3_ADDRESS;
  240.      break;
  241.  
  242.    case 4:
  243.      address = LCD_LINE_4_ADDRESS;
  244.      break;
  245.  
  246.    default:
  247.      address = LCD_LINE_1_ADDRESS;
  248.      break;
  249.      
  250.   }
  251.  
  252. address += x-1;
  253. lcd_send_byte(0, 0x80 | address);
  254. }
  255.  
  256. //-----------------------------
  257. void lcd_putc(char c)
  258. {
  259.  switch(c)
  260.    {
  261.     case '\f':
  262.       lcd_send_byte(0,1);
  263.       lcd_line = 1;
  264.       delay_ms(2);
  265.       break;
  266.    
  267.     case '\n':
  268.        lcd_gotoxy(1, ++lcd_line);
  269.        break;
  270.    
  271.     case '\b':
  272.        lcd_send_byte(0,0x10);
  273.        break;
  274.    
  275.     default:
  276.        lcd_send_byte(1,c);
  277.        break;
  278.    }
  279. }
  280.  
  281. //------------------------------
  282. #ifdef USE_RW_PIN
  283. char lcd_getc(int8 x, int8 y)
  284. {
  285. char value;
  286.  
  287. lcd_gotoxy(x,y);
  288.  
  289. // Wait until busy flag is low.
  290. while(bit_test(lcd_read_byte(),7));
  291.  
  292. output_high(LCD_RS);
  293. value = lcd_read_byte();
  294. output_low(LCD_RS);
  295.  
  296. return(value);
  297. }
  298. #endif
  299. #define CUSTOM1   0
  300. #define CUSTOM2   1
  301. #define CUSTOM3   2
  302. #define CUSTOM4   3
  303. #define CUSTOM5   4
  304.  
  305. void custom_chars(void);
  306.  
  307. const int8 lcd_custom_chars[] =
  308. {
  309. // Char Number 0 -- é betű
  310. 0b00001000,  //...o....
  311. 0b00000100,  //....o...
  312. 0b00001110,  //...ooo..
  313. 0b00010001,  //..o...o.
  314. 0b00011111,  //..ooooo.
  315. 0b00010000,  //..o.....
  316. 0b00001110,  //...ooo..
  317. 0b00000000,  //........
  318.  
  319. // Char Number 1 -- ő betű
  320. 0b00000101,  // .....o.o
  321. 0b00001010,  // ....o.o.
  322. 0b00000000,  // ........
  323. 0b00001110,  // ....ooo.
  324. 0b00010001,  // ...o...o
  325. 0b00010001,  // ...o...o
  326. 0b00001110,  // ....ooo.
  327. 0b00000000,  // ........
  328.  
  329. // Char Number 2 -- á betű
  330. 0b00000010,  // ......o.
  331. 0b00000100,  // .....o..
  332. 0b00001110,  // ....ooo.
  333. 0b00000001,  // .......o
  334. 0b00001111,  // ....oooo
  335. 0b00010001,  // ...o...o
  336. 0b00001111,  // ....oooo
  337. 0b00000000,  // ........
  338.  
  339. // Char Number 3 -- ó betű
  340. 0b00001000,  // ....o...
  341. 0b00000100,  // .....o..
  342. 0b00000000,  // ........
  343. 0b00001110,  // ....ooo.
  344. 0b00010001,  // ...o...o
  345. 0b00010001,  // ...o...o
  346. 0b00001110,  // ....ooo.
  347. 0b00000000,  // ........
  348.  
  349. // Char Number 4 -- ~ jel
  350. 0b00000000,  // ........
  351. 0b00000000,  // ........
  352. 0b00000000,  // ........
  353. 0b00011100,  // ...ooo..
  354. 0b00010101,  // ...o.o.o
  355. 0b00000111,  // .....ooo
  356. 0b00000000,  // ........
  357. 0b00000000,  // ........
  358.  
  359. // Char Number 5 -- Blank
  360. 0b00000000,  // ........
  361. 0b00000000,  // ........
  362. 0b00000000,  // ........
  363. 0b00000000,  // ........
  364. 0b00000000,  // ........
  365. 0b00000000,  // ........
  366. 0b00000000,  // ........
  367. 0b00000000,  // ........
  368.  
  369. // Char Number 6 -- Blank
  370. 0b00000000,  // ........
  371. 0b00000000,  // ........
  372. 0b00000000,  // ........
  373. 0b00000000,  // ........
  374. 0b00000000,  // ........
  375. 0b00000000,  // ........
  376. 0b00000000,  // ........
  377. 0b00000000,  // ........
  378.  
  379. // Char Number 7 -- Blank
  380. 0b00000000,  // ........
  381. 0b00000000,  // ........
  382. 0b00000000,  // ........
  383. 0b00000000,  // ........
  384. 0b00000000,  // ........
  385. 0b00000000,  // ........
  386. 0b00000000,  // ........
  387. 0b00000000   // ........
  388. };
  389. void custom_chars(void)
  390. {
  391. int8 i;
  392.  
  393. // Set address counter pointing to CGRAM address 0.
  394. lcd_send_byte(0, 0x40);
  395.  
  396. // Load custom lcd character data into CGRAM.
  397. // It can only hold a maximum of 8 custom characters.
  398. for(i = 0; i < sizeof(lcd_custom_chars); i++)
  399.    {
  400.     lcd_send_byte(1, lcd_custom_chars[i]);
  401.    }
  402.  
  403. // Set address counter pointing back to the DDRAM.
  404. lcd_send_byte(0, 0x80);
  405. }


Szimulációban tökéletesen megy. De összerakva semmi

DSC_0028.jpg
    
(#) MPi-c válasza Stygian hozzászólására (») Ápr 24, 2011 /
 
VO a kontraszt beállítására van. Tegyél oda egy 10k-s trimmer potit, a csuszkája csatlakozzon a VO-ra, az egyik vége a tápra, a másik a GND-re!
(#) Stygian válasza MPi-c hozzászólására (») Ápr 24, 2011 /
 
Először egy 2k2 volt rajta de akkor is kicsi volt a kontraszt.
Most hogy direktbe földön van így már látható a "karakter", de nem hinném hogy ez a baj hisz a 2-dik sor meg tök üres.
(#) zenetom hozzászólása Ápr 25, 2011 /
 
Hali!
Használt már valaki SED1330-as IC-t (grafikus) LCD vezérléshez?
(#) gabi20 hozzászólása Ápr 25, 2011 /
 
Sziasztok ezeket a BG12864 grafikus LCD kijelzőket
hogyan lehet kitörölni, mert ugye CLEAR DISPLAY parancs nincs
(#) gabor128 hozzászólása Máj 23, 2011 /
 
Sziasztok!

Nagy segítség kellene LCD élesztéshez. Már többször próbáltam, de nem akar összejönni. Mindenkinek olyan egyszerű, de nekem ez lenne az első eset és már az agyamra megy.
Vettem egy 1x16-os kijelzőt .omexben. Típusát így nem tudom, de szerintem a mellékelt leírás jó hozzá.
Van egy Pic18F452.
A bekötésben sem vagyok 100%.
Az LCD megkapja a tápot. Az adatbitek a C-portra mennek (0-ás bit a 0-ra, 1-es az 1-esre, stb- az LSB miatt). A 3 vezérlő kivezetés meg az A-portra.
Beállítottam a kontrasztot is.
Jelenleg az LCD utolsó (vagy első?) 8 karaterénél fekete teli kockákat látok bármit csinálok.
Mellékelem a progit is.
Próbáltam az időzítéseket állítani, de nem akar összejönni.
A D-port egyik bitjét csak azért pöckölöm, hogy lássam, hogy fut a progi.
Please help!

Még annyi, hogy bootloader-rel van a progi letöltve. Elvileg letöltés után reset-elni kell az MCLR-t.
Illetve minden kivezetésre rá van kötve egy (asszem) 1K-s ellenálás.
(#) erdoszoli hozzászólása Jún 1, 2011 /
 
Sziasztok,
lenne egy olyan kérdésem felétek.
Kiindulási pont: ATMEGA88-al vezéreltem egy WH1601 -es lcd-t. Minden úgy megy ahogy menni kell. Ekkor áttértem egy GE-C1601 -es LCD kijelzőre, és hopp jön a rejtély.
A kijelzőn a karakterek nem látszanak. Ha próba képpen beállítom hogy villogjon a kurzor és csak egy számot iratok ki a 0. pozícióba akkor az 1. pozíción villog a kurzor, de a számot előtte nem látom.
Az alap dolgokat hagyjuk figyelmen kívül hogy kontraszt vagy táp vagy vezérlőlábak rosszul vannak bekötve. Ha kurzor villogást látok akkor jó a kijelző vezérlése, de valami kis bibi van. Kérdésem tehát hogy szerintetek mi lehet? Játszottam már a kijelző vezérlésének a késleltetésével is, de ugyanaz a jelenség maradt. Nos tudtok segíteni ? ?
(#) erdoszoli válasza gabor128 hozzászólására (») Jún 1, 2011 /
 
Szia
először is az adatlapban nem tul sok van a vezérléséről az LCDnek, de egy általam ismert hasonló kijelzőnek a 8 bites vezérlésére itt van az inicializálás rész :
-Várj 40ms -nál többet a bekapcsolástól számítva.
-funkció beállítás ( 0b0011NF00 ; itt az N :a sorok száma[1=2soros , 0=1 soros ; F : karakterek mérete, esetedben 8pont magas tehát F=0 ] )
- várj 40us nál többet
-funkció beállitás (ugyanaz mint előbb)
- várj 40 us-nál többet
-Display beállítás (0b00001DCB ; itt D:kijelző ki/be ; C:curzor alsó vonal ki/be ; B: kurzor villogás ki/be
-várj 37us-nál többet
-kijelző törlés (0b00000001 )
-várj 1.53ms nál többet
-Entry set (0b000001IS , itt engedélyezheted a curzor mozgatást és a shiftelést.)
- elvileg vége , de egy kis várakozás ide se árt.

nahmost a programod szerintem nem tűnt elsőre rosznak, de az én tippem asz lenne hogy a kijelződ nem 1x16os kiosztású hanem 2x8 as , így a beállításnál 2sorosnak kéne belőni, illetve a kontrasztod lehet maximális ezért látsz a "működö 1 sorban" csupa teli kockákat. Próbáld ki hogy potit raksz a contraszt lábra, Vcc és GND között tudod szabályzoni a kontrasztot, és ha tippem jó akkor előbb utóbb eltünnek a teli karakterek és csak az A betűd fog látszódni.
Még annyi hogy a programban szerintem az RW lábat hagyhatod állandóan nullán, ezt úgyis csak akkor kell "1" be rakni ha netán olvasnál a kijelzőről. (ez csak kicsit megrövidíti a kódot)
(#) wbt válasza zenetom hozzászólására (») Jún 1, 2011 /
 
Mijagondja Nagyuram vele?
JAni
(#) zenetom válasza wbt hozzászólására (») Jún 1, 2011 /
 
Válaszoltam az email-re.
(#) lenardo hozzászólása Jún 11, 2011 /
 
Sziasztok, ha valaki tudna segiteni, hogyan lehet a 2x16os lcd kijelzőn egy sorban irni, nagyon megköszönném.
(#) pixels válasza lenardo hozzászólására (») Jún 11, 2011 /
 
Üdv!

Ha jól értem, neked szép nagy nyúlt karakterek kellenének egy sorban, viszont erre csak félmegoldások léteznek:

1) Be lehet lehet állítani a kijelzőt 10x5-ös karakterméretre, ilyenkor a q, p, g, j, y betűk szárai fognak lelógni a második sorba.

2) Fel lehet vinni 8 db saját karaktert a kijelzőbe. Ezzel csak négy "nagy" karaktert tudsz kiírni egyszerre, és elég bonyolulttá teszi az LCD programozását.
(#) lenardo válasza pixels hozzászólására (») Jún 11, 2011 /
 
köszi a válaszodat, de leht hogy nem voltam elég világos, van egy áramkör, ami egysoroshoz készült, nekem pedig kétsoros van, a bekapcsolásnál a szöveg felét a felső, a másik felét meg az alsóba irja, hogyan tudnám elérni, hogy egy sorba irja, akár a felsőbe, vagy az alsóba, köszi
(#) pixels válasza lenardo hozzászólására (») Jún 11, 2011 /
 
Bele kell nyúlni a programba, mivel az egysoros modul valószínűleg logikailag 2 soros volt.

Tehát a következőt kellene tenni a programmal: meg kell keresni azokat az LCD utasításokat, ahol a címzések vannak, és a 0x40 címről át kell helyezni a kiírást a 0x08-as címre.
(#) zenetom válasza lenardo hozzászólására (») Jún 11, 2011 /
 
Szia!
Gondolom abban az áramkörben van mikrovezérlő, vagyis az vezérli az LCD-t. Ha tudod módosítani az MCU programját, akkor át kell állítani egysorosra (parancsként kell elküldeni a b'001L0F00'-t, ahol az L bit értéke 1, ha 8 biten, 0 ha 4 biten kommunikál az MCU-val; az F bit értéke 1 ha 5x11 pixelesek a fontok, 0 ha 5x8-asok).
Ha nem tudsz MCU-t kezelni, akkor venni kell egy egysoros LCD-t.
(#) lenardo válasza pixels hozzászólására (») Jún 11, 2011 /
 
köszönöm, sokat segitettél, meg fogom próbálni, üdv
(#) lenardo válasza zenetom hozzászólására (») Jún 11, 2011 /
 
köszöm a segitségedet, megpróbálom, ha nem boldogulok vele, akkor veszek egy egysorosat
(#) zenetom válasza lenardo hozzászólására (») Jún 11, 2011 /
 
Szívesen! Akkor bele tudsz nyúlni a mikrovezérlő programjába?
(#) lenardo válasza zenetom hozzászólására (») Jún 11, 2011 /
 
ilyet még nem csináltam, eléggé kezdő vagyok az elektronikában
(#) zenetom válasza lenardo hozzászólására (») Jún 11, 2011 /
 
Képet tudnál mutatni az áramkörről? Te raktad össze?
(#) lenardo válasza zenetom hozzászólására (») Jún 11, 2011 /
 
én raktam össze, jól műküdik a frekmérő, csak a kijelzéssel van gond
(#) zenetom válasza lenardo hozzászólására (») Jún 11, 2011 /
 
Melyiket raktad össze? Milyen mikrovezérlő van benne? PIC....?
(#) lenardo válasza lenardo hozzászólására (») Jún 11, 2011 /
 
nem tudom, hogy átment -e a kapcsrajz
(#) lenardo válasza lenardo hozzászólására (») Jún 11, 2011 /
 
16F84
(#) zenetom válasza lenardo hozzászólására (») Jún 11, 2011 /
 
Én nem látok sehol kapcsirajzot.
(#) lenardo válasza zenetom hozzászólására (») Jún 11, 2011 /
 
16F84
Következő: »»   20 / 71
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem