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

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

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

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

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

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

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

 
Опции темы

Подключение LCD Nokia 3310

Непрочитано 24.09.2007, 21:25  
vsvetlov
Частый гость
 
Регистрация: 07.06.2005
Сообщений: 12
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vsvetlov на пути к лучшему
По умолчанию Подключение LCD Nokia 3310

Пытаюсь подключить LCD Nokia 3310 к PIC16F628A. Написал простенькую тестовую прошивку. Но экран не работает. Что не так. Как проверить работоспособность LCD. Код на С ниже. Все на основе рабочих библиотек.
Код:
// Вывод на LCD Nokia 3310. 
// Используется PIC16F628A
//-------------------------------------------------------------------------
#include "pic.h"		
#include "delay.h"	
//#include "delay.c"	

__CONFIG(0x3f09);				

#define	XTAL_FREQ	4MHZ		/* Crystal frequency in MHz */

#define nok_sclk  RB4   // nokia lcd sclk
#define nok_sda   RB3   // nokia lcd sda
#define nok_dc    RB2   // nokia lcd d/c
#define nok_cs    RB1   // nokia lcd cs
#define nok_res   RB0   // nokia lcd res

//--------------------------------------------------------------------------
signed char c;
unsigned char bytefornokia;
//---------------------------------------------------------------------------
void init(void);							
void nokia_write_command(void);				
void nokia_write_dorc(void);
void nokia_write_data(void);
void nokia_gotoxy(unsigned char xnokia, unsigned char ynokia);
//--------------------------------------------------------------------------
void main(void)
{
init();
bytefornokia=0xFF;
nokia_write_data();
bytefornokia=0xFF;
nokia_write_data();
bytefornokia=0xFF;
nokia_write_data();
bytefornokia=0xFF;
nokia_write_data();
bytefornokia=0xFF;
nokia_write_data();
//nokia_clean_ddram();
for(;;); 
  }
//---------------------------------------------------------------------------------------
void init(void)
{
	
		CMCON = 0x07;
    	                TRISB = 0x00;	
		PORTB = 0x00;	
	                nok_res=1;
		nok_dc=1;				
		nok_cs=1;				
		nok_res=0;				
		DelayMs(100);
		nok_res=1;
                                bytefornokia=0x21;		
		nokia_write_command();
		
		bytefornokia=0x13;		
		nokia_write_command();
		
		bytefornokia=0xC8;		
		nokia_write_command();
		
		bytefornokia=0x20;		
		nokia_write_command();
		
		bytefornokia=0x0C;		
		nokia_write_command();
				
		nokia_gotoxy(0,0);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void nokia_write_command(void)
{
nok_dc=0;	// передача команды в регистр
nok_cs=0;	// включение контроллера 
nokia_write_dorc();
nok_cs=1;	// отключение контроллера
}
/////////////////////////////////////////////////////////////////////////////////
void nokia_write_data(void)
{
nok_dc=1;   // передача данных в диплей
nok_cs=0;	// chip enabled
nokia_write_dorc();
nok_cs=1;	// chip disabled
}
//////////////////////////////////////////////////////////////////////////////////
void nokia_write_dorc(void)			// serial write data or command subroutine
{
for (c=8;c›0;c--) {
		nok_sclk=0;
		if ((bytefornokia&0x80)==0){
		nok_sda=0;
		 							}
		else {
		nok_sda=1;
				}
		nok_sclk=1;
		bytefornokia=bytefornokia‹‹1;
					}
}
//////////////////////////////////////////////////////////////////////////////////
void nokia_gotoxy (unsigned char xnokia, unsigned char ynokia)	// Nokia LCD Position cursor
{
		bytefornokia=(0x40|(ynokia&0x07));		// Y axe initialisation: 0100 0yyy	
		nokia_write_command();
		
		bytefornokia=(0x80|(xnokia&0x7f));		// X axe initialisation: 1xxx xxxx
		nokia_write_command();
}
Реклама:
vsvetlov вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с подключением LCD Nokia 3310 Nikopol Автоматика и аппаратура связи 16 10.07.2014 16:31
Портируем библиотеку для Nokia 3310 LCD Nikopol Микроконтроллеры, АЦП, память и т.д 19 24.08.2010 15:17
Nokia 3310 LCD Library Проблема с массивами spyx Микроконтроллеры, АЦП, память и т.д 1 07.09.2009 12:47
Помогите подключить LCD Nokia 3310 vsvetlov Микроконтроллеры, АЦП, память и т.д 0 05.10.2007 10:12
поделитесь библиотекой LCD Nokia 3310 для Proteus Ozzy Proteus 0 29.03.2007 15:07


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.