addwf PCL,F ; сложить рег. W c PCL и переслать результат в PCL
retlw 0x3F ; возврат из подпрограммы с кодом символа ‘0’
retlw 0x06 ; возврат из подпрограммы с кодом символа ‘1’
retlw 0x5B ; возврат из подпрограммы с кодом символа ‘2’
retlw 0x4F ; возврат из подпрограммы с кодом символа ‘3’
retlw 0x66 ; возврат из подпрограммы с кодом символа ‘4’
retlw 0x6D ; возврат из подпрограммы с кодом символа ‘5’
retlw 0x7D ; возврат из подпрограммы с кодом символа ‘6’
retlw 0x07 ; возврат из подпрограммы с кодом символа ‘7’
retlw 0x7F ; возврат из подпрограммы с кодом символа ‘8’
retlw 0x6F ; возврат из подпрограммы с кодом символа ‘9’
retlw 0x77 ; возврат из подпрограммы с кодом символа ‘A’
retlw 0x7C ; возврат из подпрограммы с кодом символа ‘B’
retlw 0x39 ; возврат из подпрограммы с кодом символа ‘C’
retlw 0x5E ; возврат из подпрограммы с кодом символа ‘D’
retlw 0x79 ; возврат из подпрограммы с кодом символа ‘E’
retlw 0x71 ; возврат из подпрограммы с кодом символа ‘F’
Задание 2. Наберите текст подпрограммы перекодировки и сохраните его в файле с именем cross.asm в папке с вашим проектом.
3.5.8. Получите выходной hex-файл по методике, изложенной в п. 3.3.7, и загрузите его в память МК (тактовая частота процессора должна быть 4 МГц).
3.5.9. Проверьте работу МКУ, запустив проект на выполнение. Если на индикаторе появилась цифра 6, то все в порядке. При неправильной работе программы проверьте ее выполнение в пошаговом режиме по методике, изложенной в п. 3.3.9.
Задание 2 для самостоятельной работы. Используя схему МКУ, приведенную на рис. 4, разработайте программу, выполняющую следующий алгоритм. После включения питания микроконтроллера на индикатор выводится символ F, а затем он начинает мигать с частотой 1 Гц (подобно светодиоду в схеме на рис. 1). Текст программы сохраните в файле с именем ind2.asm в папке с вашими проектами. Проверьте правильность работы программы на открытом проекте ind.dsn.
Задание 3 для самостоятельной работы. Используя схему МКУ, приведенную на рис. 4, разработайте программу, выполняющую следующий алгоритм. После включения питания микроконтроллера на индикатор через каждую секунду выводятся последовательно символы от 0 до F, то есть все 16 значений из подпрограммы crosscode. Цикл вывода бесконечен. Текст программы сохраните в файле с именем ind3.asm в папке с вашими проектами. Проверьте правильность работы программы на открытом проекте ind.dsn.
Задание 4 для самостоятельной работы. Необходимо разработать МКУ, которое подсчитывает количество нажатий на кнопку и выводит это число на семисегментный индикатор. Принципиальная схема МКУ приведена на рис. 5. Для разработки МКУ создайте новый проект, выберите необходимые элементы и разместите их на схеме согласно рис. 5. Проект сохраните в файле с именем ind_but.dsn в вашей папке. Затем разработайте программу работы МКУ и сохраните ее в файле с именем ind_but.asm в вашей папке. Разработку программы можно вести в следующей последовательности. Для хранения числа нажатий на кнопку нужен регистр, назовите его, например, Number. В начале программы его нужно очистить и вывести 0 на индикатор. Затем программа должна ожидать в цикле, например, с именем wait1 нажатия кнопки. Если кнопка будет нажата, содержимое регистра Number надо увеличить на 1, затем переслать его содержимое в рабочий регистр W. Далее надо произвести перекодировку, получить семисегментный код числа и вывести его на индикатор. Теперь программа должна ожидать в цикле, например, с именем wait2 отжатия кнопки (размыкания ее контакта). Если это произойдет, то программа переходит опять на цикл ожидания нажатия кнопки wait1.
Получите hex-файл разработанной программы и загрузите ее в память МК. Проверьте правильность работы МКУ, нажимая кнопку не менее 20 раз.
4. Содержание отчета
Наименование и цель работы. Схемы МКУ и тексты программ всех заданий для самостоятельной работы (комментарии в программах обязательны!).
Рис. 5. Принципиальная схема МКУ для подсчета числа нажатий
на кнопку
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.