Например TDA7294

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

Текущее время: Вт мар 31, 2026 04:38:03

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


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



Начать новую тему Ответить на тему  [ Сообщений: 6071 ]     ... , , , 31, , , ...  
Автор Сообщение
 Заголовок сообщения: Re:
СообщениеДобавлено: Пт апр 16, 2010 08:41:02 
Мучитель микросхем

Карма: 7
Рейтинг сообщений: 44
Зарегистрирован: Ср июн 21, 2006 08:24:32
Сообщений: 465
Откуда: Лисичанск
Рейтинг сообщения: 0
Gryphon писал(а):
Здравствуйте дорогие форумчане!
Меня интересуют следующие ворпросы по BASCOM-AVR:
6. Можно-ли в BASCOM сделать подключение AVR c PC по USB (без преобразователей)

http://bascomavr.3bb.ru/viewtopic.php?id=254
http://bascom.at.ua/publ/usb_termometr_ ... 8/1-1-0-30


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт апр 16, 2010 13:17:09 
Встал на лапы

Зарегистрирован: Пт апр 16, 2010 12:30:03
Сообщений: 84
Рейтинг сообщения: 0
Подскажите "чайнику", можно ли в BASCOM обратиться к порту не явно (PORTB.2=...), а по переменной (PORTB.X=...)?


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт апр 16, 2010 13:50:10 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Пт авг 29, 2008 09:22:37
Сообщений: 442
Рейтинг сообщения: 0
dhouse писал(а):
можно ли в BASCOM обратиться к порту не явно ...

можно , например вот так.


Вложения:
ALIAS.rar [252 байт]
Скачиваний: 305

_________________
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт апр 16, 2010 14:51:13 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
Можно-то можно, вот очень жаль что алиасы нельзя адресовать подобным способом, например:
Код:
a(1) Alias PORTB.1
a(2) Alias PORTD.2
a(3) Alias PORTC.3

For i=1 To 3
Set a(i)
Next i

Вот это было бы очень ценно.

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт апр 16, 2010 23:00:30 
Встал на лапы

Зарегистрирован: Пт апр 16, 2010 12:30:03
Сообщений: 84
Рейтинг сообщения: 0
Спасибо Dimon-790 и Секретному коту за ответ. Я как раз имел в виду вариант Секретного кота, чтобы обращаться к портам, как к переменным. Жаль, что так сделать нельзя, придется городить CASE-ми и IF-ами...


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб апр 17, 2010 12:05:42 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
dhouse писал(а):
придется городить CASE-ми и IF-ами...

А мне приходится циклы "разворачивать" из-за того, что например массив нагрузок оказался разбросанным по разным портам :(

P.S. Оказывается, с этой проблемой многие уже сталкивались:
http://mcselec.com/index2.php?option=co ... pic&t=4041
http://mcselec.com/index2.php?option=co ... pic&t=2462
http://mcselec.com/index2.php?option=co ... pic&t=7481
Последняя ссылка любопытна тем, что автор утверждает, что такой вариант адресации якобы работал в версиях до 1.11.9.4.

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс апр 18, 2010 16:50:34 
Родился
Аватар пользователя

Зарегистрирован: Вс апр 18, 2010 16:43:08
Сообщений: 18
Откуда: Улан-Удэ
Рейтинг сообщения: 0
Всем привет, требуется помощь в коде bascom'a, mega8 такт 4 мега
требуется создать три таймера с временными интервалами 10, 30 и 3 минут(ы) соответственно, запуск которых производится последовательно после отработки каждого, но запуск первого возможен только при получении высокого уровны по входу INT0


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс апр 18, 2010 20:45:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
Intel_agent писал(а):
Всем привет, требуется помощь в коде bascom'a

А сам код-то чего забыли прицепить :)))

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 00:35:45 
Родился
Аватар пользователя

Зарегистрирован: Вс апр 18, 2010 16:43:08
Сообщений: 18
Откуда: Улан-Удэ
Рейтинг сообщения: 0
Так в том-то и проблема, что не могу никак разобраться как реализовать такие временные промежутки


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 02:02:02 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
Код:
Wait сколько_нужно_секунд

