Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Программирование CPU-188-5 Помогите!

 Ответить Ответить
Автор
Сообщение
kostikp Смотреть выпадающим
Новичок
Новичок


Присоединился: 07 Ноябрь 2007
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - kostikp Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Программирование CPU-188-5 Помогите!
    Опубликовано: 25 Ноябрь 2007 18:58
Написал программу мигания светодиодом по тпймру 1. В се моргает раз в секундупрог, но после запуска программы и выхода из нее не работает функция ftrans. Контроллер зависает после выполения программы мигания светодиода. Не знаю в чем проблема. Вот прилагаю с-файл и exe. Может кто поможет понять где косяк. Очень буду благодарен.    CZ952_cpu188.zip
Наверх
kostikp Смотреть выпадающим
Новичок
Новичок


Присоединился: 07 Ноябрь 2007
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - kostikp Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Ноябрь 2007 10:11

кто работал с cpu-188 помогите мой icq: 476-158-465 

Наверх
fantex Смотреть выпадающим
Новичок
Новичок


Присоединился: 27 Февраль 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 6
Свойства публикации Свойства публикации   Ответить, цитируя автора - fantex Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Декабрь 2007 13:25
Первоначально опубликовано kostikp

Написал программу мигания светодиодом по тпймру 1. В се моргает раз в секундупрог, но после запуска программы и выхода из нее не работает функция ftrans. Контроллер зависает после выполения программы мигания светодиода. Не знаю в чем проблема. Вот прилагаю с-файл и exe. Может кто поможет понять где косяк. Очень буду благодарен.    CZ952_cpu188.zip


А кто за тебя будет восстанавливать предыдущее значение вектора прервания? Потаму та прога и подвисает.

Пример рабочего кода:

static volatile word count = 0;

static void interrupt TimerHandler(__CPPARGS)
{
     register byte t1;

     __asm {
          mov     dx, 0xFF2C
          in     ax, dx
          and al, 1
          mov [t1], al
     }

     if (t1 != 0)
     {

          // Делаешь, что те нужно

          count += 1;

          __asm {
               mov dx, 0xFF22
               mov ax, 8
               out dx, al
          }
     }
     else
     {
          oldTimerHandler();
     };

}

static void InitTimerHandler()
{
     __asm {
          cli

          mov dx, 0xFF5E
          mov ax, 0x4000
          out dx, al

     // Timer1 counter

          mov dx, 0xFF58
          xor ax, ax
          out dx, al

     // Timer1 MaxCountA

          mov dl, 0x5A
          mov ax, MaxCountA
          out dx, al

     // Enable Timers Interrupts

          mov dx, 0xFF28
          in ax, dx
          and al, 0xFE
          out dx, al

     // Enable Timer1 with interrupts

          mov dx, 0xFF5E
          mov ax, 0xE001
          out dx, al
     }

     oldTimerHandler = _dos_getvect(0x12);
     _dos_setvect(0x12, TimerHandler);

     __asm     sti
}

static void DestroyTimerHandler()
{
     __asm {

     // Disable Timer1

     mov dx, 0xFF5E
     mov ax, 0x4000
     out dx, al

     }

     _dos_setvect(0x12, oldTimerHandler);
}
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz