Команды и директивы компилятора 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 выводятся на дисплей в десятичном, двоичном и шестнадцатеричном виде.