
- •Программирование микроконтроллерных систем.
- •Лабораторная работа № 1. Система команд мк pic16с877.
- •Краткие теоретические сведения и методические указания.
- •Семейство pic16cxx
- •Hабор регистров pic
- •Регистры общего hазhачеhия
- •Специальhые регистры w, intcon, option
- •Hабор комаhд pic
- •Специальhые комаhды
- •Выполнение работы.
- •Требования к содержанию отчета.
- •Контрольные вопросы.
- •Адреса регистров ram (00..7f банк 0, 80..Ff банк 1)
- •Формат регистров.
- •Система команд pic16c74. Байтовые операции
- •Битовые операции
- •Константы и переходы
Выполнение работы.
1. В текстовом редакторе в файле Lab1.asm заменить фрагмент программы от метки Beg1 до метки End1 на заданный вариант, указав в поле комментария динамику изменения содержимого аккумулятора W и ячеек 20,21,22,23 в процессе выполнения программы.
2. Запустить трансляцию программы Lab1.asm командным файлом Asm.bat вида
mpasm lab1.asm
В результате трансляции создаются файлы Lab1.lst и Lab1.hex. Если транслятор выдает сообщение об ошибках, просмотреть файл Lab1.lst и устранить ошибки в файле Lab1.asm.
3. В файле Param.txt вида
p Lab1.hex
проверить и отредактировать (если необходимо) параметры загрузки – номер Com-порта и имя hex-файла. Запустить программу загрузки PC9600.exe. При появлении запроса " press reset " нажать на тренажере кнопку сброса. По окончании загрузки нажать клавишу Esc.
4. Запустить программу Lab1.exe. При нажатии любой клавиши (кроме
пробела) в тренажер передается по последовательному каналу код нажатого символа и принимается из тренажера содержимое ячеек ОЗУ 20,21,22,23,24. Если полученные данные не совпадают с данными в поле комментария - определить причину расхождения. Выход из программы Lab1.exe - при нажатии клавиши Esc.
Задание на лабораторную работу.
Вариант 1 Var1 movwf INDF rlf INDF,w addwf INDF,f iorwf INDF,f incf FSR,f decfsz Cnt,f goto Var1 |
Вариант 7 Var7 movwf INDF rlf INDF,w addwf INDF,f andwf INDF,f incf FSR,f decfsz Cnt,f goto Var7 |
Вариант 2 Var2 movwf INDF rrf INDF,w addwf INDF,f xorwf INDF,f incf FSR,f decfsz Cnt,f goto Var2 |
Вариант 8 Var8 movwf INDF rlf INDF,w subwf INDF,f iorwf INDF,f incf FSR,f decfsz Cnt,f goto Var8 |
Вариант 3 Var3 movwf INDF rlf INDF,w subwf INDF,f andwf INDF,f incf FSR,f decfsz Cnt,f goto Var3 |
Вариант 9 Var9 movwf INDF rlf INDF,w subwf INDF,f xorwf INDF,f incf FSR,f decfsz Cnt,f goto Var9 |
Вариант 4 Var4 movwf INDF rrf INDF,w addwf INDF,f iorwf INDF,f incf FSR,f decfsz Cnt,f goto Var4 |
Вариант 10 Var10 movwf INDF rrf INDF,w subwf INDF,f xorwf INDF,f incf FSR,f decfsz Cnt,f goto Var10 |
Вариант 5 Var5 movwf INDF rlf INDF,w addwf INDF,f xorwf INDF,f incf FSR,f decfsz Cnt,f goto Var5 |
Вариант 11 Var11 movwf INDF rrf INDF,w subwf INDF,f iorwf INDF,f incf FSR,f decfsz Cnt,f goto Var11 |
Вариант 6 Var6 movwf INDF rrf INDF,w addwf INDF,f andwf INDF,f incf FSR,f decfsz Cnt,f goto Var6 |
Вариант 12 Var12 movwf INDF rrf INDF,w subwf INDF,f andwf INDF,f incf FSR,f decfsz Cnt,f goto Var12 |