Page 264 - 4503
P. 264

регістр  і  деякі  ознаки  регістра  STATUS.  Однак  більшість
           підпрограм використовують дані, що передаються їм під час
           виклику,  і  вводять  у    основну  програму  певні  дані  при
           поверненні.  Тож  доопрацюємо  програму  8.3,  в  такий  її
           варіант, щоб вона формувала затримку тривалістю К 100 мс,
           де К — це однобайтний параметр, що передається із основної
           програми у цю підпрограму.
                За  аналогією  до    мови  Delphi    можемо  назвати  цю
           підпрограму  процедурою  з  параметрами,  мовою  С  —  це
           аналог функції без типу ( точніше її тип — Void).
                Системне  зображення  такої  функції  (процедури)
           показано  на  рисунку  8.8.  На  ньому  наявний  один  вхідний
           сигнал з діапазоном 1..256 і цілком відсутні вихідні сигнали.













                  Рисунок 8.8 — Системне зображення процедури, яка
                      формує затримку тривалістю  К 100 мс

                На  рисунку  відображено  також  і  локальні  змінні
           COUNTER    і  K,    котрі  використовуються  виключно  в  межах
           процедури.
                Оскільки  підпрограма  отримує  із  основної  програми
           тільки  один  параметр  —  К,  то  найзручнішим  місцем
           збереження його є регістр W.
                Тож, для створення  програми п’ятисекундної затримки,
           в основній програмі можна записати такі рядки:


                                         264
   259   260   261   262   263   264   265   266   267   268   269