Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PIC 16F876
meisamfanoody3319@gmail.com
Tel: 09151495755
meisamfanoody3319@gmail.com
09151495755
PIC16F876
:
,
.
,
.
, PIC ,
.
.
.
.
WDT.
PWM.
DTMF .
PIC ,
, , , .... .
PICBASIC ,
) ( PIC
.
LCD
LCDOUT LCD .
ADCIN .
: LCD
meisamfanoody3319@gmail.com
09151495755
PIC16F876
DTMF I 2C
... Basic C
. PIC IC
.
PIC16F876 .
)(A,B,C
PDIP, SOIC
.
:PIC16F876
: PIC16F876
( PIC16F876
meisamfanoody3319@gmail.com
09151495755
PIC16F876
PIC16F876 (
meisamfanoody3319@gmail.com
09151495755
PIC16F876
PIC16F876
( PIC16F876
meisamfanoody3319@gmail.com
09151495755
PIC16F876
:
.
.
meisamfanoody3319@gmail.com
09151495755
PIC16F876
C B .
16F876 .
Connect to
Pin
Clock button
)RC0(11
RC1(12) Set Clock mm (SCM) Button
RC2(13) Set Clock HH(SCH) Button
RC3(14) Set Alarm HH (SAH) Button
RC4(15) Set Alarm mm (SAM) Button
Start Button
)RC5(16
)RC6(17
No Connected
)RC7(18
No Connected
PORT B
pin
)RA0(2
)RA1(3
)RA2(4
)RA3(5
)RA4(6
)RA5(7
Connect
Analoge Input From Temp
Sensor (Lm35) CH0
No Connected
No Connected
No Connected
No Connected
No Connected
Buzzer - LED2
Pin 4 (RS) LCD
Pin 5 (R/W) LCD
Pin 6 (E) LCD
Pin 11 (D4) LCD
Pin 12 (D5) LCD
Pin 13 (D6) LCD
Pin 14 (D7) LCD
PORT C
pin
Connect
Reset
8
9
10
19
20
GND
OSC1
OSC2
GND
VCC
LM35
)RB0(21
)RB1(22
)RB2(23
)RB3(24
)RB4(25
)RB5(26
)RB6(27
)RB7(28
Pin
Connect to
. .
.
. .
PIC16F876
)( LM35 . . 10mv
.
LM35 .
+5v +Vs
GND .
A 0 16F876
. ADC
0 +5v . 4.9mv .
4.882mv +5v.
10mv LM35 .
* 10mv = LM35
.
) (
) (
.
PIC .
(
( MCRL
( WDT
( SLEEP
( WDT SLEEP
MCLR .
D2 .
meisamfanoody3319@gmail.com
09151495755
PIC16F876
. PIC
RC
. .
LCD
* LCD
. .
(
Pin No.
1
2
Symbol
VSS
VDD
Name
Power supply
Power supply
LCD Supply
Voltage
VEE
RS
Register select
RW
Read/Write
6
7
8
9
10
11
12
13
14
15
16
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
A
K
meisamfanoody3319@gmail.com
09151495755
Description
0V (GND)
Power supply for logic circuit and LCD (+4.5V~+5.5V)
Bias voltage level for LCD driving
Register select input.
DB0-DB3, in 8-bit bus mode, used as low order bidirectional data bus.
During 4-bit bus mode, open these pins
DB4-DB7, in 8-bit bus mode, used as high order bidirectional data bus. In case of 4-bit bus mode, used as both
high and low order.
back-light anode
back-light cathode
PIC16F876
LCD .
Vo -
) (.
PIC
.
PIC LCD .
. LCD
Rs LCD
PIC16F876
Define lcd_rsbit 1
E LCD
.
Define lcd_ebit 3
R/W LCD
.
LCD .
Define lcd_lines 2
LCD LCDOUT .
).
LCD (.
(
meisamfanoody3319@gmail.com
09151495755
PIC16F876
20MHz
. 4Mhz .
Define OSC 20
. PIC
.
Define . PIC16F876
DEFINE ADC_BITS 10
DEFINE ADC_SAMPLEUS 50
DEFINE ADC_CLOCK 3
RC .
PIC
.
0 .
1 .
Tris . A B C
. .
trisb=$ff
trisc=$00
trisa=255
meisamfanoody3319@gmail.com
09151495755
PIC16F876
.
.
0 1 .
8 255 .
16 65535 .
.
b5 :
b5 :
b5 :
:
.
. b0=10
2 % . b0=%10
$ . b0=$10
Variables Var . b5
bit
b5 var
byte
b5 var
word
b5 var
b1 c0 b6 c1 W0
.
b1
b2
b3
b4
b5
b6
clock
Clock
c0
c1
LCD
Clock
Alarm
Alarm
w0
b1 var byte
b2 var byte
b3 var byte
b4 var byte
b5 var byte
b6 var byte
C1 Var Byte
C0 var byte
W0 VAR WORD
meisamfanoody3319@gmail.com
09151495755
PIC16F876
C LED .
b2 b5 .
portc.0=0
b5=0
b4=0
b3=0
b2=0
LCD .
. :
lcdout $fe,1
Sound .
]Sound pin,[note,Duration,
Note
. 78.74Hz
10Khz .
Duration
.
c0 .
sound
]portc.0,[130,5,50,30,128,5,100,5,10,30,70,5,90,40,230,50,240,100,250,200
PIC
. PIC16F876 .
) (ADCON1
). (
ADCON1 A
)/( .
A
.
. 0 A
Vcc Vss
0000 .
meisamfanoody3319@gmail.com
09151495755
PIC16F876
.
.
.
ADCON1.7=1
Or
ADCON1=%10000000
Logo1
.
LCD
( C1=143 . C0
LCDOUT C1
.
Logo1:
C1=143
for C0=0 to 15
C1=C1-1
meisamfanoody3319@gmail.com
09151495755
PIC16F876
SOUND .
pause 100
]sound portc.0,[100,10,50,10,70,10,60,10,30,10
Logo2
. C1 LCD
.
.
Logo2:
c1=207
for c0=0 to 15
c1=c1-1
" lcdout $fe,c1,"With Thermometre
pause 500
next c0
" Lcdout $fe,$c0,"With Thermometre
pause 1000
Logo3 Logo5
DTMFOUT .
:
]}DTFMOUT pin,{onms,offms,}[tone{,tone.
Onms offms
onms offms
.
tone .
. )*(
) (# A D.
meisamfanoody3319@gmail.com
09151495755
PIC16F876
]DTMFOUT portc.0,[9,8,7,6,5,4,3,2,1,0
Scan1 .
. .
b5 b4 .
.
scan1:
lcdout $fe,1,"Set Alarm HH=",dec b5
lcdout $fe,$c0,"Set Alarm MM=",dec b4
dec b4 dec b5 .
If ) ( B SAH .
SAH ) (Then b5
) ( .
b4 b4
60 0 .
Scan1
SAM SAH .
meisamfanoody3319@gmail.com
09151495755
PIC16F876
Clock Scan .
b3 b2 .
LCD .
scan:
lcdout $fe,1,"Set Clock HH=",dec b3
lcdout $fe,$c0,"Set Clock MM=",dec b2
B SCH
SCM ) - (
LCDOUT LCD .
. SCM SCH .
START b5 ) b3 (
b2 ) b4 (
). (timer
start:
if b3=b5 and b4=b2 then timer
Toggel .
LED .
Toggle portc.0
b1 .
) ( .
LCD Refresh.
for b1=0 to 59
lcdout $fe,1
ADCIN A ADC
W0 .
meisamfanoody3319@gmail.com
09151495755
PIC16F876
10mv LM35 .
* 10mv = LM35 .
) ( = LM35 ( *
) ( +5v
+ 5v
= 4.8828e 3 :
1024
0.33
. .
) W0 (
. 0.5 .
Vout = 0.33v
0.33
= 67.58; A/ DConvert
= W0
4.8828m
67.58 * 0.5 = 33.79
) ( .
. ADC W0
W0 . 0.5 W0 . W0
LCDOUT .
ADCIN 0,W0
W0=(W0*5)/10
"LCDOUT $fe,1,"TEMP= ",DEC W0," C
** ) ** 22:15:56(
B SAH SSS
KKK
meisamfanoody3319@gmail.com
09151495755
PIC16F876
SSS .
Clock ) (KKK
if portb.3=1 then
sss:
lcdout $fe,1,"Set Alarm HH=",dec b5
lcdout $fe,$c0,"Set Alarm MM=",dec b4
if portb.3=1 then b5=b5+1
if b5=24 then b5=0
lcdout $fe,1,"Set Alarm HH=",dec b5
if portb.4=1 then b4=b4+1
if b4=60 then b4=0
lcdout $fe,$c0,"Set Alarm MM=",dec b4
if portb.0=1 then kkk
pause 150
goto sss
Endif
KKK ) b1 ( For
59 for .
) b2( ) ( ) (b2 If
) ( ) b3(
.
kkk:
next b1
b2=b2+1
if b2=60 then
b2=0
b3=b3+1
Endif
b3 .
Start .
Start .
1000ms . b1
. Start .
meisamfanoody3319@gmail.com
09151495755
PIC16F876
LCD :
SAH SAM .
Clock
SCH SCM .
Start .
SAH
Clock .
meisamfanoody3319@gmail.com
09151495755
U1
78L05
V
OUT
GND
VCC
3
VCC=+5V DC
SW SPST
V
IN
R1
680
+
C1
LCD1 2*16
100n
VCC
S3
Start
S4
SAM
D2
1N4148
C3
27p
R2
20.000MHZ
27p
10k
U2
9
10
1
R3
100ohm
2
3
4
5
6
7
VCC
U3
LM35
1
2
IN+ OUT
IN-
S2
Restart
S5
SAH
S6
SCH
S7
SCM
R4
100ohm
VCC
Y1
C4
21
22
23
24
25
26
27
28
S8
Clock
OSC1/CLKIN
OSC2/CLKOUT
MCLR/VPP
RA0/AN0
RA1/AN1
RA2/AN2/VrefRA3/AN3/Vref+
RA4/T0CKI
RA5/AN4/SS
11
12
13
14
15
16
17
18
RC0/T1OSO/T1CKI
RC1/T1OSI
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6
RC7
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
VCC
20
VCC
VCC
19
8
VSS
VSS
U?
R5
10k
PIC16F 876A
R7
4.7k
R8
330ohm
BUZZER
Q1
BC548A
D3
LED
R6
100k
RP1
4.7k
9
10
11
12
13
14
15
16
VCC
VCC
8
7
6
5
4
3
2
1
D1
LED
Temp= 33 C
** 16:56:32 **
C2
1000u-16v
Vee
VCC
VSS
A
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
E
R/W
RS
S1
VDD=6-8V
A
Title
Size
Number
Revision
B
Date:
File:
1
meisamfanoody3319@gmail.com
09151495755
23-Jul-2007
E:\Project\Sa@t 876\876.Ddb
Sheet of
Drawn By:
6