A400111011Десяткі секундA500111101Едініци секундA600111110
Примітка: старші 2 біти використовуються для управління індикаторами LH1, LH2 і в таблиці рівні 0.
3. Розробка програмного забезпечення
Для написання і налагодження програми була використана інтегрована середа розробки IAR Embedded Workbench. До її складу входить оптимизирующий C/C ++ компілятор і всі необхідні засоби для створення та налагодження програм вбудованих додатків на базі мікроконтролерів сімейства MSP430. Для налагодження в реальному часі був також використаний налагоджувальний комплект eZ430-F2013 [4]. Програма написана на мові С.
4. Розробка алгоритму програми мікроконтролера
Алгоритм програми мікроконтролера складається з двох основних частин:
основної програми і перериває програми таймера.
1. Основна програма (MAIN) здійснює початкову ініціалізацію і переводить процесор мікроконтролера в сплячий режим, при якому споживання мінімально. Сплячий режим переривається запитом переривання від внутрішнього таймера, що надходить через кожні 2 мс, підпрограма обслуговування якого і реалізує всі функції пристрою.
2. Перериває програми таймера (Int_Timer_A) реалізує наступні функції:
· динамічна індикація (підпрограма Display викликається через 2мс);
· опитування клавіатури із захистом від брязкоту (підпрограма KeyBScan викликається через 2мс);
· введення/редагування часу таймера (підпрограма Servis_Key викликається через 2мс);
· відлік таймера (підпрограма Timer викликається через 1 сек);
· видача звукового сигналу протягом 5 секунд, при закінченні часу таймера (підпрограма Beep викликається через 1 сек).
Р-схеми програм наведено на рис. 4.
Рис.4. Таймер на мікроконтролері MSP430.Р-схеми
Література
1. Сімейство мікроконтролерів MSP430x2xx. Архітектура, програмування, розробка додатків/пер. з англ. Евстіфеева А.В.- М .: Додека_XXI, 2010. - 544 с .: ил.- (Серія Світова електроніка ).
. # justify gt ;. # justify gt ;. # justify gt; Мікроконтроллерні таймер дисплей програма
Додаток
Лістинг програми
//-------------------------------------------------------------------
/*
Файл:
Автор: Єгорова Катерина Геннадіївна
Група: ДТЦ - 11-08
Дата: 25.02.2012
Призначення: Таймер на мікроконтролері MSP430F2013
*/
//-------------------------------------------------------------------
//-------------------- Бібліотечні файли ---------------------------
# include lt; msp430x20x3.h gt;
//------------------------- Скорочення ------------------------------
# define u_char unsigned char
# define u_int unsigned int
//----------- Константи, використовувані в різних програмах -----------
# define NOT_DEFINE 0x99
# define KEY_MODE 0x01
# define KEY_UP 0x02
# define BOUNCE_TIME 20
# define TMR_2000MKS тисяча дев'ятсот дев'яносто п'ять
# define SW_Load 0x04
# define Power_On 0x10
# define fl_half_sec 0x01
# define blink_bit 0x02
# define REG_SHCP BIT5
# define REG_STCP BIT4
# define REG_DS BIT6
//begin ####################################### ####################### _ char hour_H;// десятки годин
u_char hour_L;// одиниці часов_char min_H;// десятки мінут_char min_L;// одиниці мінут_char sec_H;// десятки секунд_char sec_L;// одиниці секунд_char mode;// режим работи_char ct_2ms;// лічильник інтервалу часу по 2 мс_char ct_beep;// лічильник інтервалу в сек. звучання сігнала_char key;// виконавчий код кнопок_char cur_num;// номер поточної відображуваної ціфри_char cur_key;// номер поточного опитування кнопок_char prev_key;// результат попереднього опитування кнопок_char bounce_tmr;// лічильник для програмного виключення брязкоту
u_char flags; A; _char value; _char c; TBL_IMAGE []={