Знакомство с интегрированной средой программирования keil-C

Методическое указание к лабораторной работе на учебном стенде LESO1.

1 Цель работы

  1. Изучить интегрированную среду программирования keil-C.
  2. Получить навыки работы с текстовым редактором этой среды программирования.
  3. Получить навыки работы с программными проектами.
  4. Научиться транслировать программы.
  5. Изучить работу отладчика программ в интегрированной среде программирования keil-C.

2 Подготовка к выполнению работы

Изучить следующие вопросы:

  1. Построение файловой системы персонального компьютера.
  2. Изучить правила пользования текстовым редактором.
  3. Создание и сохранение текстовых файлов.
  4. Изучить порядок создания программного проекта в интегрированной среде программирования keil-C.
  5. Изучить настройку свойств программного проекта в интегрированной среде программирования keil-C.
  6. Изучить использование окна управления программным проектом в интегрированной среде программирования keil-C.
  7. Изучить методы трансляции отдельных файлов в интегрированной среде программирования keil-C.
  8. Изучить методы трансляции программного проекта в интегрированной среде программирования keil-C.
  9. Изучить работу отладчика программ в интегрированной среде программирования keil-C.

3 Методические указания по использованию интегрированной среды программирования keil-C

3.1 Написание программы

В настоящее время программа пишется на одном из языков программирования в виде текстового файла. Это означает, что для написания программы можно воспользоваться любым текстовым редактором. Для того, чтобы программа-транслятор могла преобразовать исходный текст программы в машинные коды микропроцессора, этот текст программы должен быть записан с использованием символов ASCII или ANSI таблиц. К сожалению, некоторые текстовые редакторы для увеличения возможностей редактирования используют для записи текстов формат rtf, или свои собственные форматы (например редактор MS WORD). Такие текстовые файлы не понимаются программами-трансляторами и, следовательно, не могут быть использованы для записи исходного текста программы.

3.2 Использование интегрированной среды программирования

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

3.3 Работа с текстовым редактором интегрированной среды программирования keil-С

Работа с текстовыми файлами начинается с создания нового файла. Создать текстовый файл можно несколькими способами. Первый способ – воспользоваться главным меню, как показано на рисунке 1.

Создание нового файла через главное меню. 7,6КБ
Рисунок 1 – Создание нового файла через главное меню

Второй способ – использовать быстрые клавиши Ctrl+N. И третий способ – это нажать на пиктограмму создания нового файла, как показано на рисунке 2.

Создание нового файла при помощи пиктограммы. 7,5КБ
Рисунок 2 – Создание нового файла при помощи пиктограммы

После выполнения этих действий открывается окно текстового редактора, в котором можно вводить исходный текст программы. Внешний вид программы с открытым окном текстового редактора показан на рисунке 3.

Вид программы Keil-c. 13,2КБ
Рисунок 3 – Вид программы с окном тетстового редактора

Ввод программы производится с клавиатуры. Стирание одиночных ошибочно введённых символов возможно при помощи кнопок “Delete” и “Backspace”

После создания окна нового файла можно вводить исходный текст программы, используя клавиатуру. Набрав исходный текст программы в окне текстового редактора, файл необходимо сохранить на диске компьютера. Для этого можно воспользоваться меню файл, как это показано на рисунке 4:

Сохранение файла через главное меню. 7,2КБ
Рисунок 4 – Сохранение файла через главное меню

Второй способ – использовать быстрые клавиши Ctrl+S. И третий способ – это нажать на пиктограмму сохранения файла, как показано на рисунке 5. При вводе имени сохраняемого файла, обязательно должно быть указано расширение (*.c).

При написании программ часто требуется копировать участки программ из одного файла в другой. Для этого в текстовом редакторе открываются оба файла. Затем необходимый участок текста выделяется при помощи мыши или клавиатуры. Для выделения строк нажимается левая кнопка мыши в начале выделяемого фрагмента и, не отпуская её, курсор мыши перемещается в конец этого фрагмента. Для выделения столбцов производятся те же действия, но, кроме того, нажимается кнопка Alt на клавиатуре.

Сохранение файла при помощи пиктограммы. 7,9КБ
Рисунок 5 – Сохранение файла через главное меню

После выделения необходимого фрагмента текста, этот фрагмент копируется в буфер обмена. Скопировать можно, щёлкнув мышью по пиктограмме копирования, как это показано на рисунке 6, кроме того удобно копировать в буфер обмена комбинацией клавиш Ctrl+C.

