Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 29.03.2022
Сообщений: 18

Организация заданных интервалов времени (8051; ассемблер; multisim)

25.09.2022, 16:30. Показов 1368. Ответов 9

Студворк — интернет-сервис помощи студентам
Требуется подключить светодиод к одной из линии порта P1.7 и обеспечить загорание светодиода в течение 3 с, затем выключение светодиода в течение 2 с; организовать попеременное включение/выключение светодиода в течение 5 мин.
Проблема в том, что диод ну совсем не горит, а хотелось бы разобрать почему, как сделать, чтобы он горел соответственно условию и какие ошибки кода следует исправить.
Прикладываю схему из мультисима, там же и ассемблерный файл.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$MOD51 ;
jmp start        ;goto mark "start"
org 0bh          ;interruption subprogram of the timer T0 overflow 
clr tcon.4       ;prohibit count of the timer
reti             ;return from interruption
 
org 20h 
start:           ;main program
clr c            ;carry reset
mov tmod,#01h    ;setting up T/C0 on the 1st work mode (as a timer) 
setb ie.7        ;general permission of interruptions
setb ie.1        ;permittiong interruption of T/C0 timer
mov p1,#0h       ;setting port P1 for information output
met1: 
mov a,7h         ;moving 7h in ACC for LED1 (7th pin) diode enabling 
mov r0,#28h      ;r0 - cycle counter (28h=40 decimal) -> 40 times * 50 ms = 2 seconds
met: 
mov TL0, #low(not(50000-1)) ;moving lower byte of 50000 to the TL0 register (counting from -50000 to 0)
mov TH0, #high(not(50000-1)) ;moving higher byte of 50000 to the TL0 register (counting from -50000 to 0)
 
mov p1,a         ;enable 7th diode
setb tcon.4      ;enable timer T/C0
next: 
jnb tcon.5, next ;wait for TF0 flag overflow
djnz r0,met      ;cycling 40 times (2 seconds)
rlc a ;
 
mov r0,28h       ;setting the cycle counter again
jnc met          ;if not carry go to "met" 
clr c            ;carry reset
jmp met1         ;infinite cycle
end
Миниатюры
Организация заданных интервалов времени (8051; ассемблер; multisim)  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.09.2022, 16:30
Ответы с готовыми решениями:

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

Ассемблер микроконтроллера 8051
Товарищи помогите написать програму для вот такого задания:Устройство, которое позволяет измерять постоянное входное напряжение в диапазоне...

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

9
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
25.09.2022, 17:14
код от куда то свистнули...
а свой не пробовали написать ?
0
0 / 0 / 1
Регистрация: 29.03.2022
Сообщений: 18
25.09.2022, 17:17  [ТС]
Код был свистнут из методички. Свой написать не пробовал, пока на этапе разбирания
0
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
25.09.2022, 17:32
https://dspace.kpfu.ru/xmlui/b... 001015.pdf

читайте

Добавлено через 10 минут
Цитата Сообщение от cypher111 Посмотреть сообщение
Код был свистнут из методички. Свой написать не пробовал, пока на этапе разбирания
в вашем коде нет инита порта(ножки) и дерганья ей
0
0 / 0 / 1
Регистрация: 29.03.2022
Сообщений: 18
25.09.2022, 17:38  [ТС]
Прилагаю скриншот методички (задание немного другое), а ножка не дергается потому, что, наверное, мультисим сам делает все необходимое (насколько могу судить с ямы моей неопытности в таких делах).
Миниатюры
Организация заданных интервалов времени (8051; ассемблер; multisim)  
0
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
25.09.2022, 17:46
а схему сами рисовали ?
0
0 / 0 / 1
Регистрация: 29.03.2022
Сообщений: 18
25.09.2022, 18:37  [ТС]
Да, рисовал сам
0
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
25.09.2022, 19:20
Цитата Сообщение от cypher111 Посмотреть сообщение
Да, рисовал сам
попробуйте светодиод на Р1.В6 (7 -ая нога) подключить
0
0 / 0 / 1
Регистрация: 29.03.2022
Сообщений: 18
25.09.2022, 19:36  [ТС]
Цитата Сообщение от SergP01 Посмотреть сообщение
попробуйте светодиод на Р1.В6 (7 -ая нога) подключить
Все равно не работает так, как планируется. При запуске эмуляции диод загорается примерно на 0.01 ms и гаснет, но, как я понял, диод должен гореть 3 секунды, потом не гореть 2 секунды, и так 60 раз (5 сек * 60 = 5 мин).
0
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
25.09.2022, 19:52
я вам ссылку дал.....
попробуем так сначала поморгать....
я вообще то в АСМ не очень.... я бы на С запросто написал....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2022, 19:52
Помогаю со студенческими работами здесь

Программу составить на языке «Ассемблер» для микроконтроллера 8051
Помогите пожалуйста решить задачу: Составить программу обработки данных. Программу составить на языке «Ассемблер» для микроконтроллера...

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

Является ли интервалом объединение заданных интервалов?
Даны действительные числа a1, a2, ... , a2n. Эти точки определяют n интервалов числовой оси (a1, a2), (a3, a4), ..., (a2n-1, a2n). Является...

Объединение временных интервалов, заданных таблицей
Хочу обсудить решение средствами SQL вот какой задачи. Дана таблица, содержащая набор интервалов дат. Например такаяcreate table ( id int...

Является ли интервалом объединение заданных интервалов?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru