Курсовая работа: Разработка специализированного процессора для исполнения элементарных функций

Описание алгоритма программы микроконтроллера:

1. Подача напряжения питания на устройство, автоматически происходит сброс и запуск внутреннего генератора тактовых импульсов;

2. Инициализация режимов работы контролера и его внутренних устройств (портов, интерфейсов и т.д.);

3. Переход в энергосберегающий режим ожидания Power Down;

4. Ожидание прерывания INT1, выводящего контролер из спящего режима;

5. При приходе сигнала SS происходит загрузка регистров SPI и прием данных по MISO от УКС.

6. Анализ полученных данных. Если получена команда 1 – запуск вычисления функции arcth Z, если получена команда 2 – функции arcsin Z.

7. Начало вычисления заданной функции:

1 этап вычислений - расчет ri , Xi (для функции arcth Z) или ri , Qi (для функции arcsin Z);

2 этап вычислений – расчет Yi , Qi или Xi

8. Установка флага завершения вычислений;

9. Выдача результата по MOSI;

10. Ожидание прерывания либо INT0 переводящего в спящий режим контроллер, либо INT1 запускающего следующий расчёт.

3.2 Разработка программного обеспечения

Листинг программы на языке C++ для микроконтроллера ATmega16:

//== Библиотеки ========================================

#include <mega16.h>

#include <delay.h>

#include "ctype.h"

#include "stdlib.h"

//== Global Variables =====================================

#define TRUE 1

#define FALSE 0

#define COM1 0x01//команда начала вычислении arCthZ

#define COM2 0x02 //команда начала вычислении arcsinZ

#define GICRMask 0xC0 //разрешение прерываний Int0 Int1

#define MCUCRMask 0xCF //спящий режим POWER Down прерывания по низкому уровню

#define nMCUCRMask 0x0F //запретрежима POWER Down

// биты для настройки SPI

#define MOSI 5 //выходный данные передаются по 5 биту порта В

К-во Просмотров: 452
Бесплатно скачать Курсовая работа: Разработка специализированного процессора для исполнения элементарных функций