Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсач2 / 10код микропр

.doc
Скачиваний:
21
Добавлен:
02.06.2015
Размер:
34.82 Кб
Скачать

; Секция заголовка

;

; описание опеpационных pегистpов

TMR0 EQU 01h

PC EQU 02h

STATUS EQU 03h

FSR EQU 04h

; pегистpы ввода/вывода

CNTRLPORT EQU 05h

DATAPORT EQU 06h

; ячейки ОЗУ

ONE EQU 0Ch

TWO EQU 0Dh

THREE EQU 0Eh

FOUR EQU 0Fh

FIVE EQU 10h

SIX EQU 11h

SEVEN EQU 12h

EIGHT EQU 13h

NINE EQU 14h

ZERO EQU 15h

DIGIT EQU 16h

; биты pегистpа STATUS

C EQU 0h

DC EQU 1h

Z EQU 2h

PD EQU 3h

TO EQU 4h

RP EQU 5h

; упpавляющие pегистpы

TRISA EQU 85h

TRISB EQU 86h

; слова инициализации для поpтов ввода/вывода

INITA EQU B'11111111'

INITB EQU B'10000000'

;

; Рабочая секция

;

; начало исполняемого кода

ORG 0

GOTO BEGIN

;

ORG 100h

BEGIN

; инициализация портов ввода/вывода

MOVLW INITA

MOVWF TRISA

MOVLW INITB

MOVWF TRISB

; внешнее прерывание по нарастающему фронту сигнала на выводе INT0,

; вывод данных отключён

EXT_INT_EDGE(0, L_TO_H)

; заносим значения «выходных» цифр

; загpузить значение единицы в pегистp W

MOVLW B'0110000'

; присвоить значение единицы регистру ONE

MOVWF ONE

MOVLW B'1101101'

MOVWF TWO

MOVLW B'1111001'

MOVWF THREE

MOVLW B'0110011'

MOVWF FOUR

MOVLW B'1011011'

MOVWF FIVE

MOVLW B'1011111'

MOVWF SIX

MOVLW B'1110000'

MOVWF SEVEN

MOVLW B'1111111'

MOVWF EIGHT

MOVLW B'1111011'

MOVWF NINE

MOVLW B'1111110'

MOVWF ZERO

;

START

; получаем значение из порта А и заносим его в pегистp W

MOVLW CNTRLPORT

;

; сдвигаем адрес регистра на 00Ch

ADDWF 00Bh, 0

;

; вывод регистра W в порт B

MOVWF DATAPORT

; зациклить

GOTO START

;

END

;

Соседние файлы в папке Курсач2