Консультация № 181238
12.12.2010, 03:53
87.00 руб.
0 6 1
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:нужно разработать алгоритм, и написать программу на языке Ассемблера
для микроконтроллера PIC16C84 URL >>

Обсуждение

давно
Посетитель
7438
7205
17.12.2010, 16:31
общий
это ответ
Здравствуйте, Sergio!
Вот Вам программа, решающая данную задачу.
Все просто: читаем, меняем младшие-старшие, пишем. Все!

Код:

LIST p=16C84

; Регистры общего назначения
STATUS EQU 03h ; статус
PORTB EQU 06h ; порт В

; Управляющие регистры портов ввода-вывода
TRISB EQU 86h ; для порта В

; Биты регистра STATUS
RP0 EQU 05h ; бит выбора страницы

org 00h ; начало исполняемого кода
GOTO START

; Основная программа
START
; Инициализация PORTB
MOVLW B'00001111' ; настройка порта В
BSF STATUS,RP0 ; выбор банка 1
MOVWF TRISB ; установка D0-D3 на ввод, D4-D7 на вывод
BCF STATUS,RP0 ; выбор банка 0
;

MAIN ;основной цикл
SWAPF PORTB,0 ;W = D0-D3 <-> D4-D7 порта B
ANDLW 0f0h ;сбросим млашие биты (бывшие старшие)
MOVWF PORTB ;отправляем обратно, чтобы зажечь/потушить
GOTO MAIN

END
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
7438
7205
17.12.2010, 16:33
общий
Мало информации дали. Ваше счастье, что были подобные вопросы...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
17.12.2010, 17:57
общий
Спасибо за помощь!!! А ещё вопрос а какой алгоритм для написанной программы??? И какую более подробную информацию нужно выкладывать в следующий раз??? С большим уважением!!!
давно
Посетитель
7438
7205
17.12.2010, 20:02
общий
Мало, хотя бы в том смысле, что из Вашего описания не видно, как управлять портом В, что есть старший банк, младший банк, что надо иницировать порт В на ввод/вывод...
Не забывайте, что указанный контролер не является очень известным, поэтому надо было дать максимум информации
А алгоритм очень простой:
1) Инициализация
2) W = PortB, Swap W (обмен тетрадами)
3) W = W and 0f0h
4) PortB = W
5) Goto 2
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
17.12.2010, 21:03
общий
Всё теперь понял на будущее буду знать!!! И последнее а не могли бы алгоритм как то с элементами блок-схемы оформить, а то что то саму идею алгоритма не могу понять!!!
давно
Посетитель
7438
7205
18.12.2010, 00:44
общий
Вот Вам алгоритм "с элементами блок-схемы"
Прикрепленные файлы:
7bdff861c89a19f04261f57db31781a4.doc
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа