
Программа на языке ассемблера микроконтроллераAtmelAt4414.
// Начальные установки
movPC,#FFh//PCнастраиваем на ввод
movPD,#00h// Выключение светодиодов
movPB,#07h// Начальные значения портаPB
// SA<-1 SB<-1 R<-1 C<-0
clr PB.2
setbPB.2 // Сброс регистра
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#01h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
clr PB.1 // SB=0
setb PB.0 // SA=1
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#02h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
setb PB.1 // SB=1
clr PB.0 // SA=0
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#04h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
clr PB.1 // SB=0
clr PB.0 // SA=0
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#08h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
setb PB.1 // SB=1
setb PB.0 // SA=1
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#11h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
clr PB.1 // SB=0
setb PB.0 // SA=1
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#22h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
setb PB.1 // SB=1
clr PB.0 // SA=0
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#44h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
clr PB.1 // SB=0
clr PB.0 // SA=0
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#88h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
clr PB.1 // SB=0
clr PB.0 // SA=0
setbPB.3
clrPB.3 // Одиночный импульс наC
mova,PC// Считывание результата изPC
xrla,#10h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
clrPB.2
setbPB.2 // Одиночный импульс наR
mova,PC// Считывание результата изPC
xrla,#00h// Сравнение с эталоном
jnzERR// Если не совпал, то ошибка
setb PD.0 // Все проверки пройдены
jmp END // Зажигается зелёный светодиод
:ERR setb PD.1 // Найдена ошибка
//Зажигается красный светодиод
:END NOP
Заключение
По мере выполнения работы над курсовиком я познакомился с архитектурой микроконтроллера Atmel AT4414 и его системой команд, научился рисовать схему подключения микросхемы и элементов индикации (светодиодов) к выбранным портам микроконтроллера, программно задавать направление работы портов и обеспечить выдачу тестовых воздействий приём и проверку сигналов состояния микросхемы.