При написании программы для опроса матричной клавиатуры 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
проблема с PORTA PIC16f877
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: проблема с PORTA PIC16f877
Они же настроены на вход.проблема с 3-5. При подачи на них 1 в регистре PORTA не наблюдалось никаких изменений
Код: Выделить всё
movlw b'11111000'
movwf TRISARe: проблема с PORTA PIC16f877
я неправильно выразился
я подою напряжение на контакты 3-5 порта А, в регистре PORTA это не отображается но при копировании содержимого регистра PORTA в AW, значение в регистре AW соответствует состоянию контактов порта A
я подою напряжение на контакты 3-5 порта А, в регистре PORTA это не отображается но при копировании содержимого регистра PORTA в AW, значение в регистре AW соответствует состоянию контактов порта A
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: проблема с PORTA PIC16f877
Ну а что тогда Вас смущает ? То что не видно содержимое PORTA в протеусе ? В аккумулятор сохраняет, значит всё нормально.
Re: проблема с PORTA PIC16f877
Просто я пытался отладить программу в протэусе, но в свези с данным и рядом других глюков придется это делать в mplab
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2349
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: проблема с PORTA PIC16f877
А надо делать в связке МПЛАБ-Протеус.-Light- писал(а):придется это делать в mplab
ICQ нет, и, в ближайшее время, не будет.