Например TDA7294

Форум РадиоКот • Просмотр темы - BASCOM AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн мар 09, 2026 17:30:56

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6069 ]     ... , , , 16, , , ...  
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 16, 2009 13:17:50 
Мучитель микросхем

Карма: 7
Рейтинг сообщений: 44
Зарегистрирован: Ср июн 21, 2006 08:24:32
Сообщений: 465
Откуда: Лисичанск
Рейтинг сообщения: 0
Посмотри здесь - http://bascom.at.ua/publ/1-1-0-9


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 17, 2009 08:47:50 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
Radan писал(а):
Посмотри здесь - http://bascom.at.ua/publ/1-1-0-9

Возможно я нуб...ну немогу я понять как этот шим устроен :o
Так и не разобрался, Таймер-0 переключает группы светиков или тоже участвует в ШИМе
Если несложно наваяй маленькую прожку (Для ATtiny2313) , чтоб сама яркость меняла на светике, сначала повышала, как наберёт полную яркость то понижала... :roll:
Очень хочу понять принцып! Ага?
И ещё, как выводиться на порты инфа записанная в DATA ?


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 18, 2009 08:15:29 
Мучитель микросхем

Карма: 7
Рейтинг сообщений: 44
Зарегистрирован: Ср июн 21, 2006 08:24:32
Сообщений: 465
Откуда: Лисичанск
Рейтинг сообщения: 0
В основном цикле программы пишем изменение переменных яркости 3 цветов:

Код:
Do

For R = 0 To 255
Waitms 10
Next R

For B = 255 To 0 Step -1
Waitms 10
Next B

For G = 0 To 255
Waitms 10
Next G

Loop


В событии Таймер-0 происходит увеличение переменной PWM на 1.
Если значение R, G, B > 0 , то при значении PWM = 0 включим соответствующие порты (Set R, Set G Set B)
Если значение R, G, B совпало с PWM, отключим соответствующий канал.
Когда PWM достигнет 255, сбросим её в 0 и выключим R, G, B (Reset R, Reset G, Reset B). И так по кругу.
Таким образом, порты будут включены на 1-255 тактов таймера 0. Чем больше тактов включено, тем ярче горит светодиод. Для равномерного восприятия яркости глазом, необходимо учесть логарифмическую зависимость. В приведённой выше ссылке это реализовано.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 18, 2009 09:32:46 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
Короче нифига я непонял. Вот, как я понял...Но оно не работает :oops:
Цитата:
$regfile = "2313def.dat"
$crystal = 4000000
Config Portd = Output
Config Portb = Output
Dim Pwm As Byte , A As Byte

Config Timer0 = Timer , Prescale = 1
Enable Interrupts
Enable Timer0
On Timer0
Start Timer0
Pwm = Timer0

Do
Reset Portd
Config Pind.3 = Input
Config Pind.4 = Input

Set Portd.3
Set Portd.4
Debounce Pind.3 , 0 , Pwm_plus
Debounce Pind.4 , 0 , Pwm_minus

Pwm_plus:
Incr Pwm
Waitms 100
Return

Pwm_minus:
Decr Pwm
Waitms 100
Return

For A = 0 To 255
Waitms 10
Next A
If A > 0 Then Gosub 1

1:
If Pwm = 255 Then
Pwm = 0
Portb = 00
If Pwm > 0 Then Portb.1 = 1
Return

Loop
End If
End

Слушай ну пожалуйсто помоги, ну очень хочу разобраться


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 18, 2009 10:16:14 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
В теории я ход всего понял:
Таймер-0 подсчитывает импульсы и записывает их количество в переменную PWM.
Далее идёт сравнение PWM и другой переменной и.т.д....

Просто непойму как это реализовать програмно.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 18, 2009 11:31:58 
Мучитель микросхем

Карма: 7
Рейтинг сообщений: 44
Зарегистрирован: Ср июн 21, 2006 08:24:32
Сообщений: 465
Откуда: Лисичанск
Рейтинг сообщения: 0
Попробуй так:

Код:
$regfile = "2313def.dat"
$crystal = 4000000

Config Portb = Output

Config Timer0 = Timer , Prescale = 1
Enable Interrupts
Enable Timer0
On Timer0 Timer0isr
Start Timer0

Dim Pwm As Byte , A As Byte
Pwm = 0

Do


For A = 0 To 255
Waitms 10
Next A

For A = 255 To 0 Step -1
Waitms 10
Next A

Loop


Timer0isr:
Incr Pwm

If Pwm > A Then Portb = 1

If Pwm = 255 Then
Pwm = 0
Portb.0 = 0
End If
Return


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 18, 2009 14:22:29 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
Большое спосибо. Наконецто!!!!
Можно небольшие подробности:
Что означает "Prescale = 1" "Step -1"
Строчка "On Timer0 Timer0isr" - означает, - включить таймер-0 и при переполнении перйти на "Timer0isr" -- ???

Спосибо за внимание, если будут вопросы в дальнейшем - поможешь..
очень хочу разобраться хоь с эти языком... :lol:


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 19, 2009 08:01:03 
Мучитель микросхем

Карма: 7
Рейтинг сообщений: 44
Зарегистрирован: Ср июн 21, 2006 08:24:32
Сообщений: 465
Откуда: Лисичанск
Рейтинг сообщения: 0
Step -1 - это шаг в цикле со значением -1. Т.е. в данном примере будет считать так: 255, 254, 253 ... 3, 2, 1, 0.

Prescale = 1 - это делитель для таймера. Выбирается из стандартного ряда - 1, 64, 256

On Timer0 Timer0isr - при срабатывании таймера перейти на Timer0isr

Об этом всём можно почитать в руководстве по ВАСИКУ на английском или здесь http://bascom.at.ua/load/ на русском.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 19, 2009 09:25:47 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
Ещё раз спосибо! Очень хороший сайт... :))


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 19, 2009 22:13:39 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Генератор случайных чисел, в Бэйсике был, не могу найти :))
Если такого нет, то как организовать?
Заранее спасибо


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 19, 2009 23:19:11 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт май 17, 2007 09:44:13
Сообщений: 268
Откуда: Украина, г. Кривой Рог
Рейтинг сообщения: 0
var = RND( limit )
Кажись, так.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Сб июн 20, 2009 00:08:19 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Спасибо!


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Сб июн 20, 2009 01:48:21 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
Здрасти, я долго ждать не заставил.... :)) ШУТКА
Собственно вопрос: имеем - между PORTB , PORTD.6 и PORTD.0 , PORTD.1 , PORTD.2 включены светики ( АНОДАМА НА PORTB , PORTD.6 ) как реализовать эффекты с помощью оператора DATA 1 , 2 , 3 , n...?????
Точнее как правельно записать значения в таблицу ( какое число равно какому порту по счёту, или как происходит вывод инфы)
И как значения этой таблицы вывести на порты?

Просмотрел на этом http://bascom.at.ua/load/ сайте всё чё мона. но так и не понял...

Да и ШИМ регулировка яркости отдельно работает, а вот в свою прогу засандалить тож невыходит, иль хотяб чтоб кнопками яркость регулировать для нескольких светиков тож ума не приложу

Прошу прощения за сопли на форуме, просто запутался совсем, а разобраться охота.

По каким пасобиям учились вы? Я всё, что не читал, либо вобше непойму, либо там скубные примеры, которые даже я придумаю....

Всем СПОСИБО![/quote]


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Сб июн 20, 2009 11:13:39 
Открыл глаза

Зарегистрирован: Чт мар 19, 2009 08:58:08
Сообщений: 69
Рейтинг сообщения: 0
VladI+ писал(а):
Найдено в сети.
(Качество не очень)

Marcin Wiązania
Programowanie mikrokontrolerów AVR w języku BASCOM .
PDF 21,2 Mb
(добавил листинги)

http://www.onlinedisk.ru/file/104744/

