Перейти к содержанию
    

avr и lcd

пишу на cvavr вывод из переменной на дисплей а дисплей чистый и ничего некажет

 

 

#include <mega8.h>

#include <delay.h>

#include <stdio.h>

#include <lcd.h>

#asm

.equ __lcd_port=0x12; PORTD /* ÆÊÈ äèñïëåé ïîäêëþ÷èëè ê ïîðòó I/O D */

#endasm

unsigned int s = 5000;

int tmp;

 

void main(void)

{

 

lcd_init( 16 );

lcd_clear( );

lcd_gotoxy( 1,0 );

 

DDRB = 0x00; //ñòàâèì âñå ëàïêè ïîðòà B íà âõîä

PORTB = 0x00;

 

DDRD = 0xff; //ñòàâèì âñå ëàïêè ïîðòà D íà âûõîä

PORTD = 0x00;

DDRC = 0xff; //ñòàâèì âñå ëàïêè ïîðòà D íà âûõîä

PORTC = 0x00;

lcd_init(16);

delay_ms(100);

while(1) //áåñêîíå÷íûé öèêë

{

#asm("cli")

tmp = s;

#asm("sei")

if (PINB.1==0) {

(s=s++) ;

}

if (PINB.2==1) {

(s=s--);

}

 

if (PINB.0==0) /* "ÅÑËÈ íà ïîðò Á îáíàðóæåíî íàïðÿæåíèå"; '==' - îçíà÷àåò ñðàâíåíèå, à '=' - ïðèñâàèâàíèå çíà÷åíèÿ. Êîãäà ëàïêà ïîðòà íàçíà÷åíà íà âõîä, òî â óñëîâèè ìû óæå ïèøåì íå PORT, à PIN.*/

{

PORTC.0=1;

}

else

{

PORTC.0=0;

};

if (PINB.0==0) {

delay_ms(tmp);

PORTC.1=1;

}

else {

PORTC.1=0;

}

 

 

lcd_gotoxy( 1,1 ); /* çàïîëíÿåì ñèìâîëîì 2-óþ ñòðîêó îò 0 äî 15 */

lcd_putchar( tmp ); /* Ñèìâîë çàïîëíåííîãî çíàêîìåñòà èç òàáëèöû êîäîâ ñèìâîëîâ */

delay_ms( 50 );

} ;

}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RTFM

В lcd_putchar( tmp ) переменная tmp должнабыть типа char и должна содержать в себе код символа в соответствии с таблицей знакогенератора вашего дисплея. Эта функция используется для вывода одного символа!

 

Если хотите вывести переменную на экран в читаемом виде надо использовать printf или sprintf.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

непойдет !!!

функция printf сразу задействует usart и в протеусе выдает кучу ошибок

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используйте sprintf:

char lcd_buffer[33];

sprintf(lcd_buffer,"%i",tmp);
lcd_puts(lcd_buffer);

 

ну и еще надо начать пользоваться хэлпом к вашему компилятору.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...