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

 
 
> AT89C2051 Внешнее прерывание, может быть конфликт?
VAHOO
сообщение Nov 20 2006, 14:50
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834



Всем привет пишу программу для игры <HOKEY>,
вот немогу заставить чтобы два внешных прерывание
стали нормально работать, прошу помогите, я навичок,
скажите где нето зделал? help.gif


#include <AT892051.h>
#include <REG2051.H>


static unsigned char Numbers[10] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
unsigned char igrok_A,igrok_B;
unsigned int i;

void DisplayA();
void DisplayB();
void Wait();
void Summary();
void Start();
void time();

void wait ()

{
;
}

void ex0_isr (void) interrupt 0
{

igrok_A++;
}

void ex1_isr (void) interrupt 1
{

igrok_B++;

}

main()

{
EA = 1;

EX0 = 1;
EX1 = 1;

IT0 = 1;
IT1 = 1;

igrok_A = -1;
igrok_B = -1;

while(1)

{
DisplayA();
DisplayB();

}

}

void DisplayA()
{
unsigned int tmpSum ;
unsigned char index;

P3 = 0;


tmpSum = igrok_A;
if (tmpSum < 0 || tmpSum > 9 )
return;

index = tmpSum ;

P3 |= 0x02 ;
P1 = Numbers[index];
for (i=0;i<50;i++)
{
wait();
}
P3 &=~0x02;

}

void DisplayB()
{
unsigned int tmpSum ;
unsigned char index;

P3 = 0;


tmpSum = igrok_B;
if (tmpSum < 0 || tmpSum > 9 )
return;


index = tmpSum ;

P3 |= 0x01;
P1 = Numbers[index];
for (i=0;i<50;i++)
{
wait();
}
P3 &=~0x01;


}

Сообщение отредактировал VAHOO - Nov 20 2006, 14:53


--------------------
Прошивка это душа микроконтроллера!
Go to the top of the page
 
+Quote Post



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

 


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


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