BASCOM AVR в вопросах и ответах
Re: BASCOM AVR в вопросах и ответах
Я бы кормил от внешнего кварца. Настройки чисто частотные, а стабильность внутреннего генератора... Хотя, я думаю, если в приемнике приличная АПЧ есть, то должна справится с нестабильностью RC. Не такой и большой уход частоты. Опять же, если время интеграции значительно выше частоты дискретизации, то вообще без разницы.
- Реклама
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: BASCOM AVR в вопросах и ответах
спасибо,попробую,а то синтез для простого приемника думаю слишком шикарно...
Re: BASCOM AVR в вопросах и ответах
Здравствуйте.
Посоветоваться хочу.
Нужно немного переделать простой минутный таймер обратного счета. Сделать так, чтобы пользователь мог устанавливать время только из ограниченного диапазона. Допустим, только от 5 до 12 минут.
Иметь для удобства две кнопки + и - установки времени.
При нажатии Пуск - включается нагрузка, время на индикаторе уменьшается и после отработки времени нагрузка выключается.
Индикатор - однострочный ЖКИ.
Посоветоваться хочу.
Нужно немного переделать простой минутный таймер обратного счета. Сделать так, чтобы пользователь мог устанавливать время только из ограниченного диапазона. Допустим, только от 5 до 12 минут.
Иметь для удобства две кнопки + и - установки времени.
При нажатии Пуск - включается нагрузка, время на индикаторе уменьшается и после отработки времени нагрузка выключается.
Индикатор - однострочный ЖКИ.
Спойлер
Код: Выделить всё
$regfile = "attiny2313.dat"
$crystal = 10000000
Declare Sub Tim()
Declare Sub Ok()
Declare Sub Main()
Config Lcd = 16 * 1
Config Pind.6 = Input
Config Pinb.0 = Input
Config Pinb.1 = Input
Config Portd.3 = Output
Config Portd.5 = Output
Portd.3 = 0
Portd.5 = 0
Pind.6 = 1
Pinb.0 = 1
Pinb.1 = 1
Const Loaddelay = 1000
Dim Minu As Byte
Dim Altim As Long
Dim Ptime As Byte
Ptime = 5
Minu = 0
Deflcdchar 1 , 32 , 32 , 1 , 2 , 20 , 8 , 32 , 32
Cls
Cursor Off
Lcd " TEXT1 "
Wait 2
Cls
Lcd " TEXT2 "
Wait 2
Call Main()
End
Sub Main()
Cls
Lcd " Time 0"
Do
Waitms 100
If Pinb.1 = 0 Then
Minu = Minu + 1
If Minu < 10 Then
Cls
Locate 1 , 16
Lcd Minu
Else
Locate 1 , 15
Lcd Minu
End If
End If
If Pinb.0 = 0 Then
Minu = Minu - 1
If Minu < 10 Then
Cls
Locate 1 , 16
Lcd Minu
Else
Locate 1 , 15
Lcd Minu
End If
End If
If Pind.6 = 0 Then Call Tim()
Loop
End Sub
Sub Ok()
Sound , Portd.4 , 100 , 500
Portd.5 = 0
Wait 3
Sound , Portd.4 , 100 , 1000
Portd.3 = 0
Do
If Pind.6 = 0 Then Call Main()
Loop
End Sub
Sub Tim() '
Do
If Minu = 0 Then Call Ok()
Minu = Minu - 1
If Minu < 10 Then
Locate 1 , 16
Lcd Minu
Else
Locate 1 , 15
Lcd Minu
End If
Wait 2
Locate 1 , 14
Lcd " "
Loop
End Sub
Последний раз редактировалось goldskif Пт окт 25, 2013 19:46:31, всего редактировалось 1 раз.
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: BASCOM AVR в вопросах и ответах
как-то у вас сложно получается...
а точность нужна?
попробую помочь-заняться нечем и как раз есть связка тини+индикатор 0802
а точность нужна?
попробую помочь-заняться нечем и как раз есть связка тини+индикатор 0802
Re: BASCOM AVR в вопросах и ответах
нет, секундной вполне достаточно.pavel1979 писал(а):как-то у вас сложно получается...
а точность нужна?
попробую помочь-заняться нечем и как раз есть связка тини+индикатор 0802
Это для облучателя бактерицидного. Чтоб воздух в помещении обеззараживать. Можно сделать из разбитой ДРЛ-ки. Но нужно четко ограничить, чтобы меньше 5 минут нельзя было выставить (раньше все равно лампа на режим не выйдет) и чтобы больше, допустим 12 минут нельзя было поставить (чтоб большую дозу даже случайно не сделать). Вот как-то так.
Приведенный код мне тоже не нравится. Я его взял за основу из скачанного в инете.
Да, еще желательно записать установленное значение времени в память, чтобы каждый раз не устанавливать. Обыватель обычно для размеров одного помещения просто установит сразу 8 (допустим) минут и дальше только вкл-выкл...
- Реклама
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: BASCOM AVR в вопросах и ответах
подправил вашу программу,в симуляторе Sound , Portd.4 , 100 , 500 не работает-не знаю почему,вот
$crystal = 10000000
'$sim
Declare Sub Tim() '
Declare Sub Ok() '
Declare Sub Main() 'предварительная установка ,после установки вкл нагрузки с интервалом 3 сек
Config Lcd = 16 * 1
Config Pind.6 = Input 'далее-пуск
Config Pinb.0 = Input 'минус
Config Pinb.1 = Input 'плюс
Config Portd.3 = Output
Config Portd.5 = Output
Portd.3 = 0
Portd.5 = 0
Pind.6 = 1
Pinb.0 = 1
Pinb.1 = 1
Const Loaddelay = 1000
Dim Minu As Byte
Dim Secund As Byte
Dim Altim As Long
Dim Ptime As Byte
Ptime = 5
Minu = 8
Secund = 0
Deflcdchar 1 , 32 , 32 , 1 , 2 , 20 , 8 , 32 , 32
Cls
Cursor Off
Lcd " TEXT1 "
Wait 2
Cls
Lcd " TEXT2 "
Wait 2
Call Main()
'сама программа,точность не очень
Do
Incr Secund
If Secund > 59 Then Call Tim() 'как только сек=60 идем на Tim()
Wait 1
Loop
'предустановки
Sub Main()
Cls
Lcd " Time 0"
Do
Waitms 100
If Pinb.1 = 0 And Minu < 10 Then Incr Minu
If Pinb.0 = 0 And Minu > 5 Then Decr Minu
Locate 1 , 14
If Minu < 10 Then Lcd " "
Lcd Minu
If Pind.6 = 0 Then Goto Label
Loop
Label:
'Sound , Portd.4 , 100 , 500
Portd.5 = 1
Wait 3
'Sound , Portd.4 , 100 , 1000
Portd.3 = 1
Call Tim()
End Sub
'обнуление секунд,минут-1,проверка,обновление индикации
Sub Tim() '
Secund = 0
Minu = Minu - 1
Locate 1 , 14
If Minu < 10 Then Lcd " "
Lcd Minu
If Minu = 0 Then Call Ok()
End Sub
'отключение нагрузок
Sub Ok()
'Sound , Portd.4 , 100 , 500
Portd.5 = 0
Wait 3
'Sound , Portd.4 , 100 , 1000
Portd.3 = 0
Do
If Pind.6 = 0 Then Call Main()
Loop
End Sub
подправил,как можно выложить в протеусе?
Спойлер
$regfile = "attiny2313.dat"$crystal = 10000000
'$sim
Declare Sub Tim() '
Declare Sub Ok() '
Declare Sub Main() 'предварительная установка ,после установки вкл нагрузки с интервалом 3 сек
Config Lcd = 16 * 1
Config Pind.6 = Input 'далее-пуск
Config Pinb.0 = Input 'минус
Config Pinb.1 = Input 'плюс
Config Portd.3 = Output
Config Portd.5 = Output
Portd.3 = 0
Portd.5 = 0
Pind.6 = 1
Pinb.0 = 1
Pinb.1 = 1
Const Loaddelay = 1000
Dim Minu As Byte
Dim Secund As Byte
Dim Altim As Long
Dim Ptime As Byte
Ptime = 5
Minu = 8
Secund = 0
Deflcdchar 1 , 32 , 32 , 1 , 2 , 20 , 8 , 32 , 32
Cls
Cursor Off
Lcd " TEXT1 "
Wait 2
Cls
Lcd " TEXT2 "
Wait 2
Call Main()
'сама программа,точность не очень
Do
Incr Secund
If Secund > 59 Then Call Tim() 'как только сек=60 идем на Tim()
Wait 1
Loop
'предустановки
Sub Main()
Cls
Lcd " Time 0"
Do
Waitms 100
If Pinb.1 = 0 And Minu < 10 Then Incr Minu
If Pinb.0 = 0 And Minu > 5 Then Decr Minu
Locate 1 , 14
If Minu < 10 Then Lcd " "
Lcd Minu
If Pind.6 = 0 Then Goto Label
Loop
Label:
'Sound , Portd.4 , 100 , 500
Portd.5 = 1
Wait 3
'Sound , Portd.4 , 100 , 1000
Portd.3 = 1
Call Tim()
End Sub
'обнуление секунд,минут-1,проверка,обновление индикации
Sub Tim() '
Secund = 0
Minu = Minu - 1
Locate 1 , 14
If Minu < 10 Then Lcd " "
Lcd Minu
If Minu = 0 Then Call Ok()
End Sub
'отключение нагрузок
Sub Ok()
'Sound , Portd.4 , 100 , 500
Portd.5 = 0
Wait 3
'Sound , Portd.4 , 100 , 1000
Portd.3 = 0
Do
If Pind.6 = 0 Then Call Main()
Loop
End Sub
- Adagumer
- Поставщик валерьянки для Кота
- Сообщения: 2300
- Зарегистрирован: Чт ноя 15, 2012 20:47:59
- Откуда: Крымск
Re: BASCOM AVR в вопросах и ответах
У ДРЛки очень жесткое излучение, можно пожечь окружающие предметы.goldskif писал(а):Можно сделать из разбитой ДРЛ-ки.
Лучше использовать специальные бактерицидные лампы, продаются в электротоварах.
Re: BASCOM AVR в вопросах и ответах
Sound у меня в протеусе тоже не работал, потому что сначала в стыренной с Инета схеме пищалка была подключена напрямую к Attiny через резистор. А когда сделал через транзистор 2N711 - тогда запищала. То есть с выхода Attiny на базу транзистора через 1К, а уже в коллекторе стоит пищалка.
--
Про излучение я в курсе. В принципе, оно все равно тоже самое будет, диапазона УФ-С. Просто ДРЛка мощнее медицинской лампы. Некоторым оно даже на пользу, сосед хочет обеззаразить погреб, а то сырость и плесень и прочие микроорганизмы завелись.
--
а файлы протеуса сюда архивом пихать можно?
--
Про излучение я в курсе. В принципе, оно все равно тоже самое будет, диапазона УФ-С. Просто ДРЛка мощнее медицинской лампы. Некоторым оно даже на пользу, сосед хочет обеззаразить погреб, а то сырость и плесень и прочие микроорганизмы завелись.
--
а файлы протеуса сюда архивом пихать можно?
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: BASCOM AVR в вопросах и ответах
тоже пытался,но в протеусе работает нормально,в программе сделал индикацию секунд и закоментировал звукgoldskif писал(а):а файлы протеуса сюда архивом пихать можно?
- Вложения
-
- таймер.rar
- (16.33 КБ) 190 скачиваний
Re: BASCOM AVR в вопросах и ответах
Коты, подскажите, пожалуйста. Всю бошку себе расчесал уже от раздумий.
Вот пример кода, из учебника, практически
При изменении значений таймера от 1 до 255 период импульса не меняется и составляет примерно 65,5ms.
Проверяю все в Протеусе.
Почему так? Где я косячу?
Вот пример кода, из учебника, практически
Код: Выделить всё
$regfile = "m8535.dat"
$crystal = 8000000
'êîíôèãóðàöèÿ ïîðòîâ
Config Porta.2 = Input
Config Portc.0 = Input
Config Portd.7 = Output
Config Portc.4 = Output
Config Adc = Free , Prescaler = Auto , Reference = Avcc
Config Timer2 = Timer , Prescale = 1024
Pot Alias Pina.2
Pwr Alias Pinc.0
Pump Alias Portd.7
Dim Pump_discret As Byte
Dim Pump_ignition As Byte
Dim Pot_count As Byte
Dim Pump_on_time As Integer
Dim Abc As Byte
Const Timer1pre = 255
Stop Timer2
Timer2 = Timer1pre
Start Timer2
Do
Enable Interrupts
Enable Timer2
On Timer2 Pulse:
Loop
Pulse:
'Set Pump
'Waitms 150
Stop Timer2
Timer2 = Timer1pre
Toggle Pump
Start Timer2
Return
End 'end programПроверяю все в Протеусе.
Почему так? Где я косячу?
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: BASCOM AVR в вопросах и ответах
удалил
Последний раз редактировалось pavel1979 Сб окт 26, 2013 12:38:21, всего редактировалось 1 раз.
Re: BASCOM AVR в вопросах и ответах
Config Timer2 = Timer , Prescale = 1024
On Timer2 Pulse:
Pot Alias Pina.2
Pwr Alias Pinc.0
Pump Alias Portd.7
Dim Pump_discret As Byte
Dim Pump_ignition As Byte
Dim Pot_count As Byte
Dim Pump_on_time As Integer
Dim Abc As Byte
Const Timer1pre = 255
Enable Timer2
Enable Interrupts
Stop Timer2
Timer2 = Timer1pre
Start Timer2
Do
Loop
Перенесенные строчки выделены. Вот так все будет работать. Цикл Do-Loop пустой.
On Timer2 Pulse:
Pot Alias Pina.2
Pwr Alias Pinc.0
Pump Alias Portd.7
Dim Pump_discret As Byte
Dim Pump_ignition As Byte
Dim Pot_count As Byte
Dim Pump_on_time As Integer
Dim Abc As Byte
Const Timer1pre = 255
Enable Timer2
Enable Interrupts
Stop Timer2
Timer2 = Timer1pre
Start Timer2
Do
Loop
Перенесенные строчки выделены. Вот так все будет работать. Цикл Do-Loop пустой.
Re: BASCOM AVR в вопросах и ответах
Вот текущий код
Что 1 давать таймеру, что 255 - все одно.
Может, Протеус глючит?
Код: Выделить всё
$regfile = "m8535.dat"
$crystal = 8000000
'êîíôèãóðàöèÿ ïîðòîâ
Config Porta.2 = Input
Config Portc.0 = Input
Config Portd.7 = Output
Config Portc.4 = Output
Config Adc = Free , Prescaler = Auto , Reference = Avcc
Config Timer2 = Timer , Prescale = 1024
On Timer2 Pulse:
Pot Alias Pina.2
Pwr Alias Pinc.0
Pump Alias Portd.7
Dim Pump_discret As Byte
Dim Pump_ignition As Byte
Dim Pot_count As Byte
Dim Pump_on_time As Integer
Dim Abc As Byte
Const Timer1pre = 1
Enable Interrupts
Enable Timer2
Stop Timer2
Timer2 = Timer1pre
Start Timer2
Do
Loop
Pulse:
'Set Pump
'Waitms 150
Stop Timer2
Timer2 = Timer1pre
Toggle Pump
Start Timer2
Return
End 'end programМожет, Протеус глючит?
Re: BASCOM AVR в вопросах и ответах
А в отладке протеуса посмотреть состояние таймера?
Re: BASCOM AVR в вопросах и ответах
Здравствуйте, у меня проблема с кодом ( и, наверное, с мозгами). Делаю часы на attiny2313, часах реального времени DS1307 и неоновых индикаторах. Прошивка не моя, она с проекта LED часов, я её переделал под свои нужды. Там динамическая индикация и выход на дешифратор к155ид1. В протеусе всё нормально работает, а в реальном устройстве (монтаж перепроверен сто раз) глючит, контроллер выдаёт какую-то муть на выходе. Ткните носом в ошибку. Буду особо признателен (в том числе и материально), если подробно прокомментируете каждую строчку кода
$regfile = "attiny2313.dat"
$crystal = 8000000
Dim Count As Byte
Dim Number(4) As Integer
Dim Pointmem As Byte
Dim Point As Bit
Dim Mine As Byte
Dim Hour As Byte
Dim Seco As Byte
Config Porta.1 = Output
Config Portb = Output
Config Porta.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.6 = Output
Config Sda = Portd.5
Config Scl = Portd.4
Config Pind.0 = Input
Config Pind.1 = Input
Config Timer1 = Timer , Prescale = 64
On Timer1 Awake:
Config Timer0 = Timer , Prescale = 64
On Ovf0 Refresh
Dig1 Alias Portb.0 : Dig2 Alias Portb.1 : Dig3 Alias Portb.2 : Dig4 Alias Portb.3
Enable Interrupts
Enable Ovf0
Enable Timer1
Start Timer1
Hour = 0
Mine = 0
If Pind.1 = 0 And Pind.0 = 0 Then
Hour = 0
Mine = 0
Seco = 1
Seco = Makebcd(seco)
I2cstart
I2cwbyte &HD0
I2cwbyte 0
I2cwbyte Seco
I2cstop
Mine = Makebcd(mine)
I2cstart
I2cwbyte &HD0
I2cwbyte 1
I2cwbyte Mine
I2cstop
Hour = Makebcd(hour)
I2cstart
I2cwbyte &HD0
I2cwbyte 2
I2cwbyte Hour
I2cstop
End If
Do
I2cstart
I2cwbyte &HD0
I2cwbyte &H00
I2cstart
I2cwbyte &HD1
I2crbyte Seco , Ack
I2crbyte Mine , Ack
I2crbyte Hour , Nack
I2cstop
Seco = Makedec(seco)
Mine = Makedec(mine)
Hour = Makedec(hour)
If Seco = 80 Then
Seco = 10
Seco = Makebcd(seco)
I2cstart
I2cwbyte &HD0
I2cwbyte 0
I2cwbyte Seco
I2cstop
End If
If Hour > 9 Then
Number(1) = Hour / 10
Number(1) = Abs(number(1))
Else
Number(1) = 0
End If
Number(2) = Hour Mod 10
If Mine > 9 Then
Number(3) = Mine / 10
Number(3) = Abs(number(3))
Else
Number(3) = 0
End If
Number(4) = Mine Mod 10
If Pind.1 = 0 Then
If Mine = 59 Then
Mine = 0
Else
Incr Mine
End If
Mine = Makebcd(mine)
I2cstart
I2cwbyte &HD0
I2cwbyte 1
I2cwbyte Mine
I2cstop
Else
If Pind.0 = 0 Then
If Hour = 23 Then
Hour = 0
Else
Incr Hour
End If
Hour = Makebcd(hour)
I2cstart
I2cwbyte &HD0
I2cwbyte 2
I2cwbyte Hour
I2cstop
End If
End If
Waitms 250
Loop
Awake:
If Point = 1 Then
Point = 0
Else
Point = 1
End If
Return
Refresh:
Reset Dig1 : Reset Dig2 : Reset Dig3 : Reset Dig4
Incr Count : If Count > 4 Then Count = 1
If Count = 2 And Point = 1 Then Toggle Porta.1
Portb = Lookup(number(count) , Digits)
Select Case Count
Case 1 : Set Dig1
Case 2 : Set Dig2
Case 3 : Set Dig3
Case 4 : Set Dig4
End Select
Return
Digits:
Data &B00000000 , &B10000000 , &B01000000 , &B11000000 , &B00100000
Data &B10100000 , &B01100000 , &B11100000 , &B00010000 , &B10010000
Вот схема http://img.radiokot.ru/files/10708/medium/65r4hgr2r.jpg
Кто поможет, переведу деньги на яндекс или киви
$regfile = "attiny2313.dat"
$crystal = 8000000
Dim Count As Byte
Dim Number(4) As Integer
Dim Pointmem As Byte
Dim Point As Bit
Dim Mine As Byte
Dim Hour As Byte
Dim Seco As Byte
Config Porta.1 = Output
Config Portb = Output
Config Porta.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.6 = Output
Config Sda = Portd.5
Config Scl = Portd.4
Config Pind.0 = Input
Config Pind.1 = Input
Config Timer1 = Timer , Prescale = 64
On Timer1 Awake:
Config Timer0 = Timer , Prescale = 64
On Ovf0 Refresh
Dig1 Alias Portb.0 : Dig2 Alias Portb.1 : Dig3 Alias Portb.2 : Dig4 Alias Portb.3
Enable Interrupts
Enable Ovf0
Enable Timer1
Start Timer1
Hour = 0
Mine = 0
If Pind.1 = 0 And Pind.0 = 0 Then
Hour = 0
Mine = 0
Seco = 1
Seco = Makebcd(seco)
I2cstart
I2cwbyte &HD0
I2cwbyte 0
I2cwbyte Seco
I2cstop
Mine = Makebcd(mine)
I2cstart
I2cwbyte &HD0
I2cwbyte 1
I2cwbyte Mine
I2cstop
Hour = Makebcd(hour)
I2cstart
I2cwbyte &HD0
I2cwbyte 2
I2cwbyte Hour
I2cstop
End If
Do
I2cstart
I2cwbyte &HD0
I2cwbyte &H00
I2cstart
I2cwbyte &HD1
I2crbyte Seco , Ack
I2crbyte Mine , Ack
I2crbyte Hour , Nack
I2cstop
Seco = Makedec(seco)
Mine = Makedec(mine)
Hour = Makedec(hour)
If Seco = 80 Then
Seco = 10
Seco = Makebcd(seco)
I2cstart
I2cwbyte &HD0
I2cwbyte 0
I2cwbyte Seco
I2cstop
End If
If Hour > 9 Then
Number(1) = Hour / 10
Number(1) = Abs(number(1))
Else
Number(1) = 0
End If
Number(2) = Hour Mod 10
If Mine > 9 Then
Number(3) = Mine / 10
Number(3) = Abs(number(3))
Else
Number(3) = 0
End If
Number(4) = Mine Mod 10
If Pind.1 = 0 Then
If Mine = 59 Then
Mine = 0
Else
Incr Mine
End If
Mine = Makebcd(mine)
I2cstart
I2cwbyte &HD0
I2cwbyte 1
I2cwbyte Mine
I2cstop
Else
If Pind.0 = 0 Then
If Hour = 23 Then
Hour = 0
Else
Incr Hour
End If
Hour = Makebcd(hour)
I2cstart
I2cwbyte &HD0
I2cwbyte 2
I2cwbyte Hour
I2cstop
End If
End If
Waitms 250
Loop
Awake:
If Point = 1 Then
Point = 0
Else
Point = 1
End If
Return
Refresh:
Reset Dig1 : Reset Dig2 : Reset Dig3 : Reset Dig4
Incr Count : If Count > 4 Then Count = 1
If Count = 2 And Point = 1 Then Toggle Porta.1
Portb = Lookup(number(count) , Digits)
Select Case Count
Case 1 : Set Dig1
Case 2 : Set Dig2
Case 3 : Set Dig3
Case 4 : Set Dig4
End Select
Return
Digits:
Data &B00000000 , &B10000000 , &B01000000 , &B11000000 , &B00100000
Data &B10100000 , &B01100000 , &B11100000 , &B00010000 , &B10010000
Вот схема http://img.radiokot.ru/files/10708/medium/65r4hgr2r.jpg
Кто поможет, переведу деньги на яндекс или киви
-
aleksandr-zh
- Сверлит текстолит когтями
- Сообщения: 1278
- Зарегистрирован: Пн июн 18, 2007 21:51:20
Re: BASCOM AVR в вопросах и ответах
так с наскоку сложно ваш код понять
но нет защиты от дребезга контактов, нет анализа данных
ps
и покажите на фото ваш монтаж, особо обвязку часовой м-мы
но нет защиты от дребезга контактов, нет анализа данных
ps
и покажите на фото ваш монтаж, особо обвязку часовой м-мы
Re: BASCOM AVR в вопросах и ответах
aleksandr-zh, монтаж выполнен на двух платах, на одной микроконтроллер с микросхемой часов, на другой дешифратор с ключами. Обвязка DS1307 идентична рабочему прототипу (LED часы), так что там должно быть всё нормально. Мне кажется более вероятным глюк в прошивке. Если вас не затруднит, разберитесь в программе и прокомментируйте, чтобы был ясен примерный алгоритм работы.
- uni
- Встал на лапы
- Сообщения: 137
- Зарегистрирован: Пт дек 07, 2007 11:17:40
- Откуда: г. Екатеринбург
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Проект, в состав которого входит модуль Console для работы с ANSI-терминалами: ansibas.
Экспортировать к себе при помощи плагина к проводнику TortoiseSVN.
На картинке ниже показан пример работы модуля для отображения состояния ОЗУ мк ATmega16 в Proteus.

Экспортировать к себе при помощи плагина к проводнику TortoiseSVN.
На картинке ниже показан пример работы модуля для отображения состояния ОЗУ мк ATmega16 в Proteus.
Россия навсегда!
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: BASCOM AVR в вопросах и ответах
а смысл,если в протеусе можно просматривать всю программу(именно программу!) пошагово http://bascom.at.ua/publ/poshagovaja_ot ... m/1-1-0-58uni писал(а):Проект, в состав которого входит модуль Console для работы с ANSI-терминалами: ansibas.
Экспортировать к себе при помощи плагина к проводнику TortoiseSVN.
На картинке ниже показан пример работы модуля для отображения состояния ОЗУ мк ATmega16 в Proteus.
по часам-попробуйте подтянуть резисторами выв ABCD дешифратора к плюсу
Последний раз редактировалось pavel1979 Вс окт 27, 2013 19:41:14, всего редактировалось 1 раз.


