Novice user Снимаю шляпу и низкий поклон! то что доктор прописал.... вопрос всего один, какие фьюзы програмировать? в протеусе работает.
фактически это вот эти схемы(нашел в инете)только там просто секундомеры и кнопки не так работают(как мне надо)и нигде нет таблички с фьюзами, а я не шарю в них ни как.....
пони прог, для атмеловских использую. ну там так а в пони прог только инверсные. выставлено. скдив знаю что тактирует внутренним кварцем. вот так как я понял
да все отлично , пусть так с перемычками и будет. с утра увидел у себя на плате ошибку, катоды не правильно....2,3,6 а надо 3,6,7 иначе не будет десятичных. устройство теперь мне позволит видеть на какой промежуток времени открывается клапан(реле). а открытие от 0.1 сек до 10 сек максимум. Этот секундомер напоминает пояс шахида....пока бежит все нормально, остановился и все.........
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4568 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
Novice user писал(а):
вот настрочил от нечего делать-аттини2313,общий катод,2 кнопки-старт и ресет как просили нажимаем старт-счет пошел,отпускаем-счет остановился,на экране время хх,х сек,нажали старт-время сбрасывается и отсчет с 0,нажатие ресет-сброс мк,спрашивайте если что
кварц 4 МГц,скдив выключен
Время счёта брешет, как минимум, на 0.15 сек.Спойлер
Есть ещё подозрение на один косячок, но т.к. код автора - великая тайна, пока упущу высказывание этих догадок. Всё узнается после проверки в железе.
ЗЫ: В качестве идеи. Можно было сделать показ времени до 10 сек с разрешением в 0.01 сек, а для >10 сек - в 0.1 сек. Индикатор позволил бы это сделать.
Аlex Время счёта брешет, как минимум, на 0.15 сек.
Мне точность не столь важна, главное стабильность. В железе попробую в выходные. а ведь ни кто не предложил ничего, хотя схема и прошивка на форуме есть(у меня была да сплыла) зато кинулись скачивать и тестировать
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4568 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
Amgor писал(а):
Мне точность не столь важна
Ну не знаю как можно ещё понять Ваши слова:
Цитата:
для точного отсчета времени замкнутых контактов реле
Цитата:
от 0,1сек.до 10.9 секунд
Если для Вас, вместо 0.1 сек, показ 0.3 - приемлемо, то что тут можно сказать Зачем тогда вообще нужно такое разрешение ? Поставьте 2 индикатора, и пусть они показывают секунды.
Amgor писал(а):
зато кинулись скачивать и тестировать
А почему бы и нет ? Ведь лучше что-то предотвратить на этапе реализации, чем исправлять уже на готовом. Очень странно, что Вы так отреагировали на мой пост, я всего-лишь хотел помочь. Без всяких корыстных мыслей
Если бы сразу была выложена схема, давно уже бы сделали. В архиве ниже программа для 4-х разрядного индикатора с индикацией в формате 0,00...99,99. Кварц можно ставить любой, для этого в исходнике ставится его значение, запускается .bat, полученный .hex загружается в камень.
Вложение:
Вложение SW2313.zip больше недоступно.
Amgor писал(а):
вот так как я понял
Кстати, FUSE-биты установленные по картинке переведут контроллер в режим работы от встроенного RC-генератора 4МГц. Должно быть так
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4568 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
Ну почему сразу не понравилось ? И почему упрекать ? Речь шла не об уходе за час, а об отклонении измерения за маленький промежуток времени. Разница была в 0.15 секунды. Если для вопрошающего это пустяки, то пусть пользуется Не знал, что люди так относятся к здоровой критике. Достаточно было просто исправить этот небольшой недочёт и всё, а не надувать щёки, удаляя всё за собой Если бы не знали как это сделать и был бы тут исходник, Вам с вероятностью в 100% помогли бы это исправить.
исходник хоть и не просили но упрекнули что не выложил,индикатор ОА,собираю кухонный таймер,параллельно решил помочь человеку и получил то что получил(схема та же,присмотрел этот http://radiokot.ru/circuit/digital/home/213/ но там кварц экзотический,темы по этому девайсу нет,просить автора неудобно,вот и приходится переделывать самому) Спойлер$regfile = "attiny2313a.dat" 'программа секундомера viewtopic.php?f=62&t=83393&start=40 'кварц 4 МГЦ,делитель вкл $crystal = 4000000 Ddrb = &B11111111 Portb = &B11111111 Ddrd = &B1111111 'нам надо 1 сек,один такт 0.1*4000000/64=6250 Config Timer1 = Timer , Prescale = 64 Const Timer1pre = 59286 ' 3036 ' 65536 - 6250 Stop Timer1 Timer1 = Timer1pre On Timer1 Pulse: Start Timer1
'---------- Seg_a Alias Portb.6 ' Порт МК, к которому подключен сегмент "А" LED индикатора Seg_b Alias Portb.5 ' Порт МК, к которому подключен сегмент "B" LED индикатора Seg_c Alias Portb.4 ' Порт МК, к которому подключен сегмент "C" LED индикатора Seg_d Alias Portb.1 ' Порт МК, к которому подключен сегмент "D" LED индикатора Seg_e Alias Portb.0 ' Порт МК, к которому подключен сегмент "E" LED индикатора Seg_f Alias Portb.7 ' Порт МК, к которому подключен сегмент "F" LED индикатора Seg_g Alias Portb.2 ' Порт МК, к которому подключен сегмент "G" LED индикатора Seg_h Alias Portb.3 ' Порт МК, к которому подключен сегмент "H" LED индикатора '---------- Разряд_1 Alias Portd.6 ' Порт МК, к которому подключен "1 разряд" LED индикатора Разряд_2 Alias Portd.5 ' Порт МК, к которому подключен "2 разряд" LED индикатора Разряд_3 Alias Portd.4 ' Порт МК, к которому подключен "3 разряд" LED индикатора Разряд_4 Alias Portd.3 ' Порт МК, к которому подключен "4 разряд" LED индикатора 'Разряд_5 Alias Portd.6 ' Порт МК, к которому подключен "5 разряд" LED индикатора 'Разряд_6 Alias Portd.5 ' Порт МК, к которому подключен "6 разряд" LED индикатора 'Разряд_7Alias Portd.4 ' Порт МК, к которому подключен "7 разряд" LED индикатора 'Разряд_8 Alias Portd.3 ' Порт МК, к которому подключен "8 разряд" LED индикатора
Config Portb = Output Config Portd = Output Config Pind.0 = Input : Pind.0 = 1 Config Pind.1 = Input : Pind.1 = 1 Config Pind.2 = Input : Pind.2 = 1 Dim X As Byte : Dim Y As Byte Dim Seco As Word Dim Ff As Boolean : Ff = 1 Dim Dig(5) As Integer Seco = 000 Enable Interrupts Enable Timer1 Do If Ff = 1 Then Incr Seco Ff = 0 End If Incr X
If X > 4 Then X = 1 If Pind.0 = 0 Then Enable Timer1 'Else If Pind.0 = 1 Then Disable Timer1 Seco = 0 Timer1 = Timer1pre Ff = 0 Goto Indikacija End If
Dig(4) = Seco Mod 10 Dig(4) = Abs(dig(4)) Indikacija: Dig(5) = Dig(x) 'Y = &B11111100 If Dig(5) = 0 Then Y = &B11111100 If Dig(5) = 1 Then Y = &B01100000 If Dig(5) = 2 Then Y = &B11011010 If Dig(5) = 3 Then Y = &B11110010 If Dig(5) = 4 Then Y = &B01100110 If Dig(5) = 5 Then Y = &B10110110 If Dig(5) = 6 Then Y = &B10111110 If Dig(5) = 7 Then Y = &B11100000 If Dig(5) = 8 Then Y = &B11111110 If Dig(5) = 9 Then Y = &B11110110 Set Разряд_1 Set Разряд_2 Set Разряд_3 Set Разряд_4 'If Digits_str = "F" Then Y = &B10001110 'ГАСИМ ВСЕ КРОМЕ НУЖНОГО если индикатор общий катод то пишем ....Then ReSet Разряд_1 Else set Разряд_1 If X = 4 Then Set Разряд_1 Else Reset Разряд_1 If X = 3 Then Set Разряд_2 Else Reset Разряд_2 If X = 2 Then Set Разряд_3 Else Reset Разряд_3 If X = 1 And Dig(1) > 0 Then Set Разряд_4 Else Reset Разряд_4 'точка If X = 3 Then Y.0 = 1 ' если индикатор общий катод то пишем ....Then Set Seg_,,, Else Reset Seg_,,, If Y.7 = 1 Then Reset Seg_a Else Set Seg_a If Y.6 = 1 Then Reset Seg_b Else Set Seg_b If Y.5 = 1 Then Reset Seg_c Else Set Seg_c If Y.4 = 1 Then Reset Seg_d Else Set Seg_d If Y.3 = 1 Then Reset Seg_e Else Set Seg_e If Y.2 = 1 Then Reset Seg_f Else Set Seg_f If Y.1 = 1 Then Reset Seg_g Else Set Seg_g If Y.0 = 1 Then Reset Seg_h Else Set Seg_h Waitms 1 Loop Pulse: Stop Timer1 Incr Seco Timer1 = Timer1pre Start Timer1 Return
и вот еще что-в протеусе я сразу заметил что после 0 до 0,2 проходит около 0,1 сек,то есть в этот промежуток таймер считает вдвое быстрее,в железе оказалось все норм,жаль что есть люди которые больше доверяют симуляторам а не устройству в железе
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4568 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
Novice user писал(а):
жаль что есть люди которые больше доверяют симуляторам а не устройству в железе
Ни в коем разе. Железо - это железо, тут не поспоришь. Достаточно было сказать, что в железе всё не так.
По поводу моих сомнений. В протеусе, при нажатии на кнопку, высвечивался жёлтый квадратик, означающий замыкание. Была мысль, что PD6 у Вас настроен на выход. Смотрю сейчас код, а на этом выводе вообще индикатор висит
Ну не знаю как можно ещё понять Ваши слова: для точного отсчета времени замкнутых контактов реле от 0,1сек.до 10.9 секунд Если для Вас, вместо 0.1 сек, показ 0.3 - приемлемо, то что тут можно сказать Зачем тогда вообще нужно такое разрешение ? Поставьте 2 индикатора, и пусть они показывают секунды.
как бы проще сказать.....к примеру вместо времени просто бежит набор цифр лт 0.1 до 10....выставил число к примеру 6.7 или 0,3 и знаешь что на этих цифрах через клапан проходит столько-то вещества(замер опытным путем). Это как на ручке громкости рисочки с цифрами, там ведь не в секундах. просто привязка к времени не много облегчает задачу и не столь важно что реальные секунды бегут или отстают, стабильность это к примеру за 0.3 сек реального набежало в приборе 0,4сек но при следующем замере должно повториться то же самое за 0,3 набежало 0,4....как то так. по мне так я могу любой кварц поставить и это не имеет значения для меня. сотые сек. никакой роли не играют в моем девайсе.
опробовал в деле,индикаторы заменил на DA56-11GWA,все работает,исходник никто и не просил так что незачем меня упрекать,ошибка в железе 1 сек за полтора часа! жаль что мой вариант кое-кому не понравился,вот тебе и спасибо!
Мне понравился однозначно и я буду его собирать, если в железе работает то прошивка та же что и была? и фьюзы какие и кварц тот же 4,000?
Последний раз редактировалось Amgor Вт мар 29, 2016 19:35:47, всего редактировалось 1 раз.
Сейчас этот форум просматривают: COKPOWEHEU и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения