Перейти к содержанию

Юстас

Members
  • Постов

    521
  • Зарегистрирован

  • Посещение

Весь контент Юстас

  1. Какой же я не внимательный. Код очень сырой я выложил. Сейчас исправляюсь.
  2. Блин я тут накосячил Да я это уже и сам понял.
  3. Это лучшее, из всех моих вариантов) Я кое что упустил, надо дописать чуток.
  4. @COKPOWEHEU Сечас займусь кодом. Попробую написать функцию генерации импульса - со стартом по записи значения в переменную обратного отсчета. Мне это больше по душе.
  5. Привет всем) Я только с работы пришёл. Не успеваем сдать заказ во время. Дело в том, как бы я не старался начать с простого и двигаться к сложному, мои алгоритмы неизбежно натыкаются на обработку кнопок. Я думаю, может ввести один регистр ощего назначения специально для флагов? В нём поместится 8 флагов это даже больше чем нужно. А в перерывании постоянно их контролить, обрабатывать данные и reti.... В основной программе уже всё остальное.
  6. Подали импульс, подождали пока не окончится время интервала импульса, отключили. 3 действия всего)
  7. @COKPOWEHEU У меня уже всё смешалось, люди.... кони.... Может сначала антидребезг организовать? Нажал кнопку, поднялся флаг что кнопка была нажата. В прерывании проверили флаг ап, а флаг поднят. Сразу говорим всем кнопкам:- хоть усри... что делайте, а 50 мс я даже не отреагирую на вас. Короче запустили отсчёт 50мс, по 1 мс в каждом прерывании, а между этим херачим динамическую индикацию в основном цикле. Параллельно контролим флаг окончания отсчёта. Как только 50мс прошло, поднимаем флаг окончания отсчёта антидребезга. И даём импульс на соленоид. Ну и всё заново. Не знаю, правильно ли я осмыслил данный алгоритм....
  8. По ходу тему пора переименовывать как-то по другому))
  9. Все мои алгоритмы пока не увенчались успехом. Попробовал на бейсике написать для ускорения процесса, ну чуток сдвинулся с мёртвой точки. Как заработает более по человечески, так перенесу алгоритм на ассемблер.
  10. @Григорий Т. Если кнопку держать, то цифры будут бежать быстрее. Хм опять я что-то упустил,,, Да в предыдущей плате стоял 4 значный индикатор(((
  11. Дано: 1: (кнопка "1" отвечает за запуск соленоида, длительность импульса устанавливает оператор кнопками "2" и "3") 2: (кнопка "2" отвечает за инкремент переменной отвечающую за длительность импульса) 3: (кнопка "3" отвечает за декремент переменной отвечающую за длительность импульса) 4: (также 4-ёх значный семисегментный индикатор отвечает за визуализацию длительности импульса) 5: (наш интервал времени для импульса ограничен 200 мс) Сам процес такой: 1: Кнопками 2 и 3 устанавливаем нужную длительность импульса для соленоида. Если цифра превышает максимально заданный параметр (в нашем варианте это 200 мс), то инкремент дальше не пойдёт, так и останется 200. Тоже самое и с декрементом. Цифры не могут стать меньше нуля. 2: Индикатор параллельно нам отображает наши манипуляции с этими кнопками. 3: Если надоело играть с кнопками 2 и 3 и нас устраивает длительность импульса, то... 4: ...можно смело брать кнопки (которыми мы пользуемся застёгивая куртки) в руки, давить ногой на кнопку 1 и шлёпать заготовки. 5: В аппарате стоит возвратная пружина и после срабатывания соленоида, она автоматом возвращает шток в исходное положение. Алгоритм: 1: Если кнопка 1 нажата, то... 2: на соленоид подаётся высокое DC-напряжение на время интервала, заданного импульсом. 3: Если интервал был равен 0 то соленоид даже не чихнёт) 4: Далее соленоид находится в режиме ожидания следующего нажатия кнопки 1.
  12. @dm37 что-то не получается объединить листинги. Компилятор ошибку выдаёт.
  13. @COKPOWEHEU как в ОЗУ перебирать адреса? Допустим у меня в ОЗУ распаложен массив знаков индикации, например: 1 = 0bxxxxxxxx по адресу 0х60 2 = 0bxxxxxxxx по адресу 0х61 и т.д..... В полноценный 8бит порт, у меня в прерывании постоянно сливается код из переменной. На порту висит семисегментник. Допустим PINC .0 , отвечает у меня за инкримент на +1 адрес в ОЗУ и у меня тут же в переменую скопируется данные из этой ячеки и вывалятся в порт с индикатором. Типа нажал на кнопку, высветилась 1, нажал ещё раз на тебе 2 и т.д... @dm37 Просто огромное нечеловеческое спасибо за помощь)) Попробую разобраться....
  14. @dm37 сегодня занят был весь день, в соседний город ездил. С пол часа только за компом. Пытаюсь освоить RAM на асме)
  15. @demos_1 я и == пробовал, у меня протеус бейсик не любит. Вешается сразу. Отличная идея, чтож я сразу не допёр)))
  16. Алгоритм даже в такой извращённой позе не заработал((
  17. это оно))) впечатлительным людям со слабой психикой не смотреть))))
  18. @COKPOWEHEU странно там инсталятор. ещё раз архив 2539_DiagramDesigner.rar ну и плюс какая-то хрень рекламная влезла
  19. @Григорий Т. Ого, а я алгоритм на бумаге чуток не так рисовал. Даже сильно не так)) В моём коде это в принципе итак видно)) @COKPOWEHEU мне тоже это не понравилось, начинаешь программу с уборки листинга от мусора))
  20. @COKPOWEHEU codevision тоже интересен, в нём генератор кода хорош)
  21. @dm37 вон оно как... А я бы с удовольствием поступил бы на программиста, да вот возможности ограничены. Семья, работа... Начну над алгоритмом думать, так жена придёт надо ей время уделить или позвонит кто нибудь, собьют с мысли. Одни нервы)))
  22. @dm37 6 долго ставится, а уж 7 думаю и того дольше) А сколько лет вы уже кодите? @COKPOWEHEU хотел я ардуино освоить, но не решился, купил отладочную плату на Mega32 и распечатал справочник по ассемблеру)
×
×
  • Создать...