![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| vahoo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.4.2006 Репутация: нет Всего: нет |
Всем привет пишу программу для игры <HOKEY>,
вот немогу заставить чтобы два внешных прерывание стали нормально работать, прошу помогите, я навичок, скажите где нето зделал? #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 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.4.2006 Репутация: нет Всего: нет |
почему ни кто не отвечает??
|
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
А что должно быть то?
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| vahoo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.4.2006 Репутация: нет Всего: нет |
если убираю строка
EX1 = 1; тогда прерывание от P3.2 происходит когда на эту ношку подаю высоки уровень и нормально работает, но мне надо чтобы работали вместе, вы по моему уже поняли, когда шар попадает на ловушку на семисегментном индикаторе пишет 1 : 0 и так дале... допустим 9 : 9, на строках igrok_A = -1; igrok_B = -1; игра начало с 0 : 0; причем тут igrok_A = 255; //0xFF igrok_B = 255; //0xFF ??? static unsigned char Numbers[10] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09}; это цифры от 0 до 9; for (i=0;i<50;i++) { wait(); } временные задержки |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Я может тупой, но опять ничего не понял.
Напишите нормально, на русском и чтобы была понятна суть проблемы... СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |