проблема с PORTA PIC16f877

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 4
Зарегистрирован: Чт окт 21, 2010 03:01:23

Сообщение -Light- »

При написании программы для опроса матричной клавиатуры 3х3 возникло проблема с портом а точнее с регистром PORTA. Настраиваю 0-2 контакт на выходы и 3-5 на входы, даю 1 на один из трех столбцов и проверяю состояние 3-5 бита.
В качестве симулятора использовал Proteus7 Professional. С 3-6 битами проблем нет проблема с 3-5. При подачи на них 1 в регистре PORTA не наблюдалось никаких изменений но когда я переписываю состояние битов в другой регистр то в нем отображаются все биты на которые я подаю 1.
Так и должно быть или это протэус глючит.

сам код программы

processor pic16f877
#include<p16f877.inc>
errorlevel -302

AW equ 0x21

org 0x00
clrf STATUS
movlw 0x00
movwf PCLATH
goto Begin

Begin
bcf STATUS, RP1
bcf STATUS, RP0
movlw b'00000111'
movwf OPTION_REG
bsf STATUS,RP0
movlw 0x06
movwf ADCON1
movlw b'11111000'
movwf TRISA
bcf STATUS,RP0
clrf PORTA
bsf PORTA, 0x00
Start
movf PORTA,W
movwf AW
andlw b'00111000'

goto Start

END
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

проблема с 3-5. При подачи на них 1 в регистре PORTA не наблюдалось никаких изменений
Они же настроены на вход.

Код: Выделить всё

movlw b'11111000'
movwf TRISA
Контактная информация:
Реклама
Родился
Сообщения: 4
Зарегистрирован: Чт окт 21, 2010 03:01:23

Сообщение -Light- »

я неправильно выразился
я подою напряжение на контакты 3-5 порта А, в регистре PORTA это не отображается но при копировании содержимого регистра PORTA в AW, значение в регистре AW соответствует состоянию контактов порта A
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Ну а что тогда Вас смущает ? То что не видно содержимое PORTA в протеусе ? В аккумулятор сохраняет, значит всё нормально.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 4
Зарегистрирован: Чт окт 21, 2010 03:01:23

Сообщение -Light- »

Просто я пытался отладить программу в протэусе, но в свези с данным и рядом других глюков придется это делать в mplab
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2360
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

-Light- писал(а):придется это делать в mplab
А надо делать в связке МПЛАБ-Протеус.
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»