- •Программирование микроконтроллерных систем.
- •Лабораторная работа № 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.
-------------------------------
| |
---->|OSC1 CPU (W, PC) RB7-0|<===>
<----|OSC2 |
---->|MCLR# EPROM (4K*14) |
| |
<===>|RA5-0 RAM(192*8) RD7-0|<===>
| |
| USART SPI |
| |
<===>|RE2-0 ADC BTMR RC7-0|<===>
| |
| |
-----|VDD |
-----|VSS |
| |
-------------------------------
Рис.1 Ресурсы контроллера PIC16C74
Таблица 1.
Альтернативные функции контактов.
RA0/AN0 RC0/T1OSO/T1CKI RB0/INT RD0/PSP0
RA1/AN1 RC1/T1OSI/CCP2 RB1 RD1/PSP1
RA2/AN2 RC2/CCP1 RB2 RD2/PSP2
RA3/AN3/VREF RC3/SCK/SCL RB3 RD3/PSP3
RA4/T0CKI RC4/SDI/SDA RB4 RD4/PSP4
RA5/AN4/SS# RC5/SDO RB5 RD5/PSP5
RE0/RD#/AN5 RC6/TX/CK RB6 RD6/PSP6
RE1/WR#/AN6 RC7/RX/DT RB7 RD7/PSP7
RE2/CS#/AN7
Таблица 2.
Адреса регистров ram (00..7f банк 0, 80..Ff банк 1)
банк 0 банк1 банк 0 банк1
00 INDF INDF 80 10 T1CON - 90
01 TMR0 OPTION 81 11 TMR2 - 91
02 PCL PCL 82 12 T2CON PR2 92
03 STATUS STATUS 83 13 SSPBUF SSPADD 93
04 FSR FSR 84 14 SSPCON SSPSTAT 94
05 PORTA TRISA 85 15 CCPRIL - 95
06 PORTB TRISB 86 16 CCPR1H - 96
07 PORTC TRISC 87 17 CCP1CON - 97
08 PORTD TRISD 88 18 RCSTA TXSTA 98
09 PORTE TRISE 89 19 TXREG SPBRG 99
0A PCLATH PCLATH 8A 1A RCREG - 9A
0B INTCON INTCON 8B 1B CCPR2L - 9B
0C PIR1 PIE1 8C 1C CCPR2H - 9C
OD PIR2 PIE2 8D 1D CCP2CON - 9D
0E TMR1L PCON 8E 1E ADRES - 9E
0F TMR1H - 8F 1F ADCON0 ADCON1 9F
20 Зона A0 Зона.. пользователя пользователя
7F (банк 0) FF (банк 1)
Таблица 3
Формат регистров.
Регистр STATUS (адреса 03h, 83h)
биты имя сброс назначение
7 IRP 0 резерв (для косв.адресов 100h - 1FFh)
6-5 RP1-0 00 00..банк 0 01..банк 1
4 TO# 1 1..сброс, SLEEP, CLRWDT 0..сработал WDT
3 PD# 1 1..сброс, CLRWDT 0..SLEEP
2 Z 0 признак нуля
1 DC 0 десятичный перенос
0 С 0 перенос
Регистр OPTION (адрес 81h)
биты имя сброс назначение
7 RBPU 1 0..подтяжка RB0
6 INTEDG 1 0..спад INT 1..рост INT
5 T0CS 1 0..TMR0 от F/2 1..TMR0 от RA4
4 T0SE 1 0..рост RA4 1..спад RA4 (TMR0+)
3 PSA 1 0..TMR0 1..WDT (подкл.делителя К0)
2-0 111 К0 (000..1/2 111..1/256 for TMR0)
Регистр INTCON (адреса 0Bh, 8Bh)
биты имя сброс назначение
7 GIE 0 1..общее разреш прерыв
6 PEIE 0 1..разреш дополн прерыв
5 TOIE 0 1..разреш прер по TOIF
4 INTE 0 1..разреш прер INT
3 RBIE 0 1..разреш прер по измен RB.7-4
2 TOIF 0 флаг TMR0
1 INTF 0 флаг INT
0 RBIF x флаг измен RB.7-4
Регистр управления выдачи TXSTA (адрес 98h)
биты имя сброс назначение
7 CSRC 0 1..master 0..slave (синхрон.режим)
6 TX9 0 0..8 бит 1..9 бит
5 TXEN 0 1..разреш.выдачи
4 SYNC 0 0..асинхр.режим 1..синхр.режим
3 U не использ.
2 BRGH 0 1..повыш.асинхр.скорость
1 TRMT 0 1..сдвиг.регистр пуст
0 TX9D 0 9-й бит при выдаче
Регистр управления приема RCSTA (адрес18h)
биты имя сброс назначение
7 SPEN 0 1..разреш. USART
6 RX9 0 1..9 бит 0..8 бит
5 SREN 0 1..разреш.синхр.приема
4 CREN 0 1..разреш.асинхр.приема
3 0 не использ.
2 FERR 0 1..ошибка кадра
1 OERR 0 1..ошибка наложения
0 RX9D 0 9-й бит на приеме
Регистр флагов PIR1 (адрес 0Ch)
биты Имя Сброс Назначение
7-6 - 00 Не использ.
5 RCIF 0 Флаг приема USART
4 TXIF 0 Флаг выдачи USART
3 SSPIF 0 Флаг SPI
2 CCP1IF 0 Флаг CCP1
1 TMR2IF 0 Флаг TMR2
0 TMR1IF 0 Флаг TMR1
Регистр скорости SPBRG (адрес 99h)
Если загрузить в SPBRG число X, то скорость передачи в бодах
Baud = F / ( N * (X+1))
N=64..норм.скор. N=4..повыш.скорость F-частота кварца в герцах
Регистр выдачи TXREG (адрес 19h)
Регистр приема RCREG (адрес 1Ah)
Регистр результата АЦП ADRES (адрес 1Eh)
Регистр управления ADCON0 (адрес 1Fh)
биты имя сброс назначение
7-6 ADCS1-0 00 TAD (00..2/F 01..8/F 10..32/F 11..2-6 mcs)
5-3 СHS2-0 000 номер канала (0,1,...,7)
2 GO 0 1..пуск АЦП
1 0 не используется.
0 ADON 0 1..включ. АЦП
Время преобразования 10 TAD
Регистр выбора ADCON1 (адрес 9Fh)
биты имя сброс назначение
7-3 00000 не использ.
2-0 PCFG2-0 000 код выбора (000 - все входы аналоговые)
Приложение 2
Таблица 4.