Например, 30 минут это Wait 1800.

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 09:54:29 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 36
Зарегистрирован: Сб дек 13, 2008 09:03:43
Сообщений: 347
Откуда: г.Советская Гавань
Рейтинг сообщения: 0
Если делать тупо то
Обработка int
Запретить прерывание
for i=0 to 10
wait 60
next i
чото делаеш

for i=0 to 30
wait 60
next i


for i=0 to 3
wait 60
next i
чото делаеш

разрешить прерывание

Но лучше все делать по таймеру

_________________
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 10:35:06 
Встал на лапы

Зарегистрирован: Пт апр 16, 2010 12:30:03
Сообщений: 84
Рейтинг сообщения: 0
Знатоки BASCOM! Просмотрите, пожалуйста, мой ПЕРВЫЙ В ЖИЗНИ код на микроконтроллер (ATTINY2313) и укажите на принципиальные ошибки. Проект банальный: часы. Порт В - на сегменты индикатора, порт d - на включения общего на индикаторе (через КТ315) и опрос 2-х кнопок. С настройками таймера не заморачивался, хотел просто понять логику работы...
Код:
$regfile = "AtTiny2313.dat"
$crystal = 1000000
Config Timer0 = Timer , Prescale = 1
Declare Sub My_led
Dim H As Byte , M As Byte , S As Byte
Dim T(4) As Byte                                         
Dim Ncount As Word                                         
Dim Q As Byte
Dim Tmp As Byte

Ncount = 0
H = 9
M = 55
S = 0

Config Portb = Output
Config Portd = Output
Config Pind.0 = Input
Config Pind.1 = Input
Config Debounce = 200
Set Pind.0
Pind.0 = 1
Set Pind.1
Pind.1 = 1

On Timer0 Pulse
Enable Interrupts
Enable Timer0

'************
Do
Debounce Pind.0 , 0 , H_ed , Sub
Debounce Pind.1 , 0 , M_ed , Sub
   T(1) = H \ 10                                           
   T(2) = H Mod 10                                         
   T(3) = M \ 10                                           
   T(4) = M Mod 10                                       
  Call My_led
Loop
End                                                         'end program

'************************
Sub My_led                                               

 For Q = 1 To 4
   Select Case T(q)                                       
     Case 1 : Portb = &B11111001
     Case 2 : Portb = &B10100100
     Case 3 : Portb = &B10110000
     Case 4 : Portb = &B10011001
     Case 5 : Portb = &B10010010
     Case 6 : Portb = &B10000010
     Case 7 : Portb = &B11111000
     Case 8 : Portb = &B10000000
     Case 9 : Portb = &B10010000
     Case 0 : Portb = &B11000000
  End Select

 Select Case Q                                             
   Case 1 : If T(1) <> 0 Then                               
               Set Portd.2
               Waitms 10
               Reset Portd.2
             End If

   Case 2 : Tmp = S Mod 2
             If Tmp = 0 Then Portb.7 = 0
             Set Portd.3
             Waitms 10
             Reset Portd.3

   Case 3 : Set Portd.4
            Waitms 10
             Reset Portd.4

   Case 4 : Set Portd.5
            Waitms 10
             Reset Portd.5
 End Select

Next Q
End Sub
'************************
Pulse:                                                     
Ncount = Ncount + 1
  If Ncount => 31250 Then
    Ncount = 0
    S = S + 1
  End If

  If S > 59 Then
    S = 0
    M = M + 1
  End If

  If M > 59 Then
  M = 0
  H = H + 1
  If H > 23 Then H = 0
  End If

Return
'************************
H_ed:
 Waitms 100                                               
 H = H + 1
 If H > 23 Then H = 0
Return
'************************
M_ed:                                                       
 Waitms 100
 M = M + 1
 If M > 59 Then M = 0
Return


