The 8051 is a Harvard architecture, single chip microcontroller (µC) which was developed by Intel in 1980 for use in embedded systems. The 8051 family of microcontrollers and derivatives continue to remain popular with a vast community of hobbyists and professionals.
11 ответов

Раскрытие ассемблера языка кода спагетти

Я унаследовал программу из 10 тысяч строк, написанную на ассемблере 8051, которая требует некоторых изменений. К сожалению, это написано в лучших традициях кода спагетти. Программа, написанная в виде одного файла, представляет собой лабиринт операто…
11 июн '09 в 20:48
1 ответ

Как сохранить 32-битную целочисленную переменную в чистом C на 8051 uC

Я пытаюсь написать какую-нибудь программу на 8051 ° C на C. Проблема в том, что самое длинное целое число равно 16 битам. Можно ли создать мою собственную 32-битную целочисленную переменную без знака? Конечно, он должен поддерживать все операции, та…
07 авг '12 в 22:10
1 ответ

C для инфракрасного датчика температуры с микроконтроллером 8051?

Всем, кому нужна большая помощь, всем, кому нужно знать, как использовать инфракрасный датчик температуры с микроконтроллером 8051. Я очень благодарен, если вы можете поделиться кодом C я использую номер датчика MLX90614ESF-BAA Спасибо огромное
21 авг '12 в 17:44
1 ответ

Что именно представляет собой код startup.A51, включенный в Keil IDE для 8051?

Когда я создаю новый проект в Keil uVision, он спрашивает меня о добавлении кода запуска, т.е. startup.A51. На что я нажимаю на НЕТ Тем не менее, когда я иду к отладке, я вижу, что он потребляет 389 состояний. Мне любопытно узнать, что содержится в …
01 июл '16 в 18:06
0 ответов

Как объединить эти три ASM в один ASM?

ASM01 ASM02 ASM03 Как объединить эти три Asm в один Asm Используется на Atmel 8051, спасибо всем!
21 июн '18 в 15:37
2 ответа

Вызов процедур сборки из исходного кода c в keil ide

У меня есть процедуры задержки для микроконтроллера 8051 на языке ассемблера. Я могу использовать их в программах на языке ассемблера, но я хочу использовать эти процедуры на языке c, поскольку они создают идеальную задержку для меня. Код для задерж…
27 сен '12 в 14:34
1 ответ

printf для p89v664 печатает ненужные символы с реального микроконтроллера

Я пытаюсь напечатать сообщение на последовательном терминале от p89v664, используя следующий код, #include<P89V66x.H> #include<stdio.h> char putchar(char c) { if (c == '\n') { while (!TI); TI = 0; S0BUF = 0x0d; } TI = 0; S0BUF = c; while…
19 май '13 в 05:10
1 ответ

Самоизменяющийся код 8051

Пусть p0.0 настроен на прием входов и что он включается только один раз с начальным значением 0f 0. Предполагая, что 8051 следует обычной архитектуре фон Неймана, как можно уменьшить количество циклов? Код является: BACK :JNB P0.0,SKIP DO_SOMETHING:…
13 мар '18 в 05:56
2 ответа

Почему в микроконтроллере Atmel 89C2051 не работает инструкция "acall"?

Я попробовал это с Keil-µVision и Asem-51, но они все еще подключают, что это синтаксическая ошибка. Вот мой код: acall subroutine1 . . . subroutine1: . . . ret
04 янв '11 в 10:55
0 ответов

C8051F340 флэш-чтение всегда 255

Я использую C8051F340 и сохраняю какое-то случайное число на своей флеш-памяти, проблемы, с которыми я сталкиваюсь сейчас, заключается в том, что если я сначала сотру, а потом напишу, а затем прочту, значение будет правильным. Но если я просто испол…
19 окт '16 в 02:53
2 ответа

Передача UART через прерывание на микроконтроллере 8051

Моя платформа - микроконтроллер c8051F120. Я хотел бы отправить (= TX) байтов через UART0 с использованием прерываний. Мой дизайн пока что следующий: #define UART0_TX_SIZE 16 char UART0_tx[UART0_TX_SIZE]; short UART0_tx_uart = 0; short UART0_tx_main…
02 сен '12 в 08:06
3 ответа

Нужен симулятор 8051 с компилятором 'c'?

Есть ли какой-нибудь симулятор 8051, который поставляется с компилятором 'c', чтобы я мог скомпилировать наш код на c и посмотреть результат?
21 май '11 в 17:42
0 ответов

Умножение двухбайтового числа на один байт в 8051

Как мне умножить номер двух байтов на один байт в 8051? Сначала в аккумуляторе введите число, равное 12–10 в шестнадцатеричной системе счисления, перенесите его в DPL. Рассчитайте двухбайтовое число как разность двух двухбайтовых чисел 91 и 41, хран…
07 ноя '18 в 15:04
0 ответов

Обнаружение границ и сброс кругового указателя буфера в обоих направлениях

Я работаю с микроконтроллером 8051, но мой вопрос более специфичен для алгоритма. Я создал круговой буфер в памяти для случайных поступающих данных из внешних источников. Предположим, размер буфера составляет 32 байта, и я получил 34 байта данных. Д…
24 сен '18 в 01:56
1 ответ

Управление 4-значным 7-сегментным светодиодным интерфейсом MCU 8051

Возникла ошибка при чтении напряжения, отображаемого на 7-сегментном светодиоде. PCB была разработана другим человеком. Они не назначали 7-сегментные светодиодные выводы одному и тому же порту на MCU. Здесь я предполагаю, что код MCU правильный. Но …
29 авг '18 в 08:19
1 ответ

Байт и Бит адресуемые 8051

8051 SFR 'P0,SP, DPL & DPH' имеют свои байтовые адреса 80h,81h,82h,83h, поскольку P0 адресно-битный, P0.0 - P0.7 имеет битовые адреса 80h - 87h, Но как это будет отличать адреса P0.1(81h) & SP(81h), P0.2(82h) & DPL(82h), P0.3(83h) & …
16 фев '18 в 12:24
1 ответ

Последовательный порт микроконтроллера 8051 с использованием P0

У меня есть частичный код для последовательной связи между 8051 и внешним устройством, но я не понимаю подпрограмму X00D6. Как программа выходит из цикла, потому что код устанавливает R7 в FF, а затем сравнивает с 0?? Что делает установка P0 на #10,…
25 мар '16 в 22:07
0 ответов

Keil C51 Невозможно использовать пустое место в CODE MEMORY

Во время моей работы я столкнулся с проблемой нехватки свободного места в Code Banks. Поэтому я переставлял файлы из одного банка кодов в другой и заметил, что CODE MEMORY имеет разрыв в 332 байта из-за раздела LINK MAP OF MODULE файла *.m51. Это им…
23 авг '18 в 09:06
0 ответов

Как мне использовать мобильное управление 8051 в С

Мне нужно использовать мой мобильный светодиод с AT89S51. Я использую Bluetooth (HC-05) и PNP(9012). моя мобильная программа из приложения App Inventor, это приложение может управлять автомобилем Bluetooth. но мобильный не может управлять светодиодо…
15 ноя '15 в 07:24
2 ответа

Как я могу улучшить эти инструкции по арке 8051?

Я записываю в память несколько адресов и мне нужно оптимизировать код. Есть лучший способ сделать следующее? SETB 00h SETB 01h SETB 02h SETB 03h SETB 04h SETB 05h SETB 06h SETB 07h
27 июл '10 в 00:48