Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ivan_fd  
Pic Basic pro для начинающих
contra Дата: Вс, 04.04.2010, 21:16  |                                                                                                                Сообщение # 211
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

Всем привет!
Подскажите пожалуйста, как можно изменять значение переменной аппаратно (с помощью кнопок)
Суть в следующем: нужно сделать счётчик импульсов, при наборе определённого числа с помощью тех же кнопок появлялся высокий уровень на одном из пинов (вналичии только Pic16F84A)?
ЯНДЕКС Дата: 04.04.2010
l2_star Дата: Пн, 12.04.2010, 11:23  |                                                                                                                Сообщение # 212
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 12.04.2010

Статус: Offline

доброе время суток всем ФОРУМЧАНАМ!

нужна помощ.

СОБСТВНА программа всем известная

' PICBASIC PRO program to display result of
' 10-bit A/D conversion on LCD
'
' Connect analog input to channel-0 (RA0)

' Define LCD registers and bits
Define LCD_DREG PORTD
Define LCD_DBIT 4
Define LCD_RSREG PORTE
Define LCD_RSBIT 0
Define LCD_EREG PORTE
Define LCD_EBIT 1

' Define ADCIN parameters
Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS

imput var word ' Create adval to store result

TRISA = %11111111 ' Set PORTA to all input
ADCON1 = %10000010 ' Set PORTA analog and right justify result
Low PORTE.2 ' LCD R/W line low (W)

Pause 500 ' Wait .5 second

mainloop: ADCIN 0, adval ' Read channel 0 to adval

Lcdout $fe, 1 ' Clear LCD
Lcdout "imput: ", DEC adval ' Display the decimal value

Pause 100 ' Wait .1 second

Goto mainloop ' Do it forever
End

как перевести значение в imput в напряжение ?????

Добавлено (12.04.2010, 11.23.31)
---------------------------------------------
а чтобы было понятно что я хочу сделать сейчас поясню

есть зарядное устройсво для електрокар

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

вывести на экран семисигментный или другой...

два параметра

нижний предел
верхний предел
2 кнопки (+) (-)

не очень простое устройство
дискретность 1 вольт

напряжение заряженого аккумулятора 120 вольт постоянки

использывать камень PIC16F877 , хотелось бы программу на PIC BASIC ( оч. нравиться сей язык програмирования)

вот собсна все прошу ВАШЕЙ ПОМОЩИ

Прикрепления: adcin10.txt (0.9 Kb)
Ripper Дата: Вс, 18.04.2010, 08:53  |                                                                                                                Сообщение # 213
Группа: Пользователи
Ранг:  Новенький
Сообщений: 12
Репутация: 0   ±
Замечания:   ±
На сайте с 26.02.2010

Статус: Offline

Кто подскажет как узнать вариации ADCON, для 16F628A
Знаю что для 16F876 идет строка:
ADCON1=%00000010
а вот как на 628A сделать один из входов порта А в качестве аналогово?
ivan_fd Дата: Вс, 18.04.2010, 14:34  |                                                                                                                Сообщение # 214
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

У 16F628A нет регистра ADCON, так как нету АЦП.

Пример 5-1 Инициализация PORTA

CLRF PORTA ; Инициализация защелок PORTA
MOVLW 0X07 ; Выключить компаратор,
MOVWF CMCON ; каналы PORTA - цифровые входы/выходы
BCF STATUS, RP1
BSF STATUS, RPO ; Выбрать банк 1
MOVLW 0x1F ; Значение для инициализации
; направления каналов PORTA
MOVWF TRISA ; Настроить RA<4:0> как входы

Биты TRISA<7:5> всегда читаются как '0'.

Ripper Дата: Вс, 18.04.2010, 14:42  |                                                                                                                Сообщение # 215
Группа: Пользователи
Ранг:  Новенький
Сообщений: 12
Репутация: 0   ±
Замечания:   ±
На сайте с 26.02.2010

Статус: Offline

Quote (ivan_fd)
Пример 5-1 Инициализация PORTA

Я так понимаю это на ассемблере ?

