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

PIC16f676

Здраствуйте.

 

Есть МК $subj. Поковырявшись с mplab, нахватавшись везде понемного информации решил что могу написать хотя бы тестовую прогу в симуляторе.

Что она должна делать? На RA0 приходит внешний сигнал (0 или 1\ нет напряжения и есть). С RA1 уходит на зеленый светодиод. С RA2 уходит на красный светодиод.

Красный горит когда на RA0 - 0, зеленый когда 1(типа вкл\выкл).

 

Вот моя попытка (ессно почему то неработающая :( ):

#include <C:\Program Files\Microchip\MPASM Suite\P16F676.INC>

CLRF PORTA
GOTO loop

red:
    BCF PORTA, 1
    BSF PORTA, 2
    GOTO loop

green:
    BCF PORTA, 2
    BSF PORTA, 1
    GOTO loop

loop:
    BTFSC PORTA, 0
    GOTO red
    GOTO green
    GOTO loop

END

 

Выбрал при старте проекта PIC16f676. Debugger->Select Tool->MPLAB SIM. Откомпилилось без ошибок.

Добавил Watch PORTA -> в результате пошаговаго выполнения PORTA как был 0 так и остался(особенно на команде BSF).

 

Подскажите пожалуйста что я забыл/закосячил (или киньте ссылку где написанно об этом)?

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот нашел про регистр TRISA: вроде после этого работает. Подскажите правильно ли это?

; Initialization
BCF STATUS, RP0;Bank 0
CLRF PORTA     ;Init PORTA
;MOVLW 05h     ;Set RA<2:0> to 
;MOVWF CMCON    ;digital I/O
BSF STATUS, RP0;Bank 1
CLRF ANSEL    ;digital I/O
MOVLW 01h    ;Set RA<0> as inputs
MOVWF TRISA    ;and set RA<5:4:3:2:1> as outputs
BCF STATUS, RP0;Bank 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, правильно. Только непонятно, зачем нужна последняя команда [goto loop], до нее все равно программа никогда не дойдет. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть очень хороший сайт по PIC и по программированию оных. Как говорится: "от и до".

Лучше и доходчивее пока ничего не видел. Посмотри там? возможно вопросы отпадут сами собой. Кстати там как раз разбирается Pic16f84a

 

http://ikarab.narod.ru/Kea_20.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...