Например TDA7294

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

Текущее время: Вт авг 12, 2025 01:10:12

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


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



Начать новую тему Ответить на тему  [ Сообщений: 6053 ]     ... , , , 14, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 16, 2009 22:08:06 
Родился

Зарегистрирован: Вт окт 02, 2007 21:27:15
Сообщений: 9
Рейтинг сообщения: 0
Вопрос к Shuriks? Забыл про меня ? :cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 17, 2009 00:02:01 
Открыл глаза

Зарегистрирован: Сб дек 27, 2008 15:40:06
Сообщений: 70
Рейтинг сообщения: 0
2omike
последний пост Luciano
http://www.mcselec.com/index2.php?optio ... quare+wave
Код:
Code:
$regfile = "ATtiny2313.DAT"
$crystal = 20000000

$hwstack = 32
$swstack = 16
$framesize = 40

Dim Compare_value as Word

' ==================
' Clear Timer on Compare (CTC mode), Top= OCR1A
' OC1B PIN toggled at compare match
' (No prescaling)

TCCR1A=&H10
TCCR1B=&H09

OCR1AH=&H00
OCR1AL=&H00

' ==================

Config PinB.4 = Output  ' OC1B PIN


Do

  For Compare_value = 0 to 9
     Compare1A = Compare_value
     Waitms 5000
  Next Compare_value

Loop


End


' When you run the above code you will get a square wave
' with these frequencies:  (System clock = 20 MHz)

' Compare1A = 0 / Frequency = 10.00 MHz
' Compare1A = 1 / Frequency =  5.00 MHz
' Compare1A = 2 / Frequency =  3.33 MHz
' Compare1A = 3 / Frequency =  2.50 MHz
' Compare1A = 4 / Frequency =  2.00 MHz
' Compare1A = 5 / Frequency =  1.66 MHz
' Compare1A = 6 / Frequency =  1.43 MHz
' Compare1A = 7 / Frequency =  1.25 MHz
' Compare1A = 8 / Frequency =  1.11 MHz
' Compare1A = 9 / Frequency =  1.00 MHz


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 17, 2009 10:07:17 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Чт май 15, 2008 07:18:52
Сообщений: 36
Рейтинг сообщения: 0
люди подскажите вопрос. Пишу Bascom-e Эмулирую в Протеусе есле ставлю частоту выше 2 Mgh происходит чтото не понятное датчики DS показывают точно не температуру динамическа индикация тоже странно ведёт себя


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 17, 2009 19:08:12 
Родился

Зарегистрирован: Вт окт 02, 2007 21:27:15
Сообщений: 9
Рейтинг сообщения: 0
Спасибо Pomidor! А как это дело пересчитать под кварц 1 мгц? :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 17, 2009 20:02:53 
Открыл глаза

Зарегистрирован: Сб дек 27, 2008 15:40:06
Сообщений: 70
Рейтинг сообщения: 0
2omike
дык, это.
Почитайте даташит со словарем или скачайте книжек по авр'кам на русском, раздел про таймеры, среди прочих, пользы будет много больше.
вот на русском документация
http://www.gaw.ru/html.cgi/txt/doc/micros/avr/index.htm
там где про архитектуру


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 18, 2009 01:23:55 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн фев 18, 2008 17:48:40
Сообщений: 329
Рейтинг сообщения: 0
На всякий случай:
Bascom AVR 1.11.8.1 + crack
Скачать:
----------
http://depositfiles.com/files/4j0vti0t9
http://depositfiles.com/files/m3t5rjho3
----------
Может еще кому надо :roll:

_________________
The only one thing necessary for the triumph of evil ...is for good people to do nothing.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 19, 2009 20:12:14 
Открыл глаза

Зарегистрирован: Ср июн 11, 2008 23:04:42
Сообщений: 57
Рейтинг сообщения: 0
Здаровки всем!
Извиняюсь, мож я не в тему немножко попал, но вот вопросик:
Как вывести результаты измерения АЦП на 7-и сегментный индикатор (три разряда, последний показывает десятые)? Не могу сообразить как нормально сделать преобразования для сегментов.Подскажите,плиз!
Использую мегу8 и 1мгц такта


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 21, 2009 02:11:52 
Открыл глаза

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

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 21, 2009 02:19:00 
Открыл глаза

Зарегистрирован: Чт мар 19, 2009 08:58:08
Сообщений: 69
Рейтинг сообщения: 0
ya-zp писал(а):
Здаровки всем!
Извиняюсь, мож я не в тему немножко попал, но вот вопросик:
Как вывести результаты измерения АЦП на 7-и сегментный индикатор (три разряда, последний показывает десятые)? Не могу сообразить как нормально сделать преобразования для сегментов.Подскажите,плиз!
Использую мегу8 и 1мгц такта


Немного надо исправить .
Код:
 'Индикатор 3x7 с общим катодом  ( например от АОНа )
 'PD0-A,PD1-B,PD2-C,PD3-D,PD4-E,PD5-F,PD6-G,PD7-DP
 'PB0-1p,PB1-2p,PB2-3p
 'катоды разрядов индикатора подключены -NPN транзисторы
 'Резистор переменный - 1 корпус
 '   10 Kom              2 питание 5V
 '                      3 (средний ) - вход ADC0

$regfile = "m8def.dat"
$crystal = 1000000

Config Portd = Output
Config Portb = Output
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Declare Sub Lednum
Declare Sub Adconverter
Dim N0 As Long , N1 As Word , N2 As Word , N3 As Word , M As Word
Dim Led(10) As Byte

Led(1) = &B00111111
Led(2) = &B00000110
Led(3) = &B01011011
Led(4) = &B01001111
Led(5) = &B01100110
Led(6) = &B01101101
Led(7) = &B01111101
Led(8) = &B00000111
Led(9) = &B01111111
Led(10) = &B01101111

Do
  Start Adc
  N0 = Getadc(0)
  Call Adconverter
  Call Lednum
  Portb = &B00000001
  Portd = Led(n1)
  Waitms 5
  Portb = &B00000010
  Portd = Led(n2)
  Waitms 5
  Portb = &B00000100
  Portd = Led(n3) + &B10000000
  Waitms 5
Loop

End

Sub Adconverter
  N0 = N0 * 1000
  N0 = N0 / 2048
End Sub

Sub Lednum
  N3 = N0 / 100
  M = N0 Mod 100
  N2 = M / 10
  N1 = M Mod 10
  N3 = N3 + 1
  N2 = N2 + 1
  N1 = N1 + 1
End Sub


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 23, 2009 09:06:51 
Открыл глаза

Зарегистрирован: Ср июн 11, 2008 23:04:42
Сообщений: 57
Рейтинг сообщения: 0
Спасибки.Пошел разбираться :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 30, 2009 01:09:25 
Родился

Карма: 1
Рейтинг сообщений: 2
Зарегистрирован: Пн мар 30, 2009 00:36:53
Сообщений: 8
Откуда: Запорожье
Рейтинг сообщения: 0
ya-zp писал(а):
Здаровки всем!
Извиняюсь, мож я не в тему немножко попал, но вот вопросик:
Как вывести результаты измерения АЦП на 7-и сегментный индикатор (три разряда, последний показывает десятые)? Не могу сообразить как нормально сделать преобразования для сегментов.Подскажите,плиз!
Использую мегу8 и 1мгц такта


Ну я бы сделал примерно так:

Код:
$regfile = "m8def.dat"                                      ' мега8
$crystal = 8000000
Config Portb = Output , Portd = Output                      'конфигурируем порты на выход
Dim I As Byte , X As Byte , Y As Byte , Temp As Integer , Bn(10) As Byte , Cifri(5) As Integer       'задаем всякие переменные и масивы      '
 Restore Dta                                                ' говорим из какой таблици нужно заносить данные в масив
   For I = 1 To 10                                          ' начало цикла
     Read Bn(i)                                             ' поочериде заносим ячейки из таблици в масив
   Next                                                     ' конец цикла
     Config Timer0 = Timer , Prescale = 1                   ' конфигурируем таймер 0 чтоб потом на него повесить алгоритм отображения цифр
     On Timer0 Pulse                                        ' назначаем подпрограмму, которая будет запускатся по переполнению 0го таймера
     Enable Interrupts                                      'разрешаем прерывания
     Enable Timer0                                          'разрешаем таймер0
Config Adc = Single , Prescaler = Auto , Reference = Avcc   ' конфигурируем ADC
Start Adc                                                   ' запускаем ADC
 Do                                                         ' начало основного цикла
 Temp = Getadc(0)                                           ' к примеру 1021

     For I = 1 To 4                                         ' цикл разбиения числа TEMP на цифры и занесения каждой в таблицу масива
     Cifri(i) = Temp Mod 10                                 ' берем последнюю цифру (1)
     If Cifri(i) = 0 Then                                   '
     Cifri(i) = 10                                          '
     Goto T                                                 '
     End If                                                 '
     Temp = Temp - Cifri(i)                                 ' вычитаем из TEMP последнюю цифру 1021-1=1020
     T:                                                     '
     Temp = Temp / 10                                       ' отбрасываем последний ноль 1020/10=120
  Next                                                      'возвращаемся к началу цикла и заносим следующюю цифру в масив

  Waitms 100                                                ' задержка

 Loop                                                       'конец основного цикла
End                                                         '
                                                                               '
Pulse:                                                      ' подпрограмма прерываний таймера0
Incr X                                                      ' увеличиваем х на единицу, для выбора нужных цифр из таблици
Portb = &HFF                                                '  гасим индикатор
Portd = Bn(cifri(x))                                        '  подаем на индикатор цифру из масива Bn с номером cifri(x)
Y = X - 1                                                   '  считаем какую конкретно цифру, из 4х нужно сейчас зажечь
Reset Portb.y                                               '  зажигаем нужную цифру под номером игрик
If X = 4 Then X = 0                                         '  обнуляем х при достижении его величины 4
Return                                                      '  возвращаемся на место откуда прервали программу
Dta:                                                        '  таблица с данными о цифрах зажигает по порядку : 1234567890
Data &H88 , &HB3 , &HBA , &HD8 , &H7A , &H7B , &HA8 , &HFB , &HFA , &HEB


строчку дата подбираем под свой индикатор


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 02, 2009 13:14:45 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн ноя 03, 2008 12:08:42
Сообщений: 152
Откуда: Владивосток
Рейтинг сообщения: 0
Здравствуйте! Вот хотел узнать, как на меге8 и ЖКИ сделать индикатор звука (стереофонический).

_________________
Вы получаете от людей больше, если им противоречите


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 02, 2009 14:05:32 
Мучитель микросхем

Карма: 7
Рейтинг сообщений: 44
Зарегистрирован: Ср июн 21, 2006 08:24:32
Сообщений: 465
Откуда: Лисичанск
Рейтинг сообщения: 0
Gryphon писал(а):
Здравствуйте! Вот хотел узнать, как на меге8 и ЖКИ сделать индикатор звука (стереофонический).


AN #107 - Logarithmic bar graph (LED and LCD)
http://www.mcselec.com/index.php?option ... &Itemid=57
Здесь правда на 2313, но я думаю, на мегу 8 можно перевести без большого труда.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 06, 2009 13:25:50 
Родился

Зарегистрирован: Вт мар 31, 2009 18:47:33
Сообщений: 12
Откуда: Odessa Region
Рейтинг сообщения: 0
Здравствуйте! Нужна консультация по операторам Bascom AVR.
var = GETADC(channel [,offset])
channel - номер канала АЦП порта МК
offset - что делает этот параметр? var = GETADC (2 , &H20)
&H20 (hex) = 32 (dec) = &0010 0000 (bin) - правильно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 12, 2009 07:23:44 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн ноя 03, 2008 12:08:42
Сообщений: 152
Откуда: Владивосток
Рейтинг сообщения: 0
Здравствуйте! Интересуют программы (алгоритмы):
1. Спидометр
2. Одометр
3. Тахометр
4. Индикатор топлива

_________________
Вы получаете от людей больше, если им противоречите


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 12, 2009 09:11:39 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Пт авг 29, 2008 09:22:37
Сообщений: 442
Рейтинг сообщения: 0
Задействовать PORT A в TINY2313 комуто доводилось? поделитесь опытом плиз... :?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 12, 2009 11:05:34 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Пт авг 29, 2008 09:22:37
Сообщений: 442
Рейтинг сообщения: 0
Всё разобрался!!! :oops: :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 15, 2009 23:00:38 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вт дек 30, 2008 20:51:09
Сообщений: 24
Откуда: Россия, г. Брянск
Рейтинг сообщения: 0
dimon-790 писал(а):
Задействовать PORT A в TINY2313 комуто доводилось? поделитесь опытом плиз... :?


Делюсь опытом , для Всех ... А не просто сказать - получилось и .. все :)

1. В ATtiny2313 порты PORT A0 и PORT A1 становятся доступными , если применять внутренний тактовый генератор.

2. PORT A2 становится доступным , если запрограммировать фьюз RESET DISABLE (ахтунг !!! .. в режиме ISP микроконтроллер перестанет шиться , но можно все вернуть с помощью параллельного программатора)

3. PORT A2 ("бывший" reset) ... не является электрически-полноценным портом ... При логической единице , уровень составит 2..3 В . Решение простое - подтягиваем внешним резистором 4.7 кОм к 5 В.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 15, 2009 23:02:58 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пн мар 16, 2009 21:40:57
Сообщений: 828
Рейтинг сообщения: 0
Shuriks писал(а):
в режиме ISP микроконтроллер перестанет шиться , но можно все вернуть с помощью параллельного программатора)
А вы пробовали вернуть ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 15, 2009 23:20:11 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вт дек 30, 2008 20:51:09
Сообщений: 24
Откуда: Россия, г. Брянск
Рейтинг сообщения: 0
ikarab писал(а):
А вы пробовали вернуть ?


Без проблем ... На работе программатор "Тритон" . Снимаем галку на RESET DISABLE (или просто меняем на противоположное) . Пишем фьюзы ... Все ... Работаем дальше с МК , с последовательным программатором :))


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

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


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


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

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


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