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

Тахометр на ассамблер

25.01.2022, 00:36. Показов 1593. Ответов 10

Студворк — интернет-сервис помощи студентам
пытаю задуму написать прогу измерения оборотов
мотор крутит 15000 об\мин делю 15000 на 60 секунд получаю 250 за секунду ,одного регистра хватает ,умножаю на 60 содержимое регистра и на индикацию.Я не чего не упустил? книг накидал много но вот чтобы по теме нет , кто знает книгу или статью буду рад почитать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.01.2022, 00:36
Ответы с готовыми решениями:

Не знаю как закончить уровнение. Ятолько начал учить ассамблер не судите строго чайника
Уравнение: X=b^3*a-4c/d^2 Первую часть сделал mov ax mul ; AX=b^3 mul ; AX=b^3*a Как дальше?

аналоговый тахометр
Добрый вечер! Надо сделать аналоговый тахометр и еще +2 подобные шкалы которые будут показывать другие параметры. Пока в голову приходит...

Тахометр вентилятора
Всем привет подскажите почему на процессоре вентилятор показывает 2000 потом резко 4500 оборотов(как задать ему стабильные обороты?

10
1184 / 670 / 113
Регистрация: 15.05.2012
Сообщений: 4,078
25.01.2022, 12:00
Суть верна.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,921
25.01.2022, 12:48
Цитата Сообщение от zuukss Посмотреть сообщение
получаю 250 за секунду ,одного регистра хватает ,умножаю на 60 содержимое регистра и на индикацию.
Запас маловат. Или 250 это максимальное значение, которое никогда не будет достигнуто на практике?
Надеюсь, результат умножения на 60 не забываете сохранять как 16-битное число?
Цитата Сообщение от zuukss Посмотреть сообщение
пытаю задуму написать прогу измерения оборотов
Какова минимальная частота? Если надо измерять что-то медленнее 10 Гц, можете потерять точность.
Цитата Сообщение от zuukss Посмотреть сообщение
Я не чего ничего не упустил?
Из того что описали все вроде правильно. Но вы ничего не сказали о формировании сигнала. Фиксация уровня, защита от дребезга, защита от электромагнитных помех.
0
Windows must die
672 / 850 / 103
Регистрация: 23.11.2021
Сообщений: 4,994
Записей в блоге: 16
25.01.2022, 14:49
Можно для надежности два таймера использовать: одним считать периоды между импульсами, вторым — их количество за секунду. Если частота большая, у второго данные будут более точными, если маленькая — у первого. Найти границу применимости каждого элементарно.
0
0 / 0 / 0
Регистрация: 21.12.2021
Сообщений: 13
27.01.2022, 22:55  [ТС]
здравствуйте ,писать буду для пик16ф84а, 100% что прога будет сырая и ривая но от чего-то надо отталкиваться ,подопытный мотор от стиралки у него стоит датчик скорости , если будет дребезг то рекомендуют тригер шмидта

выдрал из пдфа ,ПРОГА КРИВАЯ но я понял суть (надеюсь),таймер ставлю на1 секунду горят леды , и 1 секунду считает импульс ,будет мигать но как говориться 1-й блин.................
Code
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
33
34
35
36
37
38
39
40
41
42
43
44
45
---------------------------------------------------------------------------------
Предположим, что при каждом проходе покупателя в магазин инкрементиру­ет регистр, который мы назовем EVENТ. 
Программа 7. 1. Подсчет числа посетителей
STATUS equ 3          Регистр STATUS
INTCON equ h'0B'   Регистр управления прерываниями
INTF   equ 1    Флаг внешнего прерывания - бит 1
INTE    equ 4    Бит маски внешнего прерывания - бит 4
GIE   equ 7   Бит глобального разрешения прерываний - бит 7
_status equ h' 4F'  Ячейка для сохранения регистра STATUS
EVENT    equ h'20'          Счетчик общего числа посетителей
 
Вектор сброса -----------------------------------------------
org 000                       При сбросе в РС заносится число h'000'
goto МAIN;               Переходим к началу фоновой программы
 
Вектор прерывания -------------------------------------------
org 004             При прерывании PIC переходит к адресу h'004'
goto PERS_COUNT ; Переходим к обработчику прерывания
 
Фоновая программа начинается с инициализации ----------------
МAIN   bsf INТCON,INТE      ; Разрешаем внешнее прерывание
bsf INTCON,GIE          Разрешаем работу системы прерываний
clrf EVENT          Обнуляем счетчик посетителей
Бесконечный цикл основной программы -------------------------
 
M_LOOP
       Выполняем то     \\ выполняю
       Выполняем :это   \\ здесь решение
       Выполняем еще что-нибудь \\  и индикацию на 5 ледов
 goto M_LOOP
*************************************************************
* ФУНКЦИЯ: Обработчик инкрементирует счетчик EVENT
------------------------------------------------------------
PERS_COUNT
movwf _work     Сохраняем W в памяти данных
swapf STATUS,w  Считываем регистр STATUS, не меняя флагов
movwf status     Сохраняем его в памяти данных
bcf INTCON,INTF   Сбрасываем флаг прерывания
 
incf         EVENT,f    Регистрируем событие!!!!(вооооооооот оно)
swapf     _status, w     Восстанавливаем исходное состояние
movwf       STATUS      регистра STATUS
swapf       work,f     Теперь восстанавливаем исходное состояние W,
swapf    _work,w       не воздействуя на флаги
retfie    и возвращаемся в фоновую программу
0
4040 / 2652 / 582
Регистрация: 11.09.2009
Сообщений: 9,463
28.01.2022, 10:14
Цитата Сообщение от zuukss Посмотреть сообщение
250 за секунду ,одного регистра хватает ,умножаю на 60 содержимое регистра и на индикацию.
При таком способе на индикатор может быть выведено только 250 значений, с шагом 60. Особенно гнусно будет на малых оборотах.
Цитата Сообщение от zuukss Посмотреть сообщение
мотор от стиралки у него стоит датчик скорости
Тахометры таких моторов дают от 4 до 8 импульсов за оборот. Измерьте, сколько у вашего, и не забудьте поделить на это число. Ну и 8 бит на измеряемую величину уже не хватит.
Цитата Сообщение от zuukss Посмотреть сообщение
от чего-то надо отталкиваться
Не сильно сложнее делать сразу, как надо:
Цитата Сообщение от Eddy_Em Посмотреть сообщение
два таймера использовать: одним считать периоды между импульсами, вторым — их количество за секунду. Если частота большая, у второго данные будут более точными, если маленькая — у первого.
0
0 / 0 / 0
Регистрация: 21.12.2021
Сообщений: 13
28.01.2022, 17:32  [ТС]
не так всё просто ,если я могу заставить пик16 и какой нибудь сдвиговый регистр выводить на 7-й индикатор цифры или слова , то только потому что вижу всю картину и знаю как они работают , а тут я вижу только куски , и то не хорошо .
0
61 / 186 / 31
Регистрация: 14.02.2013
Сообщений: 1,695
30.01.2022, 22:01
В моторах от стиральных машин стоят резольверы в основном, при помощи резольвера и АЦП в микроконтроллере можно сделать контроллер оборотов.
0
0 / 0 / 0
Регистрация: 21.12.2021
Сообщений: 13
03.02.2022, 23:51  [ТС]
здравствуйте , требуется совет крутил ,крутил кусок проги но не очень выходит.
примерно так
1. старт программы
2.инициализация
3.вывод на индикацию
4.прерывания включены ,таймер через секунду сбрасывается
5.прерывание
6.настраиваю порт на вход
7.пошёл импульс с мотора
а вот дальше не выходит, куда складывать импульс как и чем организовать длительность секунды уже в прерываниях?
0
61 / 186 / 31
Регистрация: 14.02.2013
Сообщений: 1,695
06.02.2022, 18:22
Пошёл импульс с мотора на порт настроенный на прерывание по изменению уровня, произошло прерывание сбрасываешь регистры таймера на 0 далее ждёшь следующий импульс от мотора который опять запустит прерывание на порту, произошло второе прерывание по порту, записываешь данные из регистров таймера в переменную. Далее переменную обрабатываешь в основном цикле программы.
0
0 / 0 / 0
Регистрация: 21.12.2021
Сообщений: 13
07.02.2022, 20:28  [ТС]
Это придётся содержимое регистра таймера решать .Вроде надо взять количество переполнений таймера прибавить содержимое таймера примерно ясно , а как это вычислять? к тому же ещё придётся поправку на делитель таймера корректировать .Тут математика гораздо сложней ,что на что делить ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.02.2022, 20:28
Помогаю со студенческими работами здесь

Тахометр на скутер.
Здравствуйте. Помогите мне со схемой эл.тахометра. Значит так, тахометр будет измерять обороты одноцилиндрового 4-х тактного двигателя,...

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

Тахометр чудит
Чудит тахометр на новой Gigabyte gtx960, забить, или нести обратно? На работе это никак не сказывается вроде

Квазианалоговый тахометр
помогите реализовать отрывок данной схемы(с включением диодов в зависимости от оборотов), на mikro Pascal PRO или подобном хотелось бы...

Псевдоаналоговый тахометр
Добрый день, загорелся идеей сделать сей девайс уже давно, но всё не было времени, делать аналоговым не хочется по причине необходимости...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru