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
Проектирование радиоприемного устройства
радиосигнал приемник частота демодулятор
Радиоприемное устройство - одно из важнейших и необходимых
элементов любой радиотехнической системы передачи сооб ...
Применение аппаратно-вычислительной платформы Arduino для программирования автомобильных компьютерных систем
Если
у нас нет GPS Приемника, а мы хотим, как то ориентироваться в пространстве, то
можно использовать цифровой компас, который ре ...
Разработка автоматизированной системы контроля процессов пайки топливных коллекторов
На современном этапе развития промышленности, обеспечение стабильной
работы предприятий по выпуску конкурентоспособной продукции, является задачей
первостеп ...
Меню сайта
2025 © www.informaticspoint.ru