С наилучшими пожеланиями VladI+ !


Немного поработал и сделал файл в формате DJVU (6,8 Mb)
Разрезал страницы,выровнял.
Качаем-
http://www.onlinedisk.ru/file/163438/


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Сб июн 20, 2009 11:50:25 
Говорящий с текстолитом
Аватар пользователя

Карма: 7
Рейтинг сообщений: 12
Зарегистрирован: Вс дек 14, 2008 20:36:47
Сообщений: 1596
Откуда: SPb
Рейтинг сообщения: 0
Цитата:
По каким пасобиям учились вы? Я всё, что не читал, либо вобше непойму, либо там скубные примеры, которые даже я придумаю....

Самый лучший учебник, чужие исходники :))


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Сб июн 20, 2009 12:49:51 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
saschai писал(а):
Цитата:
По каким пасобиям учились вы? Я всё, что не читал, либо вобше непойму, либо там скубные примеры, которые даже я придумаю....

Самый лучший учебник, чужие исходники :))

Да, но в этих исходниках всё так запутано и есть такие "фразы" которых в своей справке я ненахожу.
Вобщем всё что у меня из справок я вложу в архив, может пригодиться кому....

Жду ещё умных мыслей :)


Вложения:
Комментарий к файлу: Всё чё у меня по справкам имееться
BASCOM_8051_KULISH.rar [283.17 KiB]
Скачиваний: 475
Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Сб июн 20, 2009 12:50:51 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
В один архив не влезло.
Остатки...


Вложения:
Bascom AVR.rar [234.36 KiB]
Скачиваний: 27724
Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Сб июн 20, 2009 14:06:49 
Открыл глаза

Зарегистрирован: Сб дек 06, 2008 13:48:59
Сообщений: 54
Рейтинг сообщения: 0
привет народ снова =)

делаю сейчас меню для LCD
примеров не нашел...

так вот...
как мне на выходе получить типа M1 для вывода константы?
такой код не рабит как положено..
Код:
Increm:
Incr I
Cls
If I = 1 Then Lcd M1 '--|
If I = 2 Then Lcd M2 '--| вывожу константу на жки
If I = 3 Then Lcd M3 '--|
If I = 3 Then I = 1 ' переход на 1 первый пункт меню
Goto Debo 'переход к опросу кнопок
Return


а код типа M ; I на жки выводит мне 01,02,03 = некатит кароч...
есть ли другой способ получить M1 M2 M3 на выходе жки?


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 21, 2009 21:33:41 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт май 17, 2007 09:44:13
Сообщений: 268
Откуда: Украина, г. Кривой Рог
Рейтинг сообщения: 0
Здрасте,
Не могу заставить работать ds18s20 в протеусе. Постоянно 0 показывает. Может есть у кого рабочий код. Посмотреть, да разобраться в своих ошибках.
Спасибо.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 21, 2009 23:42:40 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
pavel123 писал(а):
Здрасте,
Не могу заставить работать ds18s20 в протеусе. Постоянно 0 показывает. Может есть у кого рабочий код. Посмотреть, да разобраться в своих ошибках.
Спасибо.

Цитата:
$regfile = "2313def.dat"
$baud = 9600
$crystal = 4000000
Config Lcd = 16 * 1
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6
Config 1wire = Portd.5
Dim Byte0 As Byte
Dim Byte1 As Byte
Dim Signtemperatura As String * 1
Dim T1 As Byte
Dim T2 As Byte
Dim I As Integer
Do
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE
Byte0 = 1wread()
Byte1 = 1wread()
If Byte1 >= 248 Then
Byte0 = &HFF - Byte0
Byte1 = &HFF - Byte1
Signtemperatura = "-"
Else
Signtemperatura = "+"
End If
T1 = Byte0 / 16
T2 = Byte1 * 16
T1 = T1 + T2
Cls
Lcd Signtemperatura ; T1 ; "C"
Wait 2
Loop
End

Думаю это рабочий код.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6069 ]     ... , , , 16, , , ...  

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y