Informatics Point
Информатика и проектирование
Алгоритм программы микроконтроллера состоит из двух основных частей:
основной программы и прерывающей программы таймера.
1. Основная программа (MAIN) осуществляет начальную инициализацию и переводит процессор микроконтроллера в спящий режим, при котором потребление минимально. Спящий режим прерывается запросом прерывания от внутреннего таймера, поступающего через каждые 2 мс, подпрограмма обслуживания которого и реализует все функции устройства.
2. Прерывающая программы таймера (Int_Timer_A) реализует следующие функции:
· динамическая индикация (подпрограмма Display вызывается через 2мс);
· опрос клавиатуры с защитой от дребезга (подпрограмма KeyBScan вызывается через 2мс);
· ввод/редактирование времени таймера (подпрограмма Servis_Key вызывается через 2мс);
· отсчет таймера (подпрограмма Timer вызывается через 1 сек);
· выдача звукового сигнала в течение 5 секунд, при истечении времени таймера (подпрограмма Beep вызывается через 1 сек).
Р-схемы программ приведены на рис. 4.
Рис.4. Таймер на микроконтроллере MSP430.Р-схемы
Приложение
Листинг программы
//-------------------------------------------------------------------
/*
Файл:
Автор: Егорова Екатерина Геннадьевна
Группа: РТЭ-11-08
Дата: 25.02.2012
Назначение: Таймер на микроконтроллере MSP430F2013
*/
//-------------------------------------------------------------------
//-------------------- Библиотечные файлы ---------------------------
#include <msp430x20x3.h>
//------------------------- Сокращения ------------------------------
#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 1995
#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[ ] = {
xC0, //0
xF9, //1
xA4, //2
xB0, //3
x99, //4
x92, //5
x82, //6
xF8, //7
x80, //8
0x90, //9
Расчёт электронно-дырочного перехода
Полупроводниковый
диод, двухэлектродный электронный прибор на основе полупроводникового (ПП)
кристалла. Понятие "Полупроводниковый диод" объединяе ...
Проектирование светодиодного табло на микроконтроллере PIC16C84
светодиодный надежность
Развитие
микроэлектроники и широкое применение ее изделий в промышленном производстве, в
устройствах и системах управления самыми раз ...
Нелинейный локатор
Большинство людей, которые мало знакомы с особенностями технического
шпионажа, полагают, что подслушивающие устройства представляют собой
исключительно ради ...
Меню сайта
2024 © www.informaticspoint.ru