Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
192 / 128 / 52
Регистрация: 19.01.2010
Сообщений: 518
1

Таймер-счетчик в МК51: программа уходит в бесконечный цикл

17.11.2012, 20:02. Показов 2286. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Набросал код по таймеру, но не знаю как проверить его работу. Прогоняя через симулятор, прога уходит в бесконечный цикл (насколько я понял). Укажите на ошибки.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$mod51
org 0
      jmp start
org 0Bh
      jmp timer
org 30h
      
start:
      setb EA
      setb ET0
      MOV TMOD, #2
      MOV TL0, #09Bh
      MOV TH0, #0FFh
      setb TR0
 
timer:
      clr TF0
      clr TR0
      clr EA
      reti
END
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2012, 20:02
Ответы с готовыми решениями:

Программа уходит в бесконечный цикл
Программа уходит в бесконечный цикл... #include <QCoreApplication> #include <iostream> using...

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

Метод Ньютона - программа уходит в бесконечный цикл
Подскажите где туплю, уже недели две над этой прогой сижу, а оно всё не работает хоть убей.......

Программа уходит в бесконечный цикл при использовании while и cin
Суть такова, хочу добавлять строки в вектор пока пользователь не введет пустую сроку. Но после ее...

2
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
17.11.2012, 22:36 2
Она уходит вообще куда попало, т.к. после
Assembler
1
 setb TR0
заходит в п/п обработки прерывания(для этого видимо предназначен кусок, начинающийся с timer),
выполняет несколько команд, встречает
Assembler
1
reti
и пошла гулять.
0
192 / 128 / 52
Регистрация: 19.01.2010
Сообщений: 518
17.11.2012, 23:44  [ТС] 3
Я понимаю, что "reti" на начало программы перескакивает, но как без него делать прерывание? Возврат то должен быть. Может я его не так использую? И как вобще мне проверить работу таймера? Думал инкремент R0 поставить после "setb TR0", но он единице равен к концу программы.
Пробовал пару готовых примеров, но они также зацикливаются.
0
17.11.2012, 23:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2012, 23:44
Помогаю со студенческими работами здесь

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

Передача массивов в функцию: почему программа уходит в бесконечный цикл?
Всем здравствуйте, спасибо, что проявили к моей теме интерес. у меня вопрос и даже не один. для...

Найти и исправить ошибки в коде (программа уходит в бесконечный цикл)
#include <iostream> #include <stdio.h> #include <math.h> int main() { int n,k,s; float...

Объяснить почему программа уходит в бесконечный цикл (связные списки)
Всем привет. Собрал связанный список, он работает, но при вводе типа char, программа уходит в...

Объяснить почему при заполнении матрицы программа уходит в бесконечный цикл
#include <iostream> using namespace std; int main() { int mas; for (int i = 0; i < 3;) {...

При вводе дробного (нецелого) числа программа уходит в бесконечный цикл
при вводе к примеру числа 10,5 в любое значение (r, x, y) программа сразу уходит в бесконечный цикл...

Получить из одной строки другую путем заданных преобразований (программа уходит в бесконечный цикл)
По условию дано две строчки Допустим B и ABBA, посредством поочередных действий, это 1)...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru