Команды и директивы компилятора PROTON
Pot
Синтаксис:
Variable = Pot Pin , Scale
По команде Pot происходит измерение значения сопротивления потенциометра, термистора, фотоэлемента, или другого переменного сопротивления подключенного к выбранному порту.
Параметры:
Упрощенная схема измерения сопротивления приведена на рисунке 1. Вывод микроконтроллера, указанный в команде Pot должен быть соединен с одним из выводов измеряемого потенциометра (рис. 1), другой же вывод этого потенциометра должен быть подключен к конденсатору, второй вывод которого должен быть соединен с землей. Работа команды заключается в измерении времени разряда конденсатора через измеряемое сопротивление.
Пример:
Листинг программы pot.BAS
Device = 16F873A | |
XTAL = 4 | |
'-------------------------------Настройки подключения ЖКИ-------------------------------- | |
Declare LCD_TYPE ALPHA | ' Тип ЖКИ - буквенно-цифровой |
Declare LCD_DTPIN PORTB.4 | ' Порт данных ЖКИ |
Declare LCD_ENPIN PORTB.3 | ' Цепь правления E |
Declare LCD_RSPIN PORTB.2 | ' Цепь правления RS |
Declare LCD_INTERFACE 4 | ' Разрядность шины данных |
Declare LCD_COMMANDUS 2000 | ' Задержка перед посылкой команды |
Declare LCD_DATAUS 50 | ' Задержка перед посылкой данных |
Declare LCD_LINES 4 | ' Количество строк ЖКИ |
'----------------------------------Настройки портов ----------------------------------- | |
TRISB = %00000001 | ' Сделать канал (вывод) RB0 (PORTB.0) входом |
'--------------------------------Объявление переменных --------------------------------- | |
Dim VAR1 As Byte | ' Объявить переменную VAR1 размером Byte |
'--------------------------------Главная программа --------------------------------- | |
Loop: | |
VAR1 = Pot PORTB.0, 95 | ' Измерить значение сопротивления подключенного к выводу PORTB.0 |
Print At 1, 1, "Primer Comand POT" | |
Print At 2, 1, "VAR1= ", Dec VAR1, " " | ' Вывести во 2-ой строке ЖКИ десятичное значение VAR1 |
Print At 3, 1, "VAR1= ", BIN8 VAR1 | ' Вывести в 3-ей строке ЖКИ двоичное значение VAR1 |
Print At 4, 1, "VAR1= " , HEX VAR1 | ' Вывести в 4-ой строке ЖКИ шестнадцатеричное значение VAR1 |
GoTo Loop | ' Повторить процесс |
Примечание:
Значение масштаба должно быть определено экспериментально. Подключите измеряемое устройство таким образом, чтобы его значение было максимальным, и считайте это значение с выбором масштаба - 255. Значение сопротивления сохраненное в переменную VAR1 теперь может использоваться как масштаб:
Чтобы подробнее изучить работу команды Pot Вы можете воспользоваться приведенной на рисунке 2 действующей моделью pot.DSN которая работает под управлением приведенной выше программы. В этой модели результаты работы команды Pot выводятся на дисплей в десятичном, двоичном и шестнадцатеричном виде.