BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

Сообщение dimon-790 »

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

Да это понятно, если эти порты мы используем в программе то кварц на них не повесиш,у меня оказалось всё гораздо проще.Не тот regfile вписал :o :oops: :o вот так бывает,на баскоме не давно сижу,а баском авр и того меньше вот и запутался слегка...
Аватара пользователя
drugdug
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт июл 26, 2007 09:12:36
Откуда: Копейск
Контактная информация:

Сообщение drugdug »

Ребят, а подскажите почему у меня грабли? Простенькая программа в Bascom'e из его примеров че я только не делал, все равно кракозяблы. Версия прота 7.5 SP3, басика 1.11.9.0. Проект прилагаю.

Код: Выделить всё

$regfile = "m8def.dat"                                      ' we use the M8
$baud = 9600

$hwstack = 32
$swstack = 8
$framesize = 24

Dim A As Byte , B1 As Byte , C As Integer , S As String * 4
A = 1
Print "print variable a " ; A
Print                                                       'new line
Print "Text to print."                                      'constant to print


B1 = 10
Print Hex(b1)                                               'print in hexa notation
C = &HA000                                                  'assign value to c%
Print Hex(c)                                                'print in hex notation
Print C                                                     'print in decimal notation

C = -32000
Print C
Print Hex(c)
Rem Note That Integers Range From -32767 To 32768

Print "You can also use multiple" _
; "lines using _"
Print "use it for long lines"
'From version 1.11.6.4 :
A = &B1010_0111
Print Bin(a)
S = "1001"
A = Binval(s)
Print A                                                   
End



Изображение
Вложения
RS232_Bas.rar
(40.66 КБ) 292 скачивания
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

У меня, кстати, похожая хрень. Только с ЖКИ. Пытаюсь в Протеусе 7.5 SP3 вывести на жки данные с DS1307 + МК. Прога написана в Баскоме. Так вот, на индикаторе что-то вроде японских иероглифов. Уже всяко разно извращался, даже с бубном танцевал - ничего не помогает. В итоге не пойму: то ли я код криво написал, то ли Протеус этот глюкавый. Может у кого есть готовый код (для проверки) ATmega16/32 + DS1307 + LCD? Скиньте пожалста!
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

Сообщение max50 »

На 7-ой странице (http://radiokot.ru/forum/viewtopic.php?t=6408&postdays=0&postorder=asc&start=120) этот вопрос уже обсуждался.
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Всё, разобрался. Забыл в Протеусе поставить подтягивающие резисторы на SCL и SDA. Теперь всё работает.
Аватара пользователя
Shuriks
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт дек 30, 2008 20:51:09
Откуда: Россия, г. Брянск
Контактная информация:

Сообщение Shuriks »

to Drugdug : вставьте вот такую строчку . Читаем почаще хелп от Bascom'a :)

    Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0

    Данная команда предназначена для конфигурирования UART(USART) под чип Mega8.

    где Dummy - признак, что скорость будет установленна через $baud ,
    Synchrone = 0 - асинхронная операция ,
    Parity = None - четность нет
    Stopbits =1 - стоповых битов - 1
    Databits = 8 - данные - 8бит


Не забываем , в протеусе .. для виртуального терминала установить , точно такие же параметры :) Enjoy
kilgur
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пт июн 05, 2009 19:55:11
Откуда: Украина Кривой Рог

Сообщение kilgur »

Подскажите плиз можноли восстановить МК .Прошивал уч.прогу со светодиодом, всё заработало.Супер.Начал чистить МК и восстанавливать FUSE в исходное состояние и видать чето не то прописал.Посмотрите пожалуйста скриншот,может можно спасти МК.Mega8, кварц 16Мгц,конденсаторы 22пф.
Вложения
Mega8.pdf
(26.9 КБ) 334 скачивания
Аватара пользователя
Shuriks
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт дек 30, 2008 20:51:09
Откуда: Россия, г. Брянск
Контактная информация:

Сообщение Shuriks »

Заводские установки FUSE-битов (для первоначальной прошивки установлен внутренний генератор 1) :

Изображение
Посмотреть на Яндекс.Фотках
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Сообщение AVRDaemon »

вот вам вопросик:
как вывести полностью порт на вывод?
код в аттаче
выводится не то что планировал.. в разной последовательности...
для тестов подключал светики...
а код типа

Код: Выделить всё

PORTD.0 = 1
   ...
PORTD.7 = 1

