реклама на сайте
подробности

 
 
> avr и lcd, подскажите где я не так сделал
Viktor110668
сообщение Mar 19 2011, 13:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 31-03-08
Пользователь №: 36 364



пишу на 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 );
} ;
}
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 10:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016