электронно-вычислительных машин и систем

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Микроконтроллеры
  • 75 75 страниц
  • 21 + 21 источник
  • Добавлена 05.02.2020
4 785 руб.
  • Содержание
  • Часть работы
  • Список литературы
СОДЕРЖАНИЕ


ВВЕДЕНИЕ 7
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ, ПОСТАНОВКА ЗАДАЧИ 9
1.1 Обоснование актуальности разработки 9
1.2 Анализ состояния вопроса, основные параметры генерируемых сигналов 10
1.3 Уточнение требований к разрабатываемому устройству 15
1.4 Анализ аналогов, позволяющих решить поставленную задачу 16
1.5 Рассмотрение особенностей программирования используемого в конструкции дисплея 19
2 КОНЦЕПТУАЛЬНОЕ ПРОЕКТИРОВАНИЕ ПРИБОРА 24
2.1 Разработка функциональной схемы 24
2.2 Разработка принципиальной электрической схемы 25
2.2.1 Микропроцессорный модуль и индикация 25
2.2.2 Пульт управления 26
2.2.3 Цифроаналоговый преобразователь 34
2.2.4 Выходные цепи 35
2.2.5 Принципиальная схема прибора в сборе 37
3 РАЗРАБОТКА УПРАВЛЯЮЩЕЙ ПРОГРАММЫ МИКРОКОНТРОЛЛЕРА 39
3.1 Разработка библиотеки работы с LCD дисплеем 39
3.2 Разработка библиотеки ввода управляющей информации 47
3.3 Разработка модуля обработчика прерывания 49
3.4 Разработка основного модуля программы 50
4 МОДЕЛИРОВАНИЕ РАБОТЫ ГЕНЕРАТОРА В САПР 55
ЗАКЛЮЧЕНИЕ 59
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ И ИНЫХ ИСТОЧНИКОВ 60
ПРИЛОЖЕНИЕ А ИСХОДНЫЙ ТЕКСТ ОСНОВНОЙ ПРОГРАММЫ 62
ПРИЛОЖЕНИЕ Б ИСХОДНЫЙ ТЕКСТ LCD БИБЛИОТЕКИ 68
ПРИЛОЖЕНИЕ С ИСХОДНЫЙ ТЕКСТ БИБЛИОТЕКИ ВВОДА 73
ПРИЛОЖЕНИЕ Д ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ………………………………..…
Фрагмент для ознакомления

