25 / 23 / 3
Регистрация: 10.07.2014
Сообщений: 587
1

Нужно измерит интервал времени в секундах между двумя прерываниями

22.05.2017, 18:23. Показов 1094. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Получившиеся значение сохранить в память.
.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2017, 18:23
Ответы с готовыми решениями:

Дан интервал времени в часах, минутах и секундах. Определить тот же интервал в секундах
Помогите с написанием кода Задача A. Часы Ограничение по времени: 1 сек Ограничение по...

Интервал времени между t1 и t2 в секундах
Здравствуйте друзья. МОЯ ПРОБЛЕМА: У меня не получается сделать так что когда я ввел время...

Как измерить разницу в секундах между двумя значениями времени?
привет. Мне нужно замерить время работы программы, используются объекты класса...

Написать функцию для вычисления интервала времени в секундах между двумя моментами, находящимися внутри двенадцатичасового цикла
Напишите функцию, которая воспринимает как три целых аргумента (часы, минуты и секунды) и...

13
1161 / 640 / 108
Регистрация: 15.05.2012
Сообщений: 3,918
22.05.2017, 20:47 2
Пришло первое прерывание - запустили таймер.
Assembler
1
2
3
4
    CLR R30
    OUT TCNT0,R30
    LDI  R30,N
    OUT  TCCR0,R30
Пришло второе - значение таймера перевели в секунды и сохранили в памяти.
Assembler
1
2
3
    IN R30,TCNT0
;перевод
    STA time,R30
1
480 / 327 / 32
Регистрация: 15.08.2011
Сообщений: 1,042
22.05.2017, 20:53 3
Если это все что вы знаете, то начинать надо с нуля. А именно: выбрать язык (си, ассемблер), среду программирования (аврстудио например), модель процессора, тип прерывания, подробности как надо отображать измеренное значение не мешало бы знать тоже. После этого можно думать как решить поставленную задачу.
1
1161 / 640 / 108
Регистрация: 15.05.2012
Сообщений: 3,918
22.05.2017, 20:59 4
Цитата Сообщение от paskal Посмотреть сообщение
как надо отображать измеренное значение
Походу не нужно. Я так понял, что тс нужно сохранить число секунд и всё.
1
480 / 327 / 32
Регистрация: 15.08.2011
Сообщений: 1,042
22.05.2017, 21:00 5
Цитата Сообщение от pyzhman Посмотреть сообщение
CLR R30
OUT TCNT0,R30
Но интервал длительностью секунды так не померишь. Счетчик 8-битный, предделитель максимум 1024, кварц - мегагерцы.
1
1161 / 640 / 108
Регистрация: 15.05.2012
Сообщений: 3,918
22.05.2017, 21:04 6
Отчего же? Тактировать можно внешним геной.

Добавлено через 1 минуту
Опять же - никто не мешает ввести n++ и помещать его в память, а не TCNT0. Ну вы поняли, о чём я.
1
480 / 327 / 32
Регистрация: 15.08.2011
Сообщений: 1,042
22.05.2017, 21:12 7
Ну я в принципе представляю как посчитать секунду. Но дело не в этом. Задания то нормально не сформулировано. Мы сейчас напишем одно, а надо другое.
1
1161 / 640 / 108
Регистрация: 15.05.2012
Сообщений: 3,918
22.05.2017, 21:19 8
ТС не оговаривает ни язык, ни тип прерывания, ни модель AVR. Стало быть всё это на усмотрение разработчика. Не вижу никаких проблем.
1
480 / 327 / 32
Регистрация: 15.08.2011
Сообщений: 1,042
22.05.2017, 21:27 9
А я сомневаюсь что такие широкие рамки.
Недавно отвечал на вопрос по сиплюсплюс, в конце оказалось что у тс кодевижн. И такое здесь постоянно. Люди не могут нормально сформулировать что им нужно. А вхолостую делать работу не хочется.
1
1161 / 640 / 108
Регистрация: 15.05.2012
Сообщений: 3,918
23.05.2017, 05:05 10
Цитата Сообщение от paskal Посмотреть сообщение
такие широкие рамки.
И сами себя хотите загнать в узкие.
Цитата Сообщение от paskal Посмотреть сообщение
вхолостую делать работу не хочется.
Вы сами впрягаетесь.

Всё гораздо проще. У студента есть задание. Выпрыгнуть из него он не может. Написано - AVR, значит AVR. Написано - между прерываниями - значит между прерываниями. Делай как желаешь, хоть так, хоть эдак.
1
1976 / 1275 / 130
Регистрация: 04.01.2010
Сообщений: 4,607
23.05.2017, 08:50 11
Цитата Сообщение от pyzhman Посмотреть сообщение
Отчего же? Тактировать можно внешним геной.
у многих AVR есть тактование от внутреннего RC-генератора 128kHz. При делении на 1024 таймер досчитает до 125ти ). Так что это таки возможно...

ТС, общественность жаждет подробностей - что за чип, какая частота? Какие прерывания вас интересуют? Язык разработки и ваши наработки.
1
25 / 23 / 3
Регистрация: 10.07.2014
Сообщений: 587
23.05.2017, 09:16  [ТС] 12
pyzhman,
Я не полностью сформулировал задание (так как я должен сам выбирать способ решения).Есть компрессор холодильника. Компрессор работает до определенной температуры.А потом срабатывает реле. Компрессор отключается. Температура повышается.Реле срабатывает.Компрессор включаться.Цикл повторяется заново. Время работы компрессора-Tp.Время стоянки - Tн. Коэффициент рабочего времени:b=Tр/(Tр+Tн).b<0,5.
При утечки фреона или другой поломки.b>0,5.Что говорит нам о поломке.

Тоесть мне нужно написать программу на СИ(желательно но можно и на асемблере)

Нужно вычислить(в секундах ) Tp , Tн, b и сигнализировать об ошибке b>0,5

Я так понял мне нужен кварц 32768Гц
И предделитель регистр OCR
Регистр захвата ICR и хранение значения TCNT
Внешнее прерывание GIMSK от реле.

Как сам понял программка простенькая.Но я только начал изучать AVR.Поэтому для меня это очень сложно.
0
1976 / 1275 / 130
Регистрация: 04.01.2010
Сообщений: 4,607
23.05.2017, 11:33 13
Цитата Сообщение от oolegg Посмотреть сообщение
При утечки фреона или другой поломки.b>0,5.Что говорит нам о поломке.
Не согласен с решением. Для холодильных установок определяющим фактором является разница температур хладагента между входом и выходом компрессора, и/или испарителя. По ней и только по ней вы сможете определить - работает ли холодильник нормально. А так - при очень жаркой внешней температуре, ваш холодильник может молотить весь день, но работать при этом как надо.

Вдобавок, при нерабочем терморегуляторе холодильник может вообще не включаться... Это тоже поломка, так что пожалуй, самым важным будет температура внутри камер. В морозилке должно быть -18.
1
25 / 23 / 3
Регистрация: 10.07.2014
Сообщений: 587
23.05.2017, 13:21  [ТС] 14
Цитата Сообщение от Voland_ Посмотреть сообщение
Вдобавок, при нерабочем терморегуляторе холодильник может вообще не включаться
Это тоже учитывать надо.Согласен.
Цитата Сообщение от Voland_ Посмотреть сообщение
А так - при очень жаркой внешней температуре, ваш холодильник может молотить весь день, но работать при этом как надо.
Здесь надо подумать.В книгах написано что очень частые пуски не желательны.Даже b должен быть меньше 0,24.Я же даю условие b<0,5
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2017, 13:21
Помогаю со студенческими работами здесь

Вычислить интервал времени между двумя датами в днях
Вычислить интервал времени между двумя датами: B днях Добавлено через 2 часа 12 минут Срочно...

Функция, которая считает интервал между двумя указанными моментами времени
Создайте четыре текстовые поля - два для ввода часов и два - для ввода минут. Напишите функцию,...

Структура «время», определить функцию определяющую интервал между двумя значениями времени
Все функции, используемые в программах, должны иметь независимый интерфейс. Стандартные функции...

Выполнение через определённый интервал времени в секундах
Приветствую, есть такой кусок кода: function run($iActionsNum, $iActionBeforeRepl, $iPause) {...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru