плин ...........я осознал что я сделал полную херню !!!!
у полодительных чисел же дополнительный код такойже как и само число =(((
дополнительный код только же у отрицательных чисел ...плин =(((
хотя.........
есть идейка использовать формулу 128+N
где N отрицательное число
хм............пойду попробую сделать
Скачал описание на S51-ю и вот что вычитал: если при программировании прошивается lock bit 1, то этот вывод автоматически при сбросе внутри микрухи сажается на GND..
Может тут собака порылась.. ты биты защиты прошивал при записи проги?
Тогда не понятно, почему он не работает с внутренней памятью..
Попробуй мою программу прошить и отпишись..
HDredA писал(а):Числа со знаком записанные в ячейках
Посмотри начало этой темы, если там не ответ на твой вопрос - пиши..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
HDredA писал(а):тоесть за что брать одну ячейку ??? два шестнадцатеричных слова ???
Ты-же написал:
HDredA писал(а):"Числа со знаком записанные в ячейках 30H-37H
Значит у тя есть массив чисел в ячейказ с адресами 30-37h, каждое число этого массива /байт/ нужно преобразовать и записать в ячейки 28-2Fh..
Ты-же и программу написал для массива однобайтных чисел, а сейчас почему-то решил читать не байт, а слово..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
начнем с того, что в программных кодах "свинтус" - не играйтесь с вывдом сброса - пусть стоит "по умолчанию"
и где это в 51х команда JMP nnnn ?!
либо длинный либо короткий (как это еще компилятор пропустил???)
подсоединение выводов ИС к питанию напрямую только к GND применима - на + требуется хотя-бы через 4,7кОма цепляться
завал фронтов - читайте и соблюдайте инструкцию по работе с осциллографом!
HDredA писал(а):
Ты-же и программу написал для массива однобайтных чисел, а сейчас почему-то решил читать не байт, а слово..
тоесть мне шас нужно еще проверку сделать на отрицательное число ...если отрицательное то преоьразовывать в доп код а если положительное то записать как есть ...в верном направлении я иду ?
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Alks_d писал(а):на P0 на первых пинах импульсы, на порт 1 выводятся единички...
А линии P0 опять забыл через 10кОм к питанию подтянуть?
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
МитяРа вставил в другую плату его (давно преподаватель собирал)...порт 0 успокоился...псена нет...но программу ни в какую не выполняет..
до этого в плате находился AT89C51.. выполнял прогу ( преподаватель не помнит уже что в нем)...но факт в том что по кнопке он умеет включать выклюючать светодиоды на плате..
слили тритоном с AT89C51 программу эту...залили на AT89S51 он ее не выполняет совсем..
мя с S51 совсем не работал, только с С и ни разу не было такого, что-бы программа не запускалась..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Стоит, но первый-то байт обрабатывается с произвольным СY..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
BOB51 писал(а):и где это в 51х команда JMP nnnn ?!
либо длинный либо короткий (как это еще компилятор пропустил???)
Не нашел к какому месту это замечание, но нормальный ассемблер (компилятор) сам заменяет {jmp "метка"} на наиболее подходящую к конкретному случаю команду ljmp, ajmp или sjmp.
МитяРа писал(а):Стоит, но первый-то байт обрабатывается с произвольным СY..
В приведенной HDredA программе CY абсолютно до лампочки, т.к. нигде не используется, также не надо нулить А. Я бы написал примерно так:
org 0
jmp start
start:
mov r0, #30h ; начало массива 1
mov r1, #28h ; начало массива 2
mov r3, #8 ; счетчик байт
one:
mov a, @r0 ; записать 1 значение в acc
jnb acc.7, plus ; проверяем старший бит аккумулятора
cpl a ; инверсия acc
inc a ; +1
plus:
mov @r1, a ; запись в массив 2
inc r0
inc r1
djnz r3, one ; цикл
end
IM1 писал(а):В приведенной HDredA программе CY абсолютно до лампочки, т.к. нигде не используется,
У него, как раз и использовался..
Но твой вариант - короче..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]