Professional Documents
Culture Documents
Micro Controller
Micro Controller
1105-5203
2548
6
1105-5203 75
2548
1.
2.
3.
1
1.1
1.2
1.3
1.4 PIC
1.5 PIC16F877
1.6
1.7
1.8
1
1
1
2
2.1
2.2 PIC
2.3 (PICBASIC Pro Compiler)
2.4 MicroCode Studio
2.5
2.6 PIC16F877
2.7
2
2
2
1
2
2
4
5
9
12
16
18
20
22
24
25
27
28
29
30
31
36
40
42
43
49
51
52
53
1.1
1.2
1.3
1.4 PIC16F627
1.5 PIC16F877
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14 PIC
1.15 PIC
1.16
1.17
1.18
1.19
1.20
2.1
2.2
2.3 PCDDEMO3
2.4
2.5
2.6 PICBASIC PRO
2.7
2.8
2.9
2.10
2
3
4
8
10
12
13
13
14
14
15
15
16
17
17
18
18
18
18
19
28
29
30
30
31
31
32
32
32
33
2.11 PICBASIC Pro
2.12
2.13
2.14
2.15 MicroCode Studio
2.16
2.17
2.18 PICkit2
2.19 PICkit2
2.20 PIC
2.21
2.22
2.23
2.24 PIC16F877
33
34
34
35
35
36
37
37
38
38
39
39
40
41
1.1 R C
1.2 R PIC
15
16
1.
2.
3.
4. PIC
5. PIC16F877
6.
7. PIC
8.
(Microcontroller)
1.
2.
3. PIC16F877
4. PIC16F877
5.
(1105-5203)
1.1
(Microcontroller)
1.2
2 (Von Neuman)
(Harvard Architecture)
1.1
1.1
(1105-5203)
PIC
RISC (Reduced Instruction Set Computer)
35
1.2
(: PROGRAMMING AND CUSTOMIZING THE PIC Microcontroller: 9)
1.2 (Instruction Decode)
(PC Stack)
FILO (First In Last Out)
(1105-5203)
1.3
EEPROM
1.3
(: PIC16F628: 7)
1.3
1. (CPU: Central Processing Unit)
2 (Fetch) (Executed)
2. (Program Memory)
3
2.1 (EPROM : Erasable Programmable Read Only Memory)
(1105-5203)
2.3 (Flash)
PIC16F877 8192 x 14
3. (Data Memory)
4. EEPROM
5. (Register Space)
6.
1.4 PIC
PIC
6
80 384 128
PIC (Microcontroller)
Peripheral Interface Controller ,
RAM, EEPROM, , USB, I2C, PWM, A/D
PIC
-
- OTP (One Time Programmable)
- ROM (Read Only Memory)
-
- 4 120
(1105-5203)
- 0.5 - 512K
- RISC 35
- 80MHz
- I/O
-
-
-
-
-
- (POR)
- (PWRT)
-
- (WDT)
- USB
-
-
1. EC
2. ER
3. INTRC PIC
4. LP 200KHz
5. XT 100KHz 4MHz
6. HS 20MHz
- +3V. +5.5V.
- PWM (Pulse Width Modulated)
- USART
PIC 4
- 12 PIC12C5XXX, 16C5X
- 14 PIC16F8X, 16F87X
(1105-5203)
- 16 PIC17C7XX, 18C2XX
- 32 PIC32MX3XX/4XX
1.4.1 PIC 12
PIC 1.1
1.1 PIC 12
12C508
16C54
16C57
16C505
16C58A
MHz)
512 x 12
25
4
384 x 12
25
20
2048 x 12
72
20
1024 x 12
41
4
2048 x 12
73
20
I/O
6
12
20
12
12
A/D
-
PIC F PIC12F508
1.4 PIC12F508
(: Microchip PIC12F508 Data Sheet: 1)
(1105-5203)
1.5 PIC16C56
(: Microchip PIC16C56 Data Sheet: 1)
1.4.2 PIC 14
PIC 35 20 MHz,
1.2
1.2 PIC 14
16C554
16C64
16F84
16F627
16F628
16F676
16F73
16F876
16C877
(MHz)
512 x 14
80
20
2048 x 14
128
20
1024 x 14
36
20
1024 x 14
224
20
2048 x 14
224
20
1024 x 14
64
20
4096 x 14
192
20
8192 x 14
368
20
8192 x 14
368
20
I/O
13
33
13
16
16
12
22
22
33
A/D
8
5
5
8
(1105-5203)
PIC16F84: PIC 18 ,
1024 x 14, 36 , EEPROM, I/O
12
1.6
1.6 PIC16F84
(: Microchip PIC16F84 Data Sheet: 1)
PIC16F877: PIC
40 , 8192 x 14,
386 , EEPROM 256 , I/O
33 , 8 A/D 10 , PWM, 3
, ,
PIC16F627: PIC 18 ,
1024 x 14, 224 ,
EEPROM 128 , I/O 16 , 2 8 , 1
16 ,, 10
1.7
(1105-5203)
10
1.7 PIC16F627
(: Microchip PIC16F627 Data Sheet: 1)
1.4.3 PIC 16
PIC 23 35 PIC
16 40 MHz 1.3
1.3 PIC 16
17C43
17C752
18C242
18C252
18F4520
(MHz)
4096 x 16
454
33
8192 x 16
678
33
8192 x 16
512
40
16384 x 16
1536
40
32768 x 16
1536
40
I/O
33
50
23
23
36
A/D
12
5
5
13
1.4.4 PIC 32
PIC PIC 32 80 MHz
USB, 10/100 1.4
(1105-5203)
1.4 PIC 32
(MHz)
PIC32MX210F016D
16KB
4096
40
PIC32MX664F064L
512KB
64K
80
PIC32MX795F512L
512KB
128K
80
11
I/O
33
85
85
A/D
13
16
16
PIC
1.
2. USB, I2C, USART
3.
4. RAM
5.
6.
7.
PIC
7 PIC 8
1.5 PIC16F877
PIC
PIC
MPLAB, (CCS, Hitech, C30, MicroC),
(PICBASIC PRO, MicroBasic), Flow Code
16Fxxx
EEPROM
(1105-5203)
1.5.1 PIC16F877
PIC 16F877
- RISC 35
- 1 1 2
- 20 MHz
- 8 (1 = 14 )
- 368
- 128
- 14
- 8
- (POR : Power On Reset), (PWRT :
Power Up Timer), (OST: Oscillator Start Up)
- (Watchdog Timer)
- (Sleep Mode)
- 6 EC, ER, INTRC, LP, XT, HS
- +5V
- (In Circuit Serial Programming)
- +3V + 5.5V
- 25 mA.
- 3 ( 0, 8 , 1, 16 2, 8 )
- CCP (Capture/Comparator/PWM: Pulse Width Modulation) 2
- (A/D Converter) 10
-
- USART RS-232
- (Brown Out Reset)
- I/O 5
12
(1105-5203)
1.8 PIC16F877
(: Microchip PIC16F877 Data Sheet: 1)
1.5.2 PIC16F877
PIC 16F877 40
1. MCLR/VPP (Master Clear Reset/Programming Voltage Input)
- (Reset) 0
1
-
2. VDD +3 +5.5V.
3. VSS
4. OSC1/CLKIN (Oscillator Crystal/ External Clock Source)
- EC
- ER
- LP, XT HS
5. OSC2/CLKOUT (Oscillator Crystal/ External Clock Source)
- EC
13
(1105-5203)
14
OSC1
- LP, XT HS
6. 5 A, B, C, D E
PIC16F877
(Bi Directional Input Output Port)
1.5 1.9
1.5 A PIC16F877
RA0/AN0
RA1/AN1
RA2/AN2/VREF-
RA3/AN3/VREF+
RA4/TOCK1
RA5/AN4/SS
- RA0
- 0
- RA1
- 1
- RA2
- 2
-
- RA3
- 3
-
- RA4
- 0
- RA5
- 4
- Slave Select
1.6 B PIC16F877
RB0/INT
33
RB1
RB2
34
35
/
/
RB3/PGM
36
- RB0
-
- RB1
- RB2
- RB3
-
(1105-5203)
15
1.6 B PIC16F877 ()
RB4
RB5
37
38
/
/
RB6/PGC
39
RB7/PGD
40
- RB4
- RB5
- RB6
-
- RB7
-
1.7 C PIC16F877
RC0/T1OSO/
T1CKI
15
RC1/T1OSI/
CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RC4/SDI/SDA
23
RC5/SDO
24
RC6/TX/CK
25
RC7/RX/DT
26
- RC0
-
1
- 1
- RC1
- 1
- CCP2
- RC2
- CCP1
- RC3
- SPI
- I2C
- RC4
- Serial Data SPI
- I2C
- RC5
- Serial Data SPI
- RC6
-
-
- RC7
-
-
(1105-5203)
16
1.8 D PIC16F877
RD0/PSP0
19
RD1/PSP1
20
RD2/ PSP2
21
RD3/ PSP3
22
RD4/ PSP4
27
RD5/ PSP5
28
RD6 PSP6
29
RD7/ PSP7
30
- RD0
- 0
- RD1
- 1
- RD2
- 2
- RD3
- 3
- RD4
- 4
- RD5
- 5
- RD6
- 6
- RD7
- 7
1.9 E PIC16F877
RE0/AN5/RD
RE1/AN6/WR
RE2/ AN7/CS
10
- RE0
- 5
-
- RE1
- 6
-
- RE2
- 7
-
(1105-5203)
1.5.3 PIC16F877
PIC PIC16F877
1. (Program Memory)
2. (Register Files)
3. (Data Memory)
4. EEPROM
1) (Program Memory)
14
8 x 14 8 (1 14 )
PIC16F877 (PC) 13
PIC16F877 0000H 1FFFH 0004H PIC16F877
13 (Stack)
(PC)
PIC16F877
8 1.12
17
(1105-5203)
18
(PC) 13
1 (13)
2 (13)
8 (13)
0000H
0004H
0005H
1FFFH
1.9 PIC16F877
2)
PIC16F877
4 (Bank)
128 1.10
(1105-5203)
1.10 PIC16F877
(: PIC16F87X Data Sheet: 13)
19
(1105-5203)
PIC16F877 386
2
(Reserved)
4 0, 1, 2 3 1.10
0 00H 7FH
- 00H 1FH
- 20H 7FH 96
1 80H FFH
- 80H 9FH ()
- A0H EFH 80
- F0H FFH 70H 7FH 0
70H 7FH
2 100H 17FH
- 100H 10FH ()
- 110H 11FH 16
- 120H 16FH 80
- 170H 17FH 70H 7FH 0
70H 7FH
3 180H 1FFH
- 180H 18FH ()
- 190H 19FH 16
- 1A0H 1EFH 80
- 1F0H 1FFH 70H 7FH 0
70H 7FH
RP1 RP0 STATUS
20
(1105-5203)
1.6
RC
4 MHz 5
1.6.1
3
1. (Ceramic Resonator)
CLKIN CLKOUT PIC
1.11
2. (Crystal Oscillator)
2 OSC1/CLKIN OSC2/CLKOUT
1.12
3. (Crystal Square Wave Oscillator)
21
(1105-5203)
1.13
1.6.2
PIC OSC1 OSC2
4
- LP (Low Power Crystal Oscillator)
200KHz
- XT (Crystal/Resonator)
100KHz 4MHz
- HS (High Speed Crystal/Resonator) 4MHz 20MHz
- RC (Resistor Capacitor Network)
1.
1.14 1.12
1.14
22
(1105-5203)
23
1.12 C1 C2
OSC.
LP
XT
HS
32 KHz
200 KHz
100 KHz
2 MHz
4 MHz
4 MHz
8 MHz
20 MHz
C1
68 - 100 pF
15 33 pF
100 - 150 pF
15 33 pF
15 33 pF
15 33 pF
15 33 pF
15 33 pF
C2
68 - 100 pF
15 33 pF
100 - 150 pF
15 33 pF
15 33 pF
15 33 pF
15 33 pF
15 33 pF
2.
1.15
1.13
1.15
(1105-5203)
24
1.13 C1 C2
OSC.
455 KHz
2 MHz
4 MHz
8 MHz
16 MHz
XT
HS
C1
68 100 pF
15 68 pF
15 68 pF
10 68 pF
10 22 pF
C2
68 100 pF
15 68 pF
15 68 pF
10 68 pF
10 22 pF
3.
1.16
1.14
1.16
1.14 R C
4.61 MHz
2.66 MHz
311 kHz
R
5K
10 K
100 K
C
20 pF
20 pF
20 pF
(1105-5203)
4.
1.17
1.17
5.
PIC 12C672 PIC16F62X
PIC INTRC RA7 RA6
OSC1 OSC2 1.18
1.18
1.15
25
(1105-5203)
26
1.15 R PIC
10 MHz
7.4 MHz
3 MHz
300 kHz
200 kHz
R
1K
10 K
47 K
470 K
1M
1.7 PIC
PIC
PIC 6
1. (POR: Power On Reset)
2. (BOR) 4.0V. 1.8V.
PIC
3.
4. (Sleep Mode)
5. (WDT)
6. (WDT)
PIC
4.7K PIC 0
PIC 2
1. 1.19
2. 1.20
(1105-5203)
1.19 PIC
1.20 PIC
1.21
(: PROGRAMMING AND CUSTOMIZING THE PIC Microcontroller: 269)
27
(1105-5203)
28
1.8
(Start) (Stop)
Start
Stop
1.22
(Direction)
1.23
(Process)
Process
1.24
(1105-5203)
29
(Input/Output)
Input
Output
1.25
/ (Decision)
No
Yes
1.26
/
2 (Yes) (No)
/
(Microcontroller)
PIC16F877
(1105-5203)
30
1
1105-5203
1
3
1.
2.
3. PIC16F877
4.
1.
2.
3. PIC16F877
4. PIC16F877
5.
1. 1
2.
3.
4.
1.
2.
3.
4.
5.
6.
7.
8.
10
5 5
(1105-5203)
31
1
( x )
1. (Microcontroller)
.
.
.
.
2.
.
.
.
.
3. 2
. (For Neuman) (Harvard)
. (Von Neuman) (Harvard)
. (For Neuman) (Harword)
. (Von Neuman) (Harword)
4.
. (For Neuman)
. (Von Neuman)
. (Harvard)
. (Harword)
(1105-5203)
6. (Program Memory)
.
.
.
.
7.
.
.
.
.
8. PIC (Microcontroller)
. Peripheral Internal Controller
. Parallel Internal Controller
. Peripheral Interface Controller
. Parallel Interface Controller
9.
.
.
.
.
10. PIC
.
. USB, I2C
. RAM
.
32
(1105-5203)
33
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
.
.
.
.
.
.
.
.
.
.
(1105-5203)
34
1105-5203
1
........................................................................................................................
....................................................................... ........................................
1...........................................................
3...........................................................
2...........................................................
4...........................................................
1
2
3
4
5
6
3 2 1
.......
1.
3
2
1
2.
3
2
1
(1105-5203)
35
3.
3 80%
2 60%
1
4.
3
80%
2
60%
1
5.
3
2
1
6.
3 80
2 60
1 60
-
-
15 18
8 - 14
0 7
...................................................................
(..................................................................)
......................................................
(1105-5203)
36
1
. PIC16F628. :
, 2547.
. 1. :
(-), 2549.
_________. PIC . :
(-), 2550.
. . :
, 2537.
. PIC Microcontroller. :
, 2549.
John Iovine. PIC MICROCONTROLLER PROJECT BOOK. New York :
McGraw-Hill, 2543.
Lucio Di Jasio. PIC MICROCONTROLLERS : know it all. Massachusetts : Newnes, 2550.
Microchip Technology Incorporated. PIC16F87XA Data Sheet. U.S.A :
The Microchip Corporate Literature Center U.S., 2546.
http://www.microchip.com. 19/04/2553.
1.
2.
3.
4.
5.
6.
7.
PIC
(PICBASIC Pro Compiler)
MicroCode Studio
PIC16F877
, C, PASCAL, BASIC
.HEX
/ (Assembler/Complier)
.HEX
.HEX
1.
2.
3.
4.
5.
6.
7.
MicroCode Studio
MicroCode Studio
(1105-5203)
38
2.1
/
()
2.1
2.1
1. C
MicroCode Studio CodeDesigner Lite
WordPad
2.
C BASIC
3.
1
4.
PICkit2, WinPic800, Icprog, MRT-ISP
(1105-5203)
39
5.
1
2.2 PIC
MicroCode Studio
.PBP
PICBASIC PRO
/
.HEX
PICKit2
WinPic800
2.2
PIC
PIC
1. MicroCode Studio
.PBP .BAS
2. /
.HEX
3. .HEX PICKit2
(1105-5203)
40
USB WinPIC800
* Microcode Studio
www.mecanique.co.uk WinPIC800
www.winpic800.com
2.3 PCDDEMO3
2. Next
2.4
(1105-5203)
3. Next
2.5
4. Next
41
(1105-5203)
2.7
6. Next
2.8
42
(1105-5203)
43
2.9
2.
Next
2.10
3.
2.11
(1105-5203)
4. Next
2.12
5. Finish
2.13
2.4.2 MicroCode Studio
1.
MicroCode Studio
44
(1105-5203)
45
2.15
3. View Compile and
Program Options 2.16
(1105-5203)
46
2.16
4. Find Manually 2.17
2.17
5. C: -> PBPDEMO
O.K
(1105-5203)
47
2.18
2.4.3 MicroCode Studio
MicroCode Studio 2.19
3.
4.
1.
2.
(1105-5203)
48
1.
2.
3. .PBP .BAS
4.
.HEX
PICkit2 WinPIC800
2.5
2.5.1 PICKit2
PICkit2 PIC
1. Windows Explorer
PICKit2 Setup
2.20 PICKit2
2. Next
(1105-5203)
2.21
3. Next
2.22
4. Next
49
(1105-5203)
2.23
5.
I Agree Next
2.24 PICkit2
6.
50
(1105-5203)
2.25
7.
2.26
8. PICkit2
51
(1105-5203)
52
2.27 PICkit2
2.5.2 PICkit2
PICKit2 PIC
USB (Serial)
(Parallel Port) Notebook PC
1. USB PICKit2
PIC PIC
2.28
(1105-5203)
53
2.28 PICkit2
2. Tools Check Communication
PICKit2 PIC
2.29 PIC
(1105-5203)
54
3. PIC PIC16F628
Device Family Midrange PIC
PIC
2.30
4. File --> Import HEX .HEX (
)
2.31
5.
(1105-5203)
2.32
PICkit2 VDD
55
(1105-5203)
2.53 WinPic800
WinPic800 .HEX
PIC dsPIC Sisco Benach Font
2
(Low Voltage ICSP) 5
(High Voltage ICSP) 13
WinPic800
1. WinPic800
2. .HEX
.HEX .HEX
2.33 WinPIC800
6. WinPic800 .HEX
PIC
Language English 2.34
56
(1105-5203)
2.34
7.
Settings ---> Hardware
ETT 2 ETT - LOW VPP ICSP ETT - HIGH VPP ICSP
LPT1 Apply edits 2.35 2.37
2.35
2.36
57
(1105-5203)
2.37
8.
Settings --> Software 2.38 - 2.40
2.38
2.39
58
(1105-5203)
2.40 .HEX
Verify after programming
Accept
9.
WinPic800
WinPic800 2
- .HEX
File --> Open
.HEX
- Device
Detect PIC
2.41
59
(1105-5203)
2.41
60
(1105-5203)
2.42
11. HEX
Device --> Program All
2.43
2.43
61
(1105-5203)
2.6 PIC16F877
PIC16F877 UPTECH PIC-Board
2.44 PIC16F877
2.45 LED 8
62
(1105-5203)
2.46 4 8
2.47 7 4
63
(1105-5203)
2.48
2.49
2.50
64
(1105-5203)
USB
65
PIC16F877
I2C
RTC
LED 8
2.51 PIC16F877
USB
UPTECH PIC-Board
2.52 PIC16F877
(1105-5203)
66
2.7
1. Microcode Studio
.PBP .BAS
2.54
(1105-5203)
67
2.54
F9
Succes: words used. .HEX
2.55
3. UPTECH PIC-Board
USB
USB
UPTECH PIC-Board
2.56 PIC16F877
(1105-5203)
68
4. PICKit2
Device: PIC16F877
2.57 PICKit2
5. File --> Import Hex .HEX 2
2.58 PICKit2
(1105-5203)
6.
2.59
6.
, C
.HEX
(Proteus)
69
(1105-5203)
70
2
3
PIC
1.
2.
3.
4.
PIC
Microcode Studio
(.HEX)
1. UPTECH PIC-Board
2.
1
1
1. C
MicroCode Studio CodeDesigner
2. C
3.
1
4.
PICkit2, WinPic800, Icprog, MRT-ISP
5.
1
1.
PIC
(1105-5203)
71
...
...............
...............
...............
.PBP
...
.HEX
...
PIC16F877
2.1 PIC
2. MicroCode Studio 2.2
2.1 16F877
2.2 2.1
2.1
TRISC = %00000000
Loop: PORTC = %00000000
PAUSE 1000
PORTC = %00000001
PAUSE 1000
GOTO Loop
END
2.3 .PBP .BAS File ----> Save
D:\ \ EX1.PBP
2.4 EX1.PBP EX1.HEX F9
F9
Succes: words used. .HEX 2.3
(1105-5203)
2.3
72
2.4
2.1
2.2
(1105-5203)
73
USB
UPTECH PIC-Board
2.4
5. PICKit2 2.5
Device PIC16F877 USB
(1105-5203)
74
2.5
6. File --> Import Hex .HEX 2
2.6
7.
Write
1.7
(1105-5203)
.
.
.
.
.
.
.
..
.
-..................................................................
75
(1105-5203)
76
PIC
1.
PIC
MicroCode Studio
.PBP
/
.HEX
PICKit2 WinPic800
PIC16F877
2.1 PIC
2. MicroCode Studio 2.2
2.1 16F877
2.2 2.1
2.1
(1105-5203)
77
TRISC = %00000000
Loop: PORTC = %00000000
PAUSE 1000
PORTC = %00000001
PAUSE 1000
GOTO Loop
END
2.3 .PBP .BAS File ----> Save
D:\ \ EX1.PBP
2.4 EX1.PBP EX1.HEX F9
F9
Succes: words used. .HEX 2.3
2.3
2.4
2.1
2.2
(1105-5203)
78
USB
UPTECH PIC-Board
2.4
5. PICKit2 2.5
Device PIC16F877 USB
(1105-5203)
79
2.5
6. File --> Import Hex .HEX 2
2.6
7.
(1105-5203)
Write
1.7
8. UPTECH PIC-BOARD RC0
( 1 1 )
PIC
HEX
HEX HEX
80
(1105-5203)
2
( x )
1. ?
. .ASM
. .BAS
. .C
. .HEX
2. ?
. .ASM
. .BAS
. .C
. .HEX
3. ?
.
.
.
.
4. ?
.
.
.
.
5. ISIS ?
.
.
.
.
81
(1105-5203)
82
(1105-5203)
83
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
.
.
.
.
.
.
.
.
.
.
(1105-5203)
84
1105-5203
2
.......................... ......................................................................
-......................................................................................................
...........................................................................................................
................ ................................................ .. ....................................
4 3 2 1
1.
2.
3.
4.
5.
4
3
2
1
=
=
=
=
90%
70%
50%
50%
.........................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...................................................................
(..................................................................)
......................................................
1.
2.
3.
(Proteus)
1.
2.
3.
4.
(1105-5203)
3.1 (Proteus)
Proteus VSM (Virtual System Modeling)
(Labcenter Electronics Ltd.)
2
1. ISIS
2. ARES
PCB (Print Circuit Board)
PIC, ARM, AVR
MCS-51
3.1.1
http://www.labcenter.co.uk/download/prodemo_autodl_general.cfm
1.
87
88
(1105-5203)
3.1
2. Next
3.2
89
(1105-5203)
3. Next
3.3
4. Next
3.4
90
(1105-5203)
5. Next
3.5
6. Next
3.6
91
(1105-5203)
7. Next
3.7
8. Next
3.8
92
(1105-5203)
9.
3.9
10. Next
10
3.10
93
(1105-5203)
11. Start --> All Programs --> Proteus 7 --> ISIS 7 Pro
11
3.11
12. Proteus ISIS Schematic Capture
3.12
(1105-5203)
94
95
(1105-5203)
3.2
3.14
1.
4.
7.
5.
3.
2.
6.
8.
3.14
1. (Menus)
2. (Toolbar)
3. (Object Selector)
- Reflection
6. (Editing Window)
(1105-5203)
7. (Overview Window)
8. (Object Selector)
2 P L
- P
- L
9. (Simulation) -
-
1. File
New Design
:
Load Design
:
Save Design
:
Save Design As
:
Import Bitmap
: .BMP
Import Section
: .SEC
Export Section
: .SEC
Export Graphics
:
- Bitmap
:
- Metafile
: Bitmap
- DXF File
: .DXF CAD
- EPS
: (Postscript)
DTP DXF
Print
:
Printer Setup
:
Printer Information :
96
(1105-5203)
2. View
Undo
:
Redo
:
Cut to clipboard
:
Copy to clipboard
:
Paste from clipboard :
Send to back
:
Bing to front
:
3. Debug
Debug
Start/Restart Debugging :
Pause Animation
:
Stop Animation
:
Execute
:
4. Template
Template
Set Desingn Defaults :
Set Graph Colours :
Set Graphics Styes :
Set Text Stye
:
Set Graphics Text
:
Set Junction Dots :
Apply Template form Desingn :
97
(1105-5203)
5. Help
Help
6. Main Modes
Main Modes
Component
:
Junction dot
:
Wire label
:
Text script
:
Bus
: Bus
Sub Circuit
:
Instant edit mode :
7. Gadgets
Inter-sheet Terminal :
Device Pin
:
Simulation Graph
:
Tape Recorder
:
Generator
:
Voltage Probe
:
Current Probe
:
Virtual Instruments :
8. (Orientation Toolbar)
Rotation
: 90
Reflection
:
98
99
(1105-5203)
3.2.1
1.
2. P 3.15
1.
2. P
3.15
3. (Library)
Microprocessor PIC16F877A 3.16
100
(1105-5203)
1.
2.
3.
3.16
3.2.2
1.
2.
3.
4.
101
(1105-5203)
1.
3.
4.
2.
3.17
3.2.3
1.
2.
(1105-5203)
1.
2.
3.17
3.2.4
Delete
3.2.5
102
103
(1105-5203)
1.
2.
3.18
3.
1k
3.19
104
(1105-5203)
3.2.6
1.
2.
3.
4.
5. 3.20
3.20
105
(1105-5203)
3.3
3.21
.BAS .PBP .HEX Microcode
Studio
.HEX
.PBP
.HEX
3.21
1.
1.1 Start
1.2 All Program
1.3 Proteus 7 Professional
1.4 ISIS 7 Professional UNTITLED-ISIS Professional
2.
Pick Devices
Component
2.1
Pick Devices
2.2
2.3
DEVICES PIC16F877A 3.22
106
(1105-5203)
2.1
P
2.2
2.3
3.22 PIC16F877
4.
4.1
4.2
4.3
4.4 (View)
4.5 4.1
107
(1105-5203)
4.2
4.4 /
4.1
4.3
3.23 PIC16F877
5. LED
GROUND
5.1
5.2
3.24
6. PICBASIC
MicroCode Studio .HEX 3.25
108
(1105-5203)
TRISB = %00000000
PORTB = 0
LOOP:
PORTB.0 = 1
PAUSE 1000
PORTB.0 = 0
PAUSE 1000
GOTO LOOP
END
109
(1105-5203)
.HEX
3.26 .HEX
8. RUN
9.
STOP
3.27
(1105-5203)
PIC
110
(1105-5203)
111
3
3
1.
2.
3.
4.
1. UPTECH PIC-Board
2.
1
1
PCB
(Print Circuit Board)
PIC, ARM, AVR MCS-51
3.1
Microcode Studio .BAS
.PBP .HEX .HEX
.PBP
.HEX
.HEX
3.1
(1105-5203)
3.2 3.1
4. job3-1.HEX
112
(1105-5203)
.
.
.
5. 3.2 Microcode Studio
D:\\JOB3-2.PBP
3.2
S1
VAR PORTE.1
D1 VAR PORTB.0
TRISB = %00000000
TRISE = %11111111
ADCON1 = 7
LOW D1
LOOP: INPUT S1
PAUSE 50
IF S1 = 1 THEN LOOP
HIGH D1
PAUSE 200
END
6. JOB3-2.PBP JOB3-2.HEX
7. 3.2 CIR3-2.DSN
D:\\CIR3-2.DSN
113
(1105-5203)
3.2 3.2
8. job3-2.HEX
.
.
.
...
...
...
...
-..................................................................
114
(1105-5203)
3.2 3.1
115
(1105-5203)
4. job3-1.HEX
D1 1 1
5. 3.2 Microcode Studio
D:\\JOB3-2.PBP
3.2
S1
VAR PORTE.1
D1 VAR PORTB.0
TRISB = %00000000
TRISE = %11111111
ADCON1 = 7
LOW D1
LOOP: INPUT S1
PAUSE 50
IF S1 = 1 THEN LOOP
HIGH D1
PAUSE 200
END
6. JOB3-2.PBP JOB3-2.HEX
7. 3.2 CIR3-2.DSN
D:\\CIR3-2.DSN
116
(1105-5203)
3.2 3.2
8. job3-2.HEX
D1 S1
117
(1105-5203)
3
( x )
1. ?
. .ASM
. .BAS
. .C
. .HEX
2. ?
. .ASM
. .BAS
. .C
. .HEX
3. ?
.
.
.
.
4. ?
.
.
.
.
5. ISIS ?
.
.
.
.
6. ?
.
. 90
.
.
7. ?
.
. 90
.
.
118
(1105-5203)
8. ?
.
.
.
. BUS
9. ?
.
.
.
. Bus
10. ?
.
.
.
. BUS
11. ?
.
.
.
.
12. ?
.
.
.
.
13. ?
.
.
.
.
119
(1105-5203)
14. ?
.
.
.
.
15. ARES ?
.
.
.
.
16. ?
.
.
.
.
17. ?
.
.
.
.
18. ?
.
.
.
.
19. ?
.
.
.
.
120
(1105-5203)
20. ?
.
.
.
.
121
122
(1105-5203)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
(1105-5203)
1105-5203
3
.......................... ......................................................................
-......................................................................................................
...........................................................................................................
................ ................................................ .. ....................................
4 3 2 1
1.
2.
3.
4.
5.
4
3
2
1
=
=
=
=
90%
70%
50%
50%
.........................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...................................................................
(..................................................................)
......................................................
(1105-5203)
124
3
. PIC BASIC. :
, 2553.
Labcenter Electronics. ISIS Intelligent Schematic Input System User Manual. England :
Labcenter Electronics Ltd, 2546.
http://www.labcenter.co.uk 2 2553.
1.
2.
3.
4.
5.
(Proteus)
1.
2.
3.
4.
5.
6.
194
(1105-5203)
5.1
PIC
PIC
A
TRIS (Tri - State
Register) PIC16F877
TRISA = A BANK 1 85H
TRISB = B BANK 1 86H
TRISC = C BANK 1 87H
TRISD = D BANK 1 88H
TRISE = E BANK 1 89H
TRIS 0
1
TRISA = %00000000
TRISB = %11110000
4 RB0 - RB3
TRISC = %11000
RC3, RC4
TRISA.0 = 0
A
4 B RB4 - RB7
RC0 RC2
0 A (RA0)
ADCON1 A E PIC16F877
5.1
5.1 ADCON1
(1105-5203)
5.2 ADCON1
A
D /
ADCON1 = 7
= 011x A
ADCON1 = 0
= 0000 A ( RA4)
5.2
PIC
PIC 5.1
195
196
(1105-5203)
() 0
() 1
5.1
5.1 ()
1 +5 S1 0 0
5.1 ()
0 0 S1 1 +5
2
5.1 () PIC 1
0
0 IF
5.2.1
5.2 RE1 PIC16F877
RB7
1 +5
0 1.5 0
(1105-5203)
5.2 PIC16F877
1 5.2 S1 D1
S1
VAR PORTE.1
L1
VAR PORTB.7
TRISB = %00000000
TRISE = %111
ADCON1 = 7
PORTB = 0
LOOP: IF (S1 = 0) THEN HIGH L1
IF (S1 = 1) THEN LOW L1
PAUSE 50
GOTO LOOP
END
2 Jogging S1 D1
S1
VAR PORTE.1
L1
VAR PORTB.7
TRISB = %00000000
197
198
(1105-5203)
TRISE = %111
ADCON1 = 7
PORTB = 0
LOOP: IF S1 = 0 Then
HIGH L1
ELSE
LOW L1
ENDIF
PAUSE 50
GOTO LOOP
END
START
S1
LED
LED
50
5.3 Jogging
5.3 2 PIC16F877
S1 RA0 S2 RA1 D1
RB0 D2 RB7
S1 D1 S2
D2
(1105-5203)
5.4 2 PIC16F877
S1
VAR PORTA.0
S2
VAR PORTA.1
L1
VAR PORTB.0
L2
VAR PORTB.7
TRISA = %111111
TRISB = %00000000
ADCON1 = 7
PORTB = 0
LOOP: IF (S1 = 0) AND (S2 = 1) THEN HIGH L1
IF (S1 = 1) AND (S2 = 0) THEN HIGH L2
IF (S1 = 1) AND (S2 = 1) THEN
LOW L1
LOW L2
ENDIF
PAUSE 50
GOTO LOOP
END
199
(1105-5203)
5.2.2 Toggle
- Toggle
200
201
(1105-5203)
LOOP:
END
5.2.3 (De Bounce)
1 - 10 mS. 5.6
10 50 mS.
5.6
(: PIC Microcontrollers: Know It All: 549)
(1105-5203)
5.7 PIC16F877
S1 L1 S1
S1 S1 L1 S1
S1
VAR PORTE.1
L1
VAR PORTB.0
TRISB = %00000000
TRISE = %111
ADCON1 = 7
PORTB = 0
START:
IF S1 = 1 THEN GOTO START
PAUSE 50
LOOP:
IF S1 = 0 THEN GOTO LOOP
TOGGLE L1
PAUSE 50
GOTO START
END
202
(1105-5203)
5.2.4
- , ,
2
1
2
1.
2.
5.8
1
S1
S2
K
VAR
VAR
VAR
PORTA.0
PORTA.1
BYTE
203
204
(1105-5203)
TRISA = %111111
TRISB = %00000000
ADCON1 = 7
PORTB = 0
LOOP:
IF (S1 = 0) AND (S2 = 1) THEN
PAUSE 50
K = K+1
PORTB = K
IF K = 255 THEN K = 254
ENDIF
IF (S1 = 1) AND (S2 = 0) THEN
PAUSE 50
IF K = 0 THEN K = 1
K = K-1
PORTB = K
ENDIF
PAUSE 150
GOTO LOOP
START
END
S1 S2 K
A
B
S1 S2
S1 = 0
S2 = 1?
K
K
B
K = 255 ?
K = 254
S1 = 1
S2 = 0?
K=0?
K=1
K
K
B
END
5.9
(1105-5203)
2 -
S1
VAR PORTA.0
S2
VAR PORTA.1
K
VAR BYTE
TRISA = %111111
TRISB = %00000000
ADCON1 = 7
PORTB = 0
Loop:
IF (S1 = 0) AND (S2 = 1) THEN
PAUSE 50
K = K+1
PORTB = K
IF K = 255 THEN K = 254
Idle1:
IF (S1 = 0) AND (S2 = 1) THEN Idle1
ENDIF
IF (S1 = 1) AND (S2 = 0) THEN
PAUSE 50
IF K = 0 THEN K = 1
K = K-1
PORTB = K
Idle2:
IF (S1 = 1) AND (S2 = 0) THEN Idle2
ENDIF
PAUSE 150
GOTO Loop
END
2 1
2
205
206
(1105-5203)
5.3 (Keypad)
, ,
,
(Row) (Column)
5.10 7 12
16 16 8 x 8
64
5.10
1. PIC 4
3
(1105-5203)
2. 3 1
4
3. 0 1 1, 2,
3, 4 0 1,
2, 3, 4 4 1 0
4. 4 3 1
1 0 2
1, 2, 3, 4 0
5, 6, 7, 8 0
5. 3 4
2 (Scan key)
5.11 4 x 3 PIC16F877
207
(1105-5203)
208
(1105-5203)
209
210
(1105-5203)
PORTB = DISP
RETURN
'-------------------------------------NUM8: NUM = 8
LOOKUP NUM,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],DISP
PORTB = DISP
RETURN
'-------------------------------------NUM9: NUM = 9
LOOKUP NUM,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],DISP
PORTB = DISP
RETURN
'-------------------------------------NUM0: NUM = 0
LOOKUP NUM,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],DISP
PORTB = DISP
RETURN
'-------------------------------------NUM10: NUM = 10
LOOKUP NUM,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],DISP
PORTB = DISP
RETURN
'-------------------------------------NUM11: NUM = 11
LOOKUP NUM,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],DISP
PORTB = DISP
RETURN
'---------------------End of subroutine
1
5
9
2
6
0
3
7
4
8
5.12
(1105-5203)
219
5
3
1.
1
2.
1
*
PIC
PIC
A
TRIS (Tri - State
Register) TRIS 0
1
TRISA = %00000000
A
TRISB = %11110000
4 B RB4 - RB7
4 RB0 - RB3
(1105-5203)
220
5.1
@ DEVICE PIC16F877,HS_OSC,LVP_OFF,BOD_OFF,CPD_OFF,PROTECT_OFF,WDT_OFF
TRISB = %00000000
PORTB = %00000000
PAUSE 2000
PORTB = %10000000
END
START
B
2
B
END
5.1 5.1
2. job5-1.pbp job5-1.hex
3. 5.2
(1105-5203)
5.2 5.1
5.3
5.3
221
(1105-5203)
222
4. .HEX
5.
.
.
.
6.. 5.2 LED RB0
5.1 LED D1 5
7. 5.2 job5-2.pbp
job5-2.hex
5.2
@ DEVICE PIC16F877,HS_OSC,LVP_OFF,BOD_OFF,CPD_OFF,PROTECT_OFF,WDT_OFF
TRISB = %00000000
PORTB = %11110000
PAUSE 1000
PORTB = %00001111
END
START
B
1
B
END
5.4 5.2
(1105-5203)
8. 5.5
5.5 5.2
5.6
5.6
223
(1105-5203)
9. .HEX
10.
.
.
.
...
...
...
...
-..................................................................
224
(1105-5203)
251
TRISB = %00000000
PORTB = %00000000
PAUSE 2000
PORTB = %10000000
END
START
B
2
B
END
5.1 5.1
(1105-5203)
2. job5-1.pbp job5-1.hex
3. 5.2
5.2 5.1
5.3
5.3
252
(1105-5203)
253
4. .HEX
5.
TRISB = %00000000
PORTB = %11110000
PAUSE 1000
PORTB = %00001111
END
(1105-5203)
254
START
B
1
B
END
5.4 5.2
8. 5.5
5.5 5.2
(1105-5203)
5.6
5.6
9. .HEX
10.
TRIS 0
1
255
(1105-5203)
5
( x )
1. TRISA = %00000000
. A
. A
. A 0
. 0 A
2. TRISB = %11110000
. 4 B RB4 - RB7
. 4 B RB0 - RB3
. . .
.
3. >>
. 2
. 2
.
.
4. <<
. 2
.
.
. 2
5. ADCON1 = 0
. A ( RA4)
. A ( RA4)
. . .
.
6-8
278
(1105-5203)
6.
. 0
. 1
.
.
7.
. 0
. 1
.
.
8.
. IF (S1 = 0) THEN HIGH L1
. IF (S1 = 1) THEN HIGH L1
. IF (S1 0) THEN HIGH L1
.
9-10
9.
. 0
. 1
.
.
10.
. IF (S1 = 0) THEN HIGH L1
. IF (S1 = 1) THEN HIGH L1
. IF (S1 0) THEN HIGH L1
.
279
280
(1105-5203)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
.
.
.
.
.
.
.
.
.
.
281
(1105-5203)
1105-5203
5
.......................... ......................................................................
-......................................................................................................
...........................................................................................................
................ ................................................ .. ....................................
4 3 2 1
1.
2.
3.
4.
5.
4
3
2
1
=
=
=
=
90%
70%
50%
50%
.........................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...................................................................
(..................................................................)
......................................................
(1105-5203)
282
5
. PIC . :
(-), 2550.
. PIC BASIC. :
, 2553.
. PIC Microcontroller. :
, 2549.
Microchip Technology Incorporated. PIC16F87XA Data Sheet. U.S.A :
The Microchip Corporate Literature Center, 2546.
microEngineering Labs. PICBASIC PRO Compiler. Colorado U.S.A :
microEngineering Labs, 2545.
Lucio Di Jasio. PIC MICROCONTROLLERS : know it all. Massachusetts : Newnes, 2550.
Myke Predko. PROGRAMMING AND CUSTOMIZING THE PIC. New York :
McGraw-Hill, 2543.