Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 24.11.2009, 11:45  
godking
Прохожий
 
Регистрация: 24.11.2009
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
godking на пути к лучшему
По умолчанию Помогите разобратся с LCD

Привет! Не могу ничего вывести на экран, подсоединен правильно
подскажите пожалуйста, в чем может быть проблема
Код:
#include "c8051F120.h"
#include ‹string.h›
#include ‹stdio.h›
sbit LCD_rs=P0^2;
sbit LCD_rw=P0^1;
sbit LCD_en=P0^0;
sbit LCD_D7=P2^7;

#define LCD_data P2
void Port_IO_Init(void);
void LCD_init(void);
void LCD_command(unsigned char var);
void LCD_busy(void);
void LCD_senddata(unsigned char var);
void LCD_sendstring(unsigned char *var);
void LCD_build();
unsigned char Mas[40];

 void main (void)
  { int i;
    for(i =0;i‹35;i++) Mas[i] = 0;
	strcpy(Mas,"0123456789ABCDEFGHJKL");
    WDTCN     = 0xDE;
    WDTCN     = 0xAD;

    while (1){
    Port_IO_Init();
    LCD_init ();
	LCD_sendstring (Mas);
    LCD_build();
	          }
	
   }
   
  void Port_IO_Init()
{ 
   
    SFRPAGE   = CONFIG_PAGE;
    P0MDOUT = 0xFF;
    P2MDOUT   = 0xFF;
     XBR2      = 0x40;


}


void LCD_init()
{         LCD_rs=0;
	LCD_rw=0;
          LCD_en=1;
	LCD_en=0;
           LCD_busy();
           LCD_data=0x38;
	LCD_rs=0;
	LCD_rw=0;
            LCD_en=1;
	LCD_en=0;
	LCD_data=0x38;
	LCD_rs=0;
	LCD_rw=0;
           LCD_en=1;
	LCD_en=0;
           LCD_busy();
	LCD_data=0x0F;
	LCD_rs=0;
	LCD_rw=0;
             LCD_en=1;
	LCD_en=0;
	LCD_busy();
    LCD_data=0x01;
	LCD_rs=0;
	LCD_rw=0;
            LCD_en=1;
	LCD_en=0;
	LCD_busy();
	LCD_data=0x05;
	LCD_rs=0;
	LCD_rw=0;
           LCD_en=1;
	LCD_en=0;
	LCD_en=1;
	LCD_busy();
    
}

void LCD_busy()
{
           unsigned char i,j;
	for(i=0;i‹500;i++) //A simple for loop for delay 
	 for(j=0;j‹255;j++);
}
void LCD_command(unsigned char var)
{
 LCD_data = var;
 LCD_rs = 0;
 LCD_rw = 0;
 LCD_en = 1;
 LCD_en = 0;
 LCD_busy();
}
void LCD_sendstring(unsigned char *var)
{ while(*var) //till string ends 
LCD_senddata(*var++); //send characters one by one 
}

void LCD_build()
{
LCD_command (0x48); //Load the location where we want to store 
LCD_senddata(0x32); //Load row 1 data 
LCD_senddata(0x0E); //Load row 2 data 
LCD_senddata(0x0E); //Load row 3 data 
LCD_senddata(0x0E); //Load row 4 data 
LCD_senddata(0x1F); //Load row 5 data 
LCD_senddata(0x00); //Load row 6 data 
LCD_senddata(0x04); //Load row 7 data 
LCD_senddata(0x00); //Load row
}



void LCD_senddata(unsigned char var)
{
 LCD_data = var;
 LCD_rs = 1;
 LCD_rw = 0;
 LCD_en = 1;
 LCD_en = 0;
 LCD_busy();
}
микроконтроллер SiLabs C8051F120, индикатор PYC1602AHW-SYL, или если можно, дайте ссылки на аналогичные примеры на языке С
Реклама:

Последний раз редактировалось godking; 24.11.2009 в 12:32.
godking вне форума  
Непрочитано 24.11.2009, 12:03  
Pasha_Bi
Прохожий
 
Регистрация: 26.10.2009
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Pasha_Bi на пути к лучшему
По умолчанию Re: Помогите разобратся с LCD

Разбираться не стал, сразу бросилось в глаза:
unsigned char i,j;
for(i=0;i‹500;i++)
i надо тогда объявлять как int.
Попробуйте, может сдесь косяк.
Не получится, выложу свой вариант (но для PIC)
Pasha_Bi вне форума  
Непрочитано 24.11.2009, 12:21  
godking
Прохожий
 
Регистрация: 24.11.2009
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
godking на пути к лучшему
По умолчанию Re: Помогите разобратся с LCD

Сообщение от Pasha_Bi Посмотреть сообщение
Разбираться не стал, сразу бросилось в глаза:
unsigned char i,j;
for(i=0;i‹500;i++)
i надо тогда объявлять как int.
Попробуйте, может сдесь косяк.
Спасибо, к сожалению ничего не изменилось,
Цитата:
Не получится, выложу свой вариант (но для PIC)
буду благодарен
godking вне форума  
Непрочитано 24.11.2009, 14:56  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Помогите разобратся с LCD

Возможно и глупый вопрос, но какой тип индикатора Вы используете? Соответствуют ли комманды инициализации контроллеру? Соблюдаются ли требования по длительности импульса строба (LCD_en)?
MisterDi вне форума  
Непрочитано 24.11.2009, 15:13  
godking
Прохожий
 
Регистрация: 24.11.2009
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
godking на пути к лучшему
По умолчанию Re: Помогите разобратся с LCD

Сообщение от MisterDi Посмотреть сообщение
Возможно и глупый вопрос, но какой тип индикатора Вы используете? Соответствуют ли комманды инициализации контроллеру? Соблюдаются ли требования по длительности импульса строба (LCD_en)?
индикатор PYC1602AHW-SYL, вот ссылка на него http://zefiryn.tme.pl/dok/a06/pyc1602a-series-1.pdf , по моему соответствуют

Последний раз редактировалось godking; 24.11.2009 в 15:22.
godking вне форума  
Непрочитано 24.11.2009, 16:07  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Помогите разобратся с LCD

Вставьте задержки 1мкС после каждой установки LCD_en, т.к. если тактовая выше 3МГц, не выполняется условие длительности импульса записи.
MisterDi вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти схемы Toshiba Satellite A300-1ec и Toshiba Satellite A300d Alex-Alpha Поиск схем. Делимся схемами 1 11.03.2010 22:09
Помогите разобраться с LCD b1300 sersne Микроконтроллеры, АЦП, память и т.д 27 07.12.2009 23:01
[Решено] Помогите найти рабочую модель для протеуса 73m Proteus, KiCAD и другие ECAD 3 12.11.2009 17:33
Помогите с номиналом R jipers Электроника - это просто 46 03.11.2009 20:39
Подключение LCD дисплея utyfwdfkb Информация по радиокомпонентам 8 31.10.2009 01:34


Часовой пояс GMT +4, время: 15:14.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot