Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 15 из 23
  1. #1
    Коротковолновик Аватар для RW1ZK
    Регистрация
    11.07.2003
    Адрес
    г.Заозерск Мурманская обл.
    Возраст
    54
    Сообщений
    215
    Поблагодарили
    3
    Поблагодарил
    0

    Драйвер для HT-1611

    Вопрос к знатокам-программистам. Есть индикатор Holtek HT-1611. Необходимо вывести на него данные из PIC16F84A. Просьба помочь в этом деле. К сожалению, я зашёл в тупик! Пересмотрел массу листингов подпрограмм, но так и не нашёл правильного пути. В аттаче подпрограмма вывода данных на HT-1611. Подскажите, что не так? На дисплей выводятся несколько знаков (для примера брал 2). И ещё: просьба не избивать ногами начинающих...
    Спасибо!
    Вложения Вложения
    • Тип файла: zip driver.zip (1.2 Кб, Просмотров: 376)


  2. #2
    Без позывного
    Регистрация
    16.07.2005
    Адрес
    Омск
    Возраст
    45
    Сообщений
    34
    Поблагодарили
    0
    Поблагодарил
    0
    Посмотрите через поиск Яндекса домашнюю страницу Николая Хлюпина с описанием УКВ тюнера. В тексте есть ссылка на описание ЖК модуля (правда НТ1613, а не 1611) и пример программы для вывода символов для PIC16F84. Может будет полезно. С наилучшими пожеланиями!

  3. #3
    Коротковолновик Аватар для RW1ZK
    Регистрация
    11.07.2003
    Адрес
    г.Заозерск Мурманская обл.
    Возраст
    54
    Сообщений
    215
    Поблагодарили
    3
    Поблагодарил
    0
    На основе этого примера и я писал подпрограмму. Индикаторы похожи. Но получается не то, что мне нужно.

  4. #4
    Без позывного
    Регистрация
    28.07.2003
    Адрес
    город
    Сообщений
    28
    Поблагодарили
    0
    Поблагодарил
    0
    На странице Александра Денисова http://ra3rbe.qrz.ru/ есть исходники программы частотомера с ЖКИ - посмотрите, может поможет?

  5. #5
    Коротковолновик Аватар для RW1ZK
    Регистрация
    11.07.2003
    Адрес
    г.Заозерск Мурманская обл.
    Возраст
    54
    Сообщений
    215
    Поблагодарили
    3
    Поблагодарил
    0
    Смотрел и это. К сожалению, тоже непонятно... Да, ещё: Mpasm выдаёт ошибку-51 штука! Так что в данном листинге что-то не так.

  6. #6
    Alex007
    Гость
    Первоначальное сообщение от RW1ZK
    Смотрел и это. К сожалению, тоже непонятно... Да, ещё: Mpasm выдаёт ошибку-51 штука! Так что в данном листинге что-то не так.
    Проверьте чувствителность в регистру и наличие рядом с мпасмом библиотеки .inc, также бывает неправильно выбрана система счисления по умолчанию.

  7. #7
    Коротковолновик Аватар для RW1ZK
    Регистрация
    11.07.2003
    Адрес
    г.Заозерск Мурманская обл.
    Возраст
    54
    Сообщений
    215
    Поблагодарили
    3
    Поблагодарил
    0
    Использую MPLAB IDE v7.20. Библиотеку P16f84a.inc подключал в проект. Дело даже не в этом. Мне нужна точка отсчёта (от чего можно оттолкнуться). Сегодня убрал по одной холостой команде "nop". На индикатор выводится то одна двойка, то две. Нужен хотя-бы простейший пример вывода. В таком большом листинге трудновато разобраться. Повторю, я только начинаю. Есть литература: В.С. Яценков "Микроконтроллеры MicroCHIP практическое руководство" и Заец "Конструкции на PIC". Простейшие программы писал на Pic Basic Pro. Там особых сложностей не возникало.

  8. #8
    Мастер
    Регистрация
    30.04.2002
    Адрес
    Липецк, Россия
    Возраст
    50
    Сообщений
    935
    Записей в дневнике
    16
    Поблагодарили
    61
    Поблагодарил
    4
    Вот по этой ссылке лежит описание ЖКИ с таким контроллером (вернее совместимого по командам HT1613)

    http://www.telesys.ru/compon/lcm-10.pdf

    Там на второй странице описания есть исходник (от производителя) вывода информации на ЖКИ. Круче первоисточника не найти

    Будут вопросы --- пишите.

    73!
    RU3GA

  9. #9
    Мастер
    Регистрация
    30.04.2002
    Адрес
    Липецк, Россия
    Возраст
    50
    Сообщений
    935
    Записей в дневнике
    16
    Поблагодарили
    61
    Поблагодарил
    4
    Первоначальное сообщение от RW1ZK
    Смотрел и это. К сожалению, тоже непонятно... Да, ещё: Mpasm выдаёт ошибку-51 штука! Так что в данном листинге что-то не так.
    У Денисова применяются команды не содержащиеся ни в MPASM, ни в стандартном наборе команд PIC.
    Денисов пользуется другим компилятором --- в его коде есть чисто ассемблеровские директивы , которые MPASM не понимает, например --- JZ , JMP и т.д. --- вот поэтому MPASM и выдает ошибку.

    Посмотрите на цифровую шкалу от RW4LED --- она лежит на СКР . Вот там все команды стандартные и компилируется все нормально. Я в свое время, при изучении PIC, отталкивался именно от этой схемы и программы, менял там все так, как мне надо было, и все превосходно получилось.

    Удачи!
    RU3GA

  10. #10
    Мастер
    Регистрация
    30.04.2002
    Адрес
    Липецк, Россия
    Возраст
    50
    Сообщений
    935
    Записей в дневнике
    16
    Поблагодарили
    61
    Поблагодарил
    4
    Первоначальное сообщение от RW1ZK
    На индикатор выводится то одна двойка, то две. Нужен хотя-бы простейший пример вывода.
    Это скорее всего дребезг кнопки, вот у Вас и выводится лишний знак --- дребезг надо программно устранять, а у Вас это не делается, у Вас отслеживается только факт нажатия кнопки.
    Грубо говоря, надо отслеживать как нажатие кнопки , так и отжатие. И в зависимости от времени того и другого принимать решение --- кнопка нажата два раза или это был дребезг от первого нажатия.
    Например, первый вариант --- если кнопка была нажата 200 мс , а потом была отжата 200 мс --- вот тогда переходим к выводу числа на индикатор, а иначе --- это дребезг и помехи.
    Второй вариант --- по нажатию кнопки сразу выводим на экран цифру , но больше никаких действий не предпринимаем , пока не получим отжатие , например, в 500мс...

    Разница между этими вариантами в том , что в первом событие будет происходить по отжатию кнопки (а ведь ее с дуру можно полчаса держать и событие не наступит) Однако высокая помехоустойчивость на ложное срабатывание (такой вариант скорее применим на производстве)

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

    Удачи!
    RU3GA

  11. #11
    Коротковолновик Аватар для RW1ZK
    Регистрация
    11.07.2003
    Адрес
    г.Заозерск Мурманская обл.
    Возраст
    54
    Сообщений
    215
    Поблагодарили
    3
    Поблагодарил
    0
    По этому datasheetу я и писал программный код. Всё тоже самое, только вставил подпрограмму опроса кнопки. По идее, после нажатия кнопки программа уходит на загрузку значения числа 2 в переменную "ind". Далее идёт проверка битов этого числа и вывод на индикатор. После вывода - конец программы. Возврата нет. Т.е. должен выводиться один знак. В понедельник (макет находится на работе) я перепишу подпрограмму опроса кнопки (сделаю задержку) и попробую снова. Кстати, мне не понятна команда "goto $+1". Это переход на подпрограмму временной задержки? Но почему её нет в datasheet? Да, спасибо за подсказки! Иван.

  12. #12
    Мастер
    Регистрация
    30.04.2002
    Адрес
    Липецк, Россия
    Возраст
    50
    Сообщений
    935
    Записей в дневнике
    16
    Поблагодарили
    61
    Поблагодарил
    4
    Первоначальное сообщение от RW1ZK
    По этому datasheetу я и писал программный код. Всё тоже самое, только вставил подпрограмму опроса кнопки. По идее, после нажатия кнопки программа уходит на загрузку значения числа 2 в переменную "ind". Далее идёт проверка битов этого числа и вывод на индикатор. После вывода - конец программы. Возврата нет. Т.е. должен выводиться один знак. В понедельник (макет находится на работе) я перепишу подпрограмму опроса кнопки (сделаю задержку) и попробую снова. Кстати, мне не понятна команда "goto $+1". Это переход на подпрограмму временной задержки? Но почему её нет в datasheet? Да, спасибо за подсказки! Иван.
    Ну так по сути вывод на индикатор-то у Вас работает --- двойка-то выводится --- код-то вроде верный ... Это я с утра , с просонья не обратил внимания , что Вы не вызываете подпрограмму , а делаете на нее переход

    goto $+1 --- это переход на выполнение оператора "текущая строка+1" , т.е фактически --- это переход на следующую строчку . Можно было бы вставить NOP , но оператор goto выполняется за два машинных цикла, а NOP --- один , т.е. мы одним оператором практически сделали задержку, на которую потребовалось бы две строчки --- два NOP.

    Я только не понял --- а зачем вообще переменная х ?
    Никакой полезной нагрузки она не несет. И cycle зачем? Можно безболезненно его удалить вместе с переменной х ... По логике --- после инициализации сразу переходим на опрос кнопки, нажатия нет -> переходим снова на опрос, и так будем крутиться , пока не будет нажатия. Нажатие есть -> вывод цифры и остановка программы " --- и никакие декременты переменной х и проверки ее на ноль не нужны.

    Для чистоты эксперимента --- уберите лишний цикл, сделайте вывод на ЖКИ цифры прямо по включению PIC, прямо из какой-нибудь ячейки. А у кнопки уберите программно дребезг и пусть она выводит другую цифру --- вот и поглядите что выйдет.


    Удачи!
    RU3GA

  13. #13
    Коротковолновик Аватар для RW1ZK
    Регистрация
    11.07.2003
    Адрес
    г.Заозерск Мурманская обл.
    Возраст
    54
    Сообщений
    215
    Поблагодарили
    3
    Поблагодарил
    0
    Всё правильно! Переменная "х" и "cycle" в данном случае не нужны. Я их воткнул в программу для дальнейшего развития. После того, как получится вывод хотя-бы одного знака, буду пробовать вывод других знаков в других разрядах HT-1611. Здесь и понадобится задержка. Спасибо за разъяснение команды "goto $+1". Не всё работает так, как нужно. Двойка-то выводится либо одна, либо две.

  14. #14
    Без позывного
    Регистрация
    16.07.2005
    Адрес
    Омск
    Возраст
    45
    Сообщений
    34
    Поблагодарили
    0
    Поблагодарил
    0
    Бороться с дребезгом при нажатии можно еще таким программным способом: после опроса кнопки дать паузу в 100-200 мс и снова опросить кнопку. Если результаты опроса совпадают (т.е. нажата одна и та же кнопка) - перейти к обработке события ее нажатия. За время паузы дребезг успеет завершиться. Программный код такого варианта выложен на www.intuit.ru/department/hardware/mpbasics/12/mpbasics_12.html (там вообще много полезных примеров для начинающих).
    При таком способе дребезг при размыкании кнопки не должен вызывать ложных выводов на индикатор.
    Удачи!

  15. #15
    Коротковолновик Аватар для RW1ZK
    Регистрация
    11.07.2003
    Адрес
    г.Заозерск Мурманская обл.
    Возраст
    54
    Сообщений
    215
    Поблагодарили
    3
    Поблагодарил
    0
    Всё слишком прозрачно... А пример привести реально? Спецы-программисты, где вы?

Похожие темы

  1. Цифровая шкала: частотомер с ЖК индикатором WM-1611-62B
    от US6ICL в разделе Цифровые трансиверы
    Ответов: 2
    Последнее сообщение: 11.02.2013, 17:27
  2. Ищу драйвер монитора
    от RV3DHW в разделе Программное обеспечение
    Ответов: 3
    Последнее сообщение: 29.12.2005, 06:45
  3. Драйвер верхнего ключа
    от вфт_лщ в разделе Радиолюбительские технологии
    Ответов: 5
    Последнее сообщение: 18.08.2004, 09:25
  4. Драйвер к принт серверу D-Link DP-101/E
    от Alex.A в разделе Компьютеры и сети
    Ответов: 1
    Последнее сообщение: 05.09.2002, 13:27
  5. ЛЮЮЮДИ!!!!!!! Помогите найти драйвер для...
    от в разделе Компьютеры и сети
    Ответов: 3
    Последнее сообщение: 11.08.2001, 19:02

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker
Яндекс.Метрика