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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Pic12F675 (Проблема с настройкой портов)
Pic12F675
S_moke Дата: Вт, 08.11.2011, 12:13  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 1   ±
Замечания:   ±
На сайте с 16.08.2011

Статус: Offline

Добрый день!
Помогите, пожалуйста, настроить порты у этой железяки - совсем замучился...
Перешел с 628 и начались проблемы...
Из архива видно, что для начала хочу, чтобы порты хотя бы переключались...
Получается дурь: GP0 вообще молчит, GP1 вместо приема работает выходом, а GP5 с ума сошел... переключается не в тандеме с остальными.
Прикрепления: polot.rar (19.8 Kb)
ЯНДЕКС Дата: 08.11.2011
ivan_fd Дата: Вт, 08.11.2011, 13:33  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Да все нормально настроено, кроме GP3, он может работать только как вход.
Соберите в железе.
S_moke Дата: Вт, 08.11.2011, 17:57  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 1   ±
Замечания:   ±
На сайте с 16.08.2011

Статус: Offline

А вы запускали проект протеуса? Что он вытворяет смотрели? Я и сам предполагаю, что вроде бы правильно настроено, но в симуляторе абракадабра.
ivan_fd Дата: Вт, 08.11.2011, 21:05  |                                                                                                                Сообщение # 4
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Да запускал, поэтому и говорю, запустите в железе и посмотрите,что да как. Он у меня в Протеусе тоже как то странно работает.
megavolt85 Дата: Ср, 09.11.2011, 00:49  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Новенький
Сообщений: 16
Репутация: 0   ±
Замечания:   ±
На сайте с 10.01.2010

Статус: Offline

gpio.3 только вход, его нельзя установить в 1 или 0, можно только считать. между gpio.0 и оптотранзистором нужен резистор. во вложении исправленная версия
Прикрепления: 6158107.rar (29.3 Kb)
S_moke Дата: Ср, 09.11.2011, 18:24  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 1   ±
Замечания:   ±
На сайте с 16.08.2011

Статус: Offline

Спасибо. На счет "gpio.3 только вход" знаю из даташита, про резистор в курсе, но иногда в протеусе их исключаю даже на семисегментных индикаторах.
radist108 Дата: Ср, 18.04.2012, 22:28  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 49
Репутация: 0   ±
Замечания:   ±
На сайте с 07.01.2010

Статус: Offline

Это на Proton'e написано?

Да здравствует то, благодаря чему мы, несмотря ни на что…
Сообщение отредактировал radist108 - Ср, 18.04.2012, 22:28
Alexandr280480 Дата: Сб, 08.02.2014, 18:30  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 96
Репутация: 0   ±
Замечания:   ±
На сайте с 23.01.2010

Статус: Offline

Хочу спросить вот что, кто может сказать все ли команды протона поддерживаются 12F675???
У меня элементарная процедура не  работает:

Device=12F675 'Òèï ìèêðîêîíòðîëëåðà
Xtal=4 '×àñòîòà êâàðöåâîãî ãåíåðàòîðà 4ÌÃö
'-------------------------------------Íàñòðîéêè ÀÖÏ-------------------------------------
Declare Adin_Res 8 ' Pàçðÿäíîñòü ðåçóëüòàòà ïðåîáðàçîâàíèÿ ÀÖÏ = 8
'------------------------------------Íàñòðîéêà ïîðòîâ-----------------------------------
OPTION_REG = %10000000 'Âêëþ÷èòü ïîäòÿãèâàþùèå ðåçèñòîðû
TRISIO = %000001 ' Ñäåëàòü êàíàë (âûâîä) AN0 (PORTA.0) âõîäîì
GPIO = %000100 'Óñòàíîâèòü óðîâíè ñèãíàëîâ íà ïîðò
ADCON0 = %00000001 'Âêëþ÷èòü ÀÖÏ óñòàíîâèòü AN0 êàê ïîðò ÀÖÏ
ANSEL = %00000001
'---------------------------------Îáúÿâëåíèå ïåðåìåííûõ---------------------------------
Dim dPressure As Byte ' Îáúÿâèòü ïåðåìåííóþ dPresure ðàçìåðîì byte
'---------------------------------Òåêñò ïðîãðàììû---------------------------------------
Main:

dPressure = ADIn 0
Select dPressure
    Case <50
    GPIO.1=1
    GPIO.2=1
    Case >100
    GPIO.1=0
    GPIO.2=0
EndSelect    

GoTo Main:      
' Äàò÷èê äàâëåíèÿ ADZ SML 0-10 4-20mA
' Ïðèìåðíî ïî 25 åäèíèö íà 1 àòìîîñôåðó, ò.î.25*10=250

Добавлено (08.02.2014, 18:30)
---------------------------------------------
Прошу прощения за "русский шрифт" не получилось... dry