Копирование выделенного фрагмента в буфер обмена при помощи пиктограммы. 7,3КБ
Рисунок 6 – Копирование выделенного фрагмента в буфер обмена при помощи пиктограммы

Теперь можно переключиться в окно редактирования файла, куда нужно поместить скопированный текстовый фрагмент при помощи главного меню, как это показано на рисунке 7, и вставить этот фрагмент перед текстовым курсором, вставку также можно осуществить нажатием Ctrl+V.

Вставка фрагмента из буфера обмена может быть произведена либо из меню Edit, либо при помощи пиктограммы Paste как это показано на рисунке 8. Фрагмент исходного текста будет вставлен в то место набираемого текста, где в настоящее время находится курсор.

Выбор окна редактирования файла. 9,7КБ
Рисунок 7 – Выбор окна редактирования файла

 

Вставка скопированного фрагмента из буфера обмена при помощи пиктограммы. 8,4КБ
Рисунок 8 – Вставка скопированного фрагмента из буфера обмена при помощи пиктограммы

Следует помнить, что копирование участка исходного текста программы эквивалентно набору этого текста программы с клавиатуры и поэтому файл, в который производилось копирование текста, необходимо сохранить на диске любым из методов, описанных ранее.

3.4 Создание программных проектов

3.4.1 Разработка программных средств

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

Для того чтобы было легко ориентироваться в файлах на компьютере, каждую задачу помещают в отдельную директорию (папку). Написание программы тоже следует начинать в отдельной папке, тем более что как будет показано далее, даже простейшая программа состоит из нескольких файлов.

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

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

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

Программные проекты можно создавать, и поддерживать вручную, но в последнее время обычно используются различные системы поддержки разработок. Это создаёт ряд дополнительных преимуществ.

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

3.4.2 Использование системы поддержки разработок

Для облегчения процесса разработки программы часто используются системы поддержки разработок. В состав систем поддержки разработок включается определенный набор программных средств: редакторы текстов, ассемблер, редакторы связей, компиляторы, загрузчики и тому подобное. Каждая из этих программ создаёт свой файл (или свои файлы) на диске компьютера. Для того чтобы не запутаться в этих файлах при разработке программы, все эти файлы размещаются в своей, отдельной директории. Имя этой директории обычно назначают по имени программно-аппаратного проекта. Например: измеритель характеристик транзисторов или цифровой осциллограф.

3.4.3 Создание программного проекта в интегрированной среде программирования keil-С

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

Создание нового программного проекта. 7,1КБ
Рисунок 9 – Создание нового программного проекта

После создания новой директории и нового файла программного проекта, интегрированная среда программирования предлагает выбрать конкретную микросхему из семейства MCS-51, как это показано на рисунке 10.

Диалоговое окно выбора микросхемы для программного проекта. 13,2КБ
Рисунок 10 – Диалоговое окно выбора микросхемы для программного проекта

После нажатия кнопки “OK”, будет предложено добавить в рабочую папку и включить в проект файл начальной инициализации микроконтроллера (Copy Analog Devices Startup Code to Project Folder and Add File to Project?). Следует выбрать вариант ответа “Нет”.

Диалоговое окно. 4,3КБ
Рисунок 11 – Диалоговое окно

При этом в интегрированной среде программирования окно менеджера проекта приобретает вид, показанный на рисунке 12. Название назначения программного проекта можно изменить, щёлкнув манипулятором “мышь” по названию назначения программного проекта в окне менеджера проекта (Например: отладка, реализация или сопровождение). Точно так же можно изменить название устройства в составе программного проекта (Например: носимая радиостанция, автомобильная радиостанция, стационарная радиостанция или базовая радиостанция).

Внешний вид окна менеджера проекта после создания программного проекта. 7,2КБ
Рисунок 12 – Внешний вид окна менеджера проекта после создания программного проекта

3.4.4 Настройка свойств программного проекта в интегрированной среде программирования keil-С.

После создания программного проекта в интегрированной среде программирования keil-C конечным файлом трансляции является абсолютный файл. Для загрузки в микросхему обычно используется *.hex файл. Для создания этого файла необходимо включить соответствующую опцию в свойствах программного проекта.

Изменение свойств программного проекта через главное меню. 10,3КБ
Рисунок 13 – Изменение свойств программного проекта через главное меню

Изменить свойства программного проекта можно несколькими способами. Первый способ – воспользоваться главным меню, как показано на рисунке 13. Второй способ – это нажать на кнопку изменения свойств программного проекта, как показано на рисунке 15.

Изменение свойств программного проекта при помощи пиктограммы. 7,5КБ
Рисунок 14 – Изменение свойств программного проекта при помощи пиктограммы

При этом на экране компьютера появляется диалоговое окно изменения свойств программного проекта как показано на рисунке 15. В этом окне необходимо ввести параметры внешней памяти программ и памяти данных.

Диалоговое окно настройки свойств программного проекта. 9,7КБ
Рисунок 15 – Диалоговое окно настройки свойств программного проекта

Затем необходимо установить выходные параметры программного проекта. Для этого открываем закладку выход (Output), как это показано на рисунке 16. В этой закладке убеждаемся, что установлена галочка создания выходного загрузочного файла в *.hex формате. Для того чтобы не загромождать директорию проекта файлами объектных кодов можно создать отдельную директорию. Например, с названием OBJ. Новая директория может быть создана после нажатия на кнопку “Select Folder for Object”.

Точно так же можно создать директорию (папку) для файлов листингов. Для этого необходимо выбрать закладку “Listing”. В файлах листингов помещается информация об ошибках, ассемблерный код и соответствующий ему машинный код программного модуля. Использование листингов позволяет оптимизировать программу, а при работе без интегрированной среды программирования и находить синтаксические ошибки программы. Отметим, что создание файлов листингов замедляет процесс трансляции. Обычно имя для папки листингов выбирают LST.

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

Для настройки параметров компиляции выбирается закладка “C51”. В этой закладке настраивается уровень оптимизации транслируемого программного модуля и цель оптимизации (по скорости работы программы или по размеру выходного файла). Кроме того, в этой закладке заносится адрес векторов прерывания.

После настройки свойств программного проекта в диалоговом окне, это окно закрывается нажатием кнопки “OK”.

Диалоговое окно настройки выходных параметров программного проекта. 9,8КБ
Рисунок 16 – Диалоговое окно настройки выходных параметров программного проекта

Теперь можно подключать к программному проекту файлы с исходным текстом программных модулей. Для этого можно щёлкнуть правой кнопкой мыши по значку группы файлов в окне менеджера проектов, как это показано на рисунке 17, и выбрать опцию добавления файлов к программному проекту. Добавляемые файлы должны быть предварительно созданы. Если файлом является программа на языке С, то этот файл должен иметь расширение *.c. Например LAB1.c. Если проект состоит из нескольких программных модулей, опцию добавления файлов следует повторить соответствующее число раз.

Всплывающее меню менеджера проектов с выбранной опцией добавления файлов к программному проекту. 9,3КБ
Рисунок 17 – Всплывающее меню менеджера проектов с выбранной опцией добавления файлов к программному проекту

3.4.5 Работа с программным проектом в интегрированной среде программирования keil-С

После завершения создания программного проекта можно открыть исходные тексты программных модулей, щёлкнув левой кнопкой мыши на названии соответствующего файла в окне менеджера проектов.Точно так же можно переключаться между программными модулями проекта, используя окно менеджера проектов.В случае необходимости можно выключать окно менеджера программных проектов, но обычно это окно удобно при написании программы.Если окно менеджера проектов отключено, то переключаться между модулями можно, используя меню “window”.

3.5 Указания по трансляции программ и программных проектов

3.5.1 Трансляция программных модулей

Как уже указывалось, программный проект может состоять из нескольких файлов. В программном проекте, состоящем из нескольких файлов, появляется возможность нескольких видов трансляции. Прежде всего, можно оттранслировать только один файл, не транслируя остальные файлы программного проекта. Это позволяет обнаружить, и исправить все синтаксические ошибки в отдельном программном модуле. При трансляции каждого программного модуля на жёстком диске формируются перемещаемый файл в объектном формате, который затем будет использоваться для создания загрузочного файла программного проекта. Этот файл называется объектный модуль. Одновременно с объектным модулем на диске формируется файл листинга программного модуля, в который помещается исходный текст программного модуля и сообщения о синтаксических ошибках.

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

При трансляции исходного текста программы, написанной на языке программирования высокого уровня, таком как C программа транслятор может быть настроена так, что она будет создавать файл с текстом исходного модуля, написанного на ассемблере или помещать этот текст в листинг программного модуля. Таким образом, появляется возможность писать, и отлаживать программу на языке высокого уровня, а затем переводить её на язык программирования ассемблер и оптимизировать её вручную.

3.5.2 Связывание объектных модулей и получение загрузочного файла

После того, как оттранслированы без ошибок все программные модули, и тем самым получены файлы объектных модулей, производится трансляция всего программного проекта (связывание объектных модулей). При этом на диске формируются абсолютный и загрузочный файлы программного проекта. Для контроля ошибок связывания формируется файл листинга редактора связей с расширением .m51.

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

3.5.3 Трансляция программных проектов

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

После загрузки исходного текста программного модуля достаточно нажать на кнопку трансляции программного модуля, как это показано на рисунке 18.

Трансляция программного модуля при помощи кнопки трансляции файла. 7,6КБ
Рисунок 18 – Трансляция программного модуля при помощи кнопки трансляции файла

Ещё один способ трансляции программного модуля, это воспользоваться главным меню, как это показано на рисунке 19.

Трансляция программного модуля при помощи главного меню. 8,4КБ
Рисунок 19 – Трансляция программного модуля при помощи главного меню

Надо отметить, что в составе интегрированной среды программирования для поиска синтаксических ошибок удобнее пользоваться не файлом листинга, а окном "build"(расположено внизу рабочей области), где выводятся все сообщения об ошибках. При этом если дважды щёлкнуть мышью по сообщению об ошибке в окне "build", то в окне текстового редактора будет выделена строка программы, где была обнаружена данная ошибка.

Трансляция программного модуля и получение загрузочного файла в интегрированной среде программирования производится нажатием кнопки "Build target", как это показано на рисунке 20.

Трансляция программного модуля проекта при помощи кнопки Build target 8,4КБ
Рисунок 20 – Трансляция программного модуля проекта при помощи кнопки "Build target"

Ещё один способ трансляции программного проекта в интегрированной среде программирования, это воспользоваться главным меню, как это показано на рисунке 21, но удобнее всего нажать на клавиатуре клавишу “F7”.

Трансляция программного проекта при помощи кнопки Build target 8,4КБ
Рисунок 21 – Трансляция программного проекта при помощи кнопки "Build target"

Если же необходимо оттранслировать все программные модули вне зависимости имеются объектные модули или нет, и получить загрузочный файл, то нажимается кнопка "Rebuild all target files" или выбирается соответствующее меню.

3.6 Указания по отладке программ во встроенном отладчике программ

3.6.1 Способы отладки программ

Отладка программ заключается в проверки правильности работы программы и аппаратуры. Программа, не содержащая синтаксических ошибок, тем не менее, может содержать логические ошибки, не позволяющие программе выполнять заложенные в ней функции. Логические ошибки могут быть связаны с алгоритмом программы или с неправильным пониманием работы аппаратуры, подключённой к портам микроконтроллера.

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

Для отладки программ обычно применяют три способа:

  1. Пошаговая отладка программ с заходом в подпрограммы;
  2. Пошаговая отладка программ с выполнением подпрограммы как одного оператора;
  3. Выполнение программы до точки останова.

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

Если в программе имеются уже отлаженные подпрограммы, то подпрограмму можно рассматривать, как один оператор программы и воспользоваться вторым способом отладки программ.

Вызов встроенного отладчика удобнее всего осуществить, нажав на кнопку отладчика на панели инструментов "file" как показано на рисунке 22 или воспользоваться быстрой кнопкой Ctrl+F5

Вызов встроенного отладчика с использованием кнопки на панели file 5,4КБ
Рисунок 22 – Вызов встроенного отладчика с использованием кнопки на панели “file”

После этого внешний вид интегрированной среды программирования принимает вид, показанный на рисунке 24. В верхней части программы появляется дополнительная панель инструментов отладчика программ (рисунок 23). В нижней части программы появляется окно просмотра памяти контроллера и окно контроля переменных "Watch".

Дополнительная панель инструментов отладчика программ. 11,8КБ
Рисунок 23 – Дополнительная панель инструментов отладчика программ

Окно просмотра памяти контроллера можно настроить на просмотр памяти программ или памяти данных, введя в диалоговое окно “адрес” ключ, двоеточие и адрес начальной ячейки памяти. Например:

d:0 – просмотреть память данных начиная с нулевой ячейки;

c:0 – просмотреть память программ начиная с нулевой ячейки;

x:0 – просмотреть внешнюю память данных начиная с нулевой ячейки.

Внешний вид интегрированной среды программирования в режиме отладки программ. 22,8КБ
Рисунок 24 – Внешний вид интегрированной среды программирования в режиме отладки программ

При использовании встроенного отладчика программ для контроля переменных можно воспользоваться окном “Watch”. В большинстве случаев это намного выгоднее, чем использовать просмотр памяти данных. Переменные в этом окне отображаются в том формате, в котором они были объявлены в программе. Для добавления переменной в окно “Watch” достаточно щёлкнуть правой кнопкой мыши по переменной в тексте программы в окне отладчика программ, как это показано на рисунке 25.

Добавления переменной в окно просмотра Watch. 6,8КБ
Рисунок 25 – Добавления переменной в окно просмотра “Watch”

При отладке программ на языке программирования ассемблер очень важно контролировать содержимое внутренних регистров микроконтроллера. Это позволяет сделать закладка "Regs" в окне менеджера проектов, показанная на рисунке 24 ( левая рабочая область). В этом окне можно проконтролировать содержимое регистров текущего банка, указателя стека и программного счётчика, содержимое аккумуляторов A и B, а также состояние рабочих флагов микроконтроллера в регистре PSW.

Один оператор программы может быть выполнен нажатием кнопки F11. Если вызов подпрограммы рассматривается как один оператор, то пошаговая отладка программы осуществляется нажатием кнопки F10.

Использование точек останова позволяет пропускать уже отлаженную часть программы. Для того, чтобы установить точку останова, можно воспользоваться кнопкой (Insert/remove Breakpoint) на панели файлов или воспользоваться главным или всплывающим меню. Перед тем как нажать на кнопку установки точки останова, необходимо установить курсор на строку исходного текста программы, где необходимо остановить выполнение программы.

Точка останова устанавливается в местах, где необходимо проверить содержимое переменных или просто проконтролировать, передаётся ли управление данному оператору.

После того, как установлены все необходимые точки останова осуществляется выполнение программы в свободнобегущем режиме. Для этого можно воспользоваться кнопкой (Run) или нажать на кнопку F5 на клавиатуре.

Может возникнуть ситуация, что программа не передаёт управление ни одному из операторов, на которых установлены точки останова. В этом случае для прекращения выполнения программы следует воспользоваться кнопкой (Halt) или нажать на кнопку Esc на клавиатуре.

Точка останова может быть использована многократно. Иногда же возникает необходимость однократно пропустить часть операторов. В этом случае можно воспользоваться кнопкой выполнения программы до курсора (Run to Cursor line). При нажатии на эту кнопку программа будет выполняться до тех пор, пока управление не будет передано оператору, на котором находится курсор. Как только это произойдёт, выполнение программы будет остановлено, и можно будет проконтролировать переменные и продолжить выполнение программы в пошаговом или свободнобегущем режиме.

4 Задание к работе

4.1 Войдите в интегрированную среду программирования.

4.2 Создайте новый файл исходного текста программы. Имя файла может быть например L1.c (расширение *.c обязательно).

Текст программы:

main(){
int A[10]={2,5,-8,7,-3,15,38,-11,66,-6};    //задание массива
int I,S,Pr;              //объявление переменных целого типа
S=0;                    //начальное значение суммы
Pr=1;                    //начальное значение произведения
for (I=1;I<10;I++ )       //переменная цикла I изменяется от 1 до 10 с шагом 1
{
Pr=Pr*A[I];               // нахождение произведения всех элементов массива
if(A[I]<0)               //если элемент массива меньше 0
S=S+A[I];                //нахождение суммы отрицательных элементов массива
}} 

Эта программа находит сумму отрицательных элементов массива А[10]. После выполнения программы результат (сумма) будет находиться в ячейке памяти S.

4.3 Создайте проект с именем LAB1.

4.4 Добавьте в проект файл с программой.

4.5 Настройте его параметры в соответствии с заданием с вашим вариантом.

Таблица1 – Варианты заданий.

