Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.ssau.ru/files/education/metod_2/lofickii_mirokontrolery.pdf
Дата изменения: Tue Dec 9 17:26:38 2014
Дата индексирования: Mon Apr 11 02:33:31 2016
Кодировка:

Поисковые слова: п п п п п п п п п п п
« .. »

PIC16F87X

2007


« .. »

PIC16F87X
-

2007


004.382.7(075)

.. . .

PIC16F87X: . . . / . .. . ­ : - . . . -, 2007. 44 .

, PIC16F87X MICROCHIP. 210201 « ». .

© , 2005

2


1
PIC16F87X MICROCHIP : MICROCHIP PIC16F87X, MPLAB MPLAB-ID Demo Board. 1. PIC16F87X PIC16F87X: : - RISC ; - 35 ; - , ; - (4 ) , ; - 0 ­ 20 . : - 8192 14- , FLASH ( ); - 368 8- (); - 256 8- ( ). : - ( 14 ); - 8- ;
3


- WDT RC ; - ; - ; - 33 - ( A ­ 6 ; B, C, D ­ 8 ; E ­ 3 ; - - (25 ); - 0: 8- / 8- ; - 1: 16- / ; - 2: 8- / 8- ; - // (CCP): o 16- ( 12.5 ); o 16- ( 200 ); o 10- ; - 10- ; - MSSP: o / SPI; o / I2C; - - USART ; - 8- (PDP) ­RD, -WR, -CS; - (BOD). PIC16F788 .1.
4


. 1. PIC16F788

1.1. PIC16F7X 13- , 8в14 . 0000h, 0004h. (CALL GOTO) 11- , 2 . 2 PCLATH<4:3>. (CALL GOTO) PCLATH . 13- PC
5


, PCLATH<4:3> . .2.

.2.

1.2. , (SFR) . RP1 RP0 ( STATUS 6 5)
6


. : RP1:RP0 00 01 10 11 0 1 2 3

128 (7Fh). 32 8- . 96 . , , . PIC16F788 . 2. 1.3. - . . ­ , , 2. 1.4. PIC16F87X 8- 13- (. 3). . . . . 8 .
7


.3. PIC16F87X

2. PICmicro MPLAB-ID MICROCHIP. MPLAB-ID / , , . MPLAB-ID : MPLAB, , ; MPLAB, , ;
8


MPLAB-SIM , ; MPLAB ICE , ; MPLAB /// , ( ) , ; PRO MATE PICSTART plus, FLASH- . 2.1. MPLAB-ICD . (. 4): 1. . 2. . 3. . 4. .

. 4. MPLAB-ICD 9


Options > Development Mode, Tools , (. 5).

.5.

Tools MPLAB SIM PIC16F877. , , "SIM" "PI16F877". 2.2. ( , , ­ .HEX), , , . File > New, (. 6).

. 6 10


Yes (.7).

. 7.

. (. 8).

.8. 11


Add Node, (. 7), .ASM, . .asm OK. , .hex .asm. OK MPLAB-ICD , . 2.3. , File > Save As..., .asm OK. . 2.4. .asm. : listp=16f877 include c1 equ 0x0c ; c1 ­ 0x0c org 0x00 ; 0x00 nop reset goto start ; org 0x04 ; start movlw 0x09 ; movwf c1 ; loop incfsz c1, F ; ;
12


goto goto end

loop bug

; ;

, . MPASM with MPLINK and MPLIB User's Guide. . File > Save. 2.5. ( ) Project > Build All. . , "bug". , . "Build completed successfully". 2.6. Debug > Run > Reset. 0x00. Debug > Run > Step , . . Debug > Run > Run . Debug > Run > Halt, , .
13


2.7. MPLAB-ICD , . Window > File Registers, . , ( ) , Window > Watch Window > New Watch Window. , Window > Watch Window > Load Watch Window. , OK. (. 9).

. 9.

"Symbol:" `c1' Add. Close. , . Debug > Run > Halt . `movlw 0x09' (. 10).
14


. 10.

Break Point(s), , . Debug > Run > Reset , . , `c1' 0x00. , , `c1' 0x09. 3. · . · MPLAB-ID , . 2, .

15


2
- PIC16F87X : PIC16F87X, MPLAB MPLAB-ICD Demo Board. 1. - PIC16F87X PIC16F87X PIC16F873, PIC16F874, PIC16F876 PIC16F877, , -. PIC16F874 PIC16F877 33 - (6- PORTA, 8- PORTB, PORTC PORTD 3- PORTE), PIC16F873 22 (6- PORTA 8 PORTB PORTC). - ­ , , . - . . DS33023 "PICmicro Mid-Range Reference Manual". 1.1. - PORTA PORTA ­ 6- -, TRISA, . `1' ( , )
16


3- () . `0' TRISA . PORTA . , TRISA 3- . PORTA . , PIC16F87X RA4 . / TOCK1. . , , . 1.

.1. PORTA: ­ RA<3:0> RA<5>; ­ RA<4> 17


`0'. : BCF BCF CLRF STATUS, RP1 STATUS, RP0 PORTA

BSF STATUS, RP0 MOVLW 0x06 MOVWF ADCON1 MOVLW 0xCF MOVWF TRISA

; 0 ; PORTA `0' ; 1 ; ; POTRA ­ / ;RA<3:0> - ;RA<5:4> - ;TRISA<7:6> - `0'

1.2. - PORTB PORTB ­ 8- -, TRISB, TRISA, . PORTB . 2, , 3- "", . RB3, RB6 RB7 , , , -. RB<7:4>, , .
18


.2. PORTB: ­ RB<3:0> ; ­ RB<7:4>

1.3. - PORTC PORTC ­ 8- -, TRISC, . `1' ( , ) 3- () . `0' TRISC . PORTC . PORTC , TRISC. TRISC, . PORTC . 3.
19


.3. PORTC: ­ RC<7:5> RC<2:0>; ­ RC<4:3>

1.4. - PORTD POTRD TRISD PIC16F873 PIC16F876. PIC16F874 PIC16F877 PORTD ­ 8- , TRISD , TRISA, TRISB TRISC. PORTD 8- , PSPMODE (TRISE <4>) `1'. PORTD . 4. 1.5. - PORTE PORTE TRISE PIC16F873 PIC16F876. PORTE TRISE. PSPMODE<4> `1', RE0(-RD), RE1(-WR) RE2(-CS) PORTD. TRISE<2:0> `1'. ADCON1 PORTE . PORTE
20


. , `0'. PORTE . 5.

. 4. PORTD

.5. PORTE 21


- .6.

.6. TRISE (PSP) PIC16F873 PIC16F876. PORTD 8- , PSPMODE (TRISE<4>) `1'. PORTD , ­RD (RE0 ­ Inverced Read), -WR (RE1 ­ Inverced Write) ­ CS (RE2 ­ Inverced Chip Select). . 7.
22


.7. (PSP) 2.

· MPLAB-ICD Demo Board. · . · MPLAB-ICD, . · Options > Development Mode, Tools , (. 8). Tools MPLAB-ICD Debugger PIC16F877. , , "ICD" "PIC16F877", / (. 9).
23


.8.

. 9. /

`Minimum & Watch windows'. `Program'. Status: Wait for User command 0x00. Debug > Run > Step ( F7) , . Debug > Run > Run . Debug > Run > Halt.

24


3
10- : 10- PIC16F87X, MPLAB MPLAB-ICD Demo Board. 1. PIC16F87X - 10- PIC16F873 PIC16F876 ( RA<5> RA<3:0>) PIC16F874 PIC16F877 ( RE<2:0>, RA<5> RA<3:0>). , , 10 , VREF+ VREF-, (VREF+ VREF-)/1024 . VREF+ VREF- (VDD), ( VSS), RA2 RA3. ADCON0 ADCON1, PIC16F874 PIC16F877 1 2. . 3. - ADRESH ADRESL. : 1. : - PORTA PORTE , ADCON1 (. 1); - ADCON0 (. 2);
25


- , GO/DONE (ADCON0<2>). 2. ( ): - ADIF ( PIR1<6>); - `1' ADIE ( ADIE<6>); - `1' PEIE ( INTCON<6>); - `1' GIE ( INTCON<7>). 3. 20 . 4. , GO/DONE (ADCON0<2>). 5. ( GO/DONE) ( ). 6. ADRESH ADRESL.

. 1. ADCON0 26


. 2. ADCON1

.3. - PIC16F874 PIC16F877 27


2-34-5-6 ( ) 3-4-5-6. ADRESH ADRESL . 4.

. 4. -

10- ADCON0 - . . 1 TAD : - TAD = 2 Tosc; - TAD = 8 Tosc; - TAD = 32 Tosc; - RC-. Tosc ­ . 10- , 12 TAD. TAD 1,6 8 . RC- 2 ­ 6 . . 1
28


TAD Tad /Tosc.
1. Tad ( Tad, )

2. · MPLAB-ICD Demo Board (. 1). · . · MPLAB-ICD, . · , .

29


4
: TMR0, TMR1 TMR2, PIC16F87X, MPLAB MPLAB-ICD Demo Board. 1. TMR0 PIC16F87X TMR0 ­ 8- / 8- , , , . - TMR0 WDT . 1. TOCS (OPTION_REG<5>) TMR0 , .. ( 1/(4вTosc)). TMR0 . TOCS, TMR0 , RA4/TOCK1. ( ) TOSE ( OPTION_REG<4>=0, ). WDT TMR0 PSA (OPTION_REG<3>). , PS<2:0> OPTION_REG . 1.
30


. 1. - TMR0 1. 8- WDT TMR0 PS<2:0> 000 001 010 011 100 101 110 111 TMR0 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 WDT 1:1 1:2 1:4 1:8 1:16 1:32 1:64 1:128

31


2. TMR1 PIC16F87X TMR1 ­ 16- /, 8- (TMR1H TMR1L), . , , , ( ), , RC0 ( ). TMR1 , RC-, RC0 ­ RC1. - TMR1 . 2.

. 2. - TMR1

TMR1 T1CON, PIC16F874 PIC16F877 3. 16- ( FFFFh) TMR1IF PIR1<0> `1', 0000h.
32


. 3. TMR1

3. TMR2 PIC16F87X TMR2 ­ 8- , 8- PR2, -. , TMR2, `0' . - TMR1 . 4. (1/(4вTosc)) (1:1, 1:4 1:16), T2CKPS1 T2CKPS0 (T2CON<1:0>). TMR2 00h , PR2, 00h. PR2 FFh.
33


. 4. - TMR2

TMR2 4 ( 1:1 1:16) TMR2IF PIR1<1>. TMR2 TMR2ON (T2CON<2>) `0'. T2CON . 5.

. 5. TMR1 34


4. PIC16F87X PIC16F87X 14 . INTCON , . GIE (INTCON<7>) `1', . `0'. INTCON, , , GIE, . REFIE `1'. , 0004h. , INTCON, PIE1 PIE2. , GIE. INTCON, PIE1 PIE2 . 6, 7, 8. 5. · MPLABICD Demo Board (. 1). · . · MPLAB-ICD, . · , .

35


. 6. INTCON

36


. 7. / PIE1

37


. 6. / PIE2

38


1 MPLAB-ICD Demo Board

39


. 1

40


2

41


. 2

42


. 2

43


PIC16F87X .

. . . . 25. 05.07 . 6084 1/16. . . . . . 2,75. 150 . . . -38/2007. . 443086 , , 34. . 443086 , , 34. 44