Купить за деньги может ВСЁ,
А ты попробуй сделай САМ!!!
anatol Дата: Сб, 08.02.2014, 23:40  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Alexandr280480, однако читать доку на камень надо.  wink Без подсказок. только направления.
Какое время у вас АЦП преоразования?
Как происходит обнуление измерения?
Какое выравнивание - по левому или по правому краю -  вам надо?
Объявление 8 разрядного АЦП не означает что измерение будет проводится в восемь разрядов.

Чтобы небыло кракозябр  используйте в сообщениии выделение (вверху над пишущимся сообщением) значки  " " и < > или прикрепите файл с вашего компа (внизу сообщения - тыкаете обзор и указываете. Есть ограничение по размеру и типу. Во втором случае меняете у файла расширение на например .txt   {вася пупкин.bas.txt};)

Сообщение отредактировал anatol - Сб, 08.02.2014, 23:41
доцент2 Дата: Вс, 09.02.2014, 00:54  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

попробуйте вот так

Declare Reminders=off
Device = 12F675
;**** End of Fuse Configurator Settings ****
;-------------------------------------------------------------------------------
Config FOSC_INTRCIO, WDT_OFF, PWRTE_ON, MCLRE_OFF, BOREN_ON, CP_OFF, CPD_OFF
;-------------------------------------------------------------------------------
Xtal= 4 '
All_Digital YES
'---------------------------------------------------------------------
Declare Adin_Res 8 '
'----------------------------------------------------------------------
'Symbol Pin1 =  GPIO.1
'Symbol Pin2 =  GPIO.2
ADCON0 = %000001 '
ANSEL = %010001
TRISIO = %000001 '
GPIO = %000000 '
'------------------------------------------------------------------
Dim dPressure As Byte '
'-----------------------------------------------------------------------
Main:
dPressure = ADIn 0
    Select dPressure
        Case <50
        GPIO.1=1
        GPIO.2=1
'            Pin1 = 1
'            Pin2 = 1
        Case >100
        GPIO.1=0
        GPIO.2=0
'            Pin1 = 0
'            Pin2 = 0
    EndSelect
GoTo Main
Прикрепления: 1111111.rar (37.1 Kb)
Alexandr280480 Дата: Пн, 10.02.2014, 21:27  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 96
Репутация: 0   ±
Замечания:   ±
На сайте с 23.01.2010

Статус: Offline

доцент2, не работает

может кто скажет, в документации написано, на этом контроллере поддерживаются только 35 команд,
какие ???


Купить за деньги может ВСЁ,
А ты попробуй сделай САМ!!!
ЯНДЕКС Дата: 10.02.2014
ivan_fd Дата: Пн, 10.02.2014, 21:45  |                                                                                                                Сообщение # 12
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

А что именно у Вас не работает? Не понятно.

35 команд - команды ассемблера
anatol Дата: Пн, 10.02.2014, 22:54  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Ребята, без подсказок. Покуда Alexandr280480 не разведет по разным углам команды ассемблера на конкретный проц, язык высокого уровня Протон - переводящий  хотелки с помощью своего языка в команды ассемблера и, очень важно, устройство процессора в физических конструкциях - толку будет "0". АПросто копипаст.
Надо просто понять что таймер = физически счетчику с предзаписью числа как в сам счетчик так и рядом лежащее устройство порязрядного сравнения, при условии обнуления или равенства поднимающее нужный флаг (триггер отвечающий за флаг устанавливается в единицу.
Или АЦП со встроенным устройством выборки-хранения требующим время на заряд или разряд внутреннего конденсатора, устройством измерения в виде компаратора на один вход подано напряжение с УВХ, а на другой (в простейшем случае) ступенчато увеличивающиеся 8-10 разрядное напряжение пропорционально опорному. Каждая ступенька это такт. И ему требуется время. И минимальное время указывается в даташитах. Частоты (кварцы) мы выбираем сами. Поэтому и указываются различные коэффициенты предделителя для тактирования модуля АЦП. При несовпадении всех условий можно запустится от встроенного генератора, однако просчитать программу по таймингам уже не получится.
Короче учить цифровую технику, устройство и применение конкретного контроллераи набивать шишки. Удачи.
доцент2 Дата: Пн, 10.02.2014, 23:01  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Цитата Alexandr280480 ()
доцент2, не работает
Чуть доработал Ваш пример (без настроек АЦП). В протеусе работает отлично. на макетке накидал - тоже заработало. Может пора переустановить протон или протеус? Сформулируйте четко, что не работает и что Вы хотите?

Сообщение отредактировал доцент2 - Пн, 10.02.2014, 23:02
Alexandr280480 Дата: Вт, 11.02.2014, 20:48  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 96
Репутация: 0   ±
Замечания:   ±
На сайте с 23.01.2010

Статус: Offline

доцент2, почему ВАШ, давай на ТЫ!!!
Спасибо все разобрался!!!
Ошибка не в коде, а в формуле преобразования АЦП!!!

Добавлено (11.02.2014, 20:48)
---------------------------------------------
anatol, спасибо за совет!
С временем проблема, но потихоньку освою...


Купить за деньги может ВСЁ,
А ты попробуй сделай САМ!!!
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Pic12F675 (Проблема с настройкой портов)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: