Pic12F675
|
|
S_moke |
Дата: Вт, 08.11.2011, 12:13 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 16.08.2011
Статус:
Offline
|
Добрый день! Помогите, пожалуйста, настроить порты у этой железяки - совсем замучился... Перешел с 628 и начались проблемы... Из архива видно, что для начала хочу, чтобы порты хотя бы переключались... Получается дурь: GP0 вообще молчит, GP1 вместо приема работает выходом, а GP5 с ума сошел... переключается не в тандеме с остальными.
|
|
|
|
ivan_fd |
Дата: Вт, 08.11.2011, 13:33 | Сообщение # 2 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Да все нормально настроено, кроме GP3, он может работать только как вход. Соберите в железе.
|
|
|
|
S_moke |
Дата: Вт, 08.11.2011, 17:57 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 16.08.2011
Статус:
Offline
|
А вы запускали проект протеуса? Что он вытворяет смотрели? Я и сам предполагаю, что вроде бы правильно настроено, но в симуляторе абракадабра.
|
|
|
|
ivan_fd |
Дата: Вт, 08.11.2011, 21:05 | Сообщение # 4 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Да запускал, поэтому и говорю, запустите в железе и посмотрите,что да как. Он у меня в Протеусе тоже как то странно работает.
|
|
|
|
megavolt85 |
Дата: Ср, 09.11.2011, 00:49 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
16
Замечания:
±
На сайте с 10.01.2010
Статус:
Offline
|
gpio.3 только вход, его нельзя установить в 1 или 0, можно только считать. между gpio.0 и оптотранзистором нужен резистор. во вложении исправленная версия
|
|
|
|
S_moke |
Дата: Ср, 09.11.2011, 18:24 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 16.08.2011
Статус:
Offline
|
Спасибо. На счет "gpio.3 только вход" знаю из даташита, про резистор в курсе, но иногда в протеусе их исключаю даже на семисегментных индикаторах.
|
|
|
|
radist108 |
Дата: Ср, 18.04.2012, 22:28 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
49
Замечания:
±
На сайте с 07.01.2010
Статус:
Offline
|
Это на Proton'e написано?
Да здравствует то, благодаря чему мы, несмотря ни на что…
Сообщение отредактировал
radist108 - Ср, 18.04.2012, 22:28
|
|
|
|
Alexandr280480 |
Дата: Сб, 08.02.2014, 18:30 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
96
Замечания:
±
На сайте с 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) --------------------------------------------- Прошу прощения за "русский шрифт" не получилось...
Купить за деньги может ВСЁ, А ты попробуй сделай САМ!!!
|
|
|
|
anatol |
Дата: Сб, 08.02.2014, 23:40 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Alexandr280480, однако читать доку на камень надо. Без подсказок. только направления. Какое время у вас АЦП преоразования? Как происходит обнуление измерения? Какое выравнивание - по левому или по правому краю - вам надо? Объявление 8 разрядного АЦП не означает что измерение будет проводится в восемь разрядов.
Чтобы небыло кракозябр используйте в сообщениии выделение (вверху над пишущимся сообщением) значки " " и < > или прикрепите файл с вашего компа (внизу сообщения - тыкаете обзор и указываете. Есть ограничение по размеру и типу. Во втором случае меняете у файла расширение на например .txt {вася пупкин.bas.txt};)
Сообщение отредактировал
anatol - Сб, 08.02.2014, 23:41
|
|
|
|
доцент2 |
Дата: Вс, 09.02.2014, 00:54 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
293
Замечания:
±
На сайте с 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
|
|
|
|
Alexandr280480 |
Дата: Пн, 10.02.2014, 21:27 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
96
Замечания:
±
На сайте с 23.01.2010
Статус:
Offline
|
доцент2, не работает
может кто скажет, в документации написано, на этом контроллере поддерживаются только 35 команд, какие ???
Купить за деньги может ВСЁ, А ты попробуй сделай САМ!!!
|
|
|
|
ivan_fd |
Дата: Пн, 10.02.2014, 21:45 | Сообщение # 12 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
А что именно у Вас не работает? Не понятно.
35 команд - команды ассемблера
|
|
|
|
anatol |
Дата: Пн, 10.02.2014, 22:54 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Ребята, без подсказок. Покуда Alexandr280480 не разведет по разным углам команды ассемблера на конкретный проц, язык высокого уровня Протон - переводящий хотелки с помощью своего языка в команды ассемблера и, очень важно, устройство процессора в физических конструкциях - толку будет "0". АПросто копипаст. Надо просто понять что таймер = физически счетчику с предзаписью числа как в сам счетчик так и рядом лежащее устройство порязрядного сравнения, при условии обнуления или равенства поднимающее нужный флаг (триггер отвечающий за флаг устанавливается в единицу. Или АЦП со встроенным устройством выборки-хранения требующим время на заряд или разряд внутреннего конденсатора, устройством измерения в виде компаратора на один вход подано напряжение с УВХ, а на другой (в простейшем случае) ступенчато увеличивающиеся 8-10 разрядное напряжение пропорционально опорному. Каждая ступенька это такт. И ему требуется время. И минимальное время указывается в даташитах. Частоты (кварцы) мы выбираем сами. Поэтому и указываются различные коэффициенты предделителя для тактирования модуля АЦП. При несовпадении всех условий можно запустится от встроенного генератора, однако просчитать программу по таймингам уже не получится. Короче учить цифровую технику, устройство и применение конкретного контроллераи набивать шишки. Удачи.
|
|
|
|
доцент2 |
Дата: Пн, 10.02.2014, 23:01 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
293
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Цитата Alexandr280480 ( ) доцент2, не работает Чуть доработал Ваш пример (без настроек АЦП). В протеусе работает отлично. на макетке накидал - тоже заработало. Может пора переустановить протон или протеус? Сформулируйте четко, что не работает и что Вы хотите?
Сообщение отредактировал
доцент2 - Пн, 10.02.2014, 23:02
|
|
|
|
Alexandr280480 |
Дата: Вт, 11.02.2014, 20:48 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
96
Замечания:
±
На сайте с 23.01.2010
Статус:
Offline
|
доцент2, почему ВАШ, давай на ТЫ!!! Спасибо все разобрался!!! Ошибка не в коде, а в формуле преобразования АЦП!!!Добавлено (11.02.2014, 20:48) --------------------------------------------- anatol, спасибо за совет! С временем проблема, но потихоньку освою...
Купить за деньги может ВСЁ, А ты попробуй сделай САМ!!!
|
|
|
|