Академический Документы
Профессиональный Документы
Культура Документы
Оглавление
№ варианта Название
1. Карта оперпамяти 2-портового ПИКа PIC16F84/84A.
2. Карта оперпамяти 2-портового ПИКа PIC16F628/628A.
3. Карта оперпамяти 1-портового ПИКа PIC12F629.
4. Карта оперпамяти 1-портового ПИКа PIC12F675.
5. Карта оперпамяти 3-портового ПИКа PIC16F873.
6. Карта оперпамяти 3-портового ПИКа PIC16F873A.
7. Карта оперпамяти 5-портового ПИКа PIC16F874.
8. Карта оперпамяти 5-портового ПИКа PIC16F874A.
9. Карта оперпамяти 3-портового ПИКа PIC16F876.
10. Карта оперпамяти 3-портового ПИКа PIC16F876A.
11. Карта оперпамяти 5-портового ПИКа PIC16F877.
12. Карта оперпамяти 5-портового ПИКа PIC16F877A.
13. Карта оперпамяти 2-портового ПИКа PIC16F630.
14. Карта оперпамяти 2-портового ПИКа PIC16F676.
15. Карта оперпамяти 3-портового ПИКа PIC16F631.
16. Карта оперпамяти 3-портового ПИКа PIC16F677.
17. Карта оперпамяти 3-портового ПИКа PIC16F685.
18. Карта оперпамяти 3-портового ПИКа PIC16F687.
19. Карта оперпамяти 3-портового ПИКа PIC16F689.
20. Карта оперпамяти 3-портового ПИКа PIC16F690.
В любом типе ПИКа (и вообще в любом микроконтроллере) есть так называемая область
оперативной памяти (сокращённо - область оперпамяти или оперпамять), состоящая из N-ячеек
оперпамяти, каждая из которых имеет свой операдрес.
В любой из этих ячеек, если так можно выразиться, "лежит свой" регистр, содержимое
которого можно программно изменить (в том числе и многократно), а затем использовать (в том
числе и многократно) в соответствии с логикой конструкторского замысла.
То есть, в приложении к конкретному типу ПИКа, имеет место быть некий строго
определённый разработчиками "опернабор" регистров, к любому из которых, после
осуществления соответствующей "шапкопрописки" (эквивалентно "вводу регистра в эксплуатацию"),
можно адресно обратиться и, в соответствии с задумкой конструктора, изменить его
содержимое, а затем его прочитать (в том числе и многократно).
Слово "оперативная" означает то, что данные запоминаются, в такого рода памяти,
только в интервале времени наличия Uпит.
После выключения Uпит., данные, которые ранее были оперзапомнены, теряются (в
отличие от энергонезависимого EEPROM или Flash запоминания).
Регистры оперпамяти разделяются на 2 группы: регистры специального назначения
и регистры общего назначения.
Регистры спецназначения имеют строго определённые названия.
Каждый "рабочий" бит регистра спецназначения (в некоторых из них есть и "пустышные" биты)
исполняет строго определённую функцию, причём "в границах" того "набора"
функциональностей, которая задана разработчиками (это "прописано" в техдокументации).
В большинстве случаев, в программе задействуются (в смысле программных обращений к ним) не
все регистры спецназначения, а только их часть.
При этом нужно учитывать то, что после инициализации ПИКа (она сопровождается сбросом по
включению питания), а также по фактам иных видов сбросов, в значительной части битов
регистров спецназначения устанавливаются строго определённые состояния (например, см.
стр. 3-11 и 3-12 "Справочника по среднему семейству…").
Если "сбросовые настройки" битов части регистров спецназначения устраивают и
изменять их не нужно, то их и незачем программно изменять, а вот "программное
воздействие" на содержимое тех регистров спецназначения, от которых зависит
1
исполнение задумки конструктора (естественно, что не абы какое, а строго грамотное и по делу),
обязательно, а иначе задумке будет стопроцентный "Гитлер капут".
Соответственно, в идеале, нужно детально знать "настройки" всех регистров
спецназначения, а в реале, можно узнавать их постепенно/последовательно, по мере
возникновения соответствующих, практических необходимостей (опыт мастера приобретается
постепенно) .
Проще всего, в "шапке" программы, "оптово прописать" все регистры спецназначения,
подключив к проекту INC-файл того типа ПИКа, под который этот проект создан
(#include <***.inc>), только при этом нужно учесть синтаксис INC-файла (кстати, этот
синтаксис, в INC-файле, при желании, можно изменить так, как удобно конструктору) .
Регистры общего назначения - те ячейки оперпамяти (за исключением ячеек/регистров
спецназначения и "пустышек"), которые в наличии, но изначально не имеют названий.
Количество задействованных, в программе, регистров общего назначения и их названия
определяет/назначает программист.
Проще всего "прописать" регистры общего назначения (в "шапке" программы) так
(в автоинкрементном порядке):
S à регистры спецназначения,
O à регистры общего назначения,
- - à "пустышки" (это не менял, а оставил как есть).
Регистры спецназначения.
Белая надпись на тёмно-сером фоне - регистры спецназначения, которые
отображаются во всех банках.
Чёрная надпись на жёлтом фоне - регистры спецназначения, которые
отображаются в 0-м и 2-м банках.
Белая надпись на красном фоне - регистры спецназначения, которые
отображаются в 1-м и 3-м банках.
Чёрная надпись на светло-синем фоне - регистры спецназначения, которые
отображаются только в 0-м банке.
Чёрная надпись на зелёном фоне - регистры спецназначения, которые
отображаются только в 1-м банке.
Белая надпись на фоне цвета хаки - регистры спецназначения, которые
отображаются только во 2-м банке.
Белая надпись на синем фоне - регистры спецназначения, которые
отображаются только в 3-м банке.
Регистры общего назначения.
"Незакрашенные" (белый фон) ячейки - регистры общего назначения, которые
отображаются во всех банках.
2
Светло-зелёные ячейки - регистры общего назначения, которые отображаются
в 0-м и 2-м банках.
Светло-жёлтые ячейки - регистры общего назначения, которые отображаются
в 1-м и 3-м банках.
Светло-серые ячейки - регистры общего назначения, которые "работают в границах"
одного банка (не отображаются в других банках).
Общее.
Фиолетовым фоном помечены "пустышные" (нерабочие) ячейки оперпамяти
(обращаться к ним не имеет смысла).
Примечание: регистр INDF это физически нереализованный регистр (есть адрес, но нет содержимого), к которому, тем
не менее, можно программно обращаться.
3
1. Карта оперпамяти 2-портового ПИКа PIC16F84/84A.
Адрес 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0-й банк.
INTCON
INDF
TMR0
FSR
PORTA
PORTB
PCL
EEDATA
EEADR
PCLATH
STATUS
00
10
20
30
40
50
60 Не задействуются.
70
1-й банк.
FSR
TRISA
TRISB
INTCON
INDF
PCL
OPTION_R
PCLATH
STATUS
EECON1
EECON2
80
90
A0
B0
C0
D0
E0 Не задействуются.
F0
4
190
170
160
150
140
130
120
110
070
060
050
040
030
020
0F0
1F0
1E0
0E0
1D0
1C0
1B0
1A0
0D0
0C0
0B0
0A0
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
5
07
CCP1CON
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
TXSTA RCSTA
09
Не задействуются.
Не задействуются.
Не задействуются.
SPBRG TXREG
0A
EECON2
0E
PCON TMR1L
0F
INTCON
INDF
TMR0
PIR1
TMR1L
FSR
GPIO
TMR1H
PCL
PCLATH
STATUS
00
CMCON
T1CON
10
20
30
40
50
60
Не задействуются.
70
1-й банк.
FSR
INTCON
PCON
INDF
PCL
PIE1
OPTION_R
TRISIO
PCLATH
STATUS
80
WPU
IOCB
VRCON
EEADR
EECON
EEDATA
EECON1
OSCCAL
90
A0
B0
C0
D0
E0
Не задействуются.
F0
7
4. Карта оперпамяти 1-портового ПИКа PIC12F675.
Отличие PIC12F675, от PIC12F629, заключается в том, что PIC12F629 не имеет модуля
АЦП, а PIC12F675 его имеет (соответственно, есть регистры спецназначения, которые им управляют:
ADRESH, ADRESL, ADCON0, ANSEL).
Адрес 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0-й банк.
TMR0
PIR1
FSR
GPIO
INTCON
TMR1H
INDF
PCL
TMR1L
PCLATH
STATUS
00
T1CON
CMCON
ADRESH
ADCON0
10
20
30
40
50
60
Не задействуются.
70
1-й банк.
INTCON
INDF
PIE1
FSR
TRISIO
PCON
PCL
OPTION_R
PCLATH
STATUS
80
WPU
ADRESL
ANSEL
IOCB
VRCON
EEADR
EECON
EECON1
OSCCAL
EEDATA
90
A0
B0
C0
D0
E0
Не задействуются.
F0
8
190
170
160
150
140
130
120
110
070
060
050
040
030
020
1F0
0F0
1E0
0E0
1D0
1C0
1B0
1A0
0D0
0C0
0B0
0A0
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
9
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
TXSTA RCSTA
Не задействуются.
Не задействуются.
09
SPBRG TXREG
0A
Адрес 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0-й банк.
TMR0
FSR
PORTA
PORTB
PORTC
PCLATH
INTCON
TMR1H
STATUS
INDF
PCL
PIR1
PIR2
TMR1L
000
CCP1CON
CCP2CON
T1CON
T2CON
CCPR1H
CCPR2H
TMR2
SSPBUF
SSPCON
ADRESH
ADCON0
RCSTA
TXREG
RCREG
CCPR1L
CCPR2L
010
020
030
040
050
060
070
1-й банк.
INTCON
INDF
PIE1
PIE2
FSR
TRISA
TRISB
TRISC
PCLATH
PCON
STATUS
PCL
OPTION_R
080
CMCON
CVRCON
SSPCON2
SSPSTAT
ADCON1
TXSTA
PR2
SSPADD
SPBRG
ADRESL
090
0A0
0B0
0C0
0D0
0E0
0F0
2-й банк.
FSR
PORTB
PCLATH
INTCON
EEDATA
EEADR
STATUS
INDF
TMR0
PCL
EEDATH
EEADRH
100
110 Не задействуются.
120
130
140
150
160
170
3-й банк.
FSR
TRISB
PCLATH
INTCON
STATUS
INDF
PCL
OPTION_R
EECON1
EECON2
180
190 Не задействуются.
1A0
1B0
1C0
1D0
1E0
1F0
11
12
190
170
160
150
140
130
120
110
070
060
050
040
030
020
0F0
1F0
1E0
0E0
1D0
1C0
1B0
1A0
0D0
0C0
0B0
0A0
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
13
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
Не задействуются.
Не задействуются.
SPBRG TRISE TXREG PORTE
0A
Адрес 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0-й банк.
TMR0
FSR
PORTA
PORTB
PORTC
PORTD
PCLATH
INTCON
TMR1H
STATUS
PORTE
INDF
PCL
PIR1
PIR2
TMR1L
000
CCP1CON
CCP2CON
T1CON
T2CON
CCPR1H
CCPR2H
TMR2
SSPBUF
SSPCON
ADRESH
ADCON0
RCSTA
TXREG
RCREG
CCPR1L
CCPR2L
010
020
030
040
050
060
070
1-й банк.
INTCON
INDF
PIE1
PIE2
FSR
TRISA
TRISB
TRISC
TRISD
PCLATH
PCON
STATUS
TRISE
PCL
OPTION_R
080
CMCON
CVRCON
SSPCON2
SSPSTAT
ADCON1
TXSTA
PR2
SSPADD
SPBRG
ADRESL
090
0A0
0B0
0C0
0D0
0E0
0F0
2-й банк.
FSR
PORTB
PCLATH
INTCON
EEDATA
EEADR
STATUS
INDF
TMR0
PCL
EEDATH
EEADRH
100
110 Не задействуются.
120
130
140
150
160
170
3-й банк.
FSR
TRISB
PCLATH
INTCON
STATUS
INDF
PCL
OPTION_R
EECON1
EECON2
180
190 Не задействуются.
1A0
1B0
1C0
1D0
1E0
1F0
15
16
190
170
160
150
140
130
120
110
070
060
050
040
030
020
1F0
0F0
1E0
0E0
1D0
1C0
1B0
1A0
0D0
0C0
0B0
0A0
180
100
090
080
010
000
Адрес
00
17
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
TXSTA RCSTA
09
SPBRG TXREG
0A
Адрес 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0-й банк.
TMR0
FSR
PORTA
PORTB
PORTC
PCLATH
INTCON
TMR1H
STATUS
INDF
PCL
PIR1
PIR2
TMR1L
000
CCP1CON
CCP2CON
T1CON
T2CON
CCPR1H
CCPR2H
TMR2
SSPBUF
SSPCON
ADRESH
ADCON0
RCSTA
TXREG
RCREG
CCPR1L
CCPR2L
010
020
030
040
050
060
070
1-й банк.
INTCON
INDF
PIE1
PIE2
FSR
TRISA
TRISB
TRISC
PCLATH
PCON
STATUS
PCL
OPTION_R
080
CMCON
CVRCON
SSPCON2
SSPSTAT
ADCON1
TXSTA
PR2
SSPADD
SPBRG
ADRESL
090
0A0
0B0
0C0
0D0
0E0
0F0
2-й банк.
FSR
PORTB
PCLATH
INTCON
EEDATA
EEADR
STATUS
INDF
TMR0
PCL
EEDATH
EEADRH
100
110
120
130
140
150
160
170
3-й банк.
FSR
TRISB
PCLATH
INTCON
STATUS
INDF
PCL
OPTION_R
EECON1
EECON2
180
190
1A0
1B0
1C0
1D0
1E0
1F0
19
20
190
170
160
150
140
130
120
110
070
060
050
040
030
020
0F0
1F0
1E0
0E0
1D0
1C0
1B0
1A0
0D0
0C0
0B0
0A0
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
21
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
Адрес 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0-й банк.
TMR0
FSR
PORTA
PORTB
PORTC
PORTD
PCLATH
INTCON
TMR1H
STATUS
PORTE
INDF
PCL
PIR1
PIR2
TMR1L
000
CCP1CON
CCP2CON
T1CON
T2CON
CCPR1H
CCPR2H
TMR2
SSPBUF
SSPCON
ADRESH
ADCON0
RCSTA
TXREG
RCREG
CCPR1L
CCPR2L
010
020
030
040
050
060
070
1-й банк.
INTCON
INDF
PIE1
PIE2
FSR
TRISA
TRISB
TRISC
TRISD
PCLATH
PCON
STATUS
TRISE
PCL
OPTION_R
080
CMCON
CVRCON
SSPCON2
SSPSTAT
ADCON1
TXSTA
PR2
SSPADD
SPBRG
ADRESL
090
0A0
0B0
0C0
0D0
0E0
0F0
2-й банк.
FSR
PORTB
PCLATH
INTCON
EEDATA
EEADR
STATUS
INDF
TMR0
PCL
EEDATH
EEADRH
100
110
120
130
140
150
160
170
3-й банк.
FSR
TRISB
PCLATH
INTCON
STATUS
INDF
PCL
OPTION_R
EECON1
EECON2
180
190
1A0
1B0
1C0
1D0
1E0
1F0
23
24
13. Карта оперпамяти 2-портового ПИКа PIC16F630.
Адрес 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0-й банк.
INTCON
INDF
TMR0
PIR1
TMR1L
FSR
PORTA
PORTC
TMR1H
PCL
PCLATH
STATUS
00
CMCON
T1CON
10
20
30
40
50
60
Не задействуются.
70
1-й банк.
FSR
TRISA
TRISC
INTCON
PCON
INDF
PCL
PIE1
OPTION_R
PCLATH
STATUS
80
WPUA
IOCA
VRCON
EEADR
EECON1
OSCCAL
EEDAT
EECON2
90
A0
B0
C0
D0
E0
Не задействуются.
F0
25
70
60
F0
90
80
50
40
30
20
10
00
E0
D0
C0
B0
A0
Адрес
00
OPTION_R
01
ANSEL TMR0
02
PCL PCL
03
STATUS STATUS
04
FSR FSR
05
IOCA
26
TRISC PORTC
1-й банк.
0-й банк.
06 07 08
09
Не задействуются.
Не задействуются.
VRCON CMCON
0A
EECON2
0E
0E0
1B0
1A0
0D0
0C0
0B0
0A0
170
110
070
060
050
040
0F0
190
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
TMR0 TMR0
02
27
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
VRCON
09
CM1CON0
0A
OSCCON TMR1H
1C0
1D0
1E0
1F0
1B0
1A0
0D0
0C0
170
110
070
060
050
040
030
020
0F0
0B0
0A0
190
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
TMR0 TMR0
02
29
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
VRCON
09
CM1CON0
0A
30
170
160
150
140
130
120
110
070
060
050
040
030
020
0F0
0E0
0D0
0C0
0B0
0A0
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
31
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
VRCON
09
CM1CON0
0A
PWM1CON
0C
SRCON
190
1A0
1B0
1C0
1D0
1E0
1F0
32
160
150
140
130
120
0E0
1A0
0D0
0C0
170
110
070
060
050
040
030
020
0F0
0B0
0A0
190
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
TMR0 TMR0
02
33
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
0F0
0E0
0D0
0C0
0B0
0A0
190
180
100
090
080
010
000
Адрес
00
OPTION_R OPTION_R
01
TMR0 TMR0
02
35
07
3-й банк.
2-й банк.
1-й банк.
0-й банк.
08
36
1D0
1C0
1B0
1A0
170
160
150
140
130
120
110
070
060
050
040
030
020
0F0
0E0
0D0
0C0
0B0
0A0
190
180
100
090
080
010
000
37
TRISC PORTC WDTCON TRISC CCP1CON PORTC
3-й банк.
2-й банк.
1-й банк.
38