Мне нужно определить напряжение на входе одного из выводов порта А, и присвоить переменной,
возможно ли это на этом контроллере?

ivan_fd Дата: Вс, 18.04.2010, 16:39  |                                                                                                                Сообщение # 216
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Quote (Ripper)
Мне нужно определить напряжение на входе одного из выводов порта А, и присвоить переменной,
возможно ли это на этом контроллере?

Нет.

Ripper Дата: Вс, 18.04.2010, 17:29  |                                                                                                                Сообщение # 217
Группа: Пользователи
Ранг:  Новенький
Сообщений: 12
Репутация: 0   ±
Замечания:   ±
На сайте с 26.02.2010

Статус: Offline

Для каких целей используется компаратор?
Он же может пороговое напряжение определить?
Вы уж меня извините за сумбурность, я просто не могу понять предназначения компаратора.
ivan_fd Дата: Вс, 18.04.2010, 22:00  |                                                                                                                Сообщение # 218
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Он не определяет, он сравнивает опорное и то которое подаете.

Компаратор
, от слова Compare - сравнивать, сличать.

Вы не пробовали скачать даташит на этот процессор, там все красиво написано? wink

Ripper Дата: Пн, 19.04.2010, 05:21  |                                                                                                                Сообщение # 219
Группа: Пользователи
Ранг:  Новенький
Сообщений: 12
Репутация: 0   ±
Замечания:   ±
На сайте с 26.02.2010

Статус: Offline

Quote (Ripper)
Мне нужно определить напряжение на входе одного из выводов порта А,

Quote (ivan_fd)
он сравнивает опорное и то которое подаете.

Значит определить напряжение можно только в качестве больше оно или меньше определенного?
Vref это и есть опорное? Дело в том что русского даташита на 16F628A ненашел.

ivan_fd Дата: Пн, 19.04.2010, 10:00  |                                                                                                                Сообщение # 220
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Русский есть на 16F628, то же самое, почти.
l2_star Дата: Пн, 19.04.2010, 11:25  |                                                                                                                Сообщение # 221
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 12.04.2010

Статус: Offline

а чтобы было понятно что я хочу сделать сейчас поясню

есть зарядное устройсво для електрокар

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

вывести на экран семисигментный или другой...

два параметра

нижний предел
верхний предел
2 кнопки (+) (-)

не очень простое устройство
дискретность 1 вольт

напряжение заряженого аккумулятора 120 вольт постоянки

использывать камень PIC16F877 , хотелось бы программу на PIC BASIC ( оч. нравиться сей язык програмирования)

вот собсна все прошу ВАШЕЙ ПОМОЩИ

ЯНДЕКС Дата: 19.04.2010
brown Дата: Пн, 19.04.2010, 11:57  |                                                                                                                Сообщение # 222
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 333
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

Для начала ознакомтесь вот с этим проектом http://www.picbasic.ru/load/8-1-0-113

Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
terrarus Дата: Пн, 19.04.2010, 13:06  |                                                                                                                Сообщение # 223
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Quote (Ripper)
Дело в том что русского даташита на 16F628A ненашел.

Русский даташит на 16F628A есть на ресурсе http://terrarus.ucoz.ru/proton_plus_ide/index.html
в разделе DATASHEETs/PIC/RUS/PIC16f62X-PIC16f6XXA


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Ripper Дата: Пн, 19.04.2010, 15:53  |                                                                                                                Сообщение # 224
Группа: Пользователи
Ранг:  Новенький
Сообщений: 12
Репутация: 0   ±
Замечания:   ±
На сайте с 26.02.2010

Статус: Offline

Невозможно найти ресурс
Возможно, он был удален, переименован, или временно недоступен.

но все равно спасибо за намек где копать surprised
http://www.microchip.ru/lit/?mid=1x0

terrarus Дата: Пн, 19.04.2010, 17:16  |                                                                                                                Сообщение # 225
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Quote (Ripper)
Невозможно найти ресурс
Возможно, он был удален, переименован, или временно недоступен.

Если вы о ресурсе http://terrarus.ucoz.ru/proton_plus_ide/index.html то он доступен как и всегда, только минуту назад проверял.


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Поиск: