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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 24.09.2007, 21:25   #1
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, время: 18:35.


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