Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Описание тестовой программы и некоторых функций драйвера
Обработчик прерывания вызывается после завершения очередной операции преобразования. Значения регистров данных АЦП (ADCDATAL и ADCDATAH) записываются в буфер драйвера. Сначала записывается старший байт, потом сдвигается на 8 разрядов и переписывается младший байт. InitADC() – инициализация АЦП. Для простоты инициализации производится жесткая настройка АЦП без возможности изменения настроек пользователем. Устанавливается циклическое преобразование 9 канала (термодатчик) – ADCCON2=0x28. Делитель частоты – 8, число тактов задержки – 4, тактирование от Таймера 2 – ADCCONl=0x3F. Устанавливается процедура обработки прерывания и АЦП переключается в нормальный рабочий режим. ConvertToTemp() – преобразует передаваемое значение кода в температуру в строковом формате. Вначале передаваемое значение избавляется от старшей тетрады, которая содержит идентификатор канала. После этого код преобразуется в соответствующее ему значение напряжения (61*значение_кода=напряжение в 0.01 милливольтах). Напряжение вычитается из 675мВ (напряжения 0 Сº) и делится на 300. Теперь переменная Temperature содержит значение температуры в градусах. Если знак переменной отрицательный, то температура положительна, поэтому значение умножается на -1 и в начало строки заносится знак температуры «+». В противном случае в начало строки заносится «-».В переменную Grad заносится 1/6 доли градуса. После всего этого полученные переменные преобразуются в строку.
Приложение 1. Краткое описание симулятора AVSIM85. +-------------------+ ¦ Командное меню ¦ +-------------------+ Большинство команд вызываются по нажатию первой буквы этой команды +------------+ ¦ УПРАВЛЕНИЕ ¦ +------------+ Ctl-C прерывает выполнение команды и вызывает переход к пункту меню более высокого уровня SIMULATION Function (управление процессом симуляции) клавиши и MODE toggle (Esc)(клавиша переключения режимов) продолжают работать в любое время. +------------------+ ¦ Ввод выражений ¦ +------------------+ Используемые операторы: Операнды определяются следующим образом: + - @ CPU symbols – см. файл AVSIM51.REG () до 4 уровней symbols - таблица символов пользователя $ Текущее сост. прогр. счетчика Указатели на систему счисления:. результат предыдущего выраж. Binary: %111 or 111B 'x' or "x" Символьные константы Octal: @377 or 377Q digits число в соответствующей системе
Hex: $FF or FFH +----------------+ ¦ ENTER MNEMONIC ¦ +----------------+ Мнемоника вводится так же как в ассемблере. Операнды вводятся по правилам описанным в предыдущем разделе. Формат строки: {метка:} операция {операнды} {; коментарий}
+--------------+ ¦ клав. редакт ¦ +--------------+ ← курсор влево Esc переключение окон → курсор вправо ctl-C выход в основное меню <- backspace INS вставка enter ввод DEL стереть символ +-------------+ ¦Точки останова¦ +-------------+ On Breakpoints, a delay can be specified by typing digits BEFORE selecting the Breakpoint TYPE. On sticky breakpoints, this delay is restored after each activation. +---------------------------+ +-------------------+ ¦Клавиши управления режимами¦ ¦ Быстрые клавиши ¦ +---------------------------+ +-------------------+ ESC: реключатель режима. ctl-A/B Аккумулятор / B Командное меню/окно отображения F7: Режим курсора: Hex, ASCII, ctl-P Программный Binary счетчик Ctl-PgUp: Переключатель прокрутки ctl-S Указатель стека ctl-R Банк регистров +---------------------+ alt-0/7 Регистр:0/7 ¦ управление курсором ¦ ctl-D DPTR +---------------------+ ctl-CXFO Флаги: C/AC/F0/OV ← влево ctl-I Разрешение прерываний → вправо ctl-T Таймер 0 ↑ вверх alt-AB DUMP окно ↓ вниз alt-PQ Порты: 0/2 HOME к первому символу в окне alt-SC Последов.порт BUF/CON END к последнему символу в окне alt-Y Счетчик циклов PgUp на одно окно вверх +-------------------------------+ PgDn на одно окно вниз ¦ клав. Редактирования объектов ¦ +-------------------------------+ -----между окнами----- +/- inc/dec byte/word/flag Return Вернуться к предыдущему INS Переключатель byte/nibble/bit ctl-→ на одно окно вправо ctl-END очистка до конца ctl-← на одно окно влево ctl-HOME очистка оставшейся части +-----------------------+ ¦ Управление симуляцией ¦ +-----------------------+ Запуск: --> F1 Переключатель вкл./выкл. – включение симуляции до конца программы (точки останова) или повторного нажатия --> F10 Пошаговое выполнение - выполнение одной команды --> F9 Undo – Отмена одной команды Точки останова: --> F2 Передвинуть курсор точек останова вверх --> F4 Передвинуть курсор точек останова вниз --> F3 Установка точки останова – уст. Точку останова в текущее положение курсора точек останова F5 скорость – установка скорости симуляции +----------------+ ¦ TOGGLE CONTROL ¦ +----------------+ ALT-F5 LABEL Toggle - "LABEL": Addresses & operands are displayed symbolically "ADDR" (top left of screen): No symbols in disassembly
F6 DISPLAY Toggle - ON: Screen is updated after each instruction during GO OFF: Only TRACED windows are updated until trap occurs ALT-F6 TRACE Toggle - ON: Window is updated even when display OFF OFF: Window is updated only when display ON F7 CURSOR TYPE - Hex / Ascii / Binary Cursor will move to preferred screen object type, if displayed as several types F8 SKIP Toggle - SKIP ON will Single Step across call opcodes (by setting a bkpt at the next instruction and GOing with display OFF)
Команды меню
Dump Select DUMP Area: 1 2 DUMP: Absolute Indirect Задает область резидентной памяти, отображаемой в 1-м и 2-м окнах Обозначения адресов: D:адрес – резидентная память данных (можно не указывать) X:адрес – внешняя память данных C:адрес – память программ B:адрес – область прямо адресуемых битов Absolute – абсолютный адрес Indirect – косвенный адрес
Expression Enter Expression: Expression will be stored at __ Задает выражение, которое будет вычислено и записано в указанный регистр commandFile Load/Save keypressed sequences COMMAND FILE: Load SAVE: Open Close Restart Задает файл с последовательностью нажатия клавиш Help Commands Display Simulation Avocet Вызов справки по указанным разделам IO IO FILE: Open Close Задает файл ввода-вывода данных Load LOAD: Avocet Data Program Symbol-table rOm Загрузка в память программы или данных из внешнего файла Memory MEMORY: Clear Fill Move Search searchNext LOWER Address UPPER Address Установка или поиск данных в резидентной памяти данных Patch PATCH: Patch code Open output file Close file Заполнение резидентной памяти программ Quit QUIT: Exit Выход из программы Reset RESET: Cpu Disptrace cYcles Сброс процессора, трассировки или счечика циклов Set SET: Memory-map Passpoint opTions cYcles V-drive Установка карты памяти, точек останова, счетчика циклов SET BREAKPOINT: Conditional Dynamic Opcode Sticky Установка точек останова setUp SETUP: Undo Задание числа шагов отмены View VIEW: Bkpts IO-files Memory-map Opc-traps Passpts Symbols Просмотр параметров отладки eXecute Execute Instruction Ввести и выполнить команду Приложение 2. Язык ассемблера avsim85. Основные сведения. Языки ассемблера Основные общие особенности языка ассемблера (чаще не совсем точно называемого просто ассемблером; строго ассемблером называется программа, которая переводит последовательность команд с языка ассемблера на язык машинных кодов процессора) микропроцессоров совпадают с особенностями всех языков подобного типа. Языки ассемблера являются машинно-ориентированными языками и, следовательно, для каждого типа процессоров существует свой язык. Почти каждая команда ассемблера эквивалентна команде на машинном языке процессора. Однако программирование на ассемблере, по сравнению с программированием на машинном языке (на уровне машинных кодов), существенно облегчается за счет возможности использования символического обозначения всех элементов программы (кодов операций, адресов ячеек памяти, программ и данных, переменных и констант, операндов и т.д.). Используемые символические обозначения элементов обычно отражают их содержательный смысл. При программировании на языке ассемблера программист может не заботиться о распределении памяти, о назначении конкретных адресов операндам. В ассемблере допускается оформление повторяющейся последовательности команд как одной макрокоманды. Соответствующие версии языка, допускающие использование макрокоманд, называют макроассемблерами. Кроме того, ассемблеры позволяют в той или иной форме использовать при программировании стандартные структуры типа цикл, разветвление. При программировании на ассемблере доступны все ресурсы системы и конкретного процессора (регистры, стек, память и т.д.). Это позволяет получать эффективные программы с точки зрения времени их выполнения и объема памяти, необходимого для размещения программы. Проблемы, связанные с конкретной аппаратурой и периферийными устройствами процессора лучше и удобнее решать на языке ассемблера. Однако программирование на ассемблере предполагает знание архитектуры и свойств процессора, т.е. всего того, что входит в понятие программная модель процессора.
Современные версии языков ассемблера предоставляют программисту ряд возможностей, характерных для языков высокого уровня, таких как условное ассемблирование, организация циклов арифметического и условного типа, т.е. позволяют использовать стандартные логические структуры, рекомендуемые методами структурного программирования. Ниже рассмотрены основные сведения о языке ассемблера пакета AVSIM85 v2.02 для МП Intel 8080/8085 (КР580/КР1821).
|
|||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 211; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.110.86 (0.029 с.) |