 |

|
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 28, 19:54. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Nokia 3100lcd ir rezoliucijos
|
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
|
|
|
 |
Re: Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 09, 22:31 |
|
|
|
Ten duotas kontrolerio datasheetas. Interfeisas irgi aiskus. Kam vargt kazka perdarinejant, jei galima savo pasirasyt? Darysi savo - kelsi know-how... Kitu atveju is sito forumo su savo klausimais niekada neisbrisi. |
|
|
|
|
 |
 |
Re: Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 10, 00:19 |
|
|
|
Socrates rašo: |
Ten duotas kontrolerio datasheetas. Interfeisas irgi aiskus. Kam vargt kazka perdarinejant, jei galima savo pasirasyt? Darysi savo - kelsi know-how... Kitu atveju is sito forumo su savo klausimais niekada neisbrisi. |
as irgi pritariu tau , bet va nezinau nuo ko pradeti datashetas 100 puslapiu
ir dideles c kalbos spragos.
pacia esme suprantu , turiu
Inicializuoti LCD , ir persisiuti programos kuri is piesinio sugeneruoja bit map'a duomenis . |
|
|
|
|
 |
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 10, 09:56 |
|
|
|
6100 3100 6610 ir tt yra vienas ir taspac lcd skirtumas tik tame kad diplejuose stovi skirtingi cipai epsono arba philips(atskirti galima pagal jungties spalva)
Ir paleidimas skiriasi. nebent softe stovi auto detect. Nokios sugeba detektuoti koks lcd
Va radau linkas apie lcd
http://www.electricstuff.co.uk/noklcd.html |
|
|
|
|
 |
 |
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 11, 08:59 |
|
|
|
BaltaS rašo: |
kaip galima programoje iskaidyti sesioliktaini skaiciu i 9 , arba nuskaitineti ta skaiciu po 1 bita ?
|
Kodas: |
#define LCD_DDR DDRC
#define LCD_PORT PORTC
#define LCD_RESET 0
#define LCD_CS 1
#define LCD_MOSI 2
#define LCD_MISO 3
#define LCD_SCK 4
void WriteSpiData(unsigned char data) {
unsigned char i=8;
LCD_PORT &= ~(1<<LCD_CS); // cs=0
//
//LCD_PORT &= ~(1<<LCD_SCK);
LCD_PORT |= (1<<LCD_MOSI); // data - high (duomenys)
LCD_PORT |= (1<<LCD_SCK);
//
while(i--){
LCD_PORT &= ~(1<<LCD_SCK);
if(data & 0x80){
LCD_PORT |= (1<<LCD_MOSI);
}else{
LCD_PORT &= ~(1<<LCD_MOSI);
}
LCD_PORT |= (1<<LCD_SCK);
data = data << 1 ;
}
LCD_PORT &= ~(1<<LCD_SCK);
//
LCD_PORT |= (1<<LCD_CS); // cs=1
}
|
Jei turi FT232 gali prasitestuot lcd su pcf8833. Čia tokia programytė. |
|
|
|
|
 |
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 11, 14:27 |
|
|
|
specialistas rašo: |
Kodas: |
#define LCD_DDR DDRC
#define LCD_PORT PORTC
#define LCD_RESET 0
#define LCD_CS 1
#define LCD_MOSI 2
#define LCD_MISO 3
#define LCD_SCK 4
void WriteSpiData(unsigned char data) {
unsigned char i=8;
LCD_PORT &= ~(1<<LCD_CS); // cs=0
//
//LCD_PORT &= ~(1<<LCD_SCK);
LCD_PORT |= (1<<LCD_MOSI); // data - high (duomenys)
LCD_PORT |= (1<<LCD_SCK);
//
while(i--){
LCD_PORT &= ~(1<<LCD_SCK);
if(data & 0x80){
LCD_PORT |= (1<<LCD_MOSI);
}else{
LCD_PORT &= ~(1<<LCD_MOSI);
}
LCD_PORT |= (1<<LCD_SCK);
data = data << 1 ;
}
LCD_PORT &= ~(1<<LCD_SCK);
//
LCD_PORT |= (1<<LCD_CS); // cs=1
}
|
Jei turi FT232 gali prasitestuot lcd su pcf8833. Čia tokia programytė. |
neturiu to ft232.
gal gali paiskinti ka tas CS registras daro ?
su situ kodu , nereikia nustatytinet daznio programoje , galiu tiesiog junkt 6mhz kvarca ir vsio ? ? |
|
|
|
|
 |
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 11, 16:15 |
|
|
|
BaltaS rašo: |
http://www.sparkfun.com/tutorial/Nokia%206100%20LCD%20Display%20Driver.pdf
Paskaites sita mazdaug supratau visa lcd veikimo principa .
tik beda pati programa cia asikinama su arm , mikrovaldiklio keisti nesinori
|
Nuo kada SPI protokolas priklauso nuo valdiklio? Ar ir SPI nemoki naudotis? Jei ne, tai ne nuo LCD pradedi... |
|
|
|
|
 |
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 11, 21:55 |
|
|
|
Socrates rašo: |
BaltaS rašo: |
http://www.sparkfun.com/tutorial/Nokia%206100%20LCD%20Display%20Driver.pdf
Paskaites sita mazdaug supratau visa lcd veikimo principa .
tik beda pati programa cia asikinama su arm , mikrovaldiklio keisti nesinori
|
Nuo kada SPI protokolas priklauso nuo valdiklio? Ar ir SPI nemoki naudotis? Jei ne, tai ne nuo LCD pradedi... |
tai SPI interfeicas tai nesikeicia , kaip sako ir afrikoj tas pats .
bet dar su juo nesusidures .
taigi pries darant lcd , nusprendziau nusipirkti ir pazaisti su 74HC595 shift registru .
beto suzinojau kam tas CS kitaip chip select. |
|
|
|
|
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 11, 22:36 |
|
|
|
Siaip visi mikrovaldikliai turintys SPI viduje turi ta shift registra, tai kaip ir nera tolko naudot isorini... Kas del pacio SPI, tai geriau pabandyk du mikrovaldiklius sujungt per SPI. Viena paleisi kaip masteri, kita kaip slave'a. |
|
|
|
|
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 12, 20:04 |
|
|
|
Socrates rašo: |
Siaip visi mikrovaldikliai turintys SPI viduje turi ta shift registra, tai kaip ir nera tolko naudot isorini... Kas del pacio SPI, tai geriau pabandyk du mikrovaldiklius sujungt per SPI. Viena paleisi kaip masteri, kita kaip slave'a. |
mc + visokie priedai iseis virs 20lt
o tas registras 1 lt .
as tik del pabandymo ar veike .
tik nlb suprantu kaip per spi siunciasi 9bitai , devintas nurodo ar tai comanda ar duomenys.
tai reike siusti baita kurio paskutinis bitas ir butu mano CD bitas ir poto staigiai 8bitu koda kitu persiuntimu ? |
|
|
|
|
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 13, 01:12 |
|
|
|
i LCD datasheeta as neziurejau, bet AVR SPI yra 8 bitu. Jei LCD palaiko 2 persiuntimus, tada siusi dviem komandom, jei reikia 16 ar kiek ten bitu surasyt vienu kartu, tada pasirasai savo SPI proceduras. |
|
|
|
|
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 13, 22:58 |
|
|
|
tai va kad tik vienu persiuntimu ,
pixeliu duomenys siunciami 3 tokiais .
Kodas: |
void send_8bit_serial_data(unsigned char data)
{
int i;
// select device
output_high(SD_CS);
// send bits 7..0
for (i = 0; i < 8; i++)
{
// consider leftmost bit
// set line high if bit is 1, low if bit is 0
if (data & 0x80)
output_high(SD_DI);
else
output_low(SD_DI);
// pulse clock to indicate that bit value should be read
output_low(SD_CLK);
output_high(SD_CLK);
// shift byte left so next bit will be leftmost
data <<= 1;
}
// deselect device
output_low(SD_CS);
} |
sitas kodas vertas demesio ? zinoma reikia pakeisti kad butu 9bitu.
arba padaryti 2 data ir command funkcijas . |
|
|
|
|
 |
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 13, 23:29 |
|
|
|
Kodas: |
// *****************************************************************************
// InitSpi
// *****************************************************************************
void InitSpi(void) {
LCD_PORT |= (1<<LCD_RESET);
LCD_DDR |= (1<<LCD_RESET);
LCD_PORT |= (1<<LCD_MOSI);
LCD_DDR |= (1<<LCD_MOSI);
LCD_PORT |= (1<<LCD_CS);
LCD_DDR |= (1<<LCD_CS);
LCD_PORT &= ~(1<<LCD_SCK);
LCD_DDR |= (1<<LCD_SCK);
LCD_PORT |= (1<<LCD_MISO);
}
// *****************************************************************************
// WriteSpiCommand
// *****************************************************************************
void WriteSpiCommand(unsigned char command) {
unsigned char i=8;
LCD_PORT &= ~(1<<LCD_CS); // chip select
//
//LCD_PORT &= ~(1<<LCD_SCK);
LCD_PORT &= ~(1<<LCD_MOSI); // data - Low (komanda)
LCD_PORT |= (1<<LCD_SCK);
//
while(i--){
LCD_PORT &= ~(1<<LCD_SCK); //clk 0
if(command & 0x80){
LCD_PORT |= (1<<LCD_MOSI); //data 0
}else{
LCD_PORT &= ~(1<<LCD_MOSI); //data 1
}
LCD_PORT |= (1<<LCD_SCK); //clk 1
command = command << 1;
}
//
LCD_PORT &= ~(1<<LCD_SCK);
LCD_PORT |= (1<<LCD_CS); // chip deselect
}
// *****************************************************************************
// WriteSpiData
// *****************************************************************************
void WriteSpiData(unsigned char data) {
unsigned char i=8;
LCD_PORT &= ~(1<<LCD_CS); // chip select
//
//LCD_PORT &= ~(1<<LCD_SCK);
LCD_PORT |= (1<<LCD_MOSI); // data - high (duomenys)
LCD_PORT |= (1<<LCD_SCK);
//
while(i--){
LCD_PORT &= ~(1<<LCD_SCK);
if(data & 0x80){
LCD_PORT |= (1<<LCD_MOSI);
}else{
LCD_PORT &= ~(1<<LCD_MOSI);
}
LCD_PORT |= (1<<LCD_SCK);
data = data << 1 ;
}
LCD_PORT &= ~(1<<LCD_SCK);
//
LCD_PORT |= (1<<LCD_CS); // chip deselect
}
// *****************************************************************************
// InitLcd
// *****************************************************************************
void InitLcd(void) {
unsigned int i;
//
delay_ms(5);
LCD_PORT &= ~(1<<LCD_RESET);
delay_ms(10);
LCD_PORT |= (1<<LCD_RESET);
LCD_PORT &= ~(1<<LCD_CS);
//
WriteSpiCommand(SWRESET); // Software Reset
WriteSpiCommand(SLEEP_OUT); // Sleep Out
//
WriteSpiCommand(BSTRON); // Booster ON
delay_ms(10);
WriteSpiCommand(DISPON); // Display ON
WriteSpiCommand(INVOFF); // Mode NORMAL
WriteSpiCommand(COLMOD); // interface pixel format
//WriteSpiData(COLOR_12_BIT);
WriteSpiData(COLOR_8_BIT); // 256 color
WriteSpiCommand(RGBSET); //
// red
WriteSpiData(0);
WriteSpiData(2);
WriteSpiData(4);
WriteSpiData(6);
WriteSpiData(8);
WriteSpiData(10);
WriteSpiData(12);
WriteSpiData(15);
// green
WriteSpiData(0);
WriteSpiData(2);
WriteSpiData(4);
WriteSpiData(6);
WriteSpiData(8);
WriteSpiData(10);
WriteSpiData(12);
WriteSpiData(15);
// blue
WriteSpiData(0);
WriteSpiData(4);
WriteSpiData(9);
WriteSpiData(15);
WriteSpiCommand(LCD_NOP);
WriteSpiCommand(MADCTL); // pixel write direction
// 7:MY 6:MX 5:V 4:LAO 3:RGB 2:x 1:x 0:x
WriteSpiData(0xC0);
WriteSpiCommand(SETCON); //LCD contrast 60
WriteSpiData(60);
WriteSpiCommand(PASET); // page start/end ram
WriteSpiData(0);
WriteSpiData(131);
WriteSpiCommand(CASET); // column start/end ram
WriteSpiData(0);
WriteSpiData(131);
WriteSpiCommand(RAMWR); // uzpildo ekrana zalia spalva
for (i = 0; i < 17424; i++){
WriteSpiData(28); // 28 zalia
}
delay_ms(200);
}
*****************************************************************************
|
|
|
|
|
|
 |
 |
