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

Задача с таймером на Ассемблере

27.11.2017, 17:08. Показов 1203. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо написать программу для генерирования ТС1 временных меток длительностью 40 мс при Fosc = 12 МГц. протестировать программу (2-3 примера).
С языком я знаком очень и очень мало, пробовал делать сам выдает ошибку "*** error 65: access violation at C:0x0000 : no 'execute/read' permission"
Кто сможет помочь буду очень признателен.
вот код который писал я:

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
#include <reg51.h>
JMP START                           //Команда перехода по метке START
TRANS:                              //Метка перехода TRANS
        MOV TH1,#0x63;              //Загрузили старший байт таймера
        MOV TL1,#0xBF;              //Загрузили младший байт таймера
        MOV TCON,#0x40;             //Сбросили бит переполнения TF1, установив новое значение регистру TCON
        RET;                        //Команда возращение в тело программы
        
START:  MOV TMOD,#0x10;             //Устанавливаем режим работы таймера
        MOV IE,#0x88;               //Разрешили прерывание таймера 1
        MOV TH1,#0x63;              //Загрузили старший байт таймера
        MOV TL1,#0xBF;              //Загрузили младший байт таймераTL1 = 0xBF;  
        MOV TCON,#0x40;             //Устанавливаем разрешение на прерывание от таймера
 
        
C860:                               //метка С860
        JNB 0X88.7,c860             //Eсли бит переполнения(TF1) равен нулю то переход по метке,иначе следующая строчка
        CALL TRANS                  //Вызов подпрограммы
            
C861:                               //метка С860
        JNB 0X88.7,c861             //Eсли бит переполнения(TF1) равен нулю то переход по метке,иначе следующая строчка
        CALL TRANS                  //Вызов подпрограммы
        
C862:                               //метка С862  
        JNB 0X88.7,c862             //Eсли бит переполнения(TF1) равен нулю то переход по метке,иначе следующая строчка
        CALL TRANS                  //Вызов подпрограммы
        JMP C860                    //Переход по метке, необходимо для обеспечения бесконечного цикла
End
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2017, 17:08
Ответы с готовыми решениями:

Проблема с таймером на ассемблере
Всем доброго времени суток. Я только начал изучать ассемблер. До этого работал только на C. Вроде все получается но есть одна проблема....

Задача с таймером
Добрый день. Вопрос покажется тривиальным но я не смог найти ответ. Суть такая: мне надо на выходе получить часы вида чч:мм:сс. ...

Работа с таймером
Всем привет! Подскажите, кто-нибудь, как сделать таймер вида: 00,01,02,03...60 (дойдя до 60 секунд), таймер принимает вид 1:00

4
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
28.11.2017, 01:24
Смущает меня строчка
#include <reg51.h>
Действительно ли нужна программа на ассемблере?
Если да, то могу предложить вариант для классического ассемблера Intel 51, если уточните задачу.
Что подразумевается под "временных меток длительностью 40 мс"?

P.S. В любом случае ваш код не может быть решением "задачи с таймером".
0
1184 / 672 / 113
Регистрация: 15.05.2012
Сообщений: 4,084
28.11.2017, 19:01
Цитата Сообщение от northener Посмотреть сообщение
Смущает
Да, есть такие компиляторы.
0
487 / 333 / 33
Регистрация: 15.08.2011
Сообщений: 1,078
02.12.2017, 17:40
Hunter217, Во первых, вы бы заметно облегчили задачу если бы сказали каким компилятором пользуетесь.
Во вторых кто выдает эту ошибку? Ассемблер, линковщик, или при запуске отладки она выскакивает?

По виду это напоминает keil, а ошибка похожа на попытку выполнения кода из ОЗУ, или наоборот, запись данных в код. А связано это может быть с тем что сегменты неправильно определены. У вас они кстати вообще не прописаны.
0
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
03.12.2017, 02:04
Цитата Сообщение от paskal Посмотреть сообщение
Во вторых кто выдает эту ошибку?
А кто кроме отладчика может выдать такую ошибку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.12.2017, 02:04
Помогаю со студенческими работами здесь

Работа с таймером
Доброго времени суток. Я в программировании новичек. прошу сильно не ругать. Излогаю задачу. У меня есть программа написанная на C++...

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

Управление таймером
Нужно построить модель аналого-цифрового преобразователя, который работает в реальном времени. Есть пример задания: /* Підключення...

Работа с таймером
Сразу скажу с Visual basic.net не знаком почти. Нужно сделать следующее. Есть комбобокс, где скажем 2 значения - черный, белый. Снизу есть...

Работа с таймером
Добрый день! Осваиваю микроконтроллеры. Установил таймер по совпадению. При отсутствия значении на АЦП через 8 сек. на пине PB1...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru