отчетЭвм (АС) / Lab_1
.docЛабораторная работа №1
Знакомство с интегрированной средой программирования Keil-C µVision.
Цель работы:
Изучить интегрированную среду программирования Keil-C: работу с текстовым редактором, с программными проектами, работу отладчика программ, научиться транслировать программы.
Программа работы
1. Включить ЭВМ, и вызвать интегрированную среду программирования.
2. Создать новый файл исходного текста программы.
3. Ввести заданный исходный текст программы, использовать клавиатуру.
4. Открыть диалоговое окно сохранения файла.
5. Создать новую папку с именем L1.
6. Ввести имя файла, например L1.c (расширение файла должно быть обязательно *.с), и нажать на кнопку клавиатуры Enter.
7. Создать новый проект. Для этого выбрать подменю "New project" из меню project". Выбрать папку размещения нового проекта – L1. Указать имя проекта – L1.
8. Подключить к программному проекту файл с исходным текстом программы.
9. Оттранслировать проект, нажать кнопку F7 (Rebuild all target files). Если есть ошибки, исправить их.
10. При отсутствии ошибок убедиться, что в директории проекта появился загрузочный файл с расширением *.hex.
11. Для вызова отладчика щелкнуть мышью значок его запуска .
12. Выполнить пошаговую отладку программы с использованием кнопки F11. На каждом шаге выполнения программы записать значения используемых переменных программы A[I] и S. Если при вызове отладчика в нижней части экрана отсутствует окно просмотра переменных, его можно включить,
выбрав в меню "View" команду "Watch & call stack window". Для добавления переменной в окно "Watch" достаточно щёлкнуть правой кнопкой мыши по нужной переменной в окне программы и в появившемся окне выбрать "ADD to Watch window".
Ход работы
Листинг
main(){
int A[10]={2,5,-8,7,-3,15,30,-11,16,-6};
int I,S,Pr;
S=0;
Pr=1;
for (I=0;I<10;I++)
{
Pr=Pr*A[I];
if(A[I]<0)
S=S+A[I];
}
}
Программа находит произведение всех элементов и сумму отрицательных элементов заданного массива.
Создание загрузочного модуля
Для создания загрузочного модуля после создания программного проекта нужно в свойствах проекта на вкладке Output поставить галочку перед Create HEX file. После этого нужно транслировать требуемые файлы клавишей F7 – Build target. При отсутствии ошибок на диске появится загрузочный модуль с расширением .hex.
Файл листинга lab1.lst
C51 COMPILER V9.50a L1 12/23/2012 02:41:57 PAGE 1
C51 COMPILER V9.50a, COMPILATION OF MODULE L1
OBJECT MODULE PLACED IN L1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE L1.c51 BROWSE DEBUG OBJECTEXTEND TABS(2)
line level source
1 main(){
2 1 int A[10]={2,5,-8,7,-3,15,30,-11,16,-6};
3 1 int I,S,Pr;
4 1 S=0;
5 1 Pr=1;
6 1 for (I=0;I<10;I++)
7 1 {
8 2 Pr=Pr*A[I];
9 2 if(A[I]<0)
10 2 S=S+A[I];
11 2 }
12 1 }
*** WARNING C290 IN LINE 12 OF L1.c51: missing return value
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 84 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 22
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
Файл загрузочного модуля lab1.hex
:10095C0000020005FFF80007FFFD000F001EFFF569
:04096C000010FFFA7E
:1009080078087C007D007BFF7A09795C7E007F1483
:100918001208D0E4F51CF51D7F01FEFBFAEB25E07B
:100928002408F8E6FC08E6FD1208F6EB25E02408A2
:10093800F8E6FC08E6FDC3EC64809480500AED25D7
:100948001DF51DEC351CF51C0BBB00010AEB640AF8
:030958004A70CA18
:01095B002279
:0300000002097082
:0C097000787FE4F6D8FD75811D020908AF
:10080000E709F608DFFA8046E709F208DFFA803EDA
:1008100088828C83E709F0A3DFFA8032E309F608C7
:10082000DFFA8078E309F208DFFA807088828C832F
:10083000E309F0A3DFFA806489828A83E0A3F608E3
:10084000DFFA805889828A83E0A3F208DFFA804CBD
:1008500080D280FA80C680D4806980F28033801094
:1008600080A680EA809A80A880DA80E280CA8033FD
:1008700089828A83ECFAE493A3C8C582C8CCC58375
:10088000CCF0A3C8C582C8CCC583CCDFE9DEE78045
:100890000D89828A83E493A3F608DFF9ECFAA9F0C4
:1008A000EDFB2289828A83ECFAE0A3C8C582C8CC1A
:1008B000C583CCF0A3C8C582C8CCC583CCDFEADE33
:1008C000E880DB89828A83E493A3F208DFF980CC95
:1008D00088F0EF60010E4E60C388F0ED2402B4048E
:1008E0000050B9F582EB2402B4040050AF23234535
:0608F00082239008507302
:1008F600EF8DF0A4A8F0CF8CF0A428CE8DF0A42E16
:02090600FE22CF
:00000001FF
Таблица 1. Значения переменных программы
Счётчик цикла, I |
элемент массива, A[I] |
сумма, S |
0 |
0x0002 |
0x0000 |
1 |
0x0005 |
0x0000 |
2 |
0XFFF8 |
0xFFF8 |
3 |
0x0007 |
0xFFF8 |
4 |
0xFFFD |
0xFFF5 |
5 |
0x000F |
0xFFF5 |
6 |
0x001E |
0xFFF5 |
7 |
0xFFF5 |
0xFFEA |
8 |
0x0010 |
0xFFEA |
9 |
0xFFFA |
0xFFE4 |
Вывод:
Выполнив эту работу, изучил интегрированную среду программирования Keil-C µVision, научился создавать проекты и отлаживать программу.
Выполнил: |
Губарев Роман Юрьевич |
Проверил: |
Шайхутдинов Данил Вадимович |
Дата: |
|
Подпись: |
|