
- •СведенИя о процессоре pic16. Система команд Архитектура процессоров семейства pic16
- •Распределение областей памяти процессоров pic16
- •Система команд процессоров pic16
- •Программирование на Ассемблере
- •Синтаксис числовых значений в различных системах счисления
- •Практическая часть Процесс подготовки программ для процессоров pic16 Методические указания
- •Ход работы
- •Лабораторная работа № 1
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 2.
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 3.
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 4
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 5
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 6
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 7
- •Теоретические сведения
- •Ход работы
- •Лабораторная работа № 8
- •Теоретические сведения
- •Ход работы
- •Список литературы
Ход работы
1. Составить десятичное число в формате 1122,33, где 11, 22 и 33 – номера первых трех букв фамилии в русском алфавите.
А – 01 |
Б – 02 |
В – 03 |
Г – 04 |
Д – 05 |
Е – 06 |
Ё – 07 |
Ж – 08 |
З – 09 |
И – 10 |
Й – 11 |
К – 12 |
Л – 13 |
М – 14 |
Н – 15 |
О – 16 |
П – 17 |
Р – 18 |
С – 19 |
Т – 20 |
У – 21 |
Ф – 22 |
Х – 23 |
Ц – 24 |
Ч – 25 |
Ш – 26 |
Щ – 27 |
Ъ – 28 |
Ы – 29 |
Ь – 30 |
Э – 31 |
Ю – 32 |
Я – 33 |
Преобразовать полученное десятичное число в шестнадцатеричное и двоичное формата AABB,CC, где АА и BB старший и младший байты целой части соответственно, СС – байт дробной части.
Например, для фамилии Петров:
1706,2010 = 06АА,3316 = 0000 0110 1010 1010,0011 00112.
2.1. Вычислить сумму чисел АА и ВВ и указать значения признаков переполнения, переносов.
2.2. Вычислить разность чисел ВВ и СС, указать значения признаков заема для каждого бита, тип числа результата.
2.3. Вычислить разность чисел ВВ и СС, предварительно преобразовав СС в дополнительный код.
2.4. Вычислить значение логического выражения:
Q = NOT (АА OR BB AND CC)
3. Программа, текст которой приведен ниже, осуществляет загрузку чисел AA, ВВ и СС в регистры процессора и обеспечивает последовательное выполнение пп.2.1…2.4.
В программе необходимо заменить AA, ВВ и СС рассчитанными значениями в шестнадцатеричной системе счисления.
list p=16f77 ; указание типа процессора
include p16f77.inc ; подключение файла с описанием процессора
CBLOCK 0x20 ; объявления имен переменных
c_a ; переменная для хранения АА
c_b ; переменная для хранения ВВ
c_c ; переменная для хранения СС
c_r1 ; переменная для хранения результата операции п.2.1
c_r2 ; переменная для хранения результата операции п.2.2
c_r3 ; переменная для хранения результата операции п.2.3
c_r4 ; переменная для хранения результата операции п.2.4
ENDC
MOVLW 0хAA
MOVWF c_a
MOVLW 0хBB
MOVWF c_b
MOVLW 0хCC
MOVWF c_c
m_1 MOVF c_a, w ; п.2.1 – сумма АА и ВВ
ADDWF c_b, w
MOVWF c_r1
m_2 MOVF c_c, w ; п.2.2 – разность ВВ и CC
SUBWF c_b, w
MOVWF c_r2
m_3 COMF c_c, w ; п.2.3 – разность ВВ и CC
ADDLW 1
ADDWF c_b, w
MOVWF c_r3
m_4 MOVF c_a, w ; п.2.4 – расчет логического выражения
IORWF c_b, w
ANDWF c_c, w
MOVWF c_r4
COMF c_r4, f
m_end NOP
END
7. Выполнить компиляцию программы и проверить работу в пошаговом режиме.
8. Сопоставить результаты выполнения каждой команды и блоков программы с ожидаемыми и сделать соответствующие выводы.
9. Оформить протокол работы, включающий в себя исходные численные данные, а также таблицу, включающую текст программы с собственными данными, численные значения переменных после выполнения каждой команды и ожидаемый результат.
Программа |
Результат исполнения команды |
Численные значения переменных после выполнения команды |
||
РС |
W |
File |
||
…
m_1 MOVF c_a, w ADDWF c_b, w MOVWF c_r1
…
|
…
06 07 08
…
|
…
06 BO -
…
|
…
- - c_r1=BO
…
|
…
ВО
…
|