Программа на языке ассемблера микроконтроллера mc68hc11e9.
Portb:equ$1004
Portc:equ$1003
Porte:equ$100A
Org $С000
; Начальные установки
LDAA#00
STAAPortb; в портBнаправляем все 0
; P1<-0A1<-0B1<-0P2<-0A2<-0B2<-0
BCLRPortc,#2 ; Выключение светодиодаR
BCLRPortc,#1 ; Выключение светодиодаG
LDX#$0001 ; загрузка в индексный регистр адреса первого ;тестового слова
LDAA$00
STAA01 ; в ячейку памяти загрузить первый эталон через :регистр А
LDAA $09
STAA 02
LDAA $09
STAA 03
LDAA $05
STAA 04
LDAA $09
STAA 05
LDAA $05
STAA 06
LDAA $05
STAA07
LDAA$0F
STAA08 ;загрузили все свои Эталоны проверил в программе, ;работает грузится в память
LDY08; пересылаем в регистрYчисло равное кол-ву ТС
LDA#00 ;пересылаем в регистAпервое TC
LDB#00
NEXT:STAAPortb; пересылаем из регистраAтестовое слово в портB
CPXPorte; сравниваем содержимое портаE, где должны были ;получить эталон с самим эталоном причем адрес эталона находится в индексном ;регистре, сравниваем путём вычитания
BEQERR; если при вычитании пулучили значение отличное от нуля, ;то ошибка
INX; берём следующий эталон увеличив адрес на 1
INB; увеличиваем число в регистреBна 1 то есть берём следующее ТС
DEY
ABY;складываемBгде хранится 0 сY, если при сложении получился 1, не ;все тестовые слова перебраты и переходим ко следующему ТС
BEQEND2 ;получили значение равное нулю выходим из программы
JMPNEXT; переход к следующему ТС
END2 :BSETPortc,#$1 ;Ошибок не найдено устанавливаем 0 бит портаPC
jmpEND; Зажигается зелёный светодиод
ERR:BSETPortc,#$2 ; Найдена ошибка устанавливаем 1 бит портаPC
; Зажигается красный светодиод
End : wai ; остановка процесса Заключение
По мере выполнения работы над курсовиком я познакомился с архитектурой микроконтроллера Motorola MC68HC11E9и его системой команд, научился рисовать схему подключения микросхемы и элементов индикации (светодиодов) к выбранным портам микроконтроллера, программно задавать направление работы портов и обеспечить выдачу тестовых воздействий приём и проверку сигналов состояния микросхемы.