Последний раз редактировалось dhouse Вт апр 20, 2010 13:56:02, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 11:06:58 
Мучитель микросхем
Аватар пользователя

Карма: 4
Рейтинг сообщений: 44
Зарегистрирован: Ср дек 10, 2008 21:24:28
Сообщений: 497
Откуда: Алтайский край, Барнаул
Рейтинг сообщения: 0
На 8-ой странице есть пример и схема на тане2313 и LCD. http://radiokot.ru/forum/viewtopic.php?f=20&t=6408&start=140
При желании можно переделать на светодиодный индикатор.

_________________
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 12:39:57 
Встал на лапы

Зарегистрирован: Пт апр 16, 2010 12:30:03
Сообщений: 84
Рейтинг сообщения: 0
Спасибо за ссылку. Но хочется написать самому, а не передрать чужое. Простые часы - неплохой проект для начала освоения МК (мигалки слишком просто). Если выйдет, попробую сделать простейший велоспидометр. Кстати, попутно вопрос знатокам: если на пин порта цепляется не кнопка, а питание +5 через геркон (подсчет замыканий) то:
1. Нужно установить на пине логический 0?
2. Подсчитывать количество появлений логической единицы за определенный интервал времени?
3. Пересчитать в скорость?


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 13:09:07 
Родился
Аватар пользователя

Зарегистрирован: Вс апр 18, 2010 16:43:08
Сообщений: 18
Откуда: Улан-Удэ
Рейтинг сообщения: 0
Секретный кот писал(а):
Код:
Wait сколько_нужно_секунд

Например, 30 минут это Wait 1800.

Да, это супер просто, НО, если не ошибаюсь при данном типе отсчета, все остальные действия по обработке будут выполняться только после окончания отсчета...
ВНН писал(а):
Если делать тупо то
Обработка int
Запретить прерывание
for i=0 to 10
wait 60
next i
чото делаеш
...
разрешить прерывание

Но лучше все делать по таймеру

Тупо конечно тоже хорошо, но все-же большое желание сделать по таймеру, а то мало-ли...


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 13:51:22 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 36
Зарегистрирован: Сб дек 13, 2008 09:03:43
Сообщений: 347
Откуда: г.Советская Гавань
Рейтинг сообщения: 0
Правильно мыслиш , а то мало-ли..., а то мало-ли...
Работа с прерываниями http://www.decada.org.ru/project/lesson ... /index.php

_________________
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 15:23:43 
Родился
Аватар пользователя

Зарегистрирован: Вс апр 18, 2010 16:43:08
Сообщений: 18
Откуда: Улан-Удэ
Рейтинг сообщения: 0
Спасибо! Хороший учебничек, слегка пробежался, понятно написано даже для таких новичков как я :))
Ушел изучать 8)


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 19, 2010 19:35:42 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
ВНН писал(а):
Если делать тупо то
Обработка int
Запретить прерывание
for i=0 to 10
wait 60
next i

И чем это лучше чем просто wait 600? :))

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт апр 20, 2010 03:26:37 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 36
Зарегистрирован: Сб дек 13, 2008 09:03:43
Сообщений: 347
Откуда: г.Советская Гавань
Рейтинг сообщения: 0
Ничем , только более читаемо и при изменение параметров задержки не нужно считать 60*min и все

_________________
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.


Вернуться наверх
 
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт апр 20, 2010 13:10:40 
Встал на лапы

Зарегистрирован: Пт апр 16, 2010 12:30:03
Сообщений: 84
Рейтинг сообщения: 0
Вопрос по оператору $crystal в BASCOM. Написал свою программу часов для Attiny2313 без кварца. Во фьюзах отключил деление частоты на 8 (внутренняя частота вышла 8 MGz). Переполнение таймера выставил именно на эту частоту. Но если в программе ставлю $crystal=8000000, то при динамической индикации четко заметно мигание индикаторов. При установке меньшей величины, вплоть до $crystal=1000000 мигание совершенно не заметно. При этом на ход часов этот параметр не повлиял. Так что же делает оператор $crystal?


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

Часовой пояс: 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