cНаобработчик прерывания возложена функция управления цифроаналоговым преобразователем для формирования выходного сигнала генератора.// Timer 0 output compare interrupt service routineinterrupt [TIM0_COMP] void timer0_comp_isr(void){ DAC=arr[current][poz];if(++poz==64)poz=0;}Выходной сигнал представляет собой циклически повторяющуюся последовательность из 64 дискретных уровней. Величина напряжения выходного сигнала цифроаналогового преобразователя для каждого из тактов последовательности задается элементами двухмерного массиваflashunsignedchararr[][64]…Первая размерность массива arr[][64] определяет количество типов генерируемых сигналов. В настоящей версии генератора это четыре. Вторая размерность – количество шагов дискретизации выходного периодического сигнала – 64.3.4 Разработка основного модуля программыПодключаем заголовочные файлы стандартных имен для микроконтроллера ATMega16, для библиотек ввода информации и работы с LCDдисплеем.#include #include #include #include Текстовая информация, отображаемая на дисплее в процессе работы генератора.flash unsigned char s0[]=" VGTU, kafedra EVM";flash unsigned char s1[]="VKR Razrabotkageneratora s LCD displeem";flash unsigned char s2[]="| Sygnal_1 | Sygnal_3 |>> <<";flash unsigned char s3[]="| Sygnal_2 | Sygnal_4 | f =";flashunsignedchars4[]=" Hz ";Объявляем используемые в работе переменныеflashunsignedchars0[]=" VGTU, kafedraEVM";flash unsigned char s1[]="VKR Razrabotkageneratora s LCD displeem";flash unsigned char s2[]="| Sygnal_1 | Sygnal_3 |>> <<";flash unsigned char s3[]="| Sygnal_2 | Sygnal_4 | f =";flash unsigned char s4[]=" Hz ";Начало основного модуля программы.voidmain(void){ИнициализацияПортаA. Все линии на ввод.PORTA=0x00;DDRA=0x00;ИнициализацияпортаB. Все линии на вывод. Начальный уровень всех линий при старте программы – низкий.PORTB=0x00;DDRB=0xFF;ИнициализацияпортаС. Все линии на вывод. Начальный уровень всех линий при старте программы – высокий.PORTC=0xFF;DDRC=0xFF;ИнициализацияПортаD. В конструкции генератора порт не используется. Все линии на ввод.PORTD=0x00;DDRD=0x00;Инициализация аналого-цифрового преобразователя ADC.ADMUX=0x60;ADCSRA=0x86;Настраиваем таймер Т0: тактирование от системной частоты микроконтроллера с предделителем на 64; режим СТС – сброс при совпадении с OCR0, выход OC0 не используется.TCCR0=0x0B;TCNT0=0x00;OCR0=0x00;Маскируем прерывание по совпадению таймера Т0.TIMSK=0x02;Выполняем инициализацию дисплея.lcd_init();Перемещаем курсор в начало верхней строки экрана.lcd_gotoxy(0,0);Выводим строку «ВГТУ, кафедра ЭВМ».lcd_putsf(s0);Перемещаем курсор в начало второй строки экрана.lcd_gotoxy(0,1);Выводим строку «ВКР Разработка генератора с LCDдисплеем».lcd_putsf(s1);Перемещаем курсор в начало третьей строки экрана.lcd_gotoxy(0,2);Выводим строку «| Сигнал_1 | Сигнал_3 |>> <<».lcd_putsf(s2)Перемещаем курсор в начало четвертой строки экрана.lcd_gotoxy(0,3);Выводим строку «| Сигнал_2 | Сигнал_4 |f =».lcd_putsf(s3); Производим глобальное разрешение прерываний.#asm("sei")Начало бесконечного рабочего цикла.while (1){Перемещаем курсор в двадцать пятую позицию третьей строки экрана.lcd_gotoxy(25,2);Опрашиваем состояние аналогового входа 1, функция get_key() возвращает номер нажатой клавиши (или число NUM_KEYS, если ни одна из клавиш в данный момент времени не нажата).Вызовом функции voidkeys(unsignedchar c) реализуем алгоритм обработки действия, определяемого нажатой в данный момент клавиши.keys(get_key(read_adc(1)));Выводим на экран строку символов, соответствующую выбранному номеру типа генерируемого сигнала.lcd_puts_syg(current);Выделяем символами «* *» название сигнала, на котором расположен указатель курсора.set_current(syg);Перемещаем курсор в двадцать тридцатую позицию четвертой строки экрана. lcd_gotoxy(30,3);Опрашиваем аналоговый вход 0 микроконтроллера. Уровень напряжения на нем определяет текущее положение потенциометра задатчика частоты генератора. Реакция системы на поворот ручки потенциометра задатчика частоты представлена на рисунке 3.1. Производим пересчет измеренного значения для вывода частоты генерации в Гц и для занесения в регистр сравнения OCR0 для управления этой частотой..f=read_adc(0)*0.89+25;i=f;f=488/(256-f);lcd_put_int(f); lcd_putsf(s4); OCR0=0xFF-i; Рисунок 3.1 – Реакция системы поворот ручки регулировки частоты сигналаа) поворот ручки регулятора до упора влево; б) поворот ручки регулятора до упора вправоФункцияvoidkeys(unsignedcharc) реализует алгоритм обработки действия, определяемого нажатой в данный момент клавиши («ВВЕРХ», «ВНИЗ», «ВЛЕВО», «ВПРАВО» и «ВВОД».Функцияvoidset_current(unsignedcharc) выделяет символами «* *» название сигнала, на котором расположен указатель курсора.Реакция системы на нажатие клавиш:- «ВНИЗ», при ее нажатии курсор перемещается на одну строку дисплея вниз (рисунок 3.2);Рисунок 3.2 – Реакция системы на нажатие кнопки «ВНИЗ»- «ВВЕРХ», при ее нажатии курсор перемещается на одну строку дисплея вверх (рисунок 3.3);Рисунок 3.3 – Реакция системы на нажатие кнопки «ВВЕРХ»- «ВПРАВО», при ее нажатии курсор перемещается на один столбец вправо (рисунок 3.4);Рисунок 3.4 – Реакция системы на нажатие кнопки «ВПРАВО»- «ВЛЕВО», при ее нажатии курсор перемещается на один столбец влево (рисунок 3.5);Рисунок 3.5 – Реакция системы на нажатие кнопки «ВЛЕВО»- «ВВОД», при ее нажатии курсор перемещается на один столбец вправо (рисунок 3.6);Рисунок 3.6 – Реакция системы на нажатие кнопки «ВВОД»4 МОДЕЛИРОВАНИЕ РАБОТЫ ГЕНЕРАТОРА В САПРМоделирование работы генератора выполняем в системе автоматизированного проектирования Proteus. Модель (рисунок 4.1) состоит из:- микроконтроллера U1. Микроконтроллер типа ATMega16. В него подгружается исполняемый код управляющей программы в HEXформате.- LCDиндикатора формата четыре строки по сорок символов. Связь с микроконтроллером по сокращенной четырехбитной шине данных D4 ÷D7, линии управления RSи двум стробирующим линиям E1, E2. Все линии связи с контролером LCDиндикатора сведены к порту Bмикроконтроллера U1.Рисунок 4.1 – Моделирование работы в САПР ProteusОрганы управления генератором:- клавиатура, содержащая кнопки «Вверх», «Вниз», «Влево», «Вправо» и «Ввод» совместно с резисторами сборки RN1 составляют аналоговую матрицу, формирующее при нажатии любой из клавиш определенный уровень напряжения на аналоговом входе ADC1 порта А микроконтроллера U1;- потенциометр RV1 «Частота». Положение его движка определяет величину постоянного напряжения на аналоговом входе ADC0порта А микроконтроллера U1.Вольтметры постоянного напряжения, подключенные параллельно входам ADC0 иADC1 микроконтроллера U1 показывают напряжения на данных входах при манипуляции с органами управления генератора. Облегчают настройку аппаратной части и отладку программы. В дальнейшем из принципиальной схемы могут быть исключены.Восьмибитный цифроаналоговый преобразователь (ЦАП)лестничного типа собран на дискретных элементах R1-R16 и управляется сигналами с порта С микроконтроллера U1.Выходной сигнал ЦАП буферизирован повторителем на операционном усилителе U2.Наблюдение за формой и основными параметрами выходного сигнала производится с помощью виртуального осциллографа (рисунок 4.2).Рисунок 4.2 – Демонстрация работы моделиНа рисунках 4.3 и 4.4 представлены осциллограммы генерируемых сигналов.Рисунок 4.3 – Осциллограммы генерируемых сигналов (№1 и №2)Рисунок 4.3 – Осциллограммы генерируемых сигналов (№3 и №4)ЗАКЛЮЧЕНИЕЦель выпускной квалификационной работы бакалавра: применение на практике ранее полученных навыков и знаний в области разработки программного обеспечения автоматизированных систем достигнута. Разработана аппаратно-программная система цифрового генератора сигналов произвольной формы. Для достижения поставленной цели в процессе выполнения работы были поставлены и решены следующие задачи:- проведен анализ предметной области, обоснована актуальность разработки, определены основные параметры генерируемых сигналов, произведено уточнение требований к разрабатываемому устройству, выполнен анализ аналогов, позволяющих решить поставленную задачу, рассмотрены особенности программирования используемого в конструкции дисплея;- в рамках концептуального проектирования разработаны функциональная и электрическая принципиальная схемы, подробно рассмотрены микропроцессорный модуль и индикация, пульт управления, цифроаналоговый преобразователь, выходные цепи;- разработана управляющая программа микроконтроллера: особое внимание уделено разработке библиотеки для работы с LCD дисплеем, разработана библиотеки ввода управляющей информации, основной модуль и модуль обработчика прерывания;- проведено моделирование разработанной аппаратно-программной системы в программном симуляторе на ПК.СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ И ИНЫХ ИСТОЧНИКОВ1. Выпускная работа бакалавра: учебное пособие под ред. проф. кафедры САПР и ПК Кравец А.Г./ ВолгГТУ. – Волгоград, 2013. – 40 с.2. Дипломное проектирование: метод.указания для студентов 230101.65 «Вычислительные машины, комплексы, системы и сети»/ сост. И.Ю. Королева, А.Е. Андреев; ВолгГТУ. – Волгоград, 2011. – 34 с.3. Федеральный государственный образовательный стандарт высшего профессионального образования (ФГОС) по направлению «Информатика и вычислительная техника».4. Стандарт предприятия. Проекты (работы) дипломные и курсовые. Выпускные работы бакалавров. Магистерские диссертации. Правила оформления. СТП ВолгГТУ 023-985. ГОСТ 3.1105-84 ЕСТД. Формы и правила оформления документов общего назначения.6. ГОСТ 2.004-88 ЕСКД. Общие требования к выполнению конструкторских и технологических документов на печатающих и графических устройствах вывода ЭВМ.7. ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам.8. Баранов, В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы.Применение микроконтроллеров AVR: схемы, алгоритмы, программы / В.Н. Баранов. - М.: Додэка-XXI, 2006. - 288 c.9. Евстифеев, А.В. Микроконтроллеры AVR семейств Mega. Руководство пользователя / А.В. Евстифеев. - М.: ДМК, 2015. - 588 c.10. Иванов, В.Б. Программирование микроконтроллеров для начинающих. Визуальное проектирование, язык С, ассемблер / В.Б. Иванов. - СПб.: КОРОНА-Век, 2015. - 176 c.11. Кравченко, А.В. 10 практических устройств на AVR-микроконтроллерах кн.1 / А.В. Кравченко. - М.: МК-Пресс, 2014. - 224 c.12. Мортон, Д. Микроконтроллеры AVR. Вводный курс / Д. Мортон. - М.: ДМК, 2015. - 272 c.13. Прокопенко, В.С. Программирование микроконтроллеров ATMELна языке C / В.С. Прокопенко. - СПб.: Корона-Век, 2015. - 320 c.14. Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств / А.В. Белов. - СПб.: Наука и техника, 2016. - 544 c.15. Техническая информация [Электронный ресурс]. – Режим доступа:https://www.bbrc.ru/catalog/item/akip_3402/ свободный – (06.01.2020).16. Техническая информация [Электронный ресурс]. – Режим доступа: https://www.eliks.ru/news/index.php?news=175141 свободный – (06.01.2020).17. Техническая информация [Электронный ресурс]. – Режим доступа:https://prist.ru/upload/iblock/75d/AKIP_3415_katalog.pdf свободный – (06.01.2020).18. Техническая информация [Электронный ресурс]. – Режим доступа: https://kaliningrad.ank-ndt.ru/produkcziya/radioizmeritelnyie-priboryi/generatoryi-signalov-speczialnoj-formyi/gens-101-generator-signalov-proizvolnoj-formyi.html свободный – (06.01.2020).19. Техническая информация [Электронный ресурс]. – Режим доступа: https://pdf1.alldatasheet.com/datasheet-pdf/view/174743/ATMEL/ATMEGA16.html20. Техническая информация [Электронный ресурс]. – Режим доступа: https://chipenable.ru/files/course/lcd/hd44780.pdf свободный – (06.01.2020).21. Техническая информация [Электронный ресурс]. – Режим доступа: https://pdf1.alldatasheet.com/datasheet-pdf/view/105150/AD/AD8091.htmlсвободный – (06.01.2020).ПРИЛОЖЕНИЕ А ИСХОДНЫЙ ТЕКСТ ОСНОВНОЙ ПРОГРАММЫ#include #include #include #include flash unsigned char s0[]=" VGTU, kafedra EVM";flash unsigned char s1[]="VKR Razrabotkageneratora s LCD displeem";flash unsigned char s2[]="| Sygnal_1 | Sygnal_3 |>> <<";flash unsigned char s3[]="| Sygnal_2 | Sygnal_4 | f =";flash unsigned char s4[]=" Hz ";flash unsigned char arr[][64]={// Сигнал 1 0,7,15,23,31,39,47,55,63,71,79,87,95,103,111,119,127,135,143, 151,159,167,175,183,191,199,207,215,223,231,239,247,255, 247,239,231,223,215,207,199,191,183,175,167,159,151, 143,135,127,119,111,103,95,87,79,71,63,55,47,39,31,23,15,7,// Сигнал 2 0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72, 76,80,84,88,92,96,100,104,108,112,116,120,124,128, 132, 136,140,144,148,152,156,160,164,168,172,176,180,184, 188, 192, 196,200,204,208,212,216,220,224,228,232,240,244,248,252,255,// Сигнал 3 255,252,248,244,240,232,228,224,220,216,212,208,204,200,196, 192,188,184,180,176,172,168,164,160,156,152,148,144,140,136, 132,128,124,120,116,112,108,104,100,96,92,88,84,80,76, 72,68,64,60,56,53,48,44,40,36,32,28,24,20,16,12,8,4,0,// Сигнал 4 127,139,152,164,176,187,198,208,217,225,233,239,244,249,252, 253,254,253,252,249,244,239,233,225,217,208,198,187,176,164, 152,140,127,115,102,90,79,67,57,47,37,29,22,15,10,6,2,1, 0,1,2,5,10,15,21,29,37,46,56,67,78,90,102,114};unsigned char poz=0;unsigned char key_pos=0;extern unsigned char syg=0;extern unsigned char current=0; float f;inti;void keys(unsigned char c);voidset_current(unsigned char c);// Timer 0 output compare interrupt service routineinterrupt [TIM0_COMP] void timer0_comp_isr(void){ DAC=arr[current][poz];if(++poz==64)poz=0;}void main(void){// Инициализация Port APORTA=0x00;DDRA=0x00;// Инициализация Port BPORTB=0x00;DDRB=0xFF;// Инициализация Port C PORTC=0xFF;DDRC=0xFF;// Инициализация PortDPORTD=0x00;DDRD=0x00;// Инициализация ADCADMUX=0x60;ADCSRA=0x86;// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: f/64// Mode: CTC top=OCR0// OC0 output: DisconnectedTCCR0=0x0B;TCNT0=0x00;OCR0=0x00;// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x02;lcd_init();lcd_gotoxy(0,0);lcd_putsf(s0);lcd_gotoxy(0,1);lcd_putsf(s1);lcd_gotoxy(0,2);lcd_putsf(s2);lcd_gotoxy(0,3);lcd_putsf(s3); // Global enable interrupts#asm("sei")while (1){lcd_gotoxy(25,2);keys(get_key(read_adc(1)));lcd_puts_syg(current); set_current(syg); lcd_gotoxy(30,3); f=read_adc(0)*0.89+25;i=f; f=488/(256-f);lcd_put_int(f); lcd_putsf(s4); OCR0=0xFF-i; }}void keys(unsigned char c){if((key_pos==0)&&(c==NUM_KEYS)) return;if((key_pos!=0)&&(c!=NUM_KEYS)) return;if((key_pos!=0)&&(c==NUM_KEYS)){key_pos=0;return; }if((key_pos==0)&&(c!=NUM_KEYS)){ switch (c) {case 0 : current=syg; break; // Select Keycase 1 : if(syg>0)syg--; break;// Up Keycase 2 : if(syg<4)syg++; break; // Down Keycase 3 : if(syg>1)syg=syg-2; break;// Left Keycase 4 : if(syg<2)syg=syg+2; break; // Right Key }; key_pos=1;return; } }voidset_current(unsigned char c){lcd_gotoxy(1,2);lcd_write_data(' '); lcd_gotoxy(10,2);lcd_write_data(' '); lcd_gotoxy(1,3);lcd_write_data(' '); lcd_gotoxy(10,3);lcd_write_data(' '); lcd_gotoxy(12,2);lcd_write_data(' '); lcd_gotoxy(21,2);lcd_write_data(' '); lcd_gotoxy(12,3);lcd_write_data(' '); lcd_gotoxy(21,3);lcd_write_data(' '); switch (c) {case 0 : lcd_gotoxy(1,2);lcd_write_data('*'); lcd_gotoxy(10,2);lcd_write_data('*'); break;case 1 : lcd_gotoxy(1,3);lcd_write_data('*'); lcd_gotoxy(10,3);lcd_write_data('*'); break;case 2 : lcd_gotoxy(12,2);lcd_write_data('*'); lcd_gotoxy(21,2);lcd_write_data('*'); break;case 3 : lcd_gotoxy(12,3);lcd_write_data('*'); lcd_gotoxy(21,3);lcd_write_data('*'); break; }; }ПРИЛОЖЕНИЕ БИСХОДНЫЙ ТЕКСТ LCDБИБЛИОТЕКИextern void LCD_delay(void);extern void lcd_clear(void);extern void lcd_init(void);extern void lcd_write_data(unsigned char data);extern void lcd_write_cmd(unsigned char data);extern void lcd_gotoxy(unsigned char x, unsigned char y);extern void lcd_put_int(unsigned int f);extern void lcd_putsf(char flash *str);extern void lcd_puts(char *str);extern void lcd_puts_key(unsigned char input);extern void lcd_puts_syg(unsigned char input);#include #define DATA_PORT PORTB#define CMD_PORT PORTB#define RS 1#define E1 2#define E2 3flash unsigned char msgs[6][14] = { "Select Key OK", "Up Key OK ", "Down Key OK ", "Left Key OK ", "Right Key OK ", " ----------- " };flash unsigned char sygmsgs[4][11] = {" Sygnal_1 ", " Sygnal_2 ", " Sygnal_3 ", " Sygnal_4 "};unsigned char n;voidLCD_delay(void){inti;for (i=0;i<15;i++);}voidLCD_WR_half(unsigned char b){ DATA_PORT=(DATA_PORT & 0x0F)|(b & 0xF0); if(!n) CMD_PORT.E1=1;else CMD_PORT.E2=1;LCD_delay(); CMD_PORT.E1=0; CMD_PORT.E2=0;LCD_delay();}void LCD_WR(unsigned char b){LCD_WR_half(b);LCD_WR_half(b<<4);} voidlcd_clear(void){inti; CMD_PORT.RS=0;LCD_WR(0x01); // очистить дисплей, курсор в началоfor(i=0;i<40;i++)LCD_delay(); }voidlcd_init(void){ n=0; CMD_PORT.RS=0; LCD_WR_half(0x20); // 4x - битныйрежимLCD_WR(0x28); // 4x - две строки, станд. шрифтLCD_WR(0x06); // при записи сдвиг курсора вправо lcd_clear(); // очистить дисплей, курсор в началоn=1;CMD_PORT.RS=0;LCD_WR_half(0x20); // 4x - битный режимLCD_WR(0x28); // 4x - две строки, станд. шрифтLCD_WR(0x06); // при записи сдвиг курсора вправо lcd_clear(); // очистить дисплей, курсор в началоn=0;LCD_WR(0x0C); // включить отображение n=1;LCD_WR(0x0C); // включить отображение }voidlcd_write_data(unsigned char data){ CMD_PORT.RS=1; LCD_WR(data);}voidlcd_write_cmd(unsigned char data){ CMD_PORT.RS=0; LCD_WR(data);}voidlcd_gotoxy(unsigned char x, unsigned char y){ n=y>>1; CMD_PORT.RS=0; LCD_WR((x+0x40*(y&0x01))|0x80); }voidlcd_put_int(unsigned int f) { // reentrantif (f >= 10)lcd_put_int(f / 10);lcd_write_data(f % 10 + '0');}voidlcd_putsf(char flash *str){inti=0;while (str[i]!=0) {lcd_write_data(str[i]);i++;}}voidlcd_puts(char *str){inti=0;while (str[i]!=0) {lcd_write_data(str[i]);i++;}}voidlcd_puts_key(unsigned char input){inti=0;while (msgs[input][i]!=0) {lcd_write_data(msgs[input][i]);i++;}}voidlcd_puts_syg(unsigned char input){inti=0;while (sygmsgs[input][i]!=0) {lcd_write_data(sygmsgs[input][i]);i++;}}ПРИЛОЖЕНИЕ СИСХОДНЫЙ ТЕКСТ БИБЛИОТЕКИ ВВОДА#include #include extern unsigned char read_adc(unsigned char adc_input);extern char get_key(unsigned char input);unsigned char adc_key_val[5] ={0, 128, 170, 192, 204};unsigned char read_adc(unsigned char adc_input){inti; ADMUX=adc_input | (0x60);for(i=0;i<100;i++);// Start the AD conversion ADCSRA|=0x40;// Wait for the AD conversion to completewhile ((ADCSRA & 0x10)==0); ADCSRA|=0x10;return ADCH;}charget_key(unsigned char input){int k;for (k = 0; k < NUM_KEYS; k++){if (input <= adc_key_val[k]){return k; } }return NUM_KEYS;}Поз.обозн.НаименованиеКол.ПримечаниеМикросхемыDD1ATMEGA161DA1AD80911КонденсаторыC1К50 – 35 – 0,01 мкФ ± 10% * 25 В± 10%1C2К50 – 35 –0,01 мкФ ± 10% * 16 В± 10%1C3К50 – 35 - 0,1 мкФ ± 10% * 6,3 В± 10%1РезисторыR13266Y-6,8кОм±10%1R2,R3C1 – 4 – 0,125 – 20 кОм ± 5%2R5,R7C1 – 4 – 0,125 – 20 кОм ± 5%2R9,R11C1 – 4 – 0,125 – 20 кОм ± 5%2R13,R15C1 – 4 – 0,125 – 20 кОм ± 5%2R17C1 – 4 – 0,125 – 20 кОм ± 5%1R4,R6C1 – 4 – 0,125 – 10 кОм ± 5%2R8,R10C1 – 4 – 0,125 – 10 кОм ± 5%2R12,R14C1 – 4 – 0,125 – 10 кОм ± 5%2R16C1 – 4 – 0,125 – 10 кОм ± 5%1R18RK09D1130C2P– 10 кОм ± 20%1R19C1 – 4 – 0,125 – 43 Ом ± 5%1R20-R25C1 – 4 – 0,125 – 10 кОм ± 5%6ВКР 0000.000.000 ПЗИзмЛист№ докум.Подп.ДатаРазраб.Цифровой генераторсигналов произвольной формыПеречень элементовЛит.Лист Листов Пров.д12ВолгГТУкаф. ЭВМиС74Н.контр.Утв.Поз.обозн.НаименованиеКол.ПримечаниеРазъемыX1300 – 03 V1 -131ИндикаторыHG1WH2004A-GLL-CTVE1КнопкиSB1-SB5B3F-10226ВКР 0000.000.000 ПЗЛист75ИзмЛист№ докум.Подп.Дата

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ И ИНЫХ ИСТОЧНИКОВ


1. Выпускная работа бакалавра: учебное пособие под ред. проф. кафедры САПР и ПК Кравец А.Г./ ВолгГТУ. – Волгоград, 2013. – 40 с.
2. Дипломное проектирование: метод. указания для студентов 230101.65 «Вычислительные машины, комплексы, системы и сети»/ сост. И.Ю. Королева, А.Е. Андреев; ВолгГТУ. – Волгоград, 2011. – 34 с.
3. Федеральный государственный образовательный стандарт высшего профессионального образования (ФГОС) по направлению «Информатика и вычислительная техника».
4. Стандарт предприятия. Проекты (работы) дипломные и курсовые. Выпускные работы бакалавров. Магистерские диссертации. Правила оформления. СТП ВолгГТУ 023-98
5. ГОСТ 3.1105-84 ЕСТД. Формы и правила оформления документов общего назначения.
6. ГОСТ 2.004-88 ЕСКД. Общие требования к выполнению конструкторских и технологических документов на печатающих и графических устройствах вывода ЭВМ.
7. ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам.
8. Баранов, В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. Применение микроконтроллеров AVR: схемы, алгоритмы, программы / В.Н. Баранов. - М.: Додэка-XXI, 2006. - 288 c.
9. Евстифеев, А.В. Микроконтроллеры AVR семейств Mega. Руководство пользователя / А.В. Евстифеев. - М.: ДМК, 2015. - 588 c.
10. Иванов, В.Б. Программирование микроконтроллеров для начинающих. Визуальное проектирование, язык С, ассемблер / В.Б. Иванов. - СПб.: КОРОНА-Век, 2015. - 176 c.
11. Кравченко, А.В. 10 практических устройств на AVR-микроконтроллерах кн.1 / А.В. Кравченко. - М.: МК-Пресс, 2014. - 224 c.
12. Мортон, Д. Микроконтроллеры AVR. Вводный курс / Д. Мортон. - М.: ДМК, 2015. - 272 c.
13. Прокопенко, В.С. Программирование микроконтроллеров ATMELна языке C / В.С. Прокопенко. - СПб.: Корона-Век, 2015. - 320 c.
14. Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств / А.В. Белов. - СПб.: Наука и техника, 2016. - 544 c.
15. Техническая информация [Электронный ресурс]. – Режим доступа: https://www.bbrc.ru/catalog/item/akip_3402/ свободный – (06.01.2020).
16. Техническая информация [Электронный ресурс]. – Режим доступа: https://www.eliks.ru/news/index.php?news=175141 свободный – (06.01.2020).
17. Техническая информация [Электронный ресурс]. – Режим доступа: https://prist.ru/upload/iblock/75d/AKIP_3415_katalog.pdf свободный – (06.01.2020).
18. Техническая информация [Электронный ресурс]. – Режим доступа: https://kaliningrad.ank-ndt.ru/produkcziya/radioizmeritelnyie-priboryi/generatoryi-signalov-speczialnoj-formyi/gens-101-generator-signalov-proizvolnoj-formyi.html свободный – (06.01.2020).
19. Техническая информация [Электронный ресурс]. – Режим доступа: https://pdf1.alldatasheet.com/datasheet-pdf/view/174743/ATMEL/ATMEGA16.html
20. Техническая информация [Электронный ресурс]. – Режим доступа: https://chipenable.ru/files/course/lcd/hd44780.pdf свободный – (06.01.2020).
21. Техническая информация [Электронный ресурс]. – Режим доступа: https://pdf1.alldatasheet.com/datasheet-pdf/view/105150/AD/AD8091.html свободный – (06.01.2020).