Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » Вопрос для знающих. (Define)
Вопрос для знающих.
555serg Дата: Пн, 09.04.2012, 23:14  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 55
Репутация: 0   ±
Замечания:   ±
На сайте с 12.12.2011

Статус: Offline

Здравствуйте , так как закрыта тема для начинающих, очень необходимо разяснение в новом месте. Вопрос адрессуется для тех кто обладает знанием и временем растолковать для чего существует команда - оператор Define. В книгах этого нет.
Интересует в контексте куска программы-
Define ADC_Bits 8
Define ADC_Clock 3
Define ADC_Sampleus 50
Зараннее спасибо.
ЯНДЕКС Дата: 09.04.2012
anatol Дата: Пн, 09.04.2012, 23:52  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 551
Репутация: 14   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Define = определить
ADC = Analog Digital Conversion = Аналоговое цифровое преобразование
Bits = бит
Clock = Часы
Sampleus=Sample us=Образец микросекунд = время преобразования - из хэлпа на программу.

Переводить дальше?
Учтите что я учил немецкий последний раз в 1975 году (на трояк сдал).А теперь хочу спать и на такие вопросы обычно не отвечаю.
Есть www.google.com и запрос Что такое Define помог бы определиться. Что то я добрый сегодня.
terrarus Дата: Вт, 10.04.2012, 08:56  |                                                                                                                Сообщение # 3
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 542
Репутация: 16   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Kлючевое слово Define имеет значение "определить" или "назначить", например:
Define LCD_BITS 8 ' Определить для передачи данных на ЖКИ 8 битную шину
Define LCD_BITS 4 ' Определить для передачи данных на ЖКИ 4 битную шину
Define LCD_DREG PORTC ' Определить для передачи данных на ЖКИ PORTC

Define используется в PicBasicPRO, а в PROTON-е используется для объявлений (определенией, назначений)
ключевое слово Declare.

Вот как в Протоне будут иметь смысл ваши "страшные" операторы.

Для команды ADIn существуют три директивы (определения):
1. Declare ADIN_RES 8 , 10 , или 12.

По этой директиве устанавливается разрядность АЦП-преобразования.
Если директива не используется, то результату АЦП-преобразования присваивается значение по умолчанию, то есть максимально возможное разрешение для используемого типа PIC-микроконтроллера. Например, для микроконтроллера типа 16F876А будет установлена разрешающая способность в 10 бит. Использование этой директивы позволяет получить результат в 10 или 8 бит от 10-разрядных PIC-микроконтроллеров, но никак не 10 бит от 8-разрядных типов.

2. Declare ADIN_TAD 2_FOSC, 8_FOSC, 32_FOSC, 64_FOSC, или FRC.

Эта директива устанавливает источник синхронизации для аналого-цифрового преобразования. Все PIC-микроконтроллеры обладающие встроенным АЦП могут синхронизироваться от внешнего источника синхронизации или от внутреннего, встроенного в микроконтроллер RC генератора.

При синхронизации от внешнего источника синхронизации возможны четыре варианта:

2_FOSC, 8_FOSC, 32_FOSC, и 64_FOSC - где 2, 8, 32, 64 это коэффициенты отношения к частоте внешнего генератора. Вместо того, чтобы использовать эти названия для режимов источника синхронизации, можно использовать значения от 0 до 3. Они отражают параметры настройки битов 6-7 в регистре ADCON0.

Для выбора внутреннего источника синхронизации в директиве должно быть указано значение FRC. FRC - это внутренний RC генератор микроконтроллера.

Следует отметить, что выбор неправильного источника синхронизации или его режима может привести к недостаточной разрешающей способности, или вообще к отсутствию преобразовании. Поэтому будьте внимательны при выборе источника синхронизации. Если у Вас есть сомнения в правильности Вашего выбора источника синхронизации или его режима, то используйте в качестве источника синхронизации внутренний RC генератор (FRC). Использование режима FRC приведет к небольшому уменьшению разрешающей способности и меньшей скорости преобразования, но будет гарантированно работать. Вообще FRC это настройка по умолчанию, если в программе отсутствует специальное объявление.

3. Declare ADIN_STIME 0 до 65535 микросекунд.

Установка этого параметра отводит время на зарядку внутренних измерительных конденсаторов прежде, чем будет предпринята выборка результата. Этот параметр может иметь значения от 0 до 65535 микросекунд. Слишком маленькое значение может привести к уменьшению разрешающей способности, но к увеличению скорости работы программы. Слишком большое значение может привести к значительному уменьшению скорости преобразования без дополнительного увеличения разрешающей способности.

Типичное значение для ADIn _STIME - 50 - 100. Экспериментирование с этим значением в каждом конкретном случае может дать Вам оптимальное значение. Если эта директива не используется, то время устанавливается по умолчанию равное 50 микросекундам.

Ниже приведены определения по умолчанию: Declare ADIN_RES = 10 ' Установить кол-во битов в результате АЦП-преобразования
' равными 10 (можно также установить 8, 10, или 12)
Declare ADIN_TAD = FRC ' Установить синхронизацию от внутреннего RC генератора
Declare ADIN_STIME = 50 ' Установить время ожидания в 50 мкс перед началом преобразования
Dim VAR1 As Word ' Объявить переменную VAR1 размером WORD
TRISA = %00000001 ' Сделать канал (вывод) AN0 (PORTA.0) входом
ADCON1 = %10000000 ' Установить все выводы PORTA в режим АЦП
VAR1 = ADIn 0 ' Поместить результат преобразования из канала AN0 в переменную V

Почитать о настройке Аналого Цифрового преобразования в PIC- микроконтроллерах можно на http://terrarus.ucoz.ru/proton_plus_ide/proton/comands/adin/adin.html


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
555serg Дата: Ср, 11.04.2012, 21:35  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 55
Репутация: 0   ±
Замечания:   ±
На сайте с 12.12.2011

Статус: Offline

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

Добавлено (11.04.2012, 21:35)
---------------------------------------------
И конечно же отдельное спасибо Анатолию за его такой обьемный ответ , и за всю ту работу которую он ведет на своем сайте. Если модераторы будут не против , предлагаю данную тему переопределить как место для начинающих под все их вопроссы.

ADMIN Дата: Пт, 13.04.2012, 16:31  |                                                                                                                Сообщение # 5
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1110
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Для начинающих выделено специальное место - Скорая помощь начинающим. Вот туда можно писать самые разные вопросы, которые кажутся новичку серьезными.
555serg Дата: Сб, 14.04.2012, 21:10  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 55
Репутация: 0   ±
Замечания:   ±
На сайте с 12.12.2011

Статус: Offline

Спасибо за новый раздел , если что, я сразу туда.
Форум Picbasic.ru » Программирование МК » PicBasicPro » Вопрос для знающих. (Define)
Страница 1 из 11
Поиск: