stify"> Далі детально описані всі перераховані вище етапи.
4.1 Побудова проекту
Здійснивши все вище викладені етапи проектування та проаналізувавши ескізний проект, ми переходимо до наступної стадії проектування - технічний проект, а саме до опису проекту для введення в мікроконтролер Attine 2313.
При описі моделей на мовах програмування велику увагу слід приділяти конструкціям мови. Так потрібно використовувати конструкції, які сприймаються програмою програмування мікроконтролера, а також оптимізувати конструкції для досягнення найменших апаратних витрат. Даний процес дуже трудомісткий і вимагає досконалого знання мови і програми провідної програмування мікроконтролера. br/>
4.2 Опис інтерфейсу
Принципи побудови моделі включає методологію написання мовного коду. Специфікація складається на всю програму, що складається з основних блоків у відповідність з наступними етапами. p align="justify"> Необхідно виконати аналіз необхідних вхідних параметрів і констант, а також визначити їх тип і початкові значення.
4.3 Основні конструкції та процедури, які використовуються для написання програми
Лістинг 4.1 - Створення макросу
# define byBladeCnt 2
# define Prescaler 0x01// 0x00 - для кварцу 4MHz, 0x01 - для кварцу 8MHz ...
# define UpCount 4// +1 = кількість пропусків (0,1 S) до поновлення
# include
# include
BOOLEAN btTimeUpdate;// = 1, коли потрібно оновити час на дісплееwTime;// Час, який показує секундомір (в десятих секунди) btTimerOn;// TRUE - таймер запущений, FALSE - остановленbyTcnt;// лічильник десятих секундbyDisplayRefreshCnt;// ShowDisplayData (void);// Висновок екранного буфераPrepareRpmData (WORD wRpm); btDisplayUpdate;// = TRUE, якщо прийшов час оновити дісплейbyDisplay [4];/​​/ буфер даних, для виведення на екранwLockedRpm;
// Масив знакогенератораbyCharacter [12] = {0xFA,// ​​0
0x82,// ​​1
xB9,// ​​2
xAB, // 3
xC3,// ​​4
x6B,// ​​5
x7B,// ​​6
xA2,// ​​7
xFB,// ​​8
xEB,// ​​9
x00,// ​​blank
0x01// -
}; wRpm;// Швидкість обертання ротора (об/хв)
// BOOLEAN btRpmUpdate;// = 1, коли вимірюємо нове значення оборотовwTimerOvfCnt;// Лічильник переповнень таймера (потріб...