Перейти к содержанию
    

TimR

Участник
  • Постов

    12
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Пробовал проект в PROTEUSe - ничего. мучаюсь постоянно что-то меняя, но не выходит! Странно, но многие читали эту тему, но мало кто ответил. Я конечно извиняюсь, но все же скажу: по-моему разрабрткой девайсов и изучение МК у всех происходит по одному и тому же плану: зажечь светодиод, потом ЖКИ, потом интерфейсы(I2C, USART), АЦП и т.д. О том что в МК есть такие простые и нужные вещи как компаратор, никого не интересует! Потому, видимо никто и помочь не может! А знаете, в книгах и даташитах одно и тоже, видимо все это писалось по принципу "Ctrl+C - Ctrl+V". А в проектах других эмбеддеров только "зажечь светодиод, потом ЖКИ, потом интерфейсы(I2C, USART), АЦП и т.д." - Ctrl+C - Ctrl+V :) Извините...
  2. WDT- отключен, работа от TMR0, т.е сброса по переполнению WDT не происходит. LVP - отключен, да и зачем он мне? А вот вход, что висит он в воздухе, что подключен через подтягтвающий резистор - одна малина - работает одинаково т.е. так, как описал выше. Мне думается, ошибка в программе притом там, где настраиваю модули опорного напряжения и компаратора. Может я не в том порядке это делаю или нужно еще чего-то сбросить/выставить - незнаю, но ошибка где-то вначале, где происходит инициализация.
  3. модуль компаратора в PIC16F627

    Привет всем!!! Не получается инициализировать модуль компараторов в PIC16F627. Да и вообще с модулями у меня пожизни какие-то проблеммы. Все по datasheet-ту делаю, но что-то не так. Можно бы было в PROTEUS-е просимулировать, но и с ним я пока не совсем... В общем помогите!!! Суть программы: использую модуль компараторов, с встроенным в МК модулем опорного напряжения Uоп = 3В. А дальше - просто: произошло прерывание - зажечь светодиод, ну а нет - стоим на месте. Проблемма в том что светодиод мигает при том. что сигнал (>3В), да и любой сигнал, на вход компаратора вообще не подается! .... .... .... ... Start___clrf Intcon _______ bsf Status,RP0 _______ bcf Status,RP1 _______ movlw b'11101110' ;нижний диапазон,Uоп = 2,92 (3В), разрешить работу _______ movwf VRCON _______ movlw b'10000011' _______ movwf OptionR _______ movlw b'00000000' _______ movwf TrisB _______ movlw b'00000011' _______ movwf TrisA _______ bcf Status,RP0 _______ movlw b'00000010' ; режим работы 010 _______ movwf CMCON _______ clrf RCSTA _______ clrf T1CON _______ clrf T2CON _______ clrf CCP1CON ;------------------------------------ _______ bsf Pie1,6 ; разрешить прерывания от компараторов _______ bcf Status,RP0 _______ bcf Pir1,6 ; предварительный сброс флага прерывания от компараторов _______ bsf Intcon,6 ; разрешить прерывания от периферийных устройств ________bsf Intcon,7 ; общее разрешение прерываний ;---------------------------------------- Start2___ bcf Pir1,6 Start1___ btfss Pir1,6 ; опрос: не поднялся ли флаг? ________goto Start1 ; нет - повтор опроса ________ btfsc CMCON,6 ; да (1) опрос бита выхода компаратора ________goto UP ; если бит = 1 то идем в UP ________goto Start1 ; нет - новое сканирование ;------------------------------------- UP_____bsf PortB,2 _______call delay _______goto Start2 ;-------------------------------------- delay___movlw .255 _______movwf SecH C3_____movlw .255 _______movwf SecL Pause_4__decfsz SecL,F _________goto Pause_4 _________decfsz SecH,F _________goto C3 _________return ;**************************************** _________end
  4. Сначало Всем огромное спасибо! =L.A.=, такой же код был написан с самого начала, но выходило все то же: при приближении пальца частота "загораний" светодиода увеличивалась. vanner, весь код здесь, добавить извиняюсь, нечего. Тот код, что написал upc2 в ассемблерном варианте мало чем отличается от моего. Alexsys, возможно вы и правы, проверю. upc2, спасибо. Ошибка, скорее всего, в неправильности моей электрической схемы (хорошо что Вы привели схему). А фишка с low и hight - это интересно, но у меня таких проблем не было. Попробую с учетом всех предложений.
  5. Опять Proteus

    Попробую, СПАСИБО!
  6. Это все сделано. плюс к этому - отключены ненужные модули PICа Вообще, хотел еще попробовать через модуль компараторов, но опять ничего: все делаю по даташиту но светодиод не горит - может дело в том что вход рассчитан на аналоговый сигнал? Но просто "на вход" он должен работать. Было еще так: для зажигания требовался не сигнал 5В, а "общий" - я палец прикладывал к клемме - и работает.
  7. Простейшая кнопка на PIC

    Привет всем!!! Пожалуйста помогите разобраться с ерундой. Программа - простейшая кнопка на PIC16F627, создана в качестве обучаловки. Принцип такой: подаем внешний сигнал 5V на МК (провод естественно общий) на вывод 4 PortB и должен загорается светодиод на PortB,2. Я уже пробовал задействовать и PortA, и с подтягивающими пробовал - ничего. Как-то странно, видел много исходников, где "кнопка" делается именно по такому принципу. В итоге, светодиод либо вообще не загорается, либо горит постоянно. (Извиняйте за "нижний пробел" - его как будто нет) ;----------------------------------------------------------------------------- стандартные установки OptionR, отключение ненужных модулей. ;--------------------------------------------------------------------------------------- Start________btfsc PortB,4 ; если присутствует высокий уровень то ____________goto hight ; переход на hight ____________goto low ; иначе на low ;------------------------------------------------------------ hight________bsf PortB,2 ; "зажечь" 2-й порт ____________call delay ; переход на подпрогу задержки ____________goto Start ; при возврате переход в режим сканирования ;------------------------------------------- low_________bcf PortB,2 ; ___________ call delay ___________ goto Start ;------------------------------------------- delay______ задержка........ 1сек __________ return ;************************ end
  8. Опять Proteus

    Привет, извиняйте, что вопрос немного не по теме, но прошу помощи. Заинтересовался PROTEUSом, скачал с kazusa, уже не помню какая версия,но вроде 6.0. и 6.2 sp2. Ну и толку.....Нужно код (лицензия) Help please
  9. Я встречал в нете весьма неплохо сканированную книжку с описанием Си именно для пиков, правда на английском. Где точно уже не помню, но на работе есть сама скачанная книга. Если интересно могу в понедельник выслать на мыло. Извиняюсь что не отвечал... Очень много всего навалилось. Sorry Вышли пожалуйста, буду признателен. Если интересно, то я тоже могу дать ссылку на полезную инфу по этой теме, но она тоже на англицком. Если нужно - дай знать! Есть небольшой самоучитель по Си для АВР - его можно и к ПИКам применить для начала как знакомство...
  10. Подскажите кто-нибудь сколько стоит rfPIC какой-нибудь, ну, например, rfPIC12F675. А то у нас в городе "N" в магазинах до сих пор нет.... :angry2:
  11. [/Насчет порта A. Обычно проблемы возникают либо из-за открытого стока у некоторых выводов порта, либо из-за неправильной его настройки в случае наличия АЦП у контроллера. Дело в том, что если даже Вы не используете АЦП, все равно нужно сделать настройки соответствующим образом, которые позволят использовать порт как обычный цифровой порт ВВ. Посмотрите внимательнее DS.] АЦП у PIC16F627 нет, есть только ЦАП и то в неявном виде. Но насчет открытого стока, это возможно, спасиба за совет, попробую поставить подтягивающие резисторы. [Изучать Си можно по любой книге. Набраться опыта можно на сайте Microchip.com. В последнее время они приводят много примеров реализации одной и той же задачи на двух языках. Asm и Си.Там же есть Kit от Maestro, позволяющий автоматически генерировать код для общих задач на asm и си. Покопайтесь там. Прежде чем грешить на программатор, воспользуйтесь Протеусом.] [/Изучать Си можно по любой книге.] Согласен, но хотелось бы сразу ориентироваться на написание программ для МК - это дает практический интерес, а изучать общий (базовый) курс пробовал - не идет.. (нет "искры") [Набраться опыта можно на сайте Microchip.com.] Спасибо за совет полазаю, памарю. [/Прежде чем грешить на программатор, воспользуйтесь Протеусом] А не могли бы объяснить, что это, а то пока еще не знаю. :unsure:
  12. Привет всем! Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ? А то программировать на асе хорошо, но на Си...интересно как :cranky: Хотелось бы научиться, да не по чему.... Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю, TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им.
×
×
  • Создать...