Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Прошиваю контроллер 80P552. Помогите с кодам ASM!


Автор: Xenia 16.4.2006, 23:21
Есть контроллер 80P552 фирмы Philips на отладочной плате EB-552. Очень нужна программа. С порта P1 разряды 1 2 3 4 считать информацию, выдать на P1 разряды 5 6 7 8 проинвертированный считанный код. Выполнять в цикле.
1) Порт P1 инициализировать(подготовить);
2) Считать информацию с первых 4-х разрядов;
3) Проинвертировать считанный код;
4) Выдать результат в тот же порт, но в другие четыре разряда. Делать это в бесконечном цыкле.

Заранее спасибо.
 

Автор: Hiehachi 16.4.2006, 23:47
если он x51 совместимый то могу помочь.

Добавлено @ 23:59 
        .org 0
        ajmp RESET


RESET:
       mov p1,#15 ; програмирование битов 1,2,3,4 на вход
       nop              ; пауза небольшая
       nop              ; эти 2 команды можно убрать
metka1:
       mov a,p1     ; считываем с порта P1
       swap a        ; меняем тетрады
       orl a,#15     ; устанавливаем младшие биты на вход
       mov p1,a     ; записываем изменения в порт
      ajmp metka1 ; циклим

Добавлено @ 00:02 
Соответствие входов на выходы:
1-5
2-6
3-7
4-8

Вообще все биты начинаются обычно с нулевого разряда. 

Автор: Xenia 17.4.2006, 02:13
Большое спасибо за помощь! 

Автор: Xenia 18.4.2006, 23:59
ORG 8000H
M0: MOV P1, #FF
M5: MOV R0, P1 
MOV A, R0
ADD A, #03h
CPL A
JZ <M1>
MOV R1, R0
MOV A, R1
ADD A, #01h
MOV A, R1
CPL A
JZ <M2>
MOV R1, R0
MOV A, R1
CPL A
JZ <M3>
MOV R1, R0
MOV A, R1
ADD A, #02H
CPL A
JZ <M4>
JMP M5
M1: END
M2: MOV P1, #AF
NOP
MOV P1, #FF
MOV P1, #1F
NOP
MOV P1, #FF
MOV P1, #5F
NOP
JMP M0
M3: MOV P1, #5F
NOP
JMP M0
M4: MOV P1, #5F
NOP
JMP M0

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)