ємо вміст R1 в осередок ST
PUSH ST; збереження осередку ST Pbuf R0 R6, LOOP R1, #Buf; покажчик на буфер
MOV R0, # b0; покажчик на b0 SUMM, # 0; очищаємо клітинку з молодшим байтом суми
MOV R6, # 4; кількість циклів
POP ST; відновили ST
MOV R0, # 0
MOV R0, Mx + 4; прирощення R0
MOV R6, # 4
DJNZ R5, LOOP; декрементіровать лічильник R5
NOP; переривання програми
CLR EA; заборона переривань TH0, # 0F8H; старший байт додаткового коду періоду циклу
TL0, # 2FH; молодший байт додаткового коду періоду циклу
START; повернення з підпрограми обробки переривань
; директива завершення трансляції
. Налагодження системи
У курсовій роботі для налагодження системи використана програма ProView.фірми Franklin Software Inc.- Інтегроване середовище розробки програмного забезпечення для однокристальнихмікроконтролерів сімейства Intel 8051 і його клонів. Вона включає в себе все, що потрібно для створення, редагування, компіляції, трансляції, компоновки, завантаження й налагодження програм:
стандартний інтерфейс Windows;
повнофункціональний редактор вихідних текстів з виділенням синтаксичних елементів кольором;
організатор проекту;
транслятор з мови C;
асемблер;
відладчик;
вбудовану довідкову систему.
Перший етап розробки програми - запис її вихідного тексту на якій-небудь мові програмування.
Потім проводиться компіляція або трансляція його в коди з системи команд мікроконтролера, використовуючи транслятор або асемблер. Транслятори і асемблери - прикладні програми, які інтерпретують текстовий файл, що містить вихідний текст програми, і створюють об'єктні файли, що містять об'єктний код.
Після компонування об'єктних модулів настає етап налагодження програми, усунення помилок, оптимізації і тестування программи.об'едіняет всі етапи розробки прикладної програми в єдиний рекурсивний процес, коли в будь-який момент часу можливий швидкий повернення до будь-якому попередньому етапу.імеет наступні компоненти.
Оптимізуючий крос-компілятор C51
Мова C - універсальна мова програмування, який забезпечує ефективність коду, елементи структурного програмування і має багатий набір операторів. Універсальність, відсутність обмежень реалізації роблять мова C зручним і ефективним засобом програмування для широкого розмаїття завдань. Безліч прикладних програм може бути написано легше і ефективніше на мові C, ніж на інших більш спеціалізованих язиках.- повна реалізація стандарту ANSI (Американського національного інституту стандартів), наскільки це можливо для архітектури Intel 8051. C51 генерує код для всього сімейства мікроконтролерів Intel 8051. транслятор поєднує гнучкість програмування мовою C з ефективністю коду і швидкодією асемблера.
Використання мови високого рівня C має наступні переваги над програмуванням на асемблері:
глибокого знання системи команд процесора не потрібно, елементарне знання архітектури Intel +8051 бажано, але не необхідно;
розподіл регістрів і способи адресації управляються повністю транслятором;
краща читаність програми, використовуються ключові слова та функції, які більш властиві людської думки;
час розробки програм та їх налагодження значно коротше в порівнянні з програмуванням на асемблері;
бібліотечні файли містять багато стандартних підпрограм, які можуть бути включені в прикладну програму;
існуючі програми можуть багаторазово використовуватися в нових програмах, використовуючи модульні методи програмування.
макроассемблер A51
Асемблер A51 сумісний з ASM51 Intel для всього сімейства мікроконтролерів Intel 8051. Асемблер транслює символічну мнемоніку в переміщуваний об'єктний код, який має високу швидкодію і малий розмір. Макрозасоби прискорюють розробку і заощаджують час, оскільки загальні послідовності можуть бути розроблені тільки один раз. Асемблер підтримує символічний доступ до всіх елементів мікроконтролера і перебудовує конфігурацію для кожного різновиду Intel 8051.транслірует вихідний файл асемблера в переміщуваний об'єктний модуль. При налагодженні або при включеній опції «Include debugging information» цей об'єктний файл буде містити повну символічну інформацію для відладчика/імітатора або внутрис...