Nokia 3100lcd ir rezoliucijos |
Parašytas: 2011 08 14, 16:13 |
|
|
|
specialistas rašo: |
Kodas: |
// *****************************************************************************
// InitSpi
// *****************************************************************************
void InitSpi(void) {
LCD_PORT |= (1<<LCD_RESET);
LCD_DDR |= (1<<LCD_RESET);
LCD_PORT |= (1<<LCD_MOSI);
LCD_DDR |= (1<<LCD_MOSI);
LCD_PORT |= (1<<LCD_CS);
LCD_DDR |= (1<<LCD_CS);
LCD_PORT &= ~(1<<LCD_SCK);
LCD_DDR |= (1<<LCD_SCK);
LCD_PORT |= (1<<LCD_MISO);
}
// *****************************************************************************
// WriteSpiCommand
// *****************************************************************************
void WriteSpiCommand(unsigned char command) {
unsigned char i=8;
LCD_PORT &= ~(1<<LCD_CS); // chip select
//
//LCD_PORT &= ~(1<<LCD_SCK);
LCD_PORT &= ~(1<<LCD_MOSI); // data - Low (komanda)
LCD_PORT |= (1<<LCD_SCK);
//
while(i--){
LCD_PORT &= ~(1<<LCD_SCK); //clk 0
if(command & 0x80){
LCD_PORT |= (1<<LCD_MOSI); //data 0
}else{
LCD_PORT &= ~(1<<LCD_MOSI); //data 1
}
LCD_PORT |= (1<<LCD_SCK); //clk 1
command = command << 1;
}
//
LCD_PORT &= ~(1<<LCD_SCK);
LCD_PORT |= (1<<LCD_CS); // chip deselect
}
// *****************************************************************************
// WriteSpiData
// *****************************************************************************
void WriteSpiData(unsigned char data) {
unsigned char i=8;
LCD_PORT &= ~(1<<LCD_CS); // chip select
//
//LCD_PORT &= ~(1<<LCD_SCK);
LCD_PORT |= (1<<LCD_MOSI); // data - high (duomenys)
LCD_PORT |= (1<<LCD_SCK);
//
while(i--){
LCD_PORT &= ~(1<<LCD_SCK);
if(data & 0x80){
LCD_PORT |= (1<<LCD_MOSI);
}else{
LCD_PORT &= ~(1<<LCD_MOSI);
}
LCD_PORT |= (1<<LCD_SCK);
data = data << 1 ;
}
LCD_PORT &= ~(1<<LCD_SCK);
//
LCD_PORT |= (1<<LCD_CS); // chip deselect
}
// *****************************************************************************
// InitLcd
// *****************************************************************************
void InitLcd(void) {
unsigned int i;
//
delay_ms(5);
LCD_PORT &= ~(1<<LCD_RESET);
delay_ms(10);
LCD_PORT |= (1<<LCD_RESET);
LCD_PORT &= ~(1<<LCD_CS);
//
WriteSpiCommand(SWRESET); // Software Reset
WriteSpiCommand(SLEEP_OUT); // Sleep Out
//
WriteSpiCommand(BSTRON); // Booster ON
delay_ms(10);
WriteSpiCommand(DISPON); // Display ON
WriteSpiCommand(INVOFF); // Mode NORMAL
WriteSpiCommand(COLMOD); // interface pixel format
//WriteSpiData(COLOR_12_BIT);
WriteSpiData(COLOR_8_BIT); // 256 color
WriteSpiCommand(RGBSET); //
// red
WriteSpiData(0);
WriteSpiData(2);
WriteSpiData(4);
WriteSpiData(6);
WriteSpiData(8);
WriteSpiData(10);
WriteSpiData(12);
WriteSpiData(15);
// green
WriteSpiData(0);
WriteSpiData(2);
WriteSpiData(4);
WriteSpiData(6);
WriteSpiData(8);
WriteSpiData(10);
WriteSpiData(12);
WriteSpiData(15);
// blue
WriteSpiData(0);
WriteSpiData(4);
WriteSpiData(9);
WriteSpiData(15);
WriteSpiCommand(LCD_NOP);
WriteSpiCommand(MADCTL); // pixel write direction
// 7:MY 6:MX 5:V 4:LAO 3:RGB 2:x 1:x 0:x
WriteSpiData(0xC0);
WriteSpiCommand(SETCON); //LCD contrast 60
WriteSpiData(60);
WriteSpiCommand(PASET); // page start/end ram
WriteSpiData(0);
WriteSpiData(131);
WriteSpiCommand(CASET); // column start/end ram
WriteSpiData(0);
WriteSpiData(131);
WriteSpiCommand(RAMWR); // uzpildo ekrana zalia spalva
for (i = 0; i < 17424; i++){
WriteSpiData(28); // 28 zalia
}
delay_ms(200);
}
*****************************************************************************
|
|
kodas man patiko , matau sitam lcd ir skirtas .
tik noriu pasitiklinti ar naudos tuos pacius pinus kaip ir hardwarinis , nes kiek matau valdo tai tuos pacius portus ?
ir pagal ka suzinot koki kvarca pirkti ? |
|
|
|
|
 |
 |
|
 |
|
 |
Google paieška forume |
|
 |
Naujos temos forume |
|
 |
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 |
|

|
 |