Новичок
Регистрация: 02.03.2012
Сообщений: 193
Репутация: 13
|
Решил(пока только в протеусе) из матрици сделать что-то вроде графического дисплея. К матрице подключил PIC16f877 все работает, буквы выводил спокойно. Теперь нужно организовать передачу данных к этому пику например от таковоже. Вот часть программы:
PORTA=0b010110; PORTB=c; PORTC=d; for(i=0; i<100; i++) { i++; i--; } PORTA=0b010111; PORTB=RD; PORTC=b; for(i=0; i<100; i++) { i++; i--; } цикл for только для задержке. В трех случаях выводам на матрицу я присваиваю переменные а, в,с, d. Если я вручную пишу a=255 весь полустолбик загорается. Но нужно чтобы значение а присваивалось из порта d. В одном случае я пишу PORTB=RD; и ничего не происходит. А вот если PORTB=RD0; например то все работает, но ведь мне нужно из всего порта d инфо читать. Схема прилогается. |
||
Оценка
|
Новичок
Регистрация: 02.03.2012
Сообщений: 193
Репутация: 13
|
Ну что, никто не знает как обратится к 8 битам порта?
|
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 639
|
если выкладываете код - пользуйтесь кнопкой CODE (#) на панели инструментов
ну человек двадцать этого форума гарантированно знают как, дальше что? написать его за вас? или соизволите потратить 20-30 минут на изучение даташита разделы 3.4-3.5, чтобы не писать бред типа Код:
PORTB=RD или PORTB=RD0 ЗЫ хочешь получить нормальный ответ - выкладывай полный проект, а ни куски схемы и кода |
||
Оценка
|
Новичок
Регистрация: 02.03.2012
Сообщений: 193
Репутация: 13
|
Спасибо большое, все работает. Но почему так?
Если читать из порта D например я пишу RD0 или RD1 . Причем у pic16f877 читается только из порта D. (Писать TRISx=0b11111111 не забываю) Надо писать вместо RD0 PORTD0 так чтоли, тогда из всех портов читаться будет? |
||
Оценка
|
Новичок
Регистрация: 02.03.2012
Сообщений: 193
Репутация: 13
|
|
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |