Разработанное ПО содержит основную программу, из которой вызываются подпрограммы (функции). В программе содержится слудующих основных подпрограмм:
п/п инициализации контроллера
п/п обслуживания прерывания от кнопок для ввода дискретного задающего значения
п/п динамическая индикация
п/п обслуживания прерывания от таймера
п/п инициализации контроллера
Данная п/п служит для инициализации контроллера. На рисунке 2.1 представлена блок-схема подпрограммы.
Рис. 2.2 - Функциональная блок-схема п/п инициализации
п/п обслуживания прерывания от кнопок
При нажатии любой кнопки, вызывается соответствующая подпрограмма обслуживания прерывания
При нажатии кнопки увеличения задающего значения на 1-цу, в значение данного переменного добавляется 1. При нажатии кнопки уменьшения задающего значения на 1-цу, из значения данного переменного вычитается 1.
При запросе вноса значения, значение индикатор и главного параметра присвоит заданное значение.
п/п динамическая индикация
Данная п/п служит для индикации зад. значения. На рисунке 2.3 представлена блок-схема подпрограммы.
Рис. 2.3 - Функциональная блок-схема п/п динамическая индикация
П/п обслуживания прерывания от таймера
Данная п/п служит для ввода дискретных сигналов, вычисление управляющее воздействие по заданному закону и вывод на ИУ.
Рис. 2.4 - Функциональная блок-схема п/п обслуживания прерывания от таймера
Из передаточной функции , мы получили разностное уравнение . Для двоичных кодов, с которыми работает ОМК, АЦП и ЦАП мы имеем отношение
Вы так же выполнили моделирование для данной системы с помощью пакета программ Proteus. Результат моделирования приведен в приложение 1.
Заключение
В ходе работы над курсовым проектом были разработаны аппаратные средства и программное обеспечение системы сбора и обработки информации. Разработанная система сбора и обработки информации полностью соответствует требованиям технического задания.
Приложение 1
Схема устройства
Приложение 2
Листинг программы
#include <reg51.h> /* Специальные функции объявления регистров */
#include <math.h> /* для 51-ой серии МК. */
//переменныеchar data zad_zna,zad_zna1,sot,gesyat,eginit, rs;
unsigned char data datchik;char data y_i, y_i_1;short preriT0;char time;// / время до 1 секунды
void init(void) { // программа инициализации=0x9F;// регистр управление пре.в= 0x61; // Т1 от внеш. импульса, второй режим, Т0 от внутр. сигналов, первый режим - 16 разряд
// оба разрешены TR =1= 0xFF;=0xFF;= 1;//, запуск таймеров при TR = 1= 1; //, запуск таймеров= 0x000;= 0x2C; // P3.2, P3.3, P3.5 в альтернативном режиме
time = 0;_i=0;_i_1=0;_zna=0xA2;_zna1=0xA2;= 1;
}// конец под.п
unsigned char code_indi(unsigned char chisla)
{(chisla) {0:0xC0; break;//0x3F; break;1:0xF9; break;//0x06; break;2:0xA4; break;//0x5B; break;3:0xB0; break;//0x4F; break;4:0x99; break;//0x66; break;5:0x92; break;//0x6D; break;6:0x82; break;//0x7D; break;7:0xF8; break;//0x07; break;8:0x80; break;//0x7F; break;9:0x90; break;//0x6F; break;
}
}delay(unsigned char count){ // программа задержки на 100*count мкс
unsigned short data Del;(count; count !=0; count--)(Del = 0x015E; Del !=0; Del--);
}dinami_idi(void) { // программа индикации
unsigned char idata raznost;= abs(zad_zna-datchik);(raznost> (0.1*zad_zna)) WR=1; else WR =0; // проверка !dE! > 0.1 Uza =zad_zna1/100;=(zad_zna1-100*sot)/10;
eginit=zad_zna1-100*sot-10*gesyat;
Функционально-логическое проектирование цифрового узла заданного типа в заданном базисе и проверка его функционирования при различных наборах воздействующих сигналов
Цель
работы: синтезировать цифровой узел заданного
типа в заданном базисе и проверить его функционирование при различных наборах
воздействующих сигналов.
...
Автомат для кормления аквариумных рыб
Автомат для кормления аквариумных рыб - устройство предназначенное для автоматического сброса корма для рыб в аквариум.
Цель курсового проекта - разработка конструкции и ...
Фазовращатели фазированных антенных решеток
фазовращатель фазированный антенный решетка
Представим
себе высоконаправленную антенну, обеспечивающую связь с искусственным спутником
Земли (ИСЗ). Такая ант ...