Programacion en C++ Microcontroladores
Programacion en C++ Microcontroladores
Programacion en C++ Microcontroladores
Laboratorio 1
Tema:
Objetivo:
Materiales:
Programa CCS,
PICKIT2,
Proteus
Grabador de PIC
16f628a,
8 leds
Res 47 ohms. (1/4 W)
PASO 1:
Escriba el siguiente programa con el ccs pic, con el nombre lab1.c, en una
carpeta de la unidad D o en el escritorio.
#include <16f628.h>
#fuses XT
#use delay (clock= 4000000)
#byte PORTB=6
#bit mot=PORTB.0
#bit led=PORTB.4
void main() {
set_tris_b(0);
PORTB=0;
FOR(;;){
MOT=1;
delay_ms(1000),
mot=0;
Led=1;
delay_ms(1000);
led=0;
}
}
PASO 2:
PASO 3:
acceda a la ventana
PASO 4:
PASO 5:
, o tambin F9
Laboratorio 1
Microcontroladores I
PASO 6:
PASO 7:
PASO 8:
R2
10k
+12v
D1
U1
16
15
X1
RA7/OSC1/CLKIN
RA6/OSC2/CLKOUT
RA5/MCLR
RA0/AN0
RA1/AN1
RA2/AN2/VREF
RA3/AN3/CMP1
RA4/T0CKI/CMP2
CRYSTAL
C1
C2
22uF
22uF
RB0/INT
RB1/RX/DT
RB2/TX/CK
RB3/CCP1
RB4
RB5
RB6/T1OSO/T1CKI
RB7/T1OSI
PIC16F628A
1N4004
17
18
1
2
3
6
7
8
9
10
11
12
13
Q1
R1
2N3904
220
R3
330
D2
LED-GREEN
Laboratorio 1
Microcontroladores I
Ejemplo 2
PASO 9:
Escriba el siguiente programa con el ccs pic, con el nombre volt.c, en una
carpeta de la unidad D o en el escritorio.
#include <16f877a.h>
#device adc=10
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay (clock=4000000)
#INCLUDE <lcd.c>
void main() {
int16 x;
float z;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
lcd_init();
WHILE (TRUE) {
set_adc_channel(0);
delay_us(20);
x= read_adc();
z= 5.0*x/1024.0;
printf(lcd_putc, "\fVoltaje = %1.3fV",z);
delay_ms(100);
}
}
PASO 10:
//PIC utilizado
//Configuramos los fuses
//Oscilador a 4Mhz
//Incluyo LCD.C
//canal analogico 0
//RELOJ RC
//eqcuacion de conversion
circuito:
U1
+1.05
Volts
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
RV1
1k
D0
D1
D2
D3
D4
D5
D6
D7
15
16
17
18
23
24
25
26
LM016L
7
8
9
10
11
12
13
14
8
9
10
LCD1
RS
RW
E
1k
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
33
34
35
36
37
38
39
40
4
5
6
21%
2
3
4
5
6
7
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
VSS
VDD
VEE
OSC1/CLKIN
OSC2/CLKOUT
1
2
3
13
14
50%
RV2
19
20
21
22
27
28
29
30
PIC16F877A
Laboratorio 1