Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |