Покажи участието

От тук може да видиш всички публикации на този потребител.


Публикации - mihail19871987

Страници: [1]
1
Практика / Програмиране на LCD-dysplay
« -: Януари 29, 2013, 08:24:31 am »
Смених дисплея.
Повредата е в него, явно е бил дефектен, последно забелязах, че и половината от него изобщо не изобразяваше нищо от (x07-x0f и x48-x50) .

2
Практика / Програмиране на LCD-dysplay
« -: Януари 26, 2013, 04:11:53 pm »
Така..
С адаптера зареждам един фенер и реших и да го ползвам за съответните цели.
(1)input 230-240a.c. 50hz 11w
out 9v.d.c 500ma

(2)Когато извадя кабела на 2-ри пин. VCC ,стабилизатора ми спира да грее.
Когато е закачен втори пин. VCC+5 стабилизатор започва да грее ,но чипа на дисплея не.
Когато се появи информация на дисплея и чип започва да грее и стабилизатора също.

(3)Нямам друго захранване да опитам...

Сега взех друг дисплей, като ми остане време ще го закача да го пробвам  и ще пиша.

А иначе сега когато си програмирам, го включвам за 10-15 секунди и така засега ми върши работа :-D

3
Практика / Програмиране на LCD-dysplay
« -: Януари 26, 2013, 12:07:03 am »
Мерси за инфото ще го имам на предвид.:)

Обаче проблема ми бил в дисплея , трябвало е да си настроя подсвета с трим. и така, излезе буквата А...
Обаче, ОБАЧЕ забелязвам много странен проблем, единия чип на дисплея грее толкова много че може да те опари, съответно и стабилизатора(20 на 5v. 500ma) ми ми също е като котлон и това става в периода от10-15 секунди след като се покаже буквата.
Захранването ми е от адаптер 220 на 12v 500ma.
Има ли вероятност LCD-то да е нещо калпаво...?

4
Практика / Програмиране на LCD-dysplay
« -: Януари 23, 2013, 11:14:09 am »
Здравейте
От скоро се занимавам с програмиране на МК и сега искам да си програмирам чипа да извежда данни на дисплея.
използвам:
  чип-mega8L
  дисплей-RC1602
  текст-редактор-avrStudio5
написах следния код:

#include <avr/io.h>
#include <util/delay.h>

void lcd_cmd(unsigned char command){//LCD- 5-RS, 6-R/W , 7-E
PORTB = command;
PORTD = 0b10000000;//PORTD |= 1<<PIND7 | 0<<PIND6 | 0<<PIND5; //enable to write, send COMMAND
_delay_ms(2);
PORTD = 0x00;
_delay_ms(2);
}

void lcd_data(unsigned char data){
PORTB = data;
PORTD = 0b10100000;//PORTD |=1<<PIND5 | 0<<PIND6 | 1<<PIND7; //enable to write, send DATA
_delay_ms(2);
PORTD = 0b00100000;//PORTD |=1<<PIND5 | 0<<PIND6 | 0<<PIND7;
_delay_ms(2);
}

void lcd_send_string(char* string){//THIS FUNCTION WORK FOR STRING
while(*string){//Send value of pointer as data to LCD
lcd_data(*string);//Increment string pointer
string++;
}
}

int main(void){
//Settings PORTS
DDRD |= 1<<PIND5 | 1<<PIND6 | 1<<PIND7 ;//port D open to OUTPUT LCD-RS,R/W,E
DDRB = 0xff;//port B output


_delay_ms(16);

lcd_cmd(0x30);   
lcd_cmd(0x0F);   
lcd_cmd(0x01);   
lcd_cmd(0x02);   
lcd_send_string("A");

while(1){

}
return 0;
}
Предполагам ,че някъде правя грешка, но не съм сигурен.
Доста пъти разгледах даташийта на дисплея ,но...
На "proteus" направих почти същия код на примерен дисплей 16x2,работи нормално.

Страници: [1]