История отрасли

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

«Омский государственный технический университет»

История отрасли

для студентов специальности 210302 «Радиотехника» для заочной формы обучения Омск

Введение

Дисциплина «История отрасли» является ознакомительным курсом в системе подготовки радиоинженеров. В соответствии с учебным планом специальности 210302 «радиотехника» в данной дисциплине предусмотрены практические занятия. Предлагаемые методические указания предназначены в первую очередь для студентов первого курса, выполняющих самостоятельно практические задания по схемотехническому моделированию электронных схем.

Очевидно, что для достижения успеха путь к сложным комплексным радиотехническим задачам должен начинаться с простого моделирования схем и с первого же дня пребывания студента в вузе. Именно поэтому в состав методических указаний входят материалы, связанные с применением программы схемотехнического моделирования Electronics Workbench, а также разработки программ на языке AVR ассемблера фирмы Atmel «Algorithm Builder».

Решение учебных задач способствует более глубокому усвоению лекционного материала, прививает навыки использования теоретических знаний на практике, развивает мышление, помогает детальнее осознать принцип действия различных электронных схем и возможности их практического применения.

Применение программы схемотехнического моделирования Electronics Workbench

Цель работы: изучить временное и частотное представление сигналов, а также овладеть навыками схемотехнического моделирования в процессе обучения радиотехническим специальностям

Общие сведения

Программа Electronics Workbench (ЕWB)позволяет моделировать аналоговые, цифровые и цифроаналоговые схемы большой степени сложности. Имеющиеся в программе библиотеки включают в себя большой набор широко распространенных электронных компонентов. Есть возможность подключения и создания новых библиотек компонентов.

Широкий набор приборов позволяет производить измерения различных величин, задавать входные воздействия, строить графики. Все приборы (амперметр, вольтметр, осциллограф, мультиметр, Боде-плоттер (графопостроитель частотных характеристик схем), функциональный генератор, генератор слов, логический анализатор и логический преобразователь) изображаются в виде максимально приближенном к реальному.

Структура рабочего окна и его свойства

После запуска программы на экран монитора выводится рабочее окно программы, которое содержит строку меню(File, Edit, Circuit, Analysis, Window, Help).

Меню File

Команды New (Ctrl+N), Open… (Ctrl+O), Save(Ctrl+S), Save As… – типичные для Windows команды работы с файлами. Команда Revent to Saved…– стирание всех изменений, внесенных в текущем сеансе… Команда Import…– прием данных из программы разработки печатных плат EWB Layout.

Меню Edit

Команда Cut(Ctrl+X) – стирание (вырезание) выделенной части схемы с сохранением ее в буфере обмена (Clipboard). Команда Copy (Ctrl+C) – копирование выделенной части схемы в буфер обмена. Команда Paste (Ctrl+V) – вставка содержимого буфера обмена на рабочее поле.

Меню Circuit

Команда Rotate (Ctrl+R) – вращение выделенного компонента. Команда Flip Horizontal– зеркальное отображение компонента по горизонтали. Команда Flip Vertical – зеркальное отображение компонента по вертикали.

Меню Analysis

Команда Activate (Ctrl+G) – запуск моделирования. Команда Pause(F9) – прерывание моделирования. Команда Stop (Ctrl+T) – остановка моделирования.

Моделирование;

напряжений в режиме Transient (анализ переходных процессов); Charge tolerance (CHGTOL) – допустимая ошибка расчета зарядов; Ramp Time (RAMPTIME) – начальная точка отсчета времени при анализе переходных процессов;

SD 1.0 1.96 2.0 2.58 3.0 3.29

Процент от включенной совокупности 68.0 95.0 95.5 99.0 99.7 99.9

Выполнять анализ по методу Монте-Карло необходимо следующим образом: 1. Сделайте обзор схемы и остановитесь на выбранном узле. 2. Выберете анализ Монте-Карло.

Меню Window

Меню Windowиспользуется при оперативной работе с моделируемой схемой и содержит следующие команды:

Команда Arrange (Ctrl+W) – упорядочивание информации в рабочем окне путем перезаписи экрана, при этом исправляются искажения изображений компонентов и соединительных проводников;

Команда Circuit – вывод схемы на передний план;

Команда Description (Ctrl+D) – вывод на передний план описания схемы, если оно имеется, или окно–ярлык для его подготовки (только на английском языке).

 

Меню Help

Меню Help(Помощь) построено стандартным для Windows способом. Оно содержит краткие сведения по всем рассмотренным выше командам, библиотечным компонентам и измерительным приборам, а также сведения о самой программе, изложенные на английском языке. Для получения оперативной справки по любому компоненту его необходимо выделить на схеме щелчком левой клавиши мыши (он высветится красным цветом) и затем нажать клавишу F1.

