' Пример часов которые отображают часы и минуты на семисегментном
' четырехсимвольном светодиодном индикаторе
' прога для ознакомления, работает 100%
' выставленные фюзы (в понипроге стоят галки на):CKOPT,BOOTSZ1,BOOTSZ0,SUT1,SUT0,CKSEL3,CKSEL1,CKSEL0
' Кварц выдрал из маленького тетриса с часами, думаю также подойдет из любых кварцевых наручных/настенных часов
BASCOM AVR в вопросах и ответах
- Magicanin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Чт янв 13, 2011 11:36:16
- Откуда: Красноярский край
Re: BASCOM AVR в вопросах и ответах
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
Re: BASCOM AVR в вопросах и ответах
помогите чаинику разобратся с таимерами и баскомом..чтото я залип на них..вроде все и понятно но в тоже время ничего не поиму, мозг от нагугленнои инфы уже просто взрывается))) помогите с примером реализации простои задачи как подсчет импульсов на одном из портов за определенный период времени, скажем одну секунду..немогу понять как это реализовать с помощью таимеров и все тут 
- dimon-790
- Мучитель микросхем
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Может кто сталкивался с расчётом котрольной суммы?, например вот такой набор чисел имеем :11H;00H;02H;0BH;00H;контр.сумма= 3EH по каким алгоритмам считать чтобы получить это число ?
P.S. Grafstein обучалок по баскому , как грязи , и уж тем более для начинающих , не ленись читай , пробуй за тебя это делать никто не будет.
P.S. Grafstein обучалок по баскому , как грязи , и уж тем более для начинающих , не ленись читай , пробуй за тебя это делать никто не будет.
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
vanyap1 писал(а):Как оставить после комы только один знак, а все остальное убрать? Это надо сделать до вывода на экран.
Можно поступить очень просто:
Код: Выделить всё
Dim U As Single
Config Single = Scientific , Digits = 1 ' в переменных оставляем одну цифру после запятой (1 - 7)
.....................
U = 1.2345
Lcd U ' на индикацию будет выведено 1.2
Главное, что подобный формат будет применен для всех переменных типа Single в коде. И ничего переводить / расчитывать не нужно.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Magicanin писал(а):помогите с примером реализации простои задачи как подсчет импульсов на одном из портов за определенный период времени, скажем одну секунду..немогу понять как это реализовать с помощью таимеров и все тут
Можно сделать так: Один таймер настроить на подсчет внешних импульсов, а на втором таймере сделать отсчет 1 секунды. И пускай молотят. Как только второй таймер отщелкает 1 секунду, заглядываем в счетный регистр первого таймера и забираем результат. Далее обнуляем все что нужно, и все начинается снова.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Можно ли заставить общаться контроллеры через I2C интерфейс...?
Если да, то как? есть ли пример кода?
Если да, то как? есть ли пример кода?
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
А rs232 ?
И да, действительно, зачем в даташитах для мк atmegaXX пишут о присутствии I2C? А в tiny нет такой функции, но есть возможность сконфигурировать ноги для работы с этими устройствами.
Собственно в чем разница между этими мк, что касается I2C? Если в програмной части все одинаково.
И да, действительно, зачем в даташитах для мк atmegaXX пишут о присутствии I2C? А в tiny нет такой функции, но есть возможность сконфигурировать ноги для работы с этими устройствами.
Собственно в чем разница между этими мк, что касается I2C? Если в програмной части все одинаково.
Re: BASCOM AVR в вопросах и ответах
vanyap1 писал(а):А rs232 ?
И да, действительно, зачем в даташитах для мк atmegaXX пишут о присутствии I2C? А в tiny нет такой функции, но есть возможность сконфигурировать ноги для работы с этими устройствами.
Собственно в чем разница между этими мк, что касается I2C? Если в програмной части все одинаково.
Ну раз Вам так всё просто, то привидите пример программы общения двух МК на Bascom AVR... я бы сам давно написал, но не понимаю можно ли программно присвоить адреса контроллерам чтобы они понимали к кому из них идёт обращение?
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Нет, я не говорю что для меня это просто. Я пока что новичок в этом деле.
Просто это про rs232.
Вот просто заинтересовал такой нюанс.
Просто это про rs232.
Вот просто заинтересовал такой нюанс.
Re: BASCOM AVR в вопросах и ответах
vanyap1 писал(а):Просто это про rs232.
Если вы про UART то он занять для связи с ПК... а связать два мк по нему конечно реально.
vanyap1 писал(а):И да, действительно, зачем в даташитах для мк atmegaXX пишут о присутствии I2C? А в tiny нет такой функции, но есть возможность сконфигурировать ноги для работы с этими устройствами.
Вот просто заинтересовал такой нюанс.
Просто Bascom AVR реализует если не ошибаюсь только программый I2C, без возможности аппаратного.
- mr4ester
- Держит паяльник хвостом
- Сообщения: 900
- Зарегистрирован: Чт авг 27, 2009 20:09:01
- Откуда: Приднестровье г.Бендеры
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
подскажите как можно реализовать такую функцию, вот что нужно пример
как реализовать это ИЛИ пробовал команду or но она для других переменных, а у меня строковые?
Код: Выделить всё
If A= B или С thenРабота избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
- mr4ester
- Держит паяльник хвостом
- Сообщения: 900
- Зарегистрирован: Чт авг 27, 2009 20:09:01
- Откуда: Приднестровье г.Бендеры
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
спасибо помогло! 

Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Как можно регистрировать последовательность фаз в 3-х фазной сети?
Думал так - одну фазу на прерывание остальные на порты. По прерыванию определять если на второй фазе 1, то действие. Если 0 то второе действие.
Или есть еще идеи по поводу этого?
Думал так - одну фазу на прерывание остальные на порты. По прерыванию определять если на второй фазе 1, то действие. Если 0 то второе действие.
Или есть еще идеи по поводу этого?
- Magicanin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Чт янв 13, 2011 11:36:16
- Откуда: Красноярский край
Re: BASCOM AVR в вопросах и ответах
vanyap1 писал(а):Как можно регистрировать последовательность фаз в 3-х фазной сети?
Думал так - одну фазу на прерывание остальные на порты. По прерыванию определять если на второй фазе 1, то действие. Если 0 то второе действие.
Или есть еще идеи по поводу этого?
Можно подать на входы АЦП (заодно и амплитуду померить) и регистрировать последовательность по амплитуде.
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Всем доброго времени суток !
Поздравляю уважаемого Кота и всех посетителей сайта и форума с удачным переездом ! Ура !
А теперь вопрос:
После нажатия ОК не происходит выход из подпрограммы. Новые данные заносятся в DS1307 - это видно в протеусе.
А выхода обратно нет...
Beep - это буззер с генератором пикает.
INT1 - это при пропадании питания подпрограмма пишет нужные данные в ЕЕПРОМ.
Для проверки все лишние подпрограммы и прерывания отключал. Проверял в протеусе. В реальную железку пока не заливал.
Поздравляю уважаемого Кота и всех посетителей сайта и форума с удачным переездом ! Ура !
А теперь вопрос:
Код: Выделить всё
Config Int0 = Rising
Config Int1 = Low Level
On Int0 Startds
On Int1 Backup
'int0 получает сигнал с ноги Sout DS1307
Do
If Pind.4 = 0 Then Gosub Settime
Loop
Startds:
'тут читаются данные из DS1307
' и выводятся на дисплей 16х2
return
Settime:
'тут установка времени -
'Pind.5 - часы в плюс,
'Pind.6 - минуты в плюс,
'Pind.4 - ок, записать и выйти из подпрограммы.
Disable Interrupts
Disable Int0
Disable Int1
Beep = 1
Waitms 100
Beep = 0
Waitms 500
Locate 2 , 1
Lcd "Kop.«« MM "
Do
'установка часов
If Pind.5 = 0 Then
Hour = Hour + 1
'If hour = 13 Then hour = 1
Ho = Str(hour)
Ho = Format(ho , "00")
Locate 1 , 5
Lcd Ho
Beep = 1
Waitms 60
Beep = 0
Waitms 150
End If
'установка минут
If Pind.6 = 0 Then
Mine = Mine + 1
If Mine > 59 Then mine = 0
Mi = Str(mine)
Mi = Format(mi , "00")
Locate 1 , 8
Lcd Mi
Beep = 1
Waitms 60
Beep = 0
Waitms 150
End If
'ОК
If Pind.4 = 0 Then
Hour = Makebcd(hour)
Mine = Makebcd(mine)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte 1
I2cwbyte Mine
I2cwbyte Hour
I2cstop
Beep = 1
Waitms 200
Beep = 0
Return
End If
LoopПосле нажатия ОК не происходит выход из подпрограммы. Новые данные заносятся в DS1307 - это видно в протеусе.
А выхода обратно нет...
Beep - это буззер с генератором пикает.
INT1 - это при пропадании питания подпрограмма пишет нужные данные в ЕЕПРОМ.
Для проверки все лишние подпрограммы и прерывания отключал. Проверял в протеусе. В реальную железку пока не заливал.
С уважением,
Алексей.
Алексей.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Gordon Shumway писал(а):Всем доброго времени суток !
Поздравляю уважаемого Кота и всех посетителей сайта и форума с удачным переездом ! Ура !
А теперь вопрос:Спойлер
Код: Выделить всё
Config Int0 = Rising
Config Int1 = Low Level
On Int0 Startds
On Int1 Backup
'int0 получает сигнал с ноги Sout DS1307
Do
If Pind.4 = 0 Then Gosub Settime
Loop
Startds:
'тут читаются данные из DS1307
' и выводятся на дисплей 16х2
return
Settime:
'тут установка времени -
'Pind.5 - часы в плюс,
'Pind.6 - минуты в плюс,
'Pind.4 - ок, записать и выйти из подпрограммы.
Disable Interrupts
Disable Int0
Disable Int1
Beep = 1
Waitms 100
Beep = 0
Waitms 500
Locate 2 , 1
Lcd "Kop.«« MM "
Do
'установка часов
If Pind.5 = 0 Then
Hour = Hour + 1
'If hour = 13 Then hour = 1
Ho = Str(hour)
Ho = Format(ho , "00")
Locate 1 , 5
Lcd Ho
Beep = 1
Waitms 60
Beep = 0
Waitms 150
End If
'установка минут
If Pind.6 = 0 Then
Mine = Mine + 1
If Mine > 59 Then mine = 0
Mi = Str(mine)
Mi = Format(mi , "00")
Locate 1 , 8
Lcd Mi
Beep = 1
Waitms 60
Beep = 0
Waitms 150
End If
'ОК
If Pind.4 = 0 Then
Hour = Makebcd(hour)
Mine = Makebcd(mine)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte 1
I2cwbyte Mine
I2cwbyte Hour
I2cstop
Beep = 1
Waitms 200
Beep = 0
Return
End If
Loop
После нажатия ОК не происходит выход из подпрограммы. Новые данные заносятся в DS1307 - это видно в протеусе.
А выхода обратно нет...
Блин, только написал - и сразу разобрался. А прерывания за меня кто будет обратно включать ? Папа Римский ?
А ведь второй день сижу...
С уважением,
Алексей.
Алексей.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Так вот оно обычно и бывает. 
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Можно как то подключить ЖКИ к тини 13?
К примеру, через hc595?
К примеру, через hc595?
Re: BASCOM AVR в вопросах и ответах
Через сдвиговый регистр можно, но можете смело производительность поделить на.. на сколько там?