ЭССОИ_КР_1_вар_14. Контрольная работа 1 по дисциплине Электронные средства сбора, обработки промышленной и деловой информации учебное пособие В. Л. Савчук Электронные средства сбора, обработки промышленной и деловой информации Часть 1
Скачать 0.82 Mb.
|
Томский межвузовский центр дистанционного образования Томский государственный университет систем управления и радиоэлектроники (ТУСУР) Кафедра промышленной электроники (ПрЭ) Контрольная работа №1 по дисциплине «Электронные средства сбора, обработки промышленной и деловой информации » учебное пособие В. Л. Савчук «Электронные средства сбора, обработки промышленной и деловой информации Часть 1» учебное методическое пособие В. Л. Савчук «Электронные средства сбора, обработки промышленной и деловой информации» Выполнил студент гр. специальности 210106 11 марта 2015 г. 2015 г. 1 Задание Разработать знакогенератор СОИ на ЭЛТ. Число знаков 10. Тип знаков – арабские цифры. Способ формирования знаков – микрорастр. Кодирование знаков в коде КОИ-7. 2 Теоретическая часть Микрорастровый способ формирования символов на экране заключается в том, что растр образуется не на всем экране, а лишь в пределах одного знакоместа [1]. Знак при этом образуется также из отдельных элементов, например, точек. Количество элементов, на которое распадается знакоместо (матрица элементов) определяет качество знака. Чем больше элементов, тем более качественный (с большим количеством характерных особенностей) знак может быть получен на экране. Однако при этом усложняется знакоформирующая аппаратура и увеличивается время формирования знака. Принцип микрорастрового формирования поясняет рис. 2.1, а, б. За исходную точку принят левый нижний угол знакоместа, а отклонение луча в пределах знакоместа идет по столбцам с постепенным смещением луча вправо. Форма отклоняющих напряжений и не зависит от вида выводимой информации. Таким образом, микрорастровый способ формирования характеризуется стандартным законом отклонения луча, но индивидуальным законом изменения на модуляторе яркости. На рис. 2.1,в, г для примера показан закон для символов «В» и «1». Единый закон отклонения луча приводит к постоянству времени формирования всех знаков алфавита, а, следовательно, и к увеличению времени формирования текста на экране по сравнению с функциональным способом. Для отклонения луча (формирования микрорастра) могут быть использованы ступенчатые отклоняющие напряжения (или токи), эпюры которых показаны на рис. 2.1, б. Рис. 2.1 - Микрорастровый способ формирования знаков КОИ-7 - это семибитная кодировка для русского языка и обмена информацией, основанная на ASCII. КОИ-7 описана в ГОСТ 27463-87 [2] и включает в себя 3 «набора» — Н0, Н1, Н2. Согласно кодовой таблице, КОИ-7 для арабских цифр приняты следующие номера кодов (см. в таблице 2.1) Т а б л и ц а 2.1 – Кодовые обозначения арабских цифр согласно КОИ-7 кодировки
3 Разработка структурной схемы Примем в качестве дополнительного параметра количество «пикселей» на одно знакоместо. Пусть каждый символ на ЭЛТ мониторе формируется из 5x7 пикселей. Сущность проектируемого устройства показана на рисунке 3.1. Для того, чтобы нарисовать на ЭЛТ дисплее одну цифру потребуется разработать систему управления кадровой и строчной разверткой, а так же отдельно систему управления модулятором яркости. Кадровая и строчная развертка соответствуют рассмотренным теоретическим данным из п.2. Код знаков генерации приходит на вход проектируемого устройства и в соответствии с этим кодом берется необходимая строка из таблицы 3.1. Каждая строчка в таблице обозначает последовательность выходных кодов, отправляемых на выход управления модулятором яркости. Принцип генерации знаков так же рассмотрен ранее в теоретической части. Обозначим на рис. 3.2 пиксельное представление каждой цифры. На основании этого рисунка в таблице 3.1 заполним необходимые поля. Причем за единицу берется закрашенный пиксель, за нуль – не закрашенный пиксель. Нумерация пикселей ведется снизу-вверх и слева-направо. Рис. 3.1 – Поясняющая структура формирования цифры на ЭЛТ Рис 3.2 – Арабский цифры в знакоместе 5 на 7 Т а б л и ц а 3.1 – Соответствие семибитных выходных кодов на модулятор яркости по коду и номеру столбцов знакоместа
Данную разработку удобно вести на базе микроконтроллера. Тогда в качестве формирователей сигналов кадровой и строчной развертки удобно использовать ЦАП. Для формирования по оси У потребуется как минимум семибитный ЦАП, а для формирования по оси Х потребуется как минимум пятибитный ЦАП. Рис. 3.3 – Структура проектируемого устройства 4 Разработка электрической схемы На основе структурной схемы по рис 3.3 синтезируем электрическую принципиальную схему устройства (рис. 4.1) В качестве микроконтроллера DA1 выбран широко распространенный микроконтроллер atmega8. Рис. 4.1 - Схема электрическая принципиальная знакогенератора В качестве микросхем ЦАП выбрана микросхема MAX5480, описание и примеры подключения которой подробно изложены в [3]. BQ1 – кварцевый резонатор на 16 МГц РК-169МА-14БП-16000 кГц-В ОД 0.339.003ТУ Для измерения емкости С1 и С2, подключаемых параллельно кварцевому резонатору нам необходимо знать параметры нагрузочной и шунтирующей емкостей. Тогда номиналы конденсаторов C1 и С2 рассчитываются как: Выбираем конденсаторы К10-7В-П33-18 пФ10%. Светодиод VD1 – индикация питания. Светодиод SMD KA-3528SEC 350mcd. Резистор R1 – ограничивает максимальный ток светодиода в 20 мкА. Следовательно, номинал резистора R1: Выбираем резистор R2: МЛТ-0,125-100 кОм+5% ОЖО.467.498 ТУ Кнопка SB1 – кнопка перезагрузки микроконтроллера. Выбираем кнопку PBS10C-2 green, кнопка без фиксации ON-(OFF). Выходы с микросхемы DA2 идут на развертку по оси У. выходы с микросхемы DA3 идут на развертку по оси Х. Выход с ножки PC5 идет на формирование сигнала модулятора яркости. Если сигнал на этом выходе равен логической единице, то зажигается тот пиксель, координаты которого сформированы устройством кадровой и строчной развертки. Вход Rx,Tx – предназначен для управления микроконтроллером по последовательному протоколу UART/USART. Например, на эти входы можно подавать сигналы (коды) символов, которые требуется выводить на ЭЛТ дисплей. Принцип работы программы управления спроектированного устройства указан на рис. 4.2. Рис. 4.2 – Алгоритм программы управления Программа работает на основе прерываний по переполнени. Таймеров. Один таймер «медленный» срабатывает каждые 20 мс, на базе этого таймера строится развертка по X. Второй таймер срабатывает 7 раз за 20 мс. На базе этого таймера производится генерация развертки по Y и вывод требуемых сигналов с вывода PC5. Список используемой литературы Савчук В.Л. Электронные средства сбора, обработки промышленной и деловой информации: Учебное пособие. Часть 1: – Томск:-2002. – 76 с. ГОСТ 27463-87 Система обработки информации. 7-битные кодированные наборы символов. Источник: http://www.gosthelp.ru/gost/gost19760.html Описание микросхемы MAX5480. Источник: http://datasheets.maximintegrated.com/en/ds/MAX5480.pdf Шарапов А. В. Микропроцессорные устройства и системы. Методические указания к выполнению курсового проекта. - Томск: ТУСУР, 1998. - 39 с. Шарапов А. В. Цифровая и микропроцессорная техника: Учебное пособие. 2-е изд., перер. и доп. - Томск: Изд-во Том. Ун-та, 1997. - 108 с. Программирование AVR. Источник: http://www.123avr.com/07.htm ПРИЛОЖЕНИЕ А Листинг 1 – Управляющая программа микроконтроллера #include unsigned int X,Y,CODE,counter,Bit; //Переменные bool FLAG; unsigned char CODETABLE[7][5] = // Таблица значений сигнала на модулятор яркости { 0b0000100; 0b0000010; 0b1111111; 0b0000000; 0b0000000; 0b1100010; 0b1010001; 0b1001001; 0b1000101; 0b1000010; 0b0100010; 0b1000001; 0b1001001; 0b1001001; 0b0110110; 0b0011000; 0b0010100; 0b0010010; 0b1111111; 0b0010000; 0b1000111; 0b1001001; 0b1001001; 0b1001001; 0b0110001; 0b0111100; 0b1001010; 0b1001001; 0b1001000; 0b0110000; 0b0000001; 0b1110001; 0b0001001; 0b0000101; 0b0000011; 0b0110110; 0b1001001; 0b1001001; 0b1001001; 0b0110110; 0b0000110; 0b0001001; 0b1001001; 0b0101001; 0b0011110; 0b0111110; 0b1000001; 0b1000001; 0b1000001; 0b0111110;} void USART_Init( unsigned int ubrr) { UBRRH = (unsigned char)( ubrr>>8 );//Декларируем переменную для скорости соединения UBRRL = (unsigned char)ubrr; UCSRB = ( 1< UCSRC=0x86;// UCSRC = ( 1< } unsigned char USART_Receive( void ) //Функция приема данных { while ( !(UCSRA & (1< return UDR; //Возврат символа } SetFlag(unsigned int CODE) { If (CODE !=-1) { FLAG = true } else { FLAG = false; } } void init_timers (void) { //Подпрограмма инициализации таймера 0 TIMSK=(1< TCCR0=(1< TIMSK=(1< TCCR1=(1< } //Подпрограмма-обработчик прерывания по переполнению таймера 1 ISR (TIMER1_OVF_vect) { If (X <1) {X= 5;} X--; PORTB = X; } //Подпрограмма-обработчик прерывания по переполнению таймера 0 ISR (TIMER0_OVF_vect) { If (Y <1) {Y = 7;} Y--; PORTC = Y; If (counter == 0 && FLAG = = true) { FLAG = false; Bit = 7; counter = 5; } counter--; DDRС.5 = (CODETABLE[CODE][Bit] << 1); } int main(void) // Основная функция { init_timers(); // Инициализация тайеров DDRB=0xFF;//Конфигурация порта для вывода DDRС=0xFF;//Конфигурация порта для вывода USART_Init(0);// Инициализация USART while(1) { CODE= -1; if (UDR = USART_Receive() != NULL && ) // если получены данные { If (29h SetFlag(CODE); // расчет импульсной последовательности } } |