Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет УП Юрьев 2015.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
340.01 Кб
Скачать
  1. Программирование на языке Ассемблер mpasm

    1. Создание программ для микропроцессора на языке Ассемблер

;Раздел ввода дополнительных переменных

Anode

equ

portA;

К порту А подключены аноды индикаторов

Dcd

equ

portB;

К порту В подключены входы дешифратора

Wcopy

equ

0ch;

statuscopy

equ

Cdh;

fspcopy

equ

0fh;

Адрес ячейки, из которой данные выводятся на индикатор

Adrfig

equ

10h;

Fig1

equ

H’11’;

Записываются единицы

Fig2

equ

H’12’;

Записываются десятки

Fig3

equ

H’13’;

Записываются сотни

Fig4

equ

H’14’;

Записываются тысчячи

anodfig

equ

Ish;

Ячейка памяти, которая будет содержать копию кода выполнимого

;Раздел инициализации МК

Start

clrf

Anode;

Гасим индикатор включаем банк 1

bsf

Status,5;

clrf

trisA;

Настраиваем порт А на передачу

movlw

B’11110000’;

Выводы RB0-RB3 настроены на передачу, RB4-RB7 настроены на прием

movwf

trisB;

movlw

B’00000110’;

movwf

Option_reg;

Подключаем внутренюю нагрузку

bcf

Status,5;

Вернулись в банк 0

movlw

Fig1;

Записываем адрес в ячейку w

movwf

Adrfig;

movlw

B’00001000’;

Подаем 1 на анод

movwf

Arodfig;

bsf

Intcon,f(gie);

bsf

Intcon,s(toie);

;Подпрограмма обработки прерывания от таймера

Int

movwf

Wcopy;

movf

Status,w;

movwf

Status,copy;

movf

Fsr,w;

movwf

Fsrcopy

bcf

Intcon,toif;

clrf

Anode;

movfw

Adrfig;

movwf

Fsr;

movf

Indf,w;

movwf

dcd;

movfw

Arodfig;

movwf

Anode;

Высвечивается число

incf

Adrfig;

bsf

Status,c;

rrf

Anodfig;

btfss

Status,c;

goto

Endint;

movlw

B’00001000’;

movwf

Anodfig;

movlw

Fig1;

movwf

Adrfig;

Retfie