Читайте также: |
|
Для удобства и быстроты вычисления переменных температура была представлена в виде одного четырехзначного числа, где старшие 2 знака это целые числа температуры, а младшие 2 знака – сотые. Длительность периода periodtime представлена в секундах. Но для того, чтобы при вычислениях можно было работать с сотыми долями градуса, таймер который настроен на работу в асинхронном режиме, выдает 128 прерываний в секунду. Соответственно переменная periodtime умножается на 128.
Выполнение кода подпрограммы динамического режима начинается с вычисления необходимых для этого режима работы переменных: dt – разность температур tempmax и tempmin, vh–число пропусков циклов полупериода, после которых нужно инкрементировать или декрементировать переменную текущей установленной температуры currenttemp.
Один период делится на 2 полупериода, в течение первого полупериода текущая установленная температура увеличивается до tempmax, а в течение второго полупериода – уменьшается до tempmin. Число периодов и времени периода задается пользователем. В программе полупериод представляется собой цикл, число выполнения которого равно periodtime/2. Внутри цикла происходит сравнение переменной vhс переменнойvhb, которая инкрементируется внутри цикла, и, если переменные равны, то происходит инкрементирование переменной currenttemp и обнуление vhb. Программа второго полупериода выполняется аналогично, только переменная currenttemp не инкрементируется, а декрементируется.
Дата добавления: 2015-09-02; просмотров: 52 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Внешний вид электронных блоков | | | Описание работы термостата. |