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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 01.05.2009, 13:19   #1
ctefan
Временная регистрация
 
Регистрация: 15.06.2005
Сообщений: 86
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
ctefan на пути к лучшему
По умолчанию Вопрос к знатокам mikroC

Возможно ли используя встроенные
библиотеки mikroC отображать на lcd с контроллером HD44780 несколько собственных знаков, один у меня
получаеться отобразить, а вот несколько что-то
туплю .
Код:
  const char character[] = {14,31,31,31,31,31,31,0};
   const char character1[] = {14,17,31,31,31,31,31,0};
 //******************  Прерывания   **************************************************  **************************
 void interrupt()
 {











    INTCON=160;

  }
 void CustomChar(char pos_row, char pos_char) {
  char i;
    LCD_Cmd(64);
    for (i = 0; i‹=7; i++) LCD_Chr_Cp(character[i]);
    LCD_Cmd(LCD_RETURN_HOME);
    LCD_Chr(pos_row, pos_char, 0);
}
 void CustomChar1(char pos_row, char pos_char) {
  char i;
    LCD_Cmd(64);
    for (i = 0; i‹=7; i++) LCD_Chr_Cp(character1[i]);
    LCD_Cmd(LCD_RETURN_HOME);
    LCD_Chr(pos_row, pos_char, 0);
}
//********************  Основная программа  **************************************************  ******************
 void main()
 {
  TRISC=0;        //  весь порт на выход
  CMCON=7;        //  отключаем  компараторы
  TRISA=3;        //  0,1 входы остальные выходы
  TRISB=255;      //  все входы
  TRISD=48;       //  4,5 входы остальные на выход
  INTCON2=0;      //  подтягивающие резисторы на порте В включены
  INTCON=160;     //  прерывания от таймера и внешнее от кнопки вкл.
  PORTB=0;        //  сброс порта
  PORTD=0;        //  сброс порта
  PORTC=0;        //  сброс порта
  T0CON=194;      //  разрешаем работу 0-го таймера в 8 битном режиме   предделитель 1:8
  ADCON0=0;       //
  ADCON1=13;      //  0,1 каналы аналоговые , остальные цифровые
  ADCON2=7;       //  ?
  rejim=0;        //  обнулим переменную
//   asm{           //  засыпаем и ожидаем внешнего прерывания
//       sleep
//      }
 Lcd_Config(&PORTC,2,3,0,7,6,5,4);
  Lcd_Cmd(Lcd_CURSOR_OFF);
 Lcd_Out(1, 2, "Hello!");
  CustomChar(2,3 );
//------------------------------------------------------------------------------
 do{
  unsigned char a,b;

  CustomChar1(2,4 );

 
 
 
 
  }while(1);
 
}
Подскажите если не сложно.
Реклама:
ctefan вне форума  
Непрочитано 01.05.2009, 13:26   #2
ctefan
Временная регистрация
 
Регистрация: 15.06.2005
Сообщений: 86
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
ctefan на пути к лучшему
По умолчанию

Извиняюсь за коментарии.
ctefan вне форума  
Непрочитано 02.05.2009, 09:19   #3
ctefan
Временная регистрация
 
Регистрация: 15.06.2005
Сообщений: 86
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
ctefan на пути к лучшему
По умолчанию

извиняюсь за свой глупый вопрос
ответ на него нашёл .Просто неправильно выводил данные на жки,да это просто проба, а функции записи
переопределяемых символов нужно оптимизировать
это позже.
Код:
   for (i = 0; i‹=7; i++){ LCD_Chr_Cp(character[i]);
     }
}
 void CustomChar1() {
  char i;
    LCD_Cmd(72);
    for (i = 0; i‹=7; i++){ LCD_Chr_Cp(character1[i]);
}
}
 void CustomChar2() {
  char i;
    LCD_Cmd(80);
    for (i = 0; i‹=7; i++){ LCD_Chr_Cp(character2[i]);
}
}
//********************    **************************************************  ******************
 void main()
 {
  TRISC=0;        //  
  CMCON=7;        //  
  TRISA=3;        // 
  TRISB=255;      //  
  TRISD=48;       //  
  INTCON2=0;      //  
  INTCON=160;     //  
  PORTB=0;        // 
  PORTD=0;        //  
  PORTC=0;        //  
  T0CON=194;      //  
  ADCON0=0;       //
  ADCON1=13;      //  
  ADCON2=7;       //  
  rejim=0;        //  
//   asm{           //  
//       sleep
//      }
  Lcd_Config(&PORTC,2,3,0,7,6,5,4);
  Lcd_Cmd(Lcd_CURSOR_OFF);
  CustomChar();
  Lcd_Out(1, 1, "Hello!");
  CustomChar1();
  CustomChar2();
//------------------------------------------------------------------------------
 do{
  Lcd_Chr(2,1,0 );
  delay_ms(200);
  Lcd_Chr(2,1,2 );
  delay_ms(200);
  Lcd_Chr(2,1,1 );
  delay_ms(200);
 
  }while(1);
 
}
ctefan вне форума  
Закрытая тема

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
P-CAD 2006... Вопрос к знатокам IY Микроконтроллеры, АЦП, память и т.д 0 12.03.2008 14:15
Вопрос по симулятору в MikroC 6.2 fmssp Микроконтроллеры, АЦП, память и т.д 0 02.04.2007 10:38
Проблема с диммером. Вопрос к знатокам... Lars3 Источники питания и свет 1 12.01.2007 17:08
Вопрос к знатокам Keil mVision2. 011119xx Микроконтроллеры, АЦП, память и т.д 8 07.08.2006 09:02
Вопрос к знатокам Си от Keil C51. 011119xx Proteus, KiCAD и другие ECAD 1 29.07.2005 00:56


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


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