работает нормально.. но использует память..
какие мысли на эту тему?
Вложения
Ports.txt
тут код
(804 байт) 323 скачивания
Последний раз редактировалось AVRDaemon Сб июн 06, 2009 23:06:29, всего редактировалось 1 раз.
kilgur
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пт июн 05, 2009 19:55:11
Откуда: Украина Кривой Рог

Сообщение kilgur »

Shuriks спасибо.Это то что нужно.И ещё ,объясните пожалуйста что такое Calibration0...3,на что они указывают?Ещё раз спасибо.
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Сообщение AVRDaemon »

работали с АЦП?
как померить напряжение?
как управлять ШИМом?
Аватара пользователя
Shuriks
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт дек 30, 2008 20:51:09
Откуда: Россия, г. Брянск
Контактная информация:

Сообщение Shuriks »

Так по очереди...
FUSE-биты Calibration отвечают за калибровку внутренного тактового генератора , рекомендую их вообще не трогать. Убить можно напрочь, даже внешний тактовый генератор не поможет . Хотя есть специальный апноут , как калибровать этот самый генератор.

Все кстати в Даташите описано , и в десятках книг на русском языке. Да и я думаю на этом форуме вообще :) Так что РЕКОМЕНДУЮ читать фирменные даташиты на английском языке , прежде чем подойти к контроллеру.. Я например задолго даже до покупки изучаю даташит.

.. По АЦП - да конечно . Все можно мерить , целая тема была развернута по поводу АЦП. Вплоть , до ошибок пересчета. Посмотрите на 11 стр. Вот ссылка , я выкладывал реальный вольтметр. Который сам сделал и написал для него программу
http://radiokot.ru/forum/viewtopic.php?p=176482#176482

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

Вот самая простая программа по запуску PWM средствами Bascom. Изменяя переменную Pwm1a - меняем скважность ...

Код: Выделить всё

$regfile = "attiny2313.dat"
$crystal = 12000000

Config Portb = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 64

Pwm1a = 255

Do
Loop

End
koshko
Родился
Сообщения: 15
Зарегистрирован: Сб июн 06, 2009 20:41:55

Сообщение koshko »

Shuriks писал(а): даже внешний тактовый генератор не поможет . Хотя есть специальный апноут , как калибровать этот самый генератор.


Подскажите какой ! впервые слышу о таком апноуте.
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Сообщение AVRDaemon »

Shuriks спасибо большое =)
я собираюсь мерить напряжение батареи =) то есть напряжение которое идет на саму МК.. юзаю мегу8 ...

пытаюсь сейчас твою программку :oops: перенести на мегу8... и все так аккуратненько выводить на LCD =) получится?
Аватара пользователя
Shuriks
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт дек 30, 2008 20:51:09
Откуда: Россия, г. Брянск
Контактная информация:

Сообщение Shuriks »

Вот пожалуйста :)

AVR053: Калибровка внутреннего RC-генератора

На вот этой страничке , да еще на русском :) Мяууу

http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR053.htm
Аватара пользователя
Shuriks
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт дек 30, 2008 20:51:09
Откуда: Россия, г. Брянск
Контактная информация:

Сообщение Shuriks »

AVRDaemon писал(а):... и все так аккуратненько выводить на LCD =) получится?


На LCD все еще проще , динамическая идикация не нужна. Выводить прямо в подпрограмме измерений ... Аська есть ?
kilgur
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Пт июн 05, 2009 19:55:11
Откуда: Украина Кривой Рог

Сообщение kilgur »

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

Сообщение константин_KoSS_89 »

Здравствуйте, я в програмировании проктически дуб!
Но смог своять свой LED куб 3х3х3.
Подскажите, как можно реализовать больше эффектов, просто вся моя писянина много места занимает, а по другому я немогу :( Подскажите с кодом.
Планирую на MEGA8 своять 4х4х4 или больше, только с прогой раздуплиться-бы....
Надеюсь на помощь :wink:
Radan
Мучитель микросхем
Сообщения: 465
Зарегистрирован: Ср июн 21, 2006 08:24:32
Откуда: Лисичанск
Контактная информация:

Сообщение Radan »

If - End If лучше заменить на SELECT CASE.
Данные на выходы портов и задержек организовать в массив.

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

Сообщение константин_KoSS_89 »

Я посмотрел, много для себянашол! Спосибо! :lol:
Можете помочь с ШИМ регулировкой яркости конкретной группы светиков?
Ну вобще немогу с ним разоьраться! :cry:
Ответить

Вернуться в «AVR»