Каюсь - читал, но не запомнил..Gudd-Head писал(а):пришлось фигачить на СИ
Да и все МК51 тут на форуме не особо распространены.. Может из-за того, что в основном котята на форуме..Gudd-Head писал(а):СиЛабами тут практически никто не работает.
Каюсь - читал, но не запомнил..Gudd-Head писал(а):пришлось фигачить на СИ
Да и все МК51 тут на форуме не особо распространены.. Может из-за того, что в основном котята на форуме..Gudd-Head писал(а):СиЛабами тут практически никто не работает.
Но зато спасибо вам — я узрел что у СиЛаба есть МК в паябельных корпусах со скоростью до 100 MIPS!!! В отличае от АВРа, где всего 16-20 МГц у Тини-Мега и до 32 МГц у ХМега.МитяРа писал(а):Да и все МК51 тут на форуме не особо распространены.. Может из-за того, что в основном котята на форуме..
Если на то пошло, то мне не на много большего и надо: только сохранить значение с порта в оперативке. Сколько тактов это займёт и какими командами???МитяРа писал(а):Вот например, на МК51 мя выдам на линию порта меандр затратив 4 байта памяти программ и написав две строчки на АСМе..
Какое ОЗУ имеется ввиду?Gudd-Head писал(а):в ОЗУ
если имелось ввиду генерирование меандра в программном цикле, то для AVR это тоже потребует 2 команды и 4 байтаМитяРа писал(а):Вот например, на МК51 мя выдам на линию порта меандр затратив 4 байта памяти программ и написав две строчки на АСМе..
Сколько для такой-же задачи понадобится ресурсов в AVR с его"кастрированным" битовым процессором - мя не знаю..
Код: Выделить всё
M1: SBI PINB, 1
RJMP M1Встроенное в МК.МитяРа писал(а):Какое ОЗУ имеется ввиду?
Верно.. Только надо будет уточнить по поводу "шустрости" внутреннего ОЗУ..Gudd-Head писал(а): использовать команду MOVX с определёнными настройками регистра External Memory Configuration.
Код: Выделить всё
SBI PINB, 1команда SBI PORT, BIT устанавливает в порту ввода-вывода PORT заданный бит BIT в единицу.МитяРа писал(а):что в AVR делает команда:Код: Выделить всё
SBI PINB, 1
Можно я отвечу?МитяРа писал(а):Мастер Ломастер, а что в AVR делает команда:Код: Выделить всё
SBI PINB, n
Если 256 байт, то можно использовать страничные пересылки, но по тактам будет тоже самое..Gudd-Head писал(а):если сохранять только 256 байт, то можно сократить на 1 такт за счёт простого инкремента одного байта.
Мастер Ломастер писал(а):команда SBI PORT, BIT устанавливает в порту ввода-вывода PORT заданный бит BIT в единицу.
Единицу выставили - хорошо, а ноль кто выставлять будет?Gudd-Head писал(а):Команда записывает в разряд n лог. "1" защёлки считывателя порта В, тем самым опрокидывая выходной буфер.
Эта команда (именно SBI PINX, n) как раз инвертирует (опрокидывает) выходной уровень, т.к. мы пишем не в регистр выходного буфера PORTХ, а во входной — PINX. По сути, это полный аналог CPL bit, но только к портам ввода-вывода.МитяРа писал(а):Единицу выставили - хорошо, а ноль кто выставлять будет?
У 51-го есть команда инвертирования бита, CPL bit
http://www.gaw.ru/html.cgi/txt/doc/micr ... /movx_.htmМитяРа писал(а):Поправлю: movx A, @dptr - 3 такта..
Это ты для "классики" смотришь, где 1 цикл=12тактов кварца..Gudd-Head писал(а):Пишут, что два
Кстати да, совсем забыл про неёМитяРа писал(а):В книжке у Николайчука написано - 3 такта..
Программно. Запускал соотв. битом, считывал — по флагу прерыванияМитяРа писал(а):Слушай, вот ты когда с АЦП прогу писал, ты как его запускал/считывал, по таймеру или программно?
Значит программно..Gudd-Head писал(а):.е. в тексте проги тупо зависал пока не появится флаг готовности.
Да.МитяРа писал(а):Т.е. сначала устанавливал бит запуска, а потом ждал готовности данных - да?
Вот и хотелось это расчётами подтвердить, но пока не получается..Gudd-Head писал(а): написано до 500 тыс. выборок в сек. Разве не так?
Ооочень хороший вопросМитяРа писал(а):Если использовать внутренний VREF=Ucc=3.3V, то кака защитить входа от высокого напряжения..
Сначала хотел, как обычно диодами на Ucc, но это будет уже больше опорного..