Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Пн янв 24, 2011 19:18:50
Попробовал все варианты. 25:25:25... Похоже, что DS-ка не работает вообще. Завтра, наверное поменяю.
Пн янв 24, 2011 19:27:09
*Trigger* писал(а):Попробовал все варианты. 25:25:25... Похоже, что DS-ка не работает вообще. Завтра, наверное поменяю.
Просимулируйте мой проэкт в протеусе. Уменя работает. Может ошибки в монтаже.
Если прошить контроллер "моей" прошивкой, то на выводе 7 DS1307 будут секундные импульсы (конечно если она исправна) и повесив туда светодиод с резистором можно их наблюдать.
Есчо правильность схемы можно проверить не читая с DS1307 , а просто присвоить hour min и sec какието значения и посмотреть что выводится. Чтение с дски нужно закоментировать.
Пн янв 24, 2011 19:59:40
Ваша программа у меня на железе не работает (25:25:25). С числами в регистрах пробовал, всё отлично.
Сейчас программа вот такая:
Управление работает. А вот чтение и запись - нет. Светодиод не мигает ни при какой программе.
Пн янв 24, 2011 20:15:56
*Trigger* писал(а):Ваша программа у меня на железе не работает (25:25:25). С числами в регистрах пробовал, всё отлично.
Сейчас программа вот такая:
программа2.c
Управление работает. А вот чтение и запись - нет. Светодиод не мигает ни при какой программе.
Записывать в DS1307 нужно в двоичнодесятичном формате, тоесть если переменная x в двоичном то
- Код:
y=bin2bcd(x);
а y уже записывать.
Если когда просто присваивать переменным значения без DS1307 и индикация работает значит дохлая DS1307.
Последний раз редактировалось
Apparatchik Вт янв 25, 2011 18:53:02, всего редактировалось 1 раз.
Пн янв 24, 2011 20:17:39
Кстати DS1307 без батарейки может неработать, лучше её поставить, ну и кварц часовой самособой.
Пн янв 24, 2011 20:20:26
Кварц может быть и плохой. Вместо батарейки подключил вход для батарейки к плюсу питания.
Пн янв 24, 2011 20:56:00
Кварц поменял на заведмо исправный. Всё так же. Кварц вне подозрения. Похоже, бракованная DS-ка.
Пн янв 24, 2011 21:03:10
- Код:
bin2bcd
bcd2bin
Какая из них для перевода из двоичного в двоичнодесятичный, а какая из двоичнодесятичного в двоичный?
Вт янв 25, 2011 01:42:46
bin это
binary - двоичный
bcd это
binary-coded-decimal - переводить?
двойка в середине это
to на русском
вbin2bcd - двоичный
в двоично-десятичный
bcd2bin - двоично-десятичный
в двоичный
Вт янв 25, 2011 18:49:08
*Trigger* писал(а):Вместо батарейки подключил вход для батарейки к плюсу питания.
Для чистоты эксперемента может хоть к двум пальчикам подключить временно.
Ср янв 26, 2011 22:35:29
Ура!!! Работает!!!
Оказывается, нужно было подключить либо батарейку, либо посадить вход для батарейки на землю.
PS. Это моя первая программа для МК. Светодиод не в счёт!!!
Ср янв 26, 2011 22:41:43
*Trigger* писал(а):Ура!!! Работает!!!
Оказывается, нужно было подключить либо батарейку, либо посадить вход для батарейки на землю.
PS. Это моя первая программа для МК. Светодиод не в счёт!!!
Мои поздравления! Моя первая была примерно такая же только я через таймеры делал. Теперь Вам нужно осваивать динамическую индикацию.
Сб янв 29, 2011 15:47:10
Ещё вопрос: если установить время больше девяти часов (минут), то записанное в DS время на 6 больше установленного, если больше 19 - на 12 больше... и т. д.
Программа вот:
Причём со значениями в переменных такого нет. Это только при записи в DS/
Сб янв 29, 2011 16:39:30
Пожалуйста, помогите!!!
Сб янв 29, 2011 22:59:57
*Trigger* писал(а):Пожалуйста, помогите!!!
Глянул я на код вроде ничё неувидел, что-то там всё запутано. Но повторюсь работать с метками имхо геморой, нужно учится без них.
Я тут набросал Вам код. Индикатор обновляется по переполнению таймера и для установки времени отдельная функция. В протеусе всё работает.
- Вложения
-
- тест.rar
- (45.74 KiB) Скачиваний: 265
Сб янв 29, 2011 23:27:41
Изучил Вашу программу. Оказалось, что время на запись Вы задаёте в двоичном формате. Исправил в своей программе - всё отлично работает. А то тут говорили, что писать надо в двоично десятичном формате...
Спасибо огромное!!!
Сб янв 29, 2011 23:37:42
*Trigger* писал(а):Изучил Вашу программу. Оказалось, что время на запись Вы задаёте в двоичном формате. Исправил в своей программе - всё отлично работает. А то тут говорили, что писать надо в двоично десятичном формате...
Спасибо огромное!!!
Писать нужно в двоичнодесятичном, но в файле ds1307.h уже есть преобразование. Это если использовать библиотеку с этой ветки тогда нужно самому преобразовывать.
Сб янв 29, 2011 23:55:06
Я так и думал, что оно там есть.
Сб ноя 12, 2011 18:38:09
Что быстрее для мк в плане скорости исполнения использовать функции библиотеки BCD, или самому делить и умножать на 10? или одинаково?
Вт ноя 15, 2011 07:21:22
Надо глянуть, что в библиотеке.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.