Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 12 из 22

Тема: Помогите разобраться с PIC'ами!

  1. #1
    Member
    Регистрация
    20.08.2003
    Адрес
    СПб
    Сообщений
    450
    Спасибо
    0
    Благодарностей: 5 : 3

    Помогите разобраться с PIC'ами!

    Есть Pic16f877a. Под него написана простейшая программа, которая просто выдает меандр на RB0 выход:

    ;LIST p=16F84
    #include "P16F84.INC"

    ;__CONFIG 03FF6H

    ;OptionR equ 01h
    count1 EQU 20h
    count2 EQU 21h
    count3 EQU 22h

    ORG 0

    START: ;movlw .143
    ;movwf OptionR
    BSF STATUS, RP0
    CLRF TRISB
    BCF STATUS, RP0
    RUN: BCF PORTB, 0
    CALL DELAY
    BSF PORTB, 0
    CALL DELAY
    GOTO RUN

    DELAY: movlw .50
    movwf count1
    _sw1 movlw .255
    movwf count2
    _sw3 movlw .255
    movwf count3
    _sw4 decfsz count3,f
    goto _sw4

    decfsz count2,f
    goto _sw3
    clrwdt
    decfsz count1,f
    goto _sw1
    return

    END

    В эмуляторе пика все работает, каждые 3 секунды меняются логический ноль и логическая единица. Но вот с реальным пиком беда: молчит. Шил его, читал - все верно. Подключаю к нему кварц на 12 мегагерц с конденсаторами в 15pF (из документации) или 32 килогерца (с изменением задержки в коде), подаю питание на обе Vss и обе Vdd 5 вольт... А результатов - никаких!

    Кто работал с этими зверями? Хелп !!!

  2. #2
    Newbie
    Регистрация
    28.04.2007
    Адрес
    su
    Сообщений
    1
    Спасибо
    0
    Благодарностей: 0 : 0
    код пока не проверял, когда первый раз включал ПИК тож никак запустить не мог - глянь или есть генерация на кварце (осцилографом) и на какой частоте. (напр. я подключал 32768, без кондеров - частота была что-то около 200000, потом прочитал в мануале что это вполне может быть)и в качестве простенькой программы сначала писал просто ввод 1-цы на вывод, когда добился что оно заработало - тогда уже делал циклы, задержки и т.д.

  3. #3
    Member
    Регистрация
    20.08.2003
    Адрес
    СПб
    Сообщений
    450
    Спасибо
    0
    Благодарностей: 5 : 3
    Цитата Сообщение от gpolter
    ...напр. я подключал 32768, без кондеров - частота была что-то около 200000, потом прочитал в мануале что это вполне может быть...
    жесть! если я подключаю 12 МГц с конденсаторами, то у меня могут быть и все 100 МГц?! Пик должен менять 0 - 1 - 0 - 1 - 0 - 1 каждые 3 секунды, а выдает логическую единицу. И с кодом вроде должно быть все в норме и спаяно все правильно... Просто туPIC мыслей!
    PS а осциллографа у меня нет , есть логический пробник

  4. #4
    Member
    Регистрация
    20.06.2003
    Адрес
    Мурманск
    Сообщений
    161
    Спасибо
    3
    Благодарностей: 2 : 2
    Смотрите MCLR

  5. #5
    Member
    Регистрация
    20.08.2003
    Адрес
    СПб
    Сообщений
    450
    Спасибо
    0
    Благодарностей: 5 : 3
    Цитата Сообщение от Sun
    Смотрите MCLR
    Ммммм... Если я подаю на MCLR единицу, то результата никакого, а вот PIC становится пустым... Он стирается!!! Сейчас пытаюсь тупо подать единицу на выход:

    LIST p=16F84
    #include "P16F84.INC"

    __CONFIG 03FF2H

    ;OptionR equ 01h
    count1 EQU 20h
    count2 EQU 21h
    count3 EQU 22h

    ORG 0

    START: ;movlw .143
    ;movwf OptionR
    BSF STATUS, RP0
    CLRF TRISB
    BCF STATUS, RP0
    ;RUN: BCF PORTB, 0
    ;CALL DELAY
    run1: BSF PORTB, 0

    ;CALL DELAY
    GOTO run1

    ;DELAY: movlw .50
    ; movwf count1
    ;_sw1 movlw .255
    ; movwf count2
    ;_sw3 movlw .255
    ; movwf count3
    ;_sw4 decfsz count3,f
    ;goto _sw4

    ;decfsz count2,f
    ;goto _sw3
    ;clrwdt
    ;decfsz count1,f
    ;goto _sw1
    ;return

    END

    Вот только ничего не выходит. Почему пик стирается?! Вроде на MCLR единица подается как и положено по мануалу, с задержкой (RC цепочкой), через резистор в 1к...

    Что опять не так? По форумам копался. Кроме защиты от помех методом правильной разводки ничего толком не нашел

  6. #6
    Senior Member
    Регистрация
    14.07.2006
    Адрес
    BY/Малорита
    Сообщений
    1,119
    Спасибо
    83
    Благодарностей: 53 : 31
    Цитата Сообщение от pix050584
    Ммммм... Если я подаю на MCLR единицу, то результата никакого, а вот PIC становится пустым... Он стирается!!!
    Ерунда какая-то. MCLR - сигнал сброса. От него он PIC никак не может стираться. Я обычно (если не требуется особый сброс) делаю по приложенной схеме. Брось схему, по которой у тебя собрано устройство. Попробуем разобраться.
    Изображения Изображения

  7. #7
    Senior Member
    Регистрация
    07.12.2004
    Адрес
    55.45 с.ш., 37.35 в.д
    Сообщений
    838
    Спасибо
    10
    Благодарностей: 63 : 17
    Коль писал под 877 pic мог бы заголовочный фаил P16F877A.INC для микроконтролера правильный фыбрать в MPLAB.... А то как то нецевилизованно

  8. #8
    Elite Member Аватар для ribbentrop
    Регистрация
    26.06.2003
    Адрес
    Харьков
    Сообщений
    6,774
    Спасибо
    229
    Благодарностей: 1,926 : 716
    Цитата Сообщение от Kotelev
    Ерунда какая-то. MCLR - сигнал сброса. От него он PIC никак не может стираться. Я обычно (если не требуется особый сброс) делаю по приложенной схеме. Брось схему, по которой у тебя собрано устройство. Попробуем разобраться.
    Да вот по MCLR он и стирается , 12 вольтами правда .

  9. #9
    Member
    Регистрация
    20.08.2003
    Адрес
    СПб
    Сообщений
    450
    Спасибо
    0
    Благодарностей: 5 : 3
    Попробую по указанной схеме, хотя моя не сильно отличается.
    И зачем, если не секрет, R2? И каков его номинал?
    Изображения Изображения
    • Тип файла: gif Pic16.GIF (4.7 Кб, Просмотров: 21)
    • Тип файла: gif 1.GIF (8.3 Кб, Просмотров: 20)

  10. #10
    Member
    Регистрация
    20.08.2003
    Адрес
    СПб
    Сообщений
    450
    Спасибо
    0
    Благодарностей: 5 : 3
    Цитата Сообщение от ribbentrop
    Да вот по MCLR он и стирается , 12 вольтами правда .
    Дык в рабочем режиме откуда 12 то возьмется, если по всей схеме 5 вольт?! Да и стирается он низким уровнем...

  11. #11
    Senior Member
    Регистрация
    14.07.2006
    Адрес
    BY/Малорита
    Сообщений
    1,119
    Спасибо
    83
    Благодарностей: 53 : 31
    Цитата Сообщение от pix050584
    Попробую по указанной схеме, хотя моя не сильно отличается.
    И зачем, если не секрет, R2? И каков его номинал?
    На R2 не обращай внимания - это pull-up для датчика DS1820.

  12. #12
    Member
    Регистрация
    20.08.2003
    Адрес
    СПб
    Сообщений
    450
    Спасибо
    0
    Благодарностей: 5 : 3
    Тогда чем моя схема от твоей отличается?!

Похожие темы

  1. Научите пользоваться SELF TEST ами
    от pinkod в разделе Nokia для новичков
    Ответов: 18
    Последний ответ: 05.10.2010, 14:32
  2. Что делать RAP -ами?
    от Saturn в разделе Телефоны BB5
    Ответов: 4
    Последний ответ: 26.07.2007, 16:43
  3. Помогите разобраться
    от LEXYS в разделе Motorola для новичков
    Ответов: 1
    Последний ответ: 10.04.2007, 05:06
  4. PowerFlasher не работает с siemens`ами х50-75 серий
    от Julikt в разделе Остальное оборудование
    Ответов: 0
    Последний ответ: 15.09.2006, 13:19
  5. Ответов: 5
    Последний ответ: 15.05.2005, 02:15

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  Рейтинг@Mail.ru