Пт янв 13, 2017 18:07:13
clr A
movd A, P6 ;P6 копирую в младшую тетраду аккумулятора
swap A ;меняю местами тетрады аккумулятора
movd A, P7 ;P7 в младшую тетраду А
cpl A ; инвертирую полученный байт
outl P1, A ; вывожу байт в порт P1
retr ;выход из обработчика
Пт янв 13, 2017 22:02:21
Справочник писал(а):MOVD A,<источник> - считать порт микросхемы расширителя портов.
Описание: содержимое порта расширителя портов копируется в младшую тетраду аккумулятора. Старшая тетрада обнуляется. Команда не воздействует на флаги.
Пт янв 13, 2017 22:16:04
Пт янв 13, 2017 22:26:04
Пт янв 13, 2017 22:54:45
petrenko писал(а):В смысле "простым" ?
petrenko писал(а):А собственно чем Вам не нравится добавление команды XCHD A,@Ri
Сб янв 14, 2017 06:50:28
Сб янв 14, 2017 10:59:18
BOB51 писал(а):Мндя... mcs48... антиквариат... и весьма жесток к программисту...
Да и компиляторы на ассемблер добыть тяжко...
Лучше бы уж mcs51...
Сб янв 14, 2017 11:12:11
Сб янв 14, 2017 11:55:59
BOB51 писал(а):Преимущество применения связки mcs48+8243 в том, что часть команд аппаратно отрабатывается за счет того расширителя.
Сб янв 14, 2017 15:42:05
Сб янв 14, 2017 16:25:16
Сб янв 14, 2017 16:51:52
Голимый писал(а):Ничего против не имею ..
; убираем очистку clr A - это излишне
movd A, P6 ;порт P6 копируем в младший ниббл аккумулятора A - как и было
xchd A,@Ri ;но ( ! ) сохраняем в мл. ниббле регистра
movd A, P7 ;P7 в младший ниббл А
swap A ;вот только теперь меняем местами нибблы аккумулятора, так, чтоб значение P7 оказалось в старшем ниббле A
xchd A,@Ri ;а теперь сохранённое в регистре значение P6 - в младший ниббл A
;Ну дальше всё, как и было ...
cpl A ;
outl P1, A ;
retr ;
Ну так, кроме разширителя портов вр43 ,никто ж не запрещает в адресное пространство внешней памяти данных поместить хоть 64 порта типа 580вв55это суровая необходимость
Сб янв 14, 2017 17:03:50
petrenko писал(а):Ну тогда собственно вот так
petrenko писал(а):поместить хоть 64 порта типа 580вв55
petrenko писал(а):ps Кстати, где и почём покупали вр43 ?
Сб янв 14, 2017 17:16:08
Справочники ! Паки и паки справочники .Голимый писал(а):.. как управлять ВВ55 ..
Пн фев 06, 2017 13:58:33
Вт фев 07, 2017 04:01:08
petrenko писал(а):.. Справочники ! Паки и паки справочники ..
MOV A<-T ;
ANL A,00011111b ; нужны только 5 бит для 32 столбцов
RL A ; RL A ; RL A ; но подвинутые в старшую сторону
MOV R2<-A ; в битах 5 , 4 , 3 номер столбца символа, а в битах 7 и 6 номер символа
INC R3 ; смещение столбцов
ADD R3 ; добавляется, чтобы строка стала "бегущей"
OUTL P2<-A ; в 5 старших битах P2 номер столбца "дисплея" ( мл. 3 бита игнорируем )
ANL A,11000000b ; теперь нужны вообще только 2 бита
RL A ; RL A ; но подвинутые в младшую сторону
ADD A,32d ;
MOV R1<-A ; указатель на "экранную область" внутр.п.д.
MOV A<-R2 ;
RL A ; RL A ;
ANL A,11100000b ; в трёх старших битах номер столбца символа
ADD A,@R1 ; взяли из внутр.п.д. символ который отобразим
MOVP3 A<-@A ; взяли из 3ей.стр.пзу столбец символа
MOVD P7<-A ; SWAP A ; MOVD P6<-A ; вывели столбец в P7 и P6 *вр43
RETR ;
Вт фев 07, 2017 06:52:58
Вт фев 07, 2017 13:44:19
BOB51 писал(а):Для работы с ВПП и ВПД помимо ale используются разные стробы чтения.
petrenko писал(а):и можно даже "бегущую строку" организовать из светодиодных матриц 8*8
Вт фев 07, 2017 15:52:15
Голимый писал(а):С транслятором никаких проблем, нашел подходящий ассемблер аж 2013 года выпуска.
С книжками по ним все плохо.
Вт фев 07, 2017 18:21:17