Задание к самостоятельной работе

 

1. Изучить временное представление и форму типовых сигналов. С этой целью из библиотеки элементов извлечь генератор синусоидального напряжения и универсальный генератор и подключить их к осциллографу (рис.1.2). Определить параметры синусоидального сигнала и прямоугольных импульсов.

 

       
 
Рис. 1.2. Подключение синусоидального генератора
 
Рис. 1.3. Подключение универсального генератора

 

 


2. Изучить спектр гармонического сигнала и сигнала в виде прямоугольных импульсов, выявить отличие и особенности спектров. Для этого собрать схему, представленную на рис. 1.3.

Воспользовавшись функцией Analysis и Fourierв меню пользователя программы, получить спектры исследуемых сигналов в контрольной точке 1. Пример спектра прямоугольного сигнала приведен на рис. 1.4.

 

Рис. 1.4. Пример спектра прямоугольного сигнала

 

3. Изучить амплитудно-модулированный сигнал и его спектр при различных значениях частоты несущей, частоты модуляции, индексе модуляции и амплитуде сигнала. Для этого собрать схему, представленную на рис. 1.5. Получить спектры исследуемых сигналов и осциллограммы напряжений в контрольной точке.

Рис. 1.5. Изучение амплитудно- Рис. 1.6. Изучение частотно-

модулированного сигнала модулируемого сигнала

 

4. Изучить частотно-модулированный сигнал при различных индексах модуляции. Для этого собрать схему, представленную на рис. 1.6. Установить частоту модуляции в 10 раз меньше частоты несущей. Пример спектра частотно-модулированного сигнала при коэффициенте модуляции равном 5 приведен на рис. 1.7.

Рис. 1.7. Пример спектра частотно-модулированного сигнала

5. Изучить широтно-импульсныйсигнал. Собрать схему (рис. 1.8.) для изучения широтно-импульсногосигнала. Пример осциллограммы сигналов приведен на рис. 1.9. Установив параметры генераторов, зарисовать осциллограмму полученного сигнала.

 

Рис. 1.8. Схема для изучения широтно-импульсного сигнала

 

 

 

Рис. 1.9. Пример осциллограммы широтно-импульсногосигнала

 

6. Изучить частотное разделение каналов при передаче информации. Для этого собрать схему (рис. 1.10).

 

 

Рис. 1.10. Схема для изучения частотного разделения каналов

 

Рассчитать значение емкостей обоих контуров из формулы резонансной частоты контура , настроенного на первый и второй генератор соответственно. Индуктивность контура принять равной 1,0 мГн. Включить собранную схему. Проверить передачу команд, как по отдельности, так и двух команд одновременно. В отчет внести схему, осциллограммы на двух контурах и определенные значения емкости для первого и второго контуров. Построить спектр выделяемого сигнала в двух контурах при передаче первой и второй команды. На рис. 1.11. приведен спектр сигнала на первом контуре при частоте передачи 10 кГц, а на рис. 1.12. – на втором контуре при частоте передачи 6 кГц.

 

 

Рис. 1.11. Спектр сигнала на первом контуре

 

Рис. 1.12. Спектр сигнала на втором контуре

 

 

 

Рис. 1.13. Пример осциллограммы суммарного сигнала

 

 

Рис. 1.14. Анализируемая схема усилителя

 

7. Собрать схему усилителя (рис. 1.14). Зарисовать временные диаграммы и АЧХ.

 

Рис. 1.15. Схема автогенератора

 

8. Собрать схему автогенератора на инверторах (рис. 1.15) и определить его параметры.

9. Исследовать вольтамперные характеристики (ВАХ) диодов и стабилитронов.Для этого собрать схему исследования ВАХ, приведенную на рис. 1.16, добиться ее работоспособности с помощью установления необходимых режимов генератора и используемых в схеме измерительных приборов.

Рис. 1.16. Схема для изучения ВАХ диода

 

Снять ВАХ p–n перехода (рис. 1.16). По полученным данным определить:

– напряжение открывания перехода (при токе 100 мкА);

– напряжение восстанавливаемого пробоя (при токе 1 мА);

– крутизну ВАХ при токе 1–5 мА;

– внутреннее сопротивление перехода на обратной ветви в диапазоне токов 1–5 мА.

Рис. 1.17. Необходимые установки режимов генератора и осциллографа

 

10. Провести моделирование транзисторного ключа при пассивной нагрузке (рис. 1.18) и снять временные диаграммы перехода база-эмиттер и коллектор-эмиттер.

 

 

Рис. 1.18. Схема для исследования транзисторного ключа

 

