Pic16F690+Регистр Сдвига + Динамическая Индикация

7-06-2013, 16:47 От: admin Посмотрели: 724
Добрый день товарищи! Помогите разобраться с проблемой неработоспособности устройства. Схему собрал правильно , код вроде тоже (проверил в симуляторе протеус прежде чем в железяку заливать прошивку).

При прошивке и включении устройства, на индикаторе подсвечены все сегменты....



Привожу код:




void led_out(char value)
{
unsigned char i;
for(i=0; i<=7; i++) // 8
{
if (value & 0x80) // " " DS
{
data_led |=1;
}
else
{
data_led = 0;
}
value <<=1;
clk_led=1; // "0" SH_CP
clk_led=0; // "1" SH_CP - ( SH_CP)
}
}
void latch_reg()
{
latch_led = 1; // "1" ST_CP - " " ("" ST_CP)
latch_led = 0; // "0" ST_CP
}

void led_shou(char data_0,char data_1)
{
led_out(data_0);
led_out(data_1);
}
void led_clear()
{
led_shou(0x00,0xFF);
}
void interrupt()
{
if(INTCON & 0x04)
{
indication_func();
menu_func(); // menu!
key_func(); //
led_clear();
led_shou( data_buff , y);

switch(x)
{
case 0:
data_buff = led_buff[0];

y = 0b00001110;
break;
case 1:
data_buff = led_buff[1];

y = 0b00001101;
break;
case 2:
data_buff = led_buff[2];

y = 0b00001011;
break;
case 3:
data_buff = led_buff[3];

y = 0b00000111;
break;
}
}

latch_reg();
if(++x>3){x=0;}
TMR0 = 5+TMR0; //TMR0 = 120; // clear TMRO
INTCON = 0x20; // clear TMR0IF and set TMR0IE
//latch_led = 1;
}



Вот так я вывожу данные с массива:




void indication_func()
{
temp1 = temp;
if (temp1<10)
{
led_buff[3]=led_table[10]; //
led_buff[2]=led_table[10];
led_buff[1]=led_table[temp];
}
if (temp1>9 && temp1<100)
{
led_buff[3]=led_table[10]; //
led_buff[2]=led_table[temp%10];
temp=temp/10;
led_buff[1]=led_table[temp%10];
}
if (temp1>99 && temp1<1000)
{
led_buff[3]=led_table[temp%10]; //
temp=temp/10;
led_buff[2]=led_table[temp%10];
temp=temp/10;
led_buff[1]=led_table[temp%10];
}
}



Помогите пожалуйста разобраться в чем причина...
Раздел: Периферия и внешние устройства

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

Обсудить на форуме


На момент добавления Pic16F690+Регистр Сдвига + Динамическая Индикация все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031