Совтовые часы запускаются строчкой CONFIG CLOCK = soft, а Config Clock = User - это часы по протаколу I2C.Alex_Megavolt_79 писал(а):Хех, а Config Clock = User вот этой командой запускаете софтовые часы. Уберите эту строчку и пойдут ошибки.
BASCOM AVR в вопросах и ответах
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- Реклама
- Alex_Megavolt_79
- Грызет канифоль
- Сообщения: 262
- Зарегистрирован: Пт окт 30, 2009 22:33:56
- Откуда: Санкт-Петербург
Re: BASCOM AVR в вопросах и ответах
Макс а у меня не то и не другое. В любом случае они считаются как софтовые. Таймер я конфигурирую сам. Расчёт секунд, минут, часов, дней, месяцев и лет делаю в подпрограммах. Мне нужны функции которых нет в стандартных и которые я уже написал. Кстати я первый раз не пробовал конфигурировать часы как юсер. Переделал прогу, компилятор выдал ошибку что отсутствует Getdatetime: . Я пустую подпрограмму добавил, после откомпилилось нормально. Но на макетке толком не работает. 1-2 с отсчитывает. И стоит. Установка времени и даты происходит и поэтому я вижу что вычисление дня недели происходит. Так что нужен сам алгоритм расчёта дня недели.
Последний раз редактировалось Alex_Megavolt_79 Ср сен 07, 2011 23:13:25, всего редактировалось 1 раз.
- Alex_Megavolt_79
- Грызет канифоль
- Сообщения: 262
- Зарегистрирован: Пт окт 30, 2009 22:33:56
- Откуда: Санкт-Петербург
Re: BASCOM AVR в вопросах и ответах
И ещё просьба, Макс, глянь мой пост на 96 стр. Там про менюшку, мож толкнёшь на мысль.
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Можно попробовать сделать как в ссылке.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Может тут уже было ,но подскажите.Нет у кого примера работы на Bascome с графическим индикатором WG12864 и им подобным с контроллером KS0108.Соседнию ветку видел но что то на Bascome не нашёл примера,может просмотрел.
- Реклама
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
В примерах баскома есть же работа с дисплеем на основе этого контроллера...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- amv2000
- Опытный кот
- Сообщения: 722
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: BASCOM AVR в вопросах и ответах
$regfile = "m8def.dat" 'заголовочный файл для определения типа контроллераAleks8383 писал(а):Может тут уже было ,но подскажите.Нет у кого примера работы на Bascome с графическим индикатором WG12864 и им подобным с контроллером KS0108.Соседнию ветку видел но что то на Bascome не нашёл примера,может просмотрел.
$crystal = 8000000 'для рассчета времени задержки при компиляции, частоту выставляем фьюзами
$lib "glcdks108.lib" 'подгружаем библиотеку для контроллера KS0108
$hwstack = 40
$swstack = 40
$framesize = 40
Wait 2
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 4 , Ce2 = 5 , Cd = 0 , Rd = 1 , Enable = 2 , Reset = 3
Dim X As Word , Y As Word
Cls
'Wait 1
Setfont Font8x8
Showpic 1 , 1 , Plaatje1
Lcdat 1 , 1 , " HELLO WORLD " , 1
Do
Lcdat 8 , 1 , "radiokot " , 1 '1 = inverse text
Wait 1
Lcdat 8 , 1 , "radiokot " 'none = normal text
Wait 1
Loop
End
Plaatje1:
'Include The Picture Data
$bgf "KS108.bgf"
$include "font8x8.font"
Re: BASCOM AVR в вопросах и ответах
Спасибо за пример,а в справочнике Bascom чесно проглядел,буду разбираться.
Re: BASCOM AVR в вопросах и ответах
Проблема такая делаю часы с DS1307 и термометр DS18B20, дело в том что во время измерения температуры нужна задержка в 750мс, как сделать так, чтобы в это время процесс не замирал и занимался выводом данных с часов...?, знаю что по прерыванию таймера, тоесть как только передаётся команда преобразования температ., запускаем таймер, и программа выполняется дальше, как только проходит 750мс происходит прерывание возврат на считывание измеренной температуры... Как сделать на BAscom понятия не имею, примеры приведёте?
А так же чем различаются процедуры и подпрограммы ? Я так понимаю писать подпрограммами нужно только там где возможны прерывания программы, а в других случаях где прерываний нет писать процедурами. Конкретно в моём случае с таймером потребуется всё строить из подпрограмм ведь прерывание таймера не предсказуемо... всё правильно понимаю?
А так же чем различаются процедуры и подпрограммы ? Я так понимаю писать подпрограммами нужно только там где возможны прерывания программы, а в других случаях где прерываний нет писать процедурами. Конкретно в моём случае с таймером потребуется всё строить из подпрограмм ведь прерывание таймера не предсказуемо... всё правильно понимаю?
- amv2000
- Опытный кот
- Сообщения: 722
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: BASCOM AVR в вопросах и ответах
Насколько я понимаю процедуры и подпрограммы это одно и то-же, а вот функции и подпрограммы это немного разное...
Вернее процедуры и функции это всё - подпрограммы, а еще точнее подпрограммы делятся на процедуры и функции:
Основное различие между процедурой и функцией состоит в том, что процедура только выполняет какую-либо законченную последовательность действий, не возвращая результата работы в основную программу, а функция и выполняет действия, и возвращает результат.
http://decada.org.ru/project/lessons/bascom_avr/09/
Вернее процедуры и функции это всё - подпрограммы, а еще точнее подпрограммы делятся на процедуры и функции:
Основное различие между процедурой и функцией состоит в том, что процедура только выполняет какую-либо законченную последовательность действий, не возвращая результата работы в основную программу, а функция и выполняет действия, и возвращает результат.
http://decada.org.ru/project/lessons/bascom_avr/09/
Re: BASCOM AVR в вопросах и ответах
Доброй ночи всем Котам!
Такой вопрос:
есть часы на PCF8583. Нужно от некой переменной Х отнимать 1, каждую минуту,
отталкиваясь от того, что минута прошла в PCF8583. Возможно ли так сделать. Спасибо!
Такой вопрос:
есть часы на PCF8583. Нужно от некой переменной Х отнимать 1, каждую минуту,
отталкиваясь от того, что минута прошла в PCF8583. Возможно ли так сделать. Спасибо!
- Alex_Megavolt_79
- Грызет канифоль
- Сообщения: 262
- Зарегистрирован: Пт окт 30, 2009 22:33:56
- Откуда: Санкт-Петербург
Re: BASCOM AVR в вопросах и ответах
Часто проверять изменение в третьей ячейке памяти в PCF8583 (там где минуты). Это делать следующим образом -Vet-RX писал(а):Доброй ночи всем Котам!
Такой вопрос:
есть часы на PCF8583. Нужно от некой переменной Х отнимать 1, каждую минуту,
отталкиваясь от того, что минута прошла в PCF8583. Возможно ли так сделать. Спасибо!
1. - сохранить в переменную (например обзовём её Seck) содержимое ячейки памяти.
2. периодически считывать содержимое ячейки памяти (минут) во временную переменную (например обзовём её temp). Сравнить Seck и temp. Если они не равны, то от переменной X отнять как Вы и хотите 1, затем в Seck сохранить новые данные.
остаётся циклически повторять п.2
Re: BASCOM AVR в вопросах и ответах
2 Alex_Megavolt_79
Спасибо за подсказку, все гениальное просто, а я чото никак не мог сообразить
Спасибо за подсказку, все гениальное просто, а я чото никак не мог сообразить
Re: BASCOM AVR в вопросах и ответах
Терзают меня смутные сомнения насчот крупного шрифта для 3310 , неужели никак нельзя сделать хотябы одни цыфры?
Re: BASCOM AVR в вопросах и ответах
Непонятки с функцией Getrc5, использует ли она прерывания и сам TSOP должен подключаться на вход прерывания МК или на любой вход?
- amv2000
- Опытный кот
- Сообщения: 722
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: BASCOM AVR в вопросах и ответах
Да уже отвечали либо выводить как картинку, либо писать свою программу обработки...selco писал(а):Терзают меня смутные сомнения насчот крупного шрифта для 3310 , неужели никак нельзя сделать хотябы одни цыфры?
Re: BASCOM AVR в вопросах и ответах
и в какой строчке сказано что обязательно на вход прерывания?amv2000 писал(а):http://avrproject.ru/publ/protokol_rc5_bascom_avr/1-1-0-30 здесь все описано
Вообще вешал и на вход прерывания и на обычный вход всё равно значения команд и данных остаётся равным 255. Заметил что если отключить прерывания то программа замирает когда доходит до строчки Getrc5...
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Ну так разумеется !!! Что в хелпе написано? Отличная же справка...Tom91 писал(а):Заметил что если отключить прерывания то программа замирает когда доходит до строчки Getrc5...
Код: Выделить всё
Syntax
GETRC5( address, command )
Uses
TIMER0
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Вот рабочий код:
Код: Выделить всё
$regfile = "ATtiny2313.DAT"
$crystal = 8000000
Enable Interrupts
Config Rc5 = Pind.0
Config Pinb.1 = Output
Relay1 Alias Portb.1
Config Pinb.2 = Output
Relay2 Alias Portb.2
Config Pinb.3 = Output
Relay3 Alias Portb.3
Config Pinb.4 = Output
Relay4 Alias Portb.4
Config Pinb.5 = Output
Relay5 Alias Portb.5
Config Pinb.6 = Output
Relay6 Alias Portb.6
Config Pinb.7 = Output
Relay7 Alias Portb.7
Config Pind.1 = Input
Relay1_on_off Alias Pind.1
Set Portd.1
Config Pind.2 = Input
Relay2_on_off Alias Pind.2
Set Portd.2
Config Pind.3 = Input
Relay3_on_off Alias Pind.3
Set Portd.3
Config Pind.4 = Input
Relay4_on_off Alias Pind.4
Set Portd.4
Config Pind.5 = Input
Relay5_on_off Alias Pind.5
Set Portd.5
Config Pind.6 = Input
Relay6_on_off Alias Pind.6
Set Portd.6
Config Pinb.0 = Input
Relay7_on_off Alias Pinb.0
Set Portb.0
Dim Address As Byte
Dim Command As Byte
Do
Getrc5(address , Command)
If Address = 0 Then
Command = Command And &B01111111
End If
If Relay1_on_off = 0 Or Command = 1 Then
Waitms 500
Toggle Relay1
End If
If Relay2_on_off = 0 Or Command = 2 Then
Waitms 500
Toggle Relay2
End If
If Relay3_on_off = 0 Or Command = 3 Then
Waitms 500
Toggle Relay3
End If
If Relay4_on_off = 0 Or Command = 4 Then
Waitms 500
Toggle Relay4
End If
If Relay5_on_off = 0 Or Command = 5 Then
Waitms 500
Toggle Relay5
End If
If Relay6_on_off = 0 Or Command = 6 Then
Waitms 500
Toggle Relay6
End If
If Relay7_on_off = 0 Or Command = 7 Then
Waitms 500
Toggle Relay7
End If
If Command = 12 Then
Reset Relay1
Reset Relay2
Reset Relay3
Reset Relay4
Reset Relay5
Reset Relay6
Reset Relay7
End If
Loop
EndТого, кто не задумывается о далеких трудностях, ожидают близкие неприятности.