11. Провести моделирование работы однополупериодной и двухполупериодной схем выпрямления. Собрать однополупериодную схему выпрямления (рис. 1.19). Определить амплитудное и действующее значение напряжения. Зарисовать временные диаграммы.

Исследовать влияние на форму сигнала фильтрующего (сглаживаю-щего) конденсатора. Определить оптимальную емкость конденсатора по заданному коэффициенту пульсации.

Рис. 1.19. Схема однополупериодной схемы выпрямления

 

Собрать двухполупериодную мостовую схему выпрямления
(рис. 1.20) и зарисовать временные диаграммы. Исследовать влияние на форму сигнала фильтрующего конденсатора.

 

 

Рис. 1.20. Схема двухполупериодной схемы выпрямления

 

 

12. Провести моделирование работы операционного усилителя. Для этого собрать схему (рис. 1.21) и определить коэффициент усиления и граничную частоту усиления.

 

Рис. 1.21. Схема включения операционного усилителя

 

13. Провести моделирование формирователя импульсов (рис. 1.22). Зарисовать временные диаграммы и определить параметры импульсов.

 

Рис. 1.22. Схема формирователя импульсов на логике

 

14. Провести моделирование генератора импульсов (рис. 1.23). Зарисовать временные диаграммы и определить параметры импульсов.

 

 

Рис. 1.23. Схема формирователя импульсов на JK-триггере

 

15. Провести моделирование цифрового генератора синусоидального сигнала (рис. 1.24). Зарисовать временные диаграммы и определить параметры импульсов.

 

Рис. 1.24. Схема цифрового генератора синусоидального сигнала

 

Содержание отчета

1. Название работы и ее цель.

2. Схемы электрические принципиальные исследуемых моделей.

3. Временные диаграммы, АЧХ, спектры и параметры схем, полученные во время проведения лабораторной работы.

4. Выводы.

 

Контрольные вопросы

1. Как выглядит графическое изображение логических элементов (И, ИЛИ, НЕ, исключающее ИЛИ, И–НЕ, ИЛИ–НЕ) (прил. 1).

2. Привести булевы выражения для логических элементов (ЛЭ).

3. Привести временные диаграммы работы ЛЭ.

4. Какие схемы позволяет моделировать программа Electronics Workbench?

5. Какие приборы можно использовать при моделировании?

6. Какие компоненты можно использовать при моделировании?

7. Как осуществить остановку процесса моделирования?

8. Как сохранить схему (или ее часть) в буфере обмена?

9. Как задать параметры моделирования?

10 . Как осуществить расчет частотных характеристик?

11. Как провести спектральный анализ?

 

 

Список рекомендуемой литературы

 

1. Карлащук, В.И. Электронная лаборатория на IВМ РС. Программа Еlectronics Workbench и ее применение / В.И. Карлащук. – М.: Солон –
Р, 1999. – 506 с.

2. Панфилов, Д.И., Электротехника и электроника в экспериментах и упражнениях: Практикум на Еlectronics Workbench: в 2 т. / Д.И. Панфилов, Иванов В.С., Чепурин И.Н., под общ. ред. Д.И. Панфилова. – Т.2: Электроника. – М.: ДОДЭКА, 2000.–288 с.

2. Основы разработки программ на языке AVR ассемблера фирмы Atmel «Algorithm Builder»

Цель работы: изучить структурную схему и систему команд микроконтроллера (МК), а также овладеть навыками разработки программ на языке AVR ассемблера фирмы Atmel «Algorithm Builder» (графический ассемблер) в процессе обучения радиотехническим специальностям
(прил. 3).

Общие сведения

Микроконтроллер семейства AVR представляет собой восьмиразрядную однокристальную микро-ЭВМ с сокращенной системой команд (RISC). Большинство команд выбирается из памяти за один такт и выполняется за один такт работы МК. При этом число команд, выполняемых за
1 с, совпадает с тактовой частотой работы МК. Структурная схема МК приведена на рис. 2.1.

 

 

Рис. 2.1 Структурная схема МК

 

В состав МК входят:

– генератор тактового сигнала (GCK);

– процессор (CPU);

– постоянное запоминающее устройство (ПЗУ), выполненное по тех-нологии Flash (Flash ROM);

– оперативное запоминающее устройство (ОЗУ) статического типа

(SRAM);

– ПЗУ, выполненное по технологии EEPROM (энергонезависимая

электрически стираемая память данных);

– набор периферийных устройств для ввода и вывода данных и

управляющих сигналов.

Процессор формирует адрес очередной команды, выбирает команду из памяти и организует ее выполнение. В состав процессора входят:

– счетчик команд (РС);

– арифметико-логическое устройство (ALU);

– блок регистров общего назначения (GPR);

– регистр состояния МК SREG;

– регистр-указатель стека SP или SPL и SPH и другие элементы.

Блок регистров общего назначения содержит 32 восьмиразрядных регистра (R0, R1,…, R31). В некоторых операциях в ALU могут участвовать лишь регистры с номерами от R16 до R31. Регистры с именами R24… R31 могут образовывать пары (регистр с четным номером хранит младший байт, а с нечетным – старший байт).

Паре регистров R26 и R27 присвоено имя Х, паре регистров R28 и R29– имя Y, паре регистров R30 и R31 – имя Z.

Генератор тактового сигнала формирует импульсы синхронизации для МК. Микроконтроллеры имеют полностью статическую структуру и могут при тактовой частоте от 0 Гц. Генератор МК может запускаться от нескольких источников опорной частоты (RC-цепочки, внешнего кварцевого резонатора и др.). Максимальная рабочая частота определяется конкретным типом МК и может изменяться программными средствами.
(Например, для МК АТ90S2343-10 максимальная рабочая частота равна
10 МГц).

Постоянное запоминающее устройство (ПЗУ) FlashROMпредназначено для хранения кодов команд и констант. Ячейки памяти содержат
16 разрядов. При чтении констант адрес поступает из пары Z регистров общего назначения.

Оперативное запоминающее устройство (ОЗУ) статического типа SRAM предназначено для хранения данных, получаемых в процессе работы МК. Ячейка памяти содержит 8 разрядов. При выключении питания МК данные в SRAM теряются. Адрес байта при обращении к SRAM может быть указан в коде команды с обращением к SRAM (прямая адресация), предварительно записан в пару регистров X, Y или Z (косвенная адресация), а также храниться в регистре-указателе стека.

Запоминающее устройство ЕЕРRОМ предназначено для хранения данных, записанных при программировании МК и получаемых в процессе выполнения программы. При выключении напряжения питания данные сохраняются. Ячейка памяти содержит 8 разрядов.

 

Периферийные устройства:

Параллельный порт ввода-вывода (Port, P)предназначен для ввода и вывода данных. Микроконтроллеры семейства AVR имеют от одного до шести портов.

Последовательный порт SPIпредназначен для ввода и вывода байтов при обмене данными с другими устройствами, имеющими портSPI.

Последовательный порт UARTпредназначен для передачи и приема байтов данных по двухпроводным линиям связи, например, по интерфейсу RS-232C или «токовая петля».

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

Таймер-счетчик общего назначенияпредназначен для формирования запроса прерывания при истечении заданного интервала времени (режим таймера) или свершения заданного числа событий (режим счетчика). Микроконтроллеры имеют от одного до трех таймеров-счетчиков общего назначения Т/СХ (Х-номер таймера-счетчика, Х=0, 1, 2).

Сторожевой таймерпредназначен для ликвидации последствий сбоя в ходе программы путем перезапуска МК при обнаружении сбоя.

Аналого-цифровой преобразовательформирует десятиразрядный код числа, пропорциональный величине аналогового сигнала на входе МК. В МК к преобразователю могут подключаться от четырех до восьми входов.

Аналоговый компараторсравнивает по величине аналоговые сигналы, поступающие на два входа МК, и формирует запрос прерывания АNА СОМР, когда разность их значений меняет знак.

Программируемый аппаратный модуляторпредназначен для формирования импульсного сигнала на выводе РА2 для питания светодиодных индикаторов.

Блок прерыванийорганизует переход к выполнению прерывающей программы при поступлении запроса прерывания, если прерывание по данному запросу разрешено, и он имеет более высокий приоритет, чем другие запросы, поступившие одновременно с ним.

 

Графическая среда разработки программного обеспечения

Элементы алгоритма: Элемент «FIELD» – поле Представляет собой отцентрированную в блоке строку. Объект предназначен для записи большинства операторов МК. Для того…

Особенности создания нового проекта

Для создания нового проекта выберите пункт меню «File\New». При этом появится первая закладка и на рабочем поле элемент «TEXT», «VERTEX» и… В операторах копирования часто используются символы «->». Для удобства… Для добавления в алгоритм нового блока, поместите фокус редактора на последний элемент предыдущего блока и нажмите…

Система команд

Арифметические операции (сложение и вычитание) могут выполняться с числами без знака в двоичном коде и с числами со знаком в дополнительном двоичном… При выполнении арифметических и логических операций формируются значения… – признак С принимает единичное значение:

Операторы условных переходов

Для реализации этих операторов используются элементы «CONDITION», в овал которого могут быть вписаны следующие условия переходов.

Шаблон условия перехода Комментарии Пример
SREG.# = 1 Бит # SREG равен 1 SREG.3 = 1
SREG.# = 0 Бит # SREG равен 0 SREG.5 = 0
= Результат равен нулю (Z=0)  
- = Результат не равен нулю (Z=1)  
C = 1    
C = 0    
>= Больше или равно  
< Меньше  
- Отрицательный результат  
+ Положительный результат  
±>= Больше или равно с учетом знака  
±< Меньше с учетом знака  
H = 1    
H = 0    
T = 1    
T = 0    
V = 1    
V = 0    
I = 1    
I = 0    

 

Вектор используемого элемента «CONDITION» должен либо заканчиваться на метке или вершине, либо иметь имя адресуемой метки.

Операторы условного пропуска следующего оператора

В этом случае вектор используемого элемента «CONDITION» либо отсутствует, либо имеет зарезервированное слово «Skip».

 

Шаблон условия Комментарии Пример
R = R Равенство двух рабочих регистров r0 = r1
R.# = 0 Бит # рабочего регистра равен 0 XH.2 = 0
R.# = 1 Бит # рабочего регистра равен 1 r14.3 = 1
P.# = 0 Бит # I/O регистра равен 0 PinC.6 = 0
P.# = 1 Бит # I/O регистра равен 1 EERE = 1

 

Один из вариантов конструкции элемента «CONDITION»:

Вектор элемента отсутствует, а имя вектора – либо отсутствует, либо содержит зарезервированное слово «Skip». В нижеследующем примере выполнение операции:

«[X]->r2» будет пропущено, если выполнится условие «r1=r2».

Комментарии к операторам

Окно с таблицей всех существующих для выбранного типа микроконтроллера шаблонов можно открыть через пункт меню «View\Templates…» и при необходимости, выбрав любой из них с помощью мыши, загрузить в редактируемый объект, нажав клавишу «Insert».

Следует иметь в виду, что в некоторых типах МК может быть не весь набор операторов.

Символ «#» в шаблонах операторов означает константу. Они быть как положительными, так и отрицательными. Например, операторы: -2->r16 и $FE->r16 будут откомпилированы с одинаковым результатом.

Следует обратить внимание на некоторые особенности реализации безусловных переходов и вызовов подпрограмм:

– короткий, относительный безусловный переход (аналог - «RJMP») реализуется исключительно посредством элемента «JMP Vector»;

– дальний безусловный переход (аналог «JMP k») реализуется шаблоном «JMP #» в элементе «FIELD», где «#» может быть константой c адресом перехода или именем метки (вершины).

Представление констант

В десятичном виде константа записывается в обычном виде с использованием символов «0..9», например: «35» или «24000». В шестнадцатеричном виде константа начинается с символов: «$», «#h» или «#H»,… В восьмиричном виде константа начинается с символов: «#o» или «#O», затем используются символы «0..7». Например:…

Распределение ресурсов МК и объявление имен

В графической среде разработки программного обеспечения программирование возможно с использованием стандартных имен рабочих регистров и регистров… Распределение ресурсов МК и объявление имен производится в специализированной… В объявляемых именах можно использовать буквы: «A..Z», «a..z», цифры «0..9», а так же символ подчеркивания «_». Причем…

Форматы переменных

Назначение форматов производится при объявлении имени группы рабочих регистров, регистров ввода-вывода, переменных SRAM, EEPROM, а так же элементов массива констант, размещаемых в памяти программы.

Предусмотрены следующие форматы:

Формат Ключевое слово

1 байт «Int8» или «Byte»

2 байта «Int16» или «Word»

3 байта «Int24»

4 байта «Int32» или «DWord»

Примечание: по умолчанию всегда принимается однобайтный формат.

Секция объявления констант

При программировании можно пользоваться константами в непосредственном виде. Но когда одна и та же константа используется в нескольких местах… Заголовок секции: Constants В этой секции предусмотрены следующие поля:

Секция объявления имен рабочих регистров

В этой секции предусмотрены следующие поля: Name – объявляемое имя. Index – (необязательный параметр) константа, определяющая индекс регистра. По умолчанию принимается индекс, следующий…

Секция объявления имен регистров ввода-вывода

В этой секции предусмотрены следующие поля: Name – объявляемое имя. I/O Register – стандартное или ранее объявленное имя регистра ввода-вывода.

Секция объявления переменных SRAM

В этой секции предусмотрены следующие поля: Name – объявляемое имя переменной (ячейки памяти); Address – (необязательный параметр) константа, определяющая конкретное значение адреса. По умолчанию – следующий за…

Секция объявления переменных EEPROM

Заголовок секции: EEPROM:

В этой секции предусмотрены следующие поля:

Name – назначаемое имя переменной;

Address – (необязательный параметр) – константа, определяющая конкретное значение адреса. По умолчанию – следующий после предыдущего либо 0 в начале секции;

Format – (необязательный параметр) – формат ячейки. По умолчанию принимается однобайтный формат. При необходимости можно задать многобайтный формат.

Count – (необязательный параметр) – число резервируемых ячеек. По умолчанию принимается равным 1.

Value – (необязательный параметр) начальные значения, представленные в виде константы или массива констант через запятую (если Count>1).

Имя переменной с префиксом «@» является константой, содержащей ее физический адрес в EEPROM.

Представление констант в виде алгебраических выражений

Константа, обозначенная в шаблоне операторов как «#», может быть представлена не только непосредственно, но и в виде алгебраического выражения. Членами такого выражения могут быть: – константы, представленные непосредственно;

Микрооператоры

Программирование только с использованием элементарных операций микроконтроллера не всегда удобно. Если, например, необходимо загрузить константу $1234 в двойной регистр X, то придется разбивать ее на старшую и младшую часть и записывать по очереди:

$12->XH

$34->XL

При этом теряется наглядность. Очевидна необходимость иметь возможность записи «$1234->X», а компилятор должен сам разложить такой оператор на составляющие «$12->XL» и «$34->XH». А если константа в десятичном виде, то такая необходимость еще острее.

Кроме того, ряд необходимых действий невозможно реализовать непосредственно элементарными операциями. Например «37->r0» или «$FF->DDRB». В обоих случаях необходимо сначала загрузить константу в какой-либо рабочий регистр из старшей половины, и лишь затем из него копировать в r0 или DDRB.

Шаблоны макрооператоров

Арифметико-логические макрооператоры. (Используется элемент «FIELD»)

 

Шаблон Коментарий
* -> * Копирование
* + * Арифметическое сложение
* - * Арифметическое вычитание
* & * Побитная операция «И»
* ! * Побитная операция «ИЛИ»
* ^ * Побитная операция «Исключающее ИЛИ»
* Сброс (запись нуля)
* ++ Инкремент
* -- Декремент
- * - Побитная инверсия
- * Арифметическая инверсия
* >> Логический сдвиг вправо
> * >> Логический сдвиг вправо с переносом
± * >> Арифметический сдвиг вправо
<< * Логический сдвиг влево
<< * < Логический сдвиг влево с переносом
* -> Копирование в стек
-> * Копирование из стека

 

Макроусловия. Вписываются в элементы «CONDITION». (Звездочкой (*) обозначены произвольные операнды):

 

Шаблон Комметарий
* = * Переход, если равно
* -= * Переход, если не равно
* < * Переход, если меньше
* >= * Переход, если больше или равно
* ±< * Переход, если меньше с учетом знака
* ±>= * Переход, если больше или равно с учетом знака
* -- Декремент и переход, если результат не равен нулю

 

Операнд Комментарий
R Рабочий регистр (...)
# Константа (...)
SRAM Var Переменная SRAM (...)
EEPROM Var Переменная EEPROM (...)
[#] Ячейка SRAM, адресуемая непосредственно
[X] Ячейка SRAM, адресуемая косвенно, по X
[--X] Ячейка SRAM, адресуемая косвенно, по X с предекрементом
[X++] Ячейка SRAM, адресуемая косвенно, по X с постинкрементом
[Y] Ячейка SRAM, адресуемая косвенно, по Y
[--Y] Ячейка SRAM, адресуемая косвенно, по Y с предекрементом
[Y++] Ячейка SRAM, адресуемая косвенно, по Y с постинкрементом
[Y+#] Ячейка SRAM, адресуемая косвенно, по Y со смещением адреса на # байт
[Z] Ячейка SRAM, адресуемая косвенно, по Z
[--Z] Ячейка SRAM, адресуемая косвенно, по Z с пре-декрементом
[Z++] Ячейка SRAM, адресуемая косвенно, по Z с пост-инкрементом
[Z+#] Ячейка SRAM, адресуемая косвенно, по Z со смещением адреса на # байт
P Регистр ввода-вывода (...)
EE[#] Ячейка EEPROM адресуемая непосредственно
EE[X] Ячейка EEPROM, адресуемая косвенно, по X
EE[X++] Ячейка EEPROM, адресуемая косвенно, по X с пост-инкрементом
EE[Y] Ячейка EEPROM, адресуемая косвенно, по Y
EE[Y++] Ячейка EEPROM, адресуемая косвенно, по Y с пост-инкрементом
EE[Z] Ячейка EEPROM, адресуемая косвенно, по Z
EE[Z++] Ячейка EEPROM, адресуемая косвенно, по Z с пост-инкрементом

 

Метки обслуживания прерываний

Для удобства программирования используется специальный вид меток–метки обслуживания прерываний. Для обслуживания прерывания обычным путем необходимо… Встретив хотя бы одну такую метку в алгоритме, компилятор заполнит свободное… Таким образом, для того, чтобы создать прерывание, необходимо:

Подключение к проекту алгоритмов из других файлов

Для добавления нового файла выберите пункт меню «File\New». При этом в окне появится новая закладка. В графической среде требуется, чтобы все файлы проекта находились в одной… Если тот или иной файл раскрыт в редакторе, то это не означает, что он подключен к проекту. Раскрыть можно и файл,…

Редактирование алгоритма

Выделение фрагмента: Для выделения внутристрокового фрагмента используются клавиши «Shift+Left» или… Для выделения внутриблочного фрагмента используются клавиши «Shift+Up» или «Shift+Down», при этом среди выделяемых…

Отладка алгоритма в симуляторе

Для пошагового исполнения («Trace into») используйте либо клавишу «F7», либо кнопку . Для пошагового исполнения без захода в подпрограммы и макро-образования… Для исполнения до выхода из текущей подпрограммы («Trace out») используйте клавишу «F6» или кнопку .

Отладка алгоритма на кристалле (мониторная отладка)

При мониторной отладке компилятор добавляет к программе небольшой (160 слов) скрытый фрагмент, обеспечивающий передачу всего внутреннего состояния микроконтроллера в компьютер для последующего отображения в соответствующих окнах. При этом состояние любого регистра, ячейки памяти SRAM или EEPROM может быть модифицировано.

Для обеспечения работы мониторной отладки необходимо обеспечить следующее:

1. Определить используемый вывод микроконтроллера. Для этого необходимо раскрыть окно опций проекта («Options/Project Options…») на закладке «Monitor chip». Рекомендуемые выводы выделены жирным коричневым шрифтом. Эти выводы не имеют альтернативных порту выходных сигналов.

2. Точно указать тактовую частоту CPU.

3. К моменту первой точки останова стек должен быть уже определен.

Следует учитывать следующее:

– мониторная отладка невозможна для кристаллов, не содержащих SRAM;

– программа, содержащая монитор, непригодна для нормального использования, поэтому по завершении отладки микроконтроллер необходимо запрограммировать обычным образом.

Для запуска исполнения программы с отладкой на кристалле нажмите кнопку на панели инструментов. После компиляции появится окно программатора. Запустите программирование, нажав кнопку «Start» (если программа, содержащая монитор, ранее уже была зашита, то программирование можно пропустить, нажав кнопку «Skip»). При исполнении программы до момента попадания в точку останова, окна отображения состояния микроконтроллера будут неактивными.

2.4. Задание к самостоятельной работе

 

1. Составить схему алгоритма и написать программу на ассемблере:

а) вычисления среднего значения массива чисел;

б) десятичной коррекции;

в) умножения двух чисел.

2. Составить схему алгоритма и написать программу на ассемблере,

– цифровых фильтров с разностными уравнениями:

а) Y(nT) = a0 X(nT) + a1 X(nT – T);

б) Y(nT) = a0 X(nT) + a1 X(nT – T) + a2 X(nT – 2T);

в) Y(nT) = a0 X(nT) + b1 Y(nT – T);

г) Y(nT) = a0 X(nT) + b1 Y(nT – T) + b2 Y(nT – 2T);

д) Y(nT) = a0 X(nT) + a1 X(nT – T) + a2 X(nT – 2T) + b1 Y(nT – T) +

b2 Y(nT – 2T);

– цифрового согласованного фильтра для последовательностей Баркера:

 

Число импульсов
+1 +1 -1    
+1 +1 -1 +1  
+1 +1 +1 -1 +1

 

2. Составить схему алгоритма и написать программу на ассемблере,

реализующую генератор псевдослучайной последовательности (ПСП) чисел на основе сдвигового регистра с сумматорами по mod 2 в цепи обратной связи. Номера ненулевых коэффициентов:

N = 4, аi = 0, 1, 4; N = 6, аi = 0, 5, 6;

N = 5, аi = 0, 3, 5; N = 7, аi = 0, 6, 7.

 

4. Составить схему алгоритма и написать программу на ассемблере:

– генератора прямоугольных импульсов;

– генератора пилообразного сигнала;

– измерителя периода сигнала;

– частотомера;

– вычисления хэш-значения сообщения;

– шифратора входных данных.

 

5. Составить схему алгоритма и написать программу на ассемблере узла умножения полиномов:

K = A G,

где G = 1101, А1 = 1001, А 2 = 1011, А 3 = 1101.

 

2.5. Содержание отчета

 

1. Название работы и ее цель.

2. Схемы алгоритмов и тексты программ на ассемблере.

3. Контрольные примеры по каждому алгоритму.

4. Выводы.

2.6. Контрольные вопросы

 

1. Какие существуют элементы в графической среде разработки программного обеспечения?

2. Что задает элемент «вершина блока»?

3. Как реализуется элемент «условный переход»?

4. Для чего существует элемент «безусловный переход»?

5. Как используется элемент «настройщик»?

6. Как представлены константы?

7. Как объявляются имена рабочих регистров и регистров ввода-вывода?

8. Какие существуют форматы переменных?

9. Перечислите признаки результата.

10. Как размещаются данные в памяти программ?

11. Как подключаются к проекту другие файлы?

12. Как осуществляется редактирование алгоритма?

13. Как осуществляется отладка в симуляторе?

14. Как осуществляется отладка на кристалле (мониторная отладка)?

 

Список рекомендуемой литературы

 

1. Гребнев, В.В. Микроконтроллеры семейства AVR фирмы Atmel / В.В. Гребнев. – М.: РадиоСофт, 2002. – 176 с.

2. AVR - микроконтроллеры: очередной этап на пути развития. Игорь Кривченко. Режим доступа http://www.atmel.ru/AVR/AVR.htm.

Приложение 1

Изображение базовых логических элементов по ГОСТ 2.708 – 81

И в программе моделирования

Приложение 2

Схемотехническое моделирование электронных схем

Electronics Workbench

Альбом схем

 

1. Изучение временного представления и формы типовых сигналов, когда генератор синусоидального напряжения и универсальный генератор подключены к осциллографу.

 

 

 

Изучение спектра гармонического и сигнала в виде прямоугольных импульсов

 

 

Изучение амплитудно-модулированного сигнала

 

Изучение частотно-модулированного и широтно-мпульсного сигналов

 

Импульсный усилитель

 

Изучение частотного разделения каналов при передаче

 

Схема на базе операционного усилителя

 

Схема генератора на инверторах

 

Ключ открыт

Ключ закрыт

 

9. Исследование вольтамперной характеристики (ВАХ) диодов и стабилитронов

Моделирование транзисторного ключа при пассивной нагрузке

11. Моделирование:

а) однополупериодной схемы выпрямления

Ключ открыт

Ключ закрыт

 

б) Двухполупериодной мостовой схемы выпрямления

Моделирование работы операционного усилителя

13. Исследование:

а) последовательного колебательного контура

б) двух последовательных колебательных контура

 

 
 


 

в) параллельного колебательного контура

 

 
 


Автоколебательный мультивибратор (на транзисторах)

Генератор ПСП (4-го разряда)

Приложение 3

Система команд AVR

   

Приложение 4

Примеры программ на языке графического ассемблера

 
 

1. Суммирование содержимого двух портов (рис. П4.1).

Рис. П4.1

 

2. Вычитание содержимого двух портов. Если r22-r23=0, то циклическое выполнение операции вычитания прекращается (рис. П4.2).

 
 

Рис. П4.2

 

       
   

3. Программа суммирования разности чисел, вводимых с портов В и D (рис. ПВ.3) и подсчет числа «1» в байте, вводимого в port B (рис. П4.4).

 

Рис. П4.3 Рис. П4.4

 

Приложение 5

Список задач по программированию

2. Определить число «0» в первом полубайте. 3. Определить число «1» в байте. 4. Определить число «1» во втором полубайте.

Содержание

Введение3

Применение программы схемотехнического моделирования

«Electronics Workbench»3

1.1. Общие сведения 3

1.2. Задание к самостоятельной работе 14

1.3. Содержание отчета 24

1.4. Контрольные вопросы 24

Список рекомендуемой литературы 24

Основы разработки программ на языке AVR ассемблера

фирмы Atmel «Algorithm Builder»25

2.1. Общие сведения 25

2.2. Графическая среда разработки программного обеспечения 27

2.3. Система команд 31

2.4. Задание к самостоятельной работе 46

2.5. Содержание отчета 47

2.6. Контрольные вопросы 47

Список рекомендуемой литературы 47

Приложение 1. Изображение базовых логических элементов

по ГОСТ 2.708 – 81 и в программе моделирования 48

Приложение 2. Схемотехническое моделирование электронных

схем Electronics Workbench. Альбом схем 49

Приложение 3. Система команд AVR 57

Приложение 4.Примеры программ на языке графического ассемблера 62

Приложение 5. Список задач по программированию 63