Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
WildCat давал ссылку на свой сайт с обучалками, спасибо ему http://avr.easycoding.org/bascom_lessons/index.htm Там в разделе о прерываниях есть о таймерах.
По переполнению таймера считаеш импульсы (60*60*24=86400) и уже далее вычисляеш часы минуты секунды.
Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
в сутках 86400 секунд, суточный цикл.
в подпрограмме, по переполнению таймера переменную счета увеличиваеш на 1. А потом уже из нее вычисляеш часы и минуты в основном цикле.
На ноге Д.4 у тини висит таймер0, и если ты используеш таймер0 как прерывание, то нога Д.4 не работает как порт.
Что вы человека в заблуждение вводите?. На порту д4 у этого контроллера висит тактовый вход таймера. Использование прерываний от таймера никак не касается этого входа. Только в случае если тактирование таймера настроено от внешнего сигнала (от пина Т0) таймер будет считать переходы сигнала (либо 1-0 либо 0-1 в зависимости от настроек), но даже в этом случае пин Т0 (PORTD4) может быть настроен как выход, просто при манипулировании этим выходом из программы таймер будет считать. Об этом ясно написано в даташите. Так что не вносите сумятицы.
На http://bascomavr.3bb.ru объявлен конкурс:
В связи с надвигающимися праздниками Новым годом и Рождеством Христовым, а так же с целью популяризации программы BASCOM объявляется второй ежегодный конкурс на лучшую конструкцию с её (программой) использованием. Победителей ждут призы - лицензионное ПО от его создателя Марка Альбертса и другие не менее ценные призы от учредителей конкурса. Более подробно об условиях читайте в соответствующей ветке форума. Пусть победят сильнейшие!
Может ли кто накидать программку для Atmega8 на экран 16*2 что бы при включении выдавалось на экране в
первой строке отображалось 0 1 2 3 4 5 6 7 8 9 1 1 1 2 1 3
второй строке отображалось 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1
Привет всем форумчанам! Решил вот сделать часы на LCD и тиньке 2313
вот что получилось:
$regfile = "2313def.dat"
$crystal = 4000000
Config Pind.1 = Input
Config Pind.2 = Input
Dim Secs As Integer
Dim Mins As Integer
Dim Hours As Integer
Dim A As Integer
Secs = 0
Mins = 0
Hours = 0
Cursor Off
Cls
Do
If Pind.1 = 0 Then Mins = Mins + 1
If Pind.2 = 0 Then Hours = Hours + 1
Secs = Secs + 1
Wait 1
If Secs >= 60 Then Mins = Mins + 1
If Secs >= 60 Then Secs = 0
If Mins >= 60 Then Hours = Hours + 1
If Mins >= 60 Then Mins = 0
If Hours >= 24 Then Hours = 0
If Hours >= 12 Then A = 24
If Hours <= 12 Then A = 12
Cls
Lcd "Clock " ; Hours ; ":" ; Mins ; ":" ; Secs ; " " ; A
Loop
End
Простите за неграмотный код-другого не мог придумать Часы вот уже тридцать минут работают и все ОК, но проблема-нельзя настроить их. Вопрос-как сделать опрос кнопок так, чтобы индикатор не мерцал и прибавлял столько-сколько было нажатий.
P.S. Может кто-то делал похожее. Если так-выкладывайте.
_________________ Вы получаете от людей больше, если им противоречите
По моему проще взать ds1307. В ней есть часы и полный календарь.
Вот рабочая программа часов на mega16. Вывод часов, даты. Установка 4-мя кнопками. Будут вопросы, пиши!
Вложения:
Комментарий к файлу: рабочая программа часов на mega16 ds1307 kot.txt [5.6 KiB]
Скачиваний: 1062
max50 а не ошибка ли?
На шине I2C подтяжка 4.7к надо на SCL и SDA, а не только на SDA или я не прав?
А код на работе в понедельник скину!
Схема ниже. делаю это http://diy.elektroda.eu/?p=40 программа что то плохо пашет!
Прошиваешь прошивку на экран 16*2 то работают 2 строки по 8 символов
а когда прошивку для 24*2 то работают 2 строки по 12 символов
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения