для організації наступного циклу очікування. Далі викликається процедура обчислення температури по вище наведеній формулі (вона (процедура) буде розглянута трохи нижче). Абсолютне значення температури, обчислене даною процедурою повертається в акумуляторі, а знак температури можна дізнатися аналізуючи спеціалізований прапор знака pos, який встановлюється якщо знак температури позитивний. На наступному етапі перевіряється входження поточної температури в запропонований в завданні проміжок. Для цього викликається спеціалізована процедура testlimit, яка здійснює дану операцію. p> Всередині цієї процедури може скинеться або встановиться прапор errtemp, який і попереджає про вихід температури за задані межі. Наслідки цієї події будуть з'ясовані пізніше
Далі абсолютне значення температури, записане в акумуляторі необхідно перевести в BCD-код. Для реалізації цієї операції скористаємося командою розподілу із залишком і розділимо acc на 10. У результаті в акумуляторі виявиться число десятків, а залишок буде представляти собою число одиниць діленого (в даному випадку мається на увазі, що число двухзначное). Далі:
змінюються тетради в acc і в старшій тетраді виявляються десятки проводиться операція АБО акумулятора з залишком і в результаті в acc виявляється абсолютне значення температури в BCD-коді. Цей BCD-код на наступному етапі перетвориться в код семисегментний індикатора. Цей процес проводиться за спеціальною таблицею кодів, записаної в ПЗУ. У даному випадку це інверсні коди, оскільки світлодіоди індикатора будуть управлятися нулем.
Коротке число для кожного розряду заносяться в спеціальну область пам'яті, де кожному розряду відводиться 1байт. У самий старший розряд виводиться знак температури, якщо такий є. Також поверяется на рівність 0 старший розряд числа і якщо це рівність виконується проводиться гасіння другого розряду індикатора, а в разі якщо температура негативна в нього виводиться знак мінус , а гасінню піддається третій розряд Далі програма переходить в цикл очікування нових даних.
Динамічна індикація
У даній роботі індикація є динамічною і здійснюється по перериванню від таймера, переповнення якого настає з певною частотою. У даному випадку використовується таймер T1. Блок-схема обробника цього переривання представлена ​​на рис. 3. p align="justify"> У нього входить ділянка, безпосередньо динамічної індикації, а також ділянка генерації звукових сигналів в критичних ситуаціях; під останніми розуміється аварія датчика або вихід температури за задані межі.
На самому початку обробника відбувається перевірка справності датчика. Для цього використовується раніше згадувана змінна control. Вона містить кількість інт...