MSP430 - курс на обучение

И така, нека преминем към третия урок.

Между другото, поръчаният MSP430F247 дойде - ура! Междувременно свиквам, помислете за любимия ми MSP430F149.

Това е най-старият модел от семейството MSP430x1xx - крака и периферия на максимум. Кратка характеристика: - Тактова честота - до 8 MHz. - Три източника на часовник - един вътрешен и два външни. - 64 фута (в случай на QFP със стъпка 0,5 mm). - RAM - 2Kb. - ROM (тип FLASH) - 60 Kb. - EEPROM (EEPROM) - 256 байта. - 6 групи I/O портове (43 порта) - пет от 8 и една от 3 линии. - 16-битови таймери (2 броя, но много трудни). — 12-битов ADC, компаратор. —SPI, USART. —JTAG. —Хардуерен умножител (няма специална инструкция за умножение).

Ето вътрешната структура на семейството:

курс

Източникът на вътрешния часовник DCO (Цифрово контролиран осцилатор) е изграден върху RC верига и има честота от около 750 kHz (силно зависима от температурата). Външни източници: LFXT1 — работи в два режима: високочестотен (450 kHz… 8 MHz) и нискочестотен (оптимизиран за часовников кварц 32768 Hz). XT2 - Висока честота - 450 kHz до 8 MHz. Източникът на часовника се избира от софтуера. В този случай по подразбиране той работи на вградения. Ако се опитаме да свържем външен източник и не успеем, контролерът ще се върне да работи на вградения и няма да виси.

Регистрира се за кратко.R0- PC (брояч на програми) - брояч на програми.R1- SP (указател на стека) - указател на стека.Не забравяйте да инициализирате!R2- SR (статус регистър) - статус и контролен регистър. Съдържа основните флагове за състояние, както и флагове за управление на режимите на работа.R3- CG (constant generator) - постоянен генератор.R4..R15- само общи регистридестинация.

Емулираните инструкции са измислица на компилатора. В крайна сметка те ще бъдат заменени от някаква инструкция с определена комбинация от операнди. Например"NOP"се заменя с"MOV #0, R3". Ще говорим повече за постоянния генератор по-късно.

2. Формат на команда с думи и байтове.

Всички команди, с изключение на скоковете, поддържат както байт по байт достъп до операндите, така и дума по дума (2 байта). При писане на команда се задава знак за вида на повикването. Например:

3. Структура на паметта.

Първите три области на паметта в IAR се показват заедно като тип SFR - бъдете внимателни.

1. Регистриран. Препращане от/към регистър. Например:

Приложимо за източник и дестинация.

2. Индекс. Прехвърляне с помощта на регистър като указател и отместване.

Отместването(ата) идва след кода на командата, така че може да бъде 0..65535. Приложимо към източника и дестинацията.

3. Режим на знаци. Прехвърляне с изчисление на компенсиране от компютър.

Зверчето е по-хитро, но всъщност се оказва модификация на индексния режим. Тези. тази команда е еквивалентна

Приложимо за източник и дестинация.

Приложетесамокъм източника.

Приложетесамокъм източника.

7. Директен режим. Предстояща стойност.

Приложетесамокъм източника. По отношение на последния ред от примера, това трябва да се направи заcall, но не и заjmp.

Някои коментари по материала (така да се каже след).

Бележка 3. Регистрирайте компютър (известен още като R0). Увеличаването на програмния брояч (само с число, делимо на 2!) се случва в момента преди декодирането на командата, след извличането. Това означава, че в момента на изпълнение на командата броячът на командите сочи към следващатакоманда. Тези. код:

ще ни даде в R4 указател не към тази команда, а към следващата (в този случай +2).