Аппаратное обеспечение персонального компьютера


           

Эта функция формирует задержку,


  // на вход громкоговорителя

  outp(0x61, inp(0x61) | 3);

  // Выполняем задержку.

  tm_delay(time);

  // Выключаем громкоговоритель.

  outp(0x61, inp(0x61) & 0xfc);

}

/**

*.Name         tm_delay

*.Title        Формирование задержки по таймеру

*

*.Descr        Эта функция формирует задержку, используя

*              системный таймер

*

*.Proto        void tm_delay(int ticks)

*

*.Params       int ticks - величина задержки в периодах работы таймера

**/

void tm_delay(int ticks)

{

  _asm

  {

    push si

    mov  si, ticks

    mov  ah, 0

    int  1ah

    mov  bx, dx

    add  bx, si

delay_loop:

    int  1ah

    cmp  dx, bx

    jne  delay_loop

    pop  si

  }

}


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий