![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 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; просмотров: 212; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.1.220 (0.02 с.) |