Микропроцессоры и цифровая обработка сигналов
Задание 1.
Разработать схему алгоритма и написать программу на языке программирования С. Вариант задания выбрать в соответствии с предпоследней цифрой шифра студента.
Вариант 1. Сформировать массив из 10 чисел. Найти наибольший элемент массива и его номер.
Схема алгоритма

Текст программы:
main()
{
int A[10]={2,5,-8,7,-3,15,38,-11,66,-6}; //задание массива
int I,S,N; //объявление переменных целого типа
S=0; //начальное значение наибольшего числа массива
N=I; //начальный номер числа массива
for (I=1;I<10;I++) //переменная цикла I изменяется от 1 до 10 с шагом 1
{
if(A[I]>S) //если элемент массива больше предыдущего числа
S=A[I], //присвоение наибольшего числа массива
N=I+1; //номер наибольшего числа массива
}
}
Задание 2.
Разработать микропроцессорное устройство на основе микроконтроллера AduC842.
1. Привести схему устройства с описанием назначения элементов.
2. Разработать схему алгоритма и программу на языке программирования С. При написании программы обязательно использовать комментарии в каждой строке, описывающие производимые действия.
Вариант задания выбрать в соответствии с последней цифрой шифра студента.
Вариант 0. Разработать устройство, включающее электродвигатель при вводе в микроконтроллер определенной восьмиразрядной двоичной кодовой комбинации.
Описание схемы.
Основным элементом схемы является микроконтроллер AduC842. К параллельному порту P1 подключено 8 контактов. Выводы P1.1 – P1.8 установлены на ввод информации и подтянуты к +5В. Кнопки имеют нормально – разомкнутые контакты, поэтому если кнопка не нажата, то на входе возникает логическая единица. Однако, стоит замкнуть кнопку на соответствующем выводе появится низкий уровень.
К параллельному порту P2 подключено пусковое реле электродвигателя. При появлении на порту Р2.1 логической единицы входной сигнал (управляющий ток) через диод D1 подается на светодиод. Излучение попадает на фотодиодную матрицу (фотоэлектрический генератор). Падающее излучение создает в фотодиодной матрице фото-ЭДС. Наведенное напряжение подается на схему управления, которая в свою очередь формирует необходимый сигнал для управления выходным ключевым каскадом, обеспечивает защиту затвора выходного МОП-ключа, обеспечивает быстрое выключение ключа. Силовой ключ реализован на элементах С5, С6, R10, R11, и симисторе TR1. Резистор R9 ограничивает ток через светодиод оптореле.
Схема включения микроконтроллера типовая. К входу RESET подключена схема сброса микроконтроллера при включении питания. Для стабилизации напряжения питания использована схема стабилизатора напряжения.

Схема алгоритма.

Текст программы:
sfr P1=0x90; //объявляем переменную P1 как регистр с адресом 0x90
sbit P11=0x91; // объявляем переменную P11 как бит регистра с адресом 0x91
sbit P12=0x92; // объявляем переменную P12 как бит регистра с адресом 0x92
sbit P13=0x93; // объявляем переменную P13 как бит регистра с адресом 0x93
sbit P14=0x94; // объявляем переменную P14 как бит регистра с адресом 0x94
sbit P15=0x95; // объявляем переменную P15 как бит регистра с адресом 0x95
sbit P16=0x96; // объявляем переменную P16 как бит регистра с адресом 0x96
sbit P17=0x97; // объявляем переменную P17 как бит регистра с адресом 0x97
sbit P18=0x98; // объявляем переменную P18 как бит регистра с адресом 0x98
sbit P21=0x11; // объявляем переменную P21 как бит регистра с адресом 0x11
main() //главная функция
{
P1=1; //во все разряды порта Р1 записываем единицы (переводим порт в режим приема цифровой информации)
if(P11==1) if(P12==1) if(P13==0) if(P14==1) if(P15==1) if(P16==0) if(P17==1) if(P18==0)
P21=1; //если P11 равна 1, P12 равна 1, P13 равна 0, P14 равна 1, P15 равна 1, P16 равна 0, P17 равна 1, P18 равна 0, то P21 присвоить 1
while(1); //бесконечный цикл
}