Перейти к содержанию
С Днём Победы! ×

Программирование на языке Ассемблер


Рекомендуемые сообщения

Здравствуйте!

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

Условия задачи: необходимо создать программу, формирующую импульсный сигнал на одном из цифровых выводов порта, в блокноте на языке Ассемблер для микроконтроллера ADuC836.

Исходные данные:

- вывод порта микроконтроллера: 19 (P3.3)

- частота выходных импульсов: 2000 Гц;

- скважность сигнала: 8.

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

Также имеется пример кода:

IMP EQU P1.4   ;Присваиваем название IMP

CSEG

ORG 000H

     JMP MAIN

ORG 0028H

     CPL IMP

     CLR TF1   ;Очищаем флаг TF0

     RETI

ORG  0060h

MAIN:

     SETB ET1   ;Включаем прерывания таймера

      MOV  TL1,#00h ;Инициализируем таймер регистра и                        п                                      перезагрузки

     MOV  TH1,# C17 ; Значение переполнения

     SETB EA   

MOV T1CON, #04h  

     JMP   $

     SETB ET2

     MOV  TL2, #00h

     MOV  TH2, #C17

     SETB EA

 MOV T2CON,#04h

     JMP   $

END

 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Издалека зашёл.:lol:

Пример кода для того и дан, чтобы учащийся самостоятельно разобрался в его работе. Используя дополнительно справочник по ассемблеру и даташит с описанием  микроконтроллера. Если сейчас всё тебе готовое напишут, то какой смысл в обучении?

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

4 часа назад, Palio сказал:

в связи с дистанционным обучением изучать данный язык стало очень тяжело

Да ну... От чего же ?
Времени стало больше. Сиди, занимайся ...

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

ТС думал, что он самый хитрый. Облом, юноша. Вы предоставьте свое видение решения задачи, а знающие наставят на путь истинный. Заметьте - за вас никто ничего делать не будет! Разве что за твердую валюту, но на то есть отдельный раздел форума.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

В 22.11.2021 в 14:05, Palio сказал:

CLR TF1   ;Очищаем флаг TF0

блэск.... вот почему комментарии к коду БЕСПОЛЕЗНЫ. без актуализации они только вводят в заблуждение.

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

 

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Далеко не всегда это так. Просто на новых платах может стоять на плате разъем под шлейф (чаще всего COM), но самого шлейфа в комллекте нет. Это что, сокет AM2 материнка? Не жалко было денег тратить на ее восстановление? Можно было просто поставить PCI звуковую и сетевую карту (если есть такие в наличии).  Или USB-варианты, все равно плата может долго не прожить.  
    • Для начала, ну так, просто для интересу, говорят что иногда помогает написать хотябы модель усилителя.
    • P/T, что идёт к процу, в норме должно быть 5 В.  Short P/T, что идёт к плате усилителей, должен быть практически + питания УМЗЧ.
    • В поисковике вбейте "скин эффект" и немного почитайте.
    • Сколько Вольт на катоде D319? Здесь много защит. От перегруза, от постояники, а так же детектируются питающие шины +/-B и +/-12 Вольт.  
    • После входной лампы так и просится расщепленный фазоинвертор, который идеально состыкуется с входным каскадом без разделительной емкости и сам по себе является очень простым и стабильным решением. А вот диффкаскад мало того, что лишний триод, так еще и токи в плечах не совсем симметричны, причем дисбаланс со временем только усугубится. Токи можно выровнять только раздельными катодными резисторами. Такой ФИ понадобится когда раскачка в амплитуде нужна вольт эдак 80 или выше. Еще его можно попробовать в общей петеле ОС по аналогии с транзисторной схемотехникой.
    • Спасибо за ссылку, Именно с этим Паком у меня впервые и возникли проблемы со встроенной внутри заразой. Тоже самое потом было и c DPS. Но это было давно, с тех пор я им больше не пользовался. Возможно что этот лучше, но пока не попробуешь, не будешь знать. Будет время и необходимость, попробую и проверю.  По поводу "бесплатных драйверов" - драйвера у DSP есть бесплатные онлайн, но с "довеском" ввиде всякого шита. Даже полный небесплатный пакет тоже с этим дерьмом идет. Ничего смешного тут нет. Один клиент купил это дерьмо, и что потом, в суд подавать на ту компанию? Он собирался им сделать гадость, хорошо что мне удалось все вычистить... KDE мне нравился старый, новый не очень... Чаще использую XFCE (насколько cтарое железо позволяет), или Cinnamon. Оболочка скорее нужна только для запуска программ, чем сама по себе. Ubuntu сам по себе достаточно "тяжелый", MX Linux, Manjaro или Mint для более старого железа. На одном ядре приходится жертвовать красотой ради  сравнительно  "нормального" управления. Слава богу, что под любой комп можно что-то подобрать.
×
×
  • Создать...