Правила языка C в однокристальном микрокомпьютере

искусственный интеллект задняя часть
Правила языка C в однокристальном микрокомпьютере

«Это 28-й день моего участия в ноябрьском испытании обновлений. Подробную информацию об этом событии см.:Вызов последнего обновления 2021 г."

Правила языка C в однокристальном микрокомпьютере

основная пунктуация

В C51 много знаков препинания.При написании программы обратите особое внимание на два момента

  1. Невозможно использовать метод ввода на китайском языке или метод ввода на английском языке, отличный от стандарта США, из других стран.
  2. Знак препинания, состоящий из двух символов без пробелов между ними.
image-20210926090128271

image-20210926090215521

image-20210926090239519

Ключевые слова языка C и пять основных утверждений

Язык C в основном состоит из пяти операторов: суждение, цикл, условный цикл, выбор и переход.

C51 содержит в общей сложности 32 ключевых слова и более десяти специальных ключевых слов C51.

32 ключевых слова

32 ключевых слова Роль ключевых слов
Ключевое слово 1:if Условные операторы
Ключевое слово 2:else Ветвь отрицания условного оператора (используется с if)
Ключевое слово 3:do Тело цикла оператора цикла
Ключевое слово 4:while Циклическая оценка оператора цикла
Ключевое слово 5:for конечное количество петель
Ключевое слово 6:switch для операторов switch
Ключевое слово 7:case ветвь инструкции switch
Ключевое слово 8:default другие ветки в операторах switch
Ключевое слово 9:break вырваться из текущей петли
Ключевое слово 10:goto безусловный переход
Ключевое слово 11:static объявить статические переменные
Ключевое слово 12:auto Объявить автоматические переменные, не записанные по умолчанию
Ключевое слово 13:const Объявите переменные только для чтения и сохраните константы в памяти
Ключевое слово 14:extern объявить переменные или функции в других файлах
Ключевое слово 15:char Объявить (8-битную) символьную переменную или возвращаемый тип функции
Ключевое слово 16:short Объявить (16-битную) короткую переменную или возвращаемый тип функции
Ключевое слово 17:long Объявить (32-битную) длинную переменную или возвращаемый тип функции
Ключевое слово 18:float Объявление (десятичной) переменной с плавающей запятой или типом возвращаемого значения функции
Ключевое слово 19:double Объявите переменную двойной точности с плавающей запятой или тип возвращаемого значения функции.
Ключевое слово 20:int Объявить целочисленную переменную или функцию
Ключевое слово 21:signed Объявление переменной или функции знакового типа
Ключевое слово 22:unsigned объявить переменную или функцию беззнакового типа
Ключевое слово 23:typedef Используется для псевдонимов типов данных
Ключевое слово 24:void Объявить функцию без возвращаемого значения или без параметров, без указателя типа
Ключевое слово 25:return Оператор возврата подпрограммы
Ключевое слово 26:struct объявить тип структуры
Ключевое слово 27:union объявить тип объединения
Ключевое слово 28:enum объявить тип перечисления
Ключевое слово 29:volatile Переменные, украшенные им, могут быть предотвращены компилятором для оптимизации.
Ключевое слово 30:register объявить регистровую переменную
Ключевое слово 31:continue завершить текущий цикл
Ключевое слово 32:sizeof Вычислить тип данных или длину переменной (то есть количество занятых байтов)

специальные ключевые слова

специальные ключевые слова Роль специальных ключевых слов
Ключевое слово 1:bit Объявите битовую переменную или функцию битового типа
Ключевое слово 2:sbit Объявить переменную с битовой адресацией
Ключевое слово 3:sfr Объявить регистр специальной функции (8 бит)
Ключевое слово 4:sfr16 Объявить регистр специальной функции (16 бит)
Ключевое слово 5:data Внутренняя память данных 8051 с прямой адресацией
Ключевое слово 6:bdata Внутренняя память данных 8051 с побитовой адресацией
Ключевое слово 7:idata Внутренние регистры данных 8051 с косвенной адресацией
Ключевое слово 8:pdata Внутренняя память данных с адресацией 8051 "Paged"
Ключевое слово 9:xdata Внешняя память данных 8051, внутри расширенного оборудования STC xdata может быть назначена случайным образом, если не присвоено значение
Ключевое слово 10:code 8051 программная память
Ключевое слово 11:interrupt Определить функцию входа в прерывание
Ключевое слово 12:reentrant определить функцию повторного входа
Ключевое слово 12:using Определение рабочего банка регистров 8051

Ключевые слова предварительной обработки микроконтроллера C51

Ключевые слова предварительной обработки микроконтроллера C51 Роль предобработки ключевых слов в микроконтроллере C51
Ключевое слово 1:# Пустая команда, никакого эффекта
Ключевое слово 2:#include содержит файл исходного кода
Ключевое слово 3:#define определить макрос
Ключевое слово 4:#undef Отменить определенный макрос
Ключевое слово 5:#if Скомпилируйте следующий код, если данное условие верно
Ключевое слово 6:#ifdef Если макрос уже определен, скомпилируйте следующий код
Ключевое слово 7:#ifndef Если макрос не определен, скомпилируйте следующий код
Ключевое слово 8:#elif Компилирует код, если #если заданное условие ложно, текущее условие истинно
Ключевое слово 9:#endif Завершает блок условной компиляции #if...#else
Ключевое слово 9:#error Остановить компиляцию с сообщением об ошибке

Константы MCU (не могут быть изменены)

После загрузки, когда микроконтроллер работает нормально, данные только для чтения сохраняются во флэш-памяти (ПЗУ) объемом 16 КБ после загрузки. В C51 он отмечен кодом ключевого слова, таким как подрежим точечной матрицы, шрифт цифровой трубки и важные параметры, представленные символом.

Например:code a = 5; //Определяем константу a, фиксированное значение 5 Код во флэш-ПЗУ эквивалентен жесткому диску компьютера.

Переменные MCU

Когда микроконтроллер работает нормально, данные, которые могут быть стерты и записаны в любое время, временно хранятся в 4096-байтовом регистре ОЗУ общего назначения.

Типы данных: bit (1 бит) char (8 бит) short (16 бит) long (32 бита) float (десятичный) int (16 бит или 32 бита)

Место для хранения: bdata (сохранить 8 байт, переменная битового типа) data (кэш первого уровня, 128 байтов включают 8 байтов bdata) idata (кэш второго уровня) pdata xdata (карта памяти)

Жизненный цикл: динамический (авто), статический (статический), внешний (внешний)

Область действия переменных: локальные переменные, используемые внутри функций, глобальные переменные между функциями.

image-20210926063701472

image-20210926070037134

Тип конструкции: Массив

Поставьте в очередь несколько констант или переменных одного типа и сохраните их последовательно, что представляет собой набор одномерных массивов.

Массивы используются как одиночные переменные или константы, такие как

тип данных -- позиция -- имя массива [длина массива]

unsigned char xdata a[3] = {255,100,8};
a[2]=0x55;//赋值给数组第三个数(编号2)
P3 = a[1];//取数组的第二个数(编号1)

Двумерный массив: расположите несколько одномерных массивов одного и того же типа в определенном порядке, а затем создайте коллектив высокого уровня, адреса следуют друг за другом.

тип данных -- позиция -- имя массива [двумерный] [одномерный]

char xdata Buffer[3][2]={{a,b},{c,d},{e,f}};
char a[] = "hello bit";//一维字符串

Для представления значения ASCII в строку следует добавить двойные кавычки.Например, указанный выше P3 = a[0], для запроса кода ASCII код h равен 0x68, а порт P3 равен 0x68;

Обратите особое внимание на разницу между RAM и ROM.

Оперативная память с произвольным доступом

ОЗУ -- оперативная память оперативная памятьНестабильность, отключение питания и потеря памяти

Человеческое объяснение:Оперативная память — это объем памяти, эквивалентный объему карты памяти.Чем больше объем оперативной памяти, тем больше программ может выполнять телефон.Чем быстрее вы можете открывать и переключать программы и тем меньше вы застреваете в запущенных играх и программах.

ПЗУ только 4 памяти для чтения

ПЗУ -- память только для чтенияНаписать один раз Прочитать несколько раз

**Объяснение человеческими словами: **ROM — это объем памяти машины, который эквивалентен памяти компьютера. Условно говоря, чем больше объем памяти, тем больше программ можно установить. Грубо говоря, функция эквивалентна на сд карту.

Тип конструкции: структура

Объедините разные типы данных в коллекцию в виде массива, чтобы сформировать новый тип данных.

Тип конструкции: Указатель

Указатель: используется для прямого чтения или изменения значений памяти.

Определение и назначение переменных-указателей

Указатель переменной:Начальный адрес переменной в памяти

указательная переменная:Используйте новую переменную для хранения адресов памяти других переменных

image-20210926150955756

Уведомление

Переменная-указатель — это адрес сохранения каких-то данных, тогда тип данных указателя должен соответствовать типу данных переменной

массив указателей

Массив указателей: набор нескольких переменных-указателей.

указатель массива

Указатель массива: первый адрес разных массивов в памяти.

указатель на многомерный массив

Указатель многомерного массива: для указания многомерных индексов