Например TDA7294

Форум РадиоКот • Просмотр темы - Лагает код для atmega8535 / lcd !!!
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб дек 27, 2025 16:08:41

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Лагает код для atmega8535 / lcd !!!
СообщениеДобавлено: Чт апр 26, 2012 20:19:35 
Первый раз сказал Мяу!

Зарегистрирован: Сб фев 18, 2012 18:05:14
Сообщений: 20
Рейтинг сообщения: 0
Элементы выбираются и выводятся нормально на дисплей. Но когда я жму кнопку выбрать(ентер как бэ) то диод загорается, но при этом виснет "меню"... думаю в коде дело. т.к 4 мгц должно хватить на эти пару строк.:
Код:
#include <mega8535.h>
  #include <delay.h>
   #include <stdio.h>
#asm
   .equ __lcd_port=0x1B ;PORTA
#endasm
#include <lcd.h>
         int i = 0;
         int up_key = 0;
         int enter_key = 0;
         int selected;
         int lamp1 = 0;
char *bb[] = { "Settings", "Lamp 1", "Lamp 2", "Backlig.","point4","point5","point6" };
void main(void)
{
PORTA=0x00;
DDRA=0x00;

DDRB=0x00;
PORTB=0xFF;

PORTC=0x00;
DDRC=0x00;

DDRD=0xff;
 
// LCD module initialization
lcd_init(8);
 //sprintf( buffer,"abc""abc %s","abc" );
while (1)
      {
        if(PINB.0 == 0){
             if(up_key == 0){
              lcd_clear( );
              if(i >=(sizeof(bb)/sizeof(int))){ i = 0; }       
             
                     i++;
               lcd_gotoxy(0,0);
               lcd_puts(bb[i]);
               selected = i;
               lcd_gotoxy(0,1);
               if(i+1 >=  (sizeof(bb)/sizeof(int))){
               lcd_putsf("--------");
                }else{
               lcd_puts(bb[i+1]);
                 }
                  lcd_gotoxy(7,0 );
                   lcd_putchar(0xff);
               }
                 up_key = 1;
         }else{ up_key = 0; }
         
          if(PINB.1 == 0){
            if(enter_key == 0){
               PORTD.6 = 0xff;
   /*    if(selected == 1){
      if(!lamp1){
       lamp1 = 0;
        PORTD.6 = 0x00;
      }
      if(lamp1){
        lamp1 = 1;
      PORTD.6 = 0xff;
      }   
        enter_key = 1;
       }*/
      }
      } else{
      enter_key = 0;
       
        }   
         }
}


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y