Номер варианта Уровень оптимизации Цель оптимизации Формировать листинг Микроконтроллер
1 1 Размер кода с ассемблерным кодом AduC812
2 2 Скорость работы с таблицей символов At89c52
3 3 Скорость работы с таблицей символов At89s53
4 4 Размер кода с таблицей символов AduC834
5 5 Размер кода с ассемблерным кодом DS89c420
6 6 Размер кода с ассемблерным кодом At89c55
7 7 Скорость работы с таблицей символов At89s51
8 8 Размер кода с таблицей символов At89LV55
9 1 Скорость работы с ассемблерным кодом AduC812
0 2 Размер кода с таблицей символов At89s51

4.6 Оттранслируйте программный проект.

4.6 Убедитесь, что при трансляции программного модуля не обнаружены синтаксические ошибки.

4.7 Убедитесь, что в директории проекта созданы загрузочный файл с расширение *.lst и загрузочный hex-файл с расширением *.hex.

4.8 Выполните пошаговую отладку программы с использованием кнопки F11. На каждом шаге выполнения программы запишите значения используемых переменных программы: A[i] и S. 

5 Методические указания к выполнению работ

5.1 Включите ЭВМ, и вызовите интегрированную среду программирования, щелкнув мышью по значку .

5.2 Создайте новый файл исходного текста программы.

5.3 Введите заданный исходный текст программы, используя клавиатуру.

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

5.5 Создайте новую папку с именем LAB1. Для этого щёлкните мышью по значку .

5.6 Введите имя файла, например L1.c (расширение файла должно быть обязательно *.с), и нажмите на кнопку клавиатуры Enter.

5.7 Создайте новый проект. Для этого выберите подменю "New project" из меню project". Выберите папку размещения нового проекта – LAB1. Укажите имя проекта – L1.

5.8 Теперь можно подключать к программному проекту файл с исходным текстом программы. Для этого можно щёлкнуть правой кнопкой мыши по значку группы файлов в окне менеджера проектов, как это показано на рисунке 17, и выбрать опцию добавления файлов к программному проекту.

5.9 Оттранслируйте проект, нажав кнопку F7 (Rebuild all target files). Если есть ошибки, исправьте их в текстовом редакторе среды Keil.

5.10 При отсутствии ошибок убедитесь, что в директории проекта появился загрузочный файл с расширением *.hex.

5.11 Для вызова отладчика щелкните мышью значок его запуска .

5.12 Выполните пошаговую отладку программы с использованием кнопки F11. На каждом шаге выполнения программы запишите значения используемых переменных программы A[I] и S. Если при вызове отладчика в нижней части экрана отсутствует окно просмотра переменных, его можно включить, выбрав в меню "View" команду "Watch & call stack window", либо воспользоваться иконками, показанными на рисунке 23. Для добавления переменной в окно "Watch" достаточно щёлкнуть правой кнопкой мыши по нужной переменной в окне программы и в появившемся окне выбрать "ADD to Watch window".

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

  1. Цель работы.
  2. Исходный текст программы.
  3. Cтруктура программного проекта.
  4. Порядок создания загрузочного модуля.
  5. Файл листинга (файл с расширением *.lst).
  6. Распечатка загрузочного файла (с расширением *.hex).
  7. Таблица значений переменных программы на каждом шаге выполнения.
  8. Выводы.

7 Рекомендуемая литература

  1. М. Рафикумазан. Микропроцессоры и машинное проектирование микропроцессорных систем 1988
  2. В.В. Сташин А.В. Урусов О.Ф.. Мологонцева Проектирование цифровых устройств на однокристальных микроконтроллерах 1990.
  3. В.Я. Нерода В.Э. Торбинский Е.Л.. Шлыков Однокристальные микроЭВМ MCS-51 Архитектура 1995.
  4. В.И. Сединин, А.В. Микушин. Однокристальный микроконтроллер семейства MCS-51 фирмы INTEL 8xC51GB 2001
  5. В.И. Сединин, А.В. Микушин. Программирование микропроцессорных систем на языке ASM-51 2003
  6. В.И. Сединин, А.В. Микушин. Программиро-вание микро-процессорных систем на языке C-51 Москва, «Горячая линия – Телеком», 2009. — 216с.
  7. http://digteh.ru/content.php

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

Орфографическая ошибка в тексте:
Чтобы сообщить об ошибке автору, нажмите кнопку "Отправить сообщение об ошибке". Вы также можете отправить свой комментарий.