Форум
  
Форум
Приветствую Вас, Гость · RSS Среда, 07.12.2016, 15:25

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Форум по статьям сайта » Все темы » Зависает счетчик импульсов. (код на си)
Зависает счетчик импульсов.
eriksson27Дата: Пятница, 17.08.2012, 17:55 | Сообщение # 1
Группа: Front-rank users
Сообщений: 5
помогите с моей програмой там счетчик импульсов и управление светодиодом старт и стоп включение и выключение светодиода програмируется 4 кнопками все работает токо одна проблема нада что бы счетчик работал независимо, а сечас у меня при нажатии кнопок установки включения и выключения светодиода останавливается счетчик импульсов. вот мой код на си
Код

#include <mega8.h>
#asm
.equ lcd_port=0x18
#endasm
#include <lcd.h>
#include <stdio.h>
#include <delay.h>

unsigned char lcd_buffer[33];//масив длс лсд

unsigned char imp;//перем для хранения счетчика импульсов
eeprom unsigned char st,sp;//переменная для данных старт и стоп вкл и выкл светодиода
void main(void)
{

PORTB=0x00;
DDRB=0x00;

PORTC=0x7F;
DDRC=0x00;

PORTD=0x00;
DDRD=0xFF;

ACSR=0x80;

lcd_init(16);

while (1)
{
if(PINC.2==0)//кнопка увиличения импульса включения светодиода
{
delay_ms(220);
st++;
}
if(PINC.3==0)//кнопка для уменшения имп включения светодиода
{
while(PINC.3==0);
st--;
}
if(PINC.4==0)//кнопка для увиличения импульса выключения светодиода
{
while(PINC.4==0);
sp++;
}
if(PINC.5==0)//кнопка для уменшения импульса выключения светодиода
{
while(PINC.5==0);
sp--;
}

sprintf(lcd_buffer,"IMPULS=%d\nStart=%d Stop=%d",imp,st,sp,);//зопись в масив данных для вывода на лсд
lcd_clear();
lcd_puts(lcd_buffer);//вывод масива на лсд

if(PINC.0==0)//счетчик импульсов
{
while(PINC.0==0);
imp++;
}

while(PINC.1==0)//сброс счетчика
{
imp=0;
}
if(imp==st)//управление светодиодом
{
PORTD.0=1;
}
if(PIND.0==1)
{

if(imp==sp)
{
PORTD.0=0;
}
}

};
 
C@atДата: Пятница, 17.08.2012, 21:37 | Сообщение # 2
Группа: Hegemoniс
Сообщений: 12345714
Могу только указать причину, вы используете везде оператор while(PINC.0==0);сейчас в нем причина, почитайте про него, решения как избавится от вашей неполадки у меня нет.

Вам бы лучше свой вопрос написать в форуме радиокота , http://radiokot.ru/forum/viewtopic.php?f=20&t=5560&start=4280 там много толковых людей которые не прочь разгадывать ребусы...


Всемирное признание пУТИН ХУЙЛО http://uk.wikipedia.org/wiki/
Россия, при нынешнем президенте, источник войны и терроризма. ПРЕЗИРАЮ.
 
eriksson27Дата: Пятница, 17.08.2012, 22:08 | Сообщение # 3
Группа: Front-rank users
Сообщений: 5
а как сделать что бы счетчик работал независимо от того что я нажимаю кнопки для изменения переменных включения и выключения светодиода?
 
Форум » Форум по статьям сайта » Все темы » Зависает счетчик импульсов. (код на си)
Страница 1 из 11
Поиск:

Конструктор сайтов - uCoz
Copyright MyCorp © 2016