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

Перейти на страницу: 1 2 3

Лучшие статьи по информатике

Разработка контура регулирования давления смешанного газа на ГСС блока воздухонагревателей
Главным средством технического процесса, без которого невозможны высокие темпы дальнейшего роста производительности труда, является комплексная механизация ...

Частотно-территориальное планирование сети сотовой подвижной связи стандарта GSM
Линии радиосвязи, входящие в состав сотовых сухопутных подвижных систем электросвязи (ССПСЭ) и спутниковых систем связи, обычно работают в диапазонах ультра ...

Проектирование сети местной телефонной станции
Переход от электромеханических к электронным системам коммутации и цифровым сетям характеризуется образованием единой системы передачи и коммутации информац ...

Меню сайта