Эта показалась интерфейсом более понятна.
BASCOM AVR в вопросах и ответах
- ZverXz
- Открыл глаза
- Сообщения: 45
- Зарегистрирован: Ср авг 19, 2009 20:46:13
- Откуда: Липецкая область, город Грязи
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
max50, пони прог еще пользоваться не нучился
Эта показалась интерфейсом более понятна.
Эта показалась интерфейсом более понятна.
Re: BASCOM AVR в вопросах и ответах
ZverXz писал(а):Здрасьте. Собрал программатор по этой ссылке http://radioded.ru/content/view/100/1 но никак не получается прошить контроллер(атмега32). Пишет ошибку
avrdude.exe: can't open device "LPT1"
avrdude.exe: failed to open parallel port "LPT1"
что надо проверить? Спаял как и там все по схме, но только на макетке.
А другие контроллеры шьёт? Хотя, сомневаюсь... Программатор не опознает порт LPT1. Это бывает по причине того, что Windows XP (если у вас именно он установлен?) работает с портами через API, а не напрямую, как, например Windows 98. Чтобы это победить, надо кое-чего установить дополнительно. Программу p95NT, например. Она поставит нужные драйвера и передаст управление портами COM и LPT вашей программе.
И позволю себе дать вам совет: собирайте программатор для USB от Prottossa и будет вам счастье. Правда в нем нужен МК ATMega8 с прошивкой, но, думаю, что уж один раз контроллер готовой прошивкой - найдете где залить...
Цапу крутить надо!!! Ку или не ку?
- ZverXz
- Открыл глаза
- Сообщения: 45
- Зарегистрирован: Ср авг 19, 2009 20:46:13
- Откуда: Липецкая область, город Грязи
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Igor_67, спасибо. щас попробую скачать программу(еще у меня windows 7 может из-за этого) нашел где в соседнем городе прошить можно. Но только выбраться не получается, учеба. А по воскресеньям не работают.
Re: BASCOM AVR в вопросах и ответах
Есть еще один вариант. Тебе там до Воронежа - рукой подать. Могу поговорить со своими парнями в Воронеже, если приедешь - помогут.
А если нашел, то собирай USB программатор и не парься со всякой хренью...нашел где в соседнем городе прошить можно
Последний раз редактировалось Igor_67 Пн мар 14, 2011 20:56:57, всего редактировалось 1 раз.
Цапу крутить надо!!! Ку или не ку?
- ZverXz
- Открыл глаза
- Сообщения: 45
- Зарегистрирован: Ср авг 19, 2009 20:46:13
- Откуда: Липецкая область, город Грязи
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Igor_67, спасибо, но не стоит. рукой подать))... тут до Липецка не знаешь когда съездить... Тем более город не знакомый.
-
Slawakuzmich
- Открыл глаза
- Сообщения: 50
- Зарегистрирован: Чт мар 10, 2011 20:29:23
- Откуда: Челяб. обл, Троицкий район
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Все, сделал устройство, работает.
Re: BASCOM AVR в вопросах и ответах
Я тут на досуге почитал ваши предыдущие посты. У меня возникает такой вопрос, вернее два:Slawakuzmich писал(а):Все, сделал устройство, работает.
1) Как вы калибруете свой прибор, если не знаете, какой терморезистор в нем стоит, т.е отношение R/t - неизвестно!
2) Вытекающий из предыдущего вопроса...
О точности прибора, ИМХО, остается только догадываться. Так как, судя по вашему описанию калибровки
-"...греем терморезистор до нужной температуры..."
До какой нужной??? Как и чем вы определили, что она та самая "нужная"???
Вот такие непонятки, разъясните, пжалста!
Цапу крутить надо!!! Ку или не ку?
- Redrik Shuhart
- Друг Кота
- Сообщения: 3641
- Зарегистрирован: Пт апр 03, 2009 22:12:58
- Откуда: Из Украины, Кировоградская облась,
Re: BASCOM AVR в вопросах и ответах
Как реализовать чтоб светодиод светился и после отпускания кнопки?
(код пожалуйста)
Как реализовать 1 минутный таймер с запуском от 1-й кнопки, и возможностью прерывания и перехода к другой процедуре от 4-х других кнопок?
(код пожалуйста)
Я нуб, помогите..прошу, очень.
(код пожалуйста)
Как реализовать 1 минутный таймер с запуском от 1-й кнопки, и возможностью прерывания и перехода к другой процедуре от 4-х других кнопок?
(код пожалуйста)
Я нуб, помогите..прошу, очень.
-
Slawakuzmich
- Открыл глаза
- Сообщения: 50
- Зарегистрирован: Чт мар 10, 2011 20:29:23
- Откуда: Челяб. обл, Троицкий район
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Проще описать настройку на примере бензомера. Цепляем устройство к стандартному поплавково-реостатному датчику, бак соответственно пустой. Нажимаем кнопку "калибровка(или настройка, кому как нравится)". заливаем в бак количество бензина, которое будет определять первый светодиод, например 3 литра. Нажимаем вторую кнопку - значение запомнилось. Заливаем следующую порцию, к примеру литра 2, чтоб второй диод зажигался при 5 литрах. Нажимаем кнопку- второе значение запомнилось. И так для всех значений(8 светодиодов - 8 значений). выходим из режима калибровки. Теперь светодиоды будут загораться в соответствии с записанными значениями , при 3 литрах - первый, при 5 - второй и так далее.
С датчиком температуры - аналогично, только температуру при настройке нужно будет измерять каким либо градусником.
Есть видео, незнаю куда выложить
С датчиком температуры - аналогично, только температуру при настройке нужно будет измерять каким либо градусником.
Есть видео, незнаю куда выложить
- Redrik Shuhart
- Друг Кота
- Сообщения: 3641
- Зарегистрирован: Пт апр 03, 2009 22:12:58
- Откуда: Из Украины, Кировоградская облась,
Re: BASCOM AVR в вопросах и ответах
Народ, скомпильте кто-то этот код, у мя баском ругается на отсутствие м8 деф.
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 10000000
Config Portc = Output
Config Portd.0 = Input
Config Portd.1 = Input
Config Portd.2 = Input
Config Portd.3 = Input
Config Portb.0 = Input
Config Portb.1 = Input
Config Portb.2 = Output
Config Portb.3 = Output
Portc = 0
Portb.2 = 0
Portb.3 = 0
Enable Interrupts
On Int0 Stopbutton
Dim A As Byte
A = 0
Do
If Portb.0 = 1 Then A = A + 1
If A = 1 Then Do
If Portd.0 = 1 Then Do
Portc.0 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
End
End
If Portd.1 = 1 Then Do
Portc.1 = 1
Config Portd.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.0 = 0
End
End
If Portd.2 = 1 Then Do
Portc.2 = 1
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.0 = 0
Portd.1 = 0
End
End
If Portd.3 = 1 Then Do
Portc.3 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.0 = Output
Portd.0 = 0
Portd.2 = 0
Portd.1 = 0
End
End
End
If A = 0 Then Do
If Portd.0 = 1 Then Do
Portc.4 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
End
End
If Portd.1 = 1 Then Do
Portc.5 = 1
Config Portd.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.0 = 0
End
End
If Portd.2 = 1 Then Do
Portb.4 = 1
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.0 = 0
Portd.1 = 0
End
End
If Portd.3 = 1 Then Do
Portb.5 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.0 = Output
Portd.0 = 0
Portd.2 = 0
Portd.1 = 0
End
End
End
End
EndRe: BASCOM AVR в вопросах и ответах
По-поводу написанного выше про 4 датчика DS18B20:
Выкладываю полный текст программы и схему.
Устройство предусматривалось, как контроллер предохранения водопроводных труб от замерзания в сильные морозы. Если температура на любом из датчиков, расположенных в разных местах трубы становится ниже +1 градуса, то выдается сигнал на PORTB.5. В моем случае, этот сигнал управляет включением ПЛЭН (пленочного электронагревателя), который обмотан вокруг трубы по всей ее длине. Сейчас весна и это уже, возможно, не актуально, но на следующую зиму - кто знает...? Особенно касается частных домов. Если у кого-то есть предложения по улучшению-усовершенствованию, милости прошу - пишите!
Выкладываю полный текст программы и схему.
Устройство предусматривалось, как контроллер предохранения водопроводных труб от замерзания в сильные морозы. Если температура на любом из датчиков, расположенных в разных местах трубы становится ниже +1 градуса, то выдается сигнал на PORTB.5. В моем случае, этот сигнал управляет включением ПЛЭН (пленочного электронагревателя), который обмотан вокруг трубы по всей ее длине. Сейчас весна и это уже, возможно, не актуально, но на следующую зиму - кто знает...? Особенно касается частных домов. Если у кого-то есть предложения по улучшению-усовершенствованию, милости прошу - пишите!
Код: Выделить всё
$regfile = "m48def.DAT"
$crystal = 4000000
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.0 , Rs = Portd.1
Config Lcd = 16 * 4
'***********************************************************************************
Config 1wire = Portc.5
Config Portb.5 = Output
Dim I1 As Integer , Ss As String * 6
Dim I2 As Integer
Dim I3 As Integer
Dim I4 As Integer
Dim Dsid1(8) As Byte
Dim Dsid2(8) As Byte
Dim Dsid3(8) As Byte
Dim Dsid4(8) As Byte
Dim B As Byte
Dim W As Byte
Deflcdchar 0 , 14 , 17 , 17 , 17 , 14 , 32 , 32 , 32
Nagrev Alias Portb.5
Cursor Off
Cls
Lcd " Termometr "
Lowerline
Lcd " 2011 "
Wait 5
Cls
W = 1wirecount()
Cls
Dsid1(1) = 1wsearchfirst()
Dsid2(1) = 1wsearchnext()
Dsid3(1) = 1wsearchnext()
Dsid4(1) = 1wsearchnext()
'****************************************
If Dsid1(8) = Crc8(dsid1(1) , 7) Then
Locate 1 , 1
Lcd "CRC OK Sens 1 ID"
Wait 1
Locate 1 , 1
For B = 1 To 8
Lcd Hex(dsid1(b))
Next
End If
Wait 1
If Dsid2(8) = Crc8(dsid2(1) , 7) Then
Locate 2 , 1
Lcd "CRC OK Sens 2 ID"
Wait 1
Locate 2 , 1
For B = 1 To 8
Lcd Hex(dsid2(b))
Next
End If
Wait 1
If Dsid3(8) = Crc8(dsid3(1) , 7) Then
Locate 3 , 1
Lcd "CRC OK Sens 3 ID"
Wait 1
Locate 3 , 1
For B = 1 To 8
Lcd Hex(dsid3(b))
Next
End If
Wait 1
If Dsid4(8) = Crc8(dsid4(1) , 7) Then
Locate 4 , 1
Lcd "CRC OK Sens 4 ID"
Wait 1
Locate 4 , 1
For B = 1 To 8
Lcd Hex(dsid4(b))
Next
End If
Wait 1
Cls
'****************************************
Do
1wreset
1wwrite &H55
1wverify Dsid1(1)
1wwrite &HBE
I1 = 1wread(2)
'----------
1wreset
1wwrite &H55
1wverify Dsid2(1)
1wwrite &HBE
I2 = 1wread(2)
'----------
1wreset
1wwrite &H55
1wverify Dsid3(1)
1wwrite &HBE
I3 = 1wread(2)
'----------
1wreset
1wwrite &H55
1wverify Dsid4(1)
1wwrite &HBE
I4 = 1wread(2)
'--------
1wreset
1wwrite &HCC
1wwrite &H44
Wait 1
'****
I1 = I1 * 10
I1 = I1 / 16
Ss = Str(i1)
Ss = Format(ss , " 0.0")
Locate 1 , 1
Lcd "T1 " ; Ss ; Chr(0) ; "C "
I2 = I2 * 10
I2 = I2 / 16
Ss = Str(i2)
Ss = Format(ss , " 0.0")
Locate 2 , 1
Lcd "T2 " ; Ss ; Chr(0) ; "C "
I3 = I3 * 10
I3 = I3 / 16
Ss = Str(i3)
Ss = Format(ss , " 0.0")
Locate 3 , 1
Lcd "T3 " ; Ss ; Chr(0) ; "C "
I4 = I4 * 10
I4 = I4 / 16
Ss = Str(i4)
Ss = Format(ss , " 0.0")
Locate 4 , 1
Lcd "T4 " ; Ss ; Chr(0) ; "C "
If I1 < 1 Or I2 < 1 Or I3 < 1 Or I4 < 1 Then
Set Nagrev
Else
Reset Nagrev
End If
Loop
End
Последний раз редактировалось Igor_67 Вт мар 15, 2011 20:45:01, всего редактировалось 1 раз.
Цапу крутить надо!!! Ку или не ку?
Re: BASCOM AVR в вопросах и ответах
КАРАУЛ, админы-модераторы, файлы не крепятся!!!

Цапу крутить надо!!! Ку или не ку?
- Redrik Shuhart
- Друг Кота
- Сообщения: 3641
- Зарегистрирован: Пт апр 03, 2009 22:12:58
- Откуда: Из Украины, Кировоградская облась,
Re: BASCOM AVR в вопросах и ответах
нее, крепятся конечно, но так быстрее будет, скопировал- вставил, нажал компилЪ, а так скачай. разарживируй, открой, запусти....
Плиз, Игорь, сделай...
Плиз, Игорь, сделай...
Re: BASCOM AVR в вопросах и ответах
To Redrik Shuhart: У меня компилятор на твой код не просто ругается, а аж матом орет, что раз в программе есть оператор DO, то должен быть и LOOP, а у тя ни одного ЛУПа нету... 
Цапу крутить надо!!! Ку или не ку?
Re: BASCOM AVR в вопросах и ответах
Redrik Shuhart писал(а):нее, крепятся конечно, но так быстрее будет, скопировал- вставил, нажал компилЪ, а так скачай. разарживируй, открой, запусти....
Плиз, Игорь, сделай...
Еще раз поподробнее, у мну кнопки <компилЪ>нету...
Ну скомпилил я тебе твой код, правда весь править пришлось. А толку-то??? Отправить не могу, файлы к мессаджу не крепятся. Что за фигня???
Цапу крутить надо!!! Ку или не ку?
Re: BASCOM AVR в вопросах и ответах
To Slawakuzmich: Вот теперь понятно, только объясни мне тупому, зачем было мегу8 юзать, когда для такого прибамбаса вполне хватило бы и тини26???
Цапу крутить надо!!! Ку или не ку?
-
Slawakuzmich
- Открыл глаза
- Сообщения: 50
- Зарегистрирован: Чт мар 10, 2011 20:29:23
- Откуда: Челяб. обл, Троицкий район
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
не спорю. Но я всего 3 недели, как познакомился с мк. Во первых взял что было в магазине, а во вторых, как говорится запас ХХХ не ХХХ. Еще неделки три посижу, может всю панель на одной меге соберу. Вместо 4 микросхем и кучи подстроечников. Думаю реализовать сразу два индикатора на одном мк - на топливо и на температуру, в общем 2 линейки по 8 светодиодов - не составит особой сложности.
- Redrik Shuhart
- Друг Кота
- Сообщения: 3641
- Зарегистрирован: Пт апр 03, 2009 22:12:58
- Откуда: Из Украины, Кировоградская облась,
Re: BASCOM AVR в вопросах и ответах
Понял где ошибки, исправил, скомпилил( Спасибо Игорь!)...ы..Прошил 5 проводковым...а оно не хочет стартовать, сволочь,
написал мигалку на светодиоде прошил...непашет..в чем проблема может быть?
думаю в кварце, какие фузы ставить?
написал мигалку на светодиоде прошил...непашет..в чем проблема может быть?
думаю в кварце, какие фузы ставить?
Re: BASCOM AVR в вопросах и ответах
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 10000000
Config Portc = Output
Config Portd.0 = Input
Config Portd.1 = Input
Config Portd.2 = Input
Config Portd.3 = Input
Config Portb.0 = Input
Config Portb.1 = Input
Config Portb.2 = Output
Config Portb.3 = Output
Portc = 0
Portb.2 = 0
Portb.3 = 0
Enable Interrupts
On Int0 Stopbutton
Dim A As Byte
A = 0
Do
If Portb.0 = 1 Then A = A + 1
If A = 1 Then Do
If Portd.0 = 1 Then Do
Portc.0 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
Loop
End
If Portd.1 = 1 Then Do
Portc.1 = 1
Config Portd.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.0 = 0
Loop
End
If Portd.2 = 1 Then Do
Portc.2 = 1
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.0 = 0
Portd.1 = 0
Loop
End
If Portd.3 = 1 Then Do
Portc.3 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.0 = Output
Portd.0 = 0
Portd.2 = 0
Portd.1 = 0
Loop
Loop
End
If A = 0 Then Do
If Portd.0 = 1 Then Do
Portc.4 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
Loop
End
If Portd.1 = 1 Then Do
Portc.5 = 1
Config Portd.0 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.2 = 0
Portd.0 = 0
Loop
End
If Portd.2 = 1 Then Do
Portb.4 = 1
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.3 = Output
Portd.3 = 0
Portd.0 = 0
Portd.1 = 0
Loop
End
If Portd.3 = 1 Then Do
Portb.5 = 1
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.0 = Output
Portd.0 = 0
Portd.2 = 0
Portd.1 = 0
Loop
Loop
Loop
End
Stopbutton:
ReturnДавай проанализируем твой код. Зачем столько End-ов в программе? И зачем каждый раз при выполнении того или иного условия, ты конфигурируешь порты? И зачем, блин, для простой мигалки кварц аж на 10 МГц??? Хватит внутреннего генератора на 1МГц. И вместо PORTD.X=0 целесообразнее писать: Reset PORTD.X, а вместо PORTD.X=1 -- Set PORTD.X И еще одно замечание: если собираешься использовать прерывание (в твоем случае INT0), то надо его разрешить Enable INT0, а в твоем листинге такой строчки нет...
Цапу крутить надо!!! Ку или не ку?
-
Slawakuzmich
- Открыл глаза
- Сообщения: 50
- Зарегистрирован: Чт мар 10, 2011 20:29:23
- Откуда: Челяб. обл, Троицкий район
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
а вот и обещанное видео :
http://www.youtube.com/watch?v=PIrG0FNIXjg
http://www.youtube.com/watch?v=PIrG0FNIXjg