110
Diseño Programación Simulación Diseño Programación Simulación Por Por Luis Luis D. Urdaneta Urdaneta G G.

Micro Control Adores PICs III-Luis Urdaneta

Embed Size (px)

Citation preview

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 1/110

Diseño

Programación

Simulación

Diseño

Programación

Simulación

Por Por LuisLuis DD.. UrdanetaUrdaneta GG..

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 2/110

180180180180180180

El Sistema deEl Sistema de ResetReset deldel PIC16F84APIC16F84A

Los bits y son activados/desactivados en formadiferente para cada tipo de Reset. Examinando el

estado de estos bits, el código puede determinar la

causa del Reset.

TOPD

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 3/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 4/110

182182182182182182

El Perro Guardián delEl Perro Guardián del PIC16F84APIC16F84A

El temporizador Perro Guardián (El temporizador Perro Guardián (WDTWDT))

Es un oscilador RC interno y no puede ser detenido a menos que

el bit WDTE de la palabra de configuración sea programado como

0. Funciona aunque el reloj principal haya sido desactivado en elmodo SLEEP. Durante operación normal el desborde del WDT

(WatchDog Timer ) fuerza un RESET del procesador. Si el µCtrl

funciona en el modo de bajo consumo (SLEEP), el desborde del

WDT despierta al dispositivo y éste reasume su operación

normal.

El periodo del WDT es de 18 ms por defecto (sin pre-escalador).

Manipulando bits del registro OPTION REG pueden seleccionarse

razones de división de 1:128 para obtener tiempos de hasta 2.3

segundos.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 5/110

183183183183183183

El Perro Guardián delEl Perro Guardián del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 6/110

184184184184184184

Las instrucciones CLRWDT y SLEEP bo-

rran el WDT y el pre-escalador (si estáasignado al WDT), previniendo el des-

borde del temporizador y la generación

de una condición de RESET no deseada.

El Perro Guardián delEl Perro Guardián del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 7/110

185185185185185185

El Modo de Consumo Bajo (El Modo de Consumo Bajo (SLEEPSLEEP))

El Modo de Bajo Consumo delEl Modo de Bajo Consumo del PIC16F84APIC16F84A

La ejecución de una instrucción SLEEP fuerza la entrada del

procesador al modo de consumo bajo (P ower Down). Si el WDT

está habilitado es puesto a cero, pero continúa funcionando. Elbit es puesto a uno y el reloj principal es desactivado. Los

puertos de E/S mantienen el estado que tenían antes de la

ejecución de SLEEP.

T

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 8/110

186186186186186186

Salida desde el Modo de Consumo BajoSalida desde el Modo de Consumo Bajo

El Modo de Bajo Consumo delEl Modo de Bajo Consumo del PIC16F84APIC16F84A

La ocurrencia de alguno de los siguientes eventos causan la

salida del µCtrl del modo SLEEP:

1. La aplicación de un RESET externo.

2. Desborde del temporizador WDT, si está habilitado.

3. Una solicitud de interrupción originada: desde el terminal

RBO/INT, por cambios en líneas del Puerto B o por finalización de un ciclo de escritura en EEPROM.

El evento 1 produce un Reset del procesador y los otros se

consideran una continuación de la ejecución normal del

programa.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 9/110

187187187187187187

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

Estructura yFuncionamiento

de los Puertos de E/S

Estructura yFuncionamiento

de los Puertos de E/S

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 10/110

188188188188188188

Existen dos registros (SFR) asociados con cada puerto:

1. El puerto mismo: PORTA (0x05) y PORTB (0x06)

2. Un registro para programar la dirección del flujo de infor-

mación: TRISA (0x85) y TRISB (0x86)

A las 13 líneas de E/S del PIC16F84A se puede tener acceso

como puertos: PA de 5 bits y PB de 8 bits o por  bits

independientes. Todas las líneas pueden programarse como

entrada o salida.

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 11/110

189189189189189189

Si se escribe 1 en un bit del puerto TRIS, el bit correspondiente

del puerto asociado se programa como entrada. La carga de un 0en un bit del registro TRIS, configura la línea correspondiente del

puerto asociado como salida. Después de un RESET, todas las

líneas de E/S quedan programadas como entradas y se leen

como 0. Un RESET en modo SLEEP no modifica el estado de los

puertos.

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 12/110

190190190190190190

bsf  status,rp0 ; Selección del banco 1

movlw b¶01010101¶ ; Patrón de configuración

movwf trisb ; Líneas 0,2,4,6 entradas. Líneas 1,3,5,7 salidas

bcf trisa,0 ; Pin 0 es salida

bsf trisa,3 ; Pin 3 es entrada

bcf  status,rp0 ; Retorno al banco 1

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 13/110

191191191191191191

Algunas líneas de los puertos tienen función doble:

El bit 4 del puerto A (RA4 /T0CKI) puede funcionar como entrada

al contador interno TIMER 0.

El bit 7 del puerto B (RB0 /INT) puede ser configurado para

aceptar solicitudes externas de interrupción.

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

Aunque un puerto de E/S puede conceptualizarse como un

registro visible y accesible desde el exterior, el hecho que laslíneas sean bidireccionales hace necesario un circuito especial

para construir cada línea de E/S.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 14/110

192192192192192192

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

Estructura Simplificadade una línea de bit

de un Puerto de E/S

Estructura Simplificadade una línea de bit

de un Puerto de E/S

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 15/110

193193193193193193

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 16/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 17/110

195195195195195195

Debido a que las operaciones de lectura/escritura ocurren

independientemente del modo en el cual estén configuradas las

líneas de los puertos, conviene examinar las distintas posi-

bilidades que el programa tiene para leer o modificar los puertos

de E/S. Estas son:

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

1. Leer un puerto configurado como entrada.

2. Escribir a un puerto programado como salida.

3. Leer un puerto puesto como salida.

4. Escribir a un puerto configurado como entrada.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 18/110

196196196196196196

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

Leer Leer unun puertopuerto dede EntradaEntrada TRIS=TRIS=11..

La salida del Buffer TRIS está flotante y el estado del F l ip fl op de

dato no es afectado.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 19/110

197197197197197197

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

Escribir Escribir aa unun puertopuerto dede SalidaSalida TRIS=TRIS=00..

El Buffer TRIS es habilitado y el Flip Flop de Dato es cargado por 

el µCtrl durante la operación de escritura a puerto de salida.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 20/110

198198198198198198

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

Leer Leer unun puertopuerto dede SalidaSalida TRIS=TRIS=00..

La salida del Flip Flop de Dato es conectada al terminal de salida,

lo cual implica que la lectura de un puerto de salida carga en el

procesador el estado del Flip Flop de Dato.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 21/110

199199199199199199

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

En el mundo real no siempre ocurre esto. La figura muestra un

transistor en conducción cuya base se conecta directamente al

terminal del puerto.

Aunque el estado de la salida del FF de dato es 1, una lectura de

la línea del puerto no entregaría el resultado esperado. Algunos

µCtrls proveen instrucciones las cuales, en estos casos, leen el

FF de dato en lugar del terminal del puerto.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 22/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 23/110

201201201201201201

Cuando las líneas de un puerto son usadas para el control de

dispositivos externos y después de un RESET deben llevarse a

un estado inicial; primero debe cargarse en el registro de datos el

estado inicial de los dispositivos y sólo entonces las líneas

correspondientes deben ser configuradas como salidas.

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

reset

movlw b¶00001111¶ ; RB7:4 a 0, RB3:0 a 1,

movwf  PORTB ; P recargar en puerto B

bsf  STATUS,RP0 ; Selección de banco 1

movlw b¶11110000¶ ; Poner RB7:4 entrada, RB3:0 como salida

movwf  TRISB ; Hacer visible al exterior 

bcf  STATUS,RP0 ; Selección de banco 0

Esto se debe a que después de un RESET todas las líneas de E/S

se presentan como entradas.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 24/110

202202202202202202

Una línea de E/S de un PIC16F84 puede aceptar un máximo de 25

mA o entregar hasta 20 mA sin deterioro del estado lógico del

terminal.La corriente máxima de cada puerto de E/S es:

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

CapacidadCapacidad dede corrientecorriente dede loslos puertospuertos dede E/SE/S

El consumo potencia del µCtrl depende del voltaje de operación,

la frecuencia y de las cargas que tengan sus terminales. Para un

reloj de 4 MHz el consumo es de aproximadamente 2 mA;

reduciéndose a 40 microamperios en el modo sl eep

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 25/110

203203203203203203

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 26/110

204204204204204204

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

EstructuraEstructura deldel Buffer Buffer TRISTRIS deldel puertopuerto AA

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 27/110

205205205205205205

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

ResistoresResistores Pull Pull U  pU  p internosinternos deldel PuertoPuerto BB

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 28/110

206206206206206206

bsf  STATUS,RP0 ; Banco 1

movlw b¶00001111¶movwf  TRISB ; RB7:4 salidas, RB3:0 entradas

bcf  OPTION_REG,NOT_RBPU ; Activar Pull U  ps internos

bcf  STATUS,RP0 ; Banco 0

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

Los resistores pull u  p se activan para las entradas, cargando 0 enel bit OPTION_REG7 y se desactivan automáticamente para las

salidas.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 29/110

207207207207207207

PUERTOPUERTO AA

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 30/110

208208208208208208

PUERTOPUERTO BB

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 31/110

209209209209209209

RebotesRebotes dede contactoscontactos enen interruptoresinterruptores

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 32/110

210210210210210210

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 33/110

211211211211211211

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 34/110

212212212212212212

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

SupresiónSupresión deldel reboterebote concon hardwarehardware

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 35/110

213213213213213213

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 36/110

214214214214214214

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 37/110

215215215215215215

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 38/110

216216216216216216

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

SupresiónSupresión deldel reboterebote concon sof twaresof tware

EjemploEjemploEjemploEjemplo

En la figura se muestra un arreglo de 4 interruptores conectadosal puerto A del µCtrl y un indicador de siete segmentos

controlado desde el puerto B. Escribir dos programas de modo

que:

1. Cuando un interruptor sea presionado y liberado, se muestre

en el indicador el número del pulsador.2. Mostrar el número de veces que S2 es presionado.

En ambos casos considere el rebote de contactos

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 39/110

217217217217217217

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

OSC1/CLKIN1

  

RB ¡   /INT

  

RB17

RB2¢  

RB£  

¤  

RB¥   1¡  

RB¦  

11

RB   12

RB71£  

RA¡  

17

RA11¢  

RA21

RA£  

2

RA¥  

/T¡   CKI£  

OSC2/CLKOUT1¦  

MCLR

¥  

U1

PIC1  

F ¢  

¥  

A

X1

¥  

Mhz

C1

22pF

C2

22pF

+¦  

V

RESET

R¢   .2k

LED 1

+ ¦   V

7 X 22

SR1

1¡   k

+ ¦   V

S1R2

1¡   k

R

1¡   k

S2

SR

1¡   k

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 40/110

218218218218218218

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 41/110

219219219219219219

Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 42/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 43/110

221221221221221221

Programa 2Programa 2

§ ¨ ©  1

 

©   L   

 

 

  T

 

  1

 

  2

 

 

  

"   1  

11

 

12

 

1  

  

$  

 

1  

  

$  

11  

  

$  

21

  

$  

 

2

  

$ "  

 

T ©  

 

§ ¨ ©  

2

 

©  

L §  

UT1# 

% ©   L  

"  

U1

PIC1 &  

" $  

1

"  

%   h'  

C1

22p &  

C2

22p &  

( # 

)  

T

  .2 0 

1 2 3

654

8 9

=

7

++C

ON

 A

B

C

D

                1 2         3

Colum1 2 3  

 4  

on r 5 3  

3  

7  or 5 3  

 8  

ull  up 6 

nter nos

+5V

R1

1k

Q12N3906

7 X 220

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 44/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 45/110

223223223223223223

Programa 2Programa 2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 46/110

224224224224224224

Programa 2Programa 2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 47/110

225225225225225225

Programa 2Programa 2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 48/110

226226226226226226

Programa 2Programa 2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 49/110

227227227227227227

Programa 2Programa 2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 50/110

228228228228228228

Programa 2Programa 2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 51/110

229229229229229229

Programa 2Programa 2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 52/110

230230230230230230

Programa 2Programa 2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 53/110

231231231231231231

Programa 1Programa 1

Simulación conSimulación conPROTEUSPROTEUS

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 54/110

232232232232232232

Programa 1Programa 1

9 @ A  

C A D E F G    

I P Q C F G R    

I P  

I P  

2

I P  

3

I P V 

I P   W 

B B 

I P H 

B  2I P S 

B  3

I X Q 

I X  

I X  

2B 

I X  

3

2I X V 

R Q 

A  

E F  3

9 @ A  

2C A D E 9 Y R    

` A D I    

a b 

c F 

A  

H d T V X    

e  

V ` f 

h b 

22i 

d  

h   2

22i 

d  

W q  

r s t s u    

r v  

w  2x 

1 2 3

654

8 9

=

7

++C

ON

0

 A

B

C

D

                1 2 4        3

Columnas con resistores pull up internos

+5V

R1

1k

Q12N3906

7 X 220

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 55/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 56/110

234234234234234234

Programa 3Programa 3

RB0RB1

RB2

RB3

RB4RB5

RB6RB7

RB4

RB5

RB6

RB7

    R      B    0

    R      B    1

    R      B    2

    R      B    3

    R      B    7

    R      B    6

    R      B    5

    R      B    4

    R      A    0

    R      B    1

    R      B    0

R A0y    C1/CLKIN

16

RB0/IN   

6

RB17

RB28

RB39

RB410

RB511

RB612

RB713

R A017

R A118

R A21

R A32

R A4/    0CKI3

y   C2/CLKOU  

15

   CLR4

U1

PIC16    84 A

X1

4   

C1

22   

C2

22   

+5V

R 1

R18.2k

    D    7

    1    4

    D    6

    1    3

    D    5

    1    2

    D    4

    1    1

    D    3

    1    0

    D    2

    9

    D    1

    8

    D    0

    7

    6

    R    W

    5

    R

    4

      V      S      S

    1

      V    D    D

    2

      V      E      E

    3

LCD1LM032L

1 2 3

654

8 9

=

7

++CON 0

 A

B

C

D

        1 2 4    3

VDD

GND

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 57/110

235235235235235235

Programa 3Programa 3

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 58/110

236236236236236236

Programa 3Programa 3

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 59/110

237237237237237237

Programa 3Programa 3

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 60/110

238238238238238238

Programa 3Programa 3

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 61/110

239239239239239239

Programa 3Programa 3

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 62/110

240240240240240240

Programa 3Programa 3

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 63/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 64/110

242242242242242242

Programa 3Programa 3

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 65/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 66/110

244244244244244244

Programa 3Programa 3

RB  

RB1

RB2RB3

RB4RB5RB6

RB7

RB4

RB5

RB6

RB7

    R    B

    R    B

        1

    R    B    2

    R    B

        3

    R    B

        7

    R    B

        6

    R    B      5

    R    B    4

    R    A

    R    B

        1

    R    B

RA  

OSC1/CLKIN16

RB  

/IN   6

RB17

RB2

  

RB39

RB410

RB511

RB612

RB713

RA   17

RA118

RA21

RA32

RA4/   

CKI3

OSC2/CLKOU  15

MCLR4

U1

PIC16F84A

X1

4Mh 

C1

22pF

C2

22pF

+5V

RESE    1

R18.2k

    D        7

        1    4

    D        6

        1        3

    D      5

        1    2

    D    4

        1        1

    D        3

        1        0

    D    2

        9

    D        1

        8

    D

        7

    E

        6

    R

      5

    R    S

    4

    V    S    S

        1

    V    D    D

    2

    V    E    E

        3

LCD1LM032L

1 2 3

654

8 9

=

7

++CON

0

 A

B

C

D

                1 2 4        3

VDD

GND

PROGR    

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 67/110

245245245245245245

Programa 4Programa 4

Programa 4Programa 4

Se debe escribir un programa de control para un voltímetro

DC con convertidor A/D de pendiente doble, usando un

PIC16F84. El valor de la tensión desconocida debe

mostrarse en una pantalla de cristal líquido, con el formato

mostrado en la figura.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 68/110

246246246246246246

Programa 4Programa 4

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 69/110

247247247247247247

Programa 4Programa 4

Es posible demostrar 1 que un convertidor  A/D de pendiente doble

produce una cuenta digital proporcional a la tensión DC que está bajo

medición. Esto es:

donde:

Ve: voltaje DC

que se miden: Cuenta digital correspondiente al valor medido.

Vr : Voltaje de referencia. (2.0 V en este caso)

N: Cuenta correspondiente a Vr . ( 213 = 8192 en este diseño)

r e

e

VVn N V n

 NV! ! v

1DVD: S istemas de µ  procesadoresI\Asignaciones\ S emestre I_07\Asignación 2 \ Vol tímetro DC.pd f 

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 70/110

248248248248248248

Programa 4Programa 4

Procedimiento de medición:

El instrumento debe medir el voltaje de entrada, presentarlo en la

pantalla LCD y repetir la medida. Un ciclo de medición consta de tres

pasos:

Paso 1: Inicio

Se conecta la tensión de referencia (Vr  = -2 V) a la entrada del

integrador, lo cual produce una rampa positiva. El diodo del integrador 

fija el valor máximo de la rampa a su tensión de conducción. Esta

situación se mantiene durante 40 ms como ilustra la figura que sigue.Este tiempo no es crítico y puede ser menor. La salida del comparador 

se mantiene a una tensión negativa.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 71/110

249249249249249249

Programa 4Programa 4

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 72/110

250250250250250250

Programa 4Programa 4

Paso 2: Integración de V e

El código conecta la tensión desconocida Ve al integrador y se genera

una rampa negativa. En t1 (47.4 ms) la rampa cruza el nivel de cerovoltios y el comparador sube a una tensión positiva. El programa debe

detectar este cruce por cero y arrancar un contador previamente

cargado con cero. La cuenta continúa hasta cuando el contador 

alcance N = 8192, en t2 = 96.4 ms. El lapso t2 ± t1 de 49 ms es constante

e independiente de la tensión de entrada.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 73/110

251251251251251251

Programa 4Programa 4

Paso 3: Integración de V r 

El µP debe conectar de nuevo la tensión de referencia al integrador,

poner el contador en cero e iniciar un nuevo conteo. La rampa, ahorapositiva, se incrementa y en t3 = 130.7 ms alcanza cero voltios y la

salida rectificada del comparador cae nivel bajo. El código debe

detectar este cruce por cero y parar el contador y almacenar la cuenta

igual a n.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 74/110

252252252252252252

Programa 4Programa 4

Durante el intervalo t2 ± t1 de la fase 2, el contador alcanza N = 8192.

Lo cual significa que la velocidad de incremento es aproximadamente

de uno cada 6 µs. El programa debe garantizar que el contador de la

fase 3 avance con esta misma cadencia. El tiempo t3-t2 es igual a 34.3

ms, de modo que bajo las condiciones establecidas, el valor registrado

para n debe ser 5716. Así se tiene:

e 1.395

2

V 5716 8192!

! v

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 75/110

253253253253253253

Programa 4Programa 4

La c u enta n se obtiene en hexadecimal y despué s de apl icar l a f ormul a

con val ores escal ados se tiene V e en binario y debe ser convertido a

decimal. El val or de V e en BCD, con c u atro ci f ras decimal es, pu ede ser 

encontrado directamente sin apl icar  l a ec u ación, u sando l a t é cnicadescrita en c l ases. E l val or resul tante debe escribirse en el LCD.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 76/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 77/110

255255255255255255

Programa 4Programa 4

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 78/110

256256256256256256

Programa 4Programa 4

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 79/110

257257257257257257

Programa 4Programa 4

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 80/110

258258258258258258

Programa 4Programa 4

;******************************************************************  

; Rutinas de control de teclado

;******************************************************************

No se muestran .

La única diferencia con el programa anterior es que no existe la rutina

LCD_PUERTOS. Estos se configuran al inicio del programa principal.

Suprima la llamada CALL LCD_PUERTOS al inicio de LCD_INIC y de

LCD_ENVIAR.

Tampoco se muestra la rutina MENS, usada para presentar las

unidades de medida.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 81/110

259259259259259259

Programa 4Programa 4

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 82/110

260260260260260260

Programa 4Programa 4

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 83/110

261261261261261261

Programa 4Programa 4

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 84/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 85/110

263263263263263263

Programa 4Programa 4

Simulación conSimulación conPROTEUSPROTEUS

~  

2

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 86/110

264264264264264264

Programa 4Programa 4

 

x

  

 

 

 

 

2

 

 

4

 

 

62

k 4

 

 

 

H6

 

 

  

2

4 j  

 

    4

  

  :  

 

24

  

 

   2

k  

z  

 

u| 

-j  

j  

~  

 

o n  

4

 

k  

6k 

    4

  

 

:

  

 

24

-j  

j  

 

    4

  

  :z  

 

24

 

 

j  

 

2

 

 

4

    4

  

  :~  

 

24

   4

2j  

 

 

 

k  

j  

-j  

-j  

j  

slo 

=

 

 

j n n 

2

j  

 

 

 

2 n 

 

ref  

=-2 

 

2 j 

 

=- 

 

{ { 

 

(} 

 

=

 

 

n n n  

o  

 

6

m o   6 m  

2

m  

4

 

m j 

 

6

 

2 m k 

 

l  

l  

2

 

l   2 l 

4  

 

 

2  

   

 4

 

 

6| { 

4l 

  

 

4  

 

z   2

22 

z  

22 

   6  

com 

com 

    4

    6

    2

    4

    2

    6

    4

    2

z ~  

 

 

com

 

 

=- 

 

{  

4{ 

    6    %

  

 

 

|  

6 j  

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 87/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 88/110

266266266266266266

TimerTimer 0 del0 del PIC16F84APIC16F84A

El uso de rutinas para generar retardos de tiempo

mantiene ocupado permanentemente al procesador. El

uso de un temporizador /contador  en hardware pararealizar tareas relacionadas con control de tiempo permite

que el µCTRL realice otras tareas mientras, que el

temporizador/contador genera el retardo o cuenta eventos

externos.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 89/110

267267267267267267

TimerTimer 0 del0 del PIC16F84APIC16F84A

La función de control de tiempo del PIC16F84A es

ejecutada por un Temporizador/Contador  (T/C) denomi-

nado TIMER 0, el cual puede ser activado y leído en

cualquier momento.

El Timer 0 es un contador ascendente de 8 bits impulsado

por una fuente de reloj externa o interna. El registro

contador se presenta como el SFR TMR0 (0x01) y es

incrementado por cada pulso de reloj. Cuando el registro

se desborda desde 0xFF hacia 0x00, se activa un bitinterno o se genera una interrupción, si está habilitada. El

Timer 0 es de corrida libre.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 90/110

268268268268268268

Timer 0 delTimer 0 del PIC16F84APIC16F84A

ELEL TIMERTIMER 00 comocomo temporizador temporizador 

Cuando el Timer 0 es configurado como temporizador se

incrementa en 1 por cada ciclo de instrucción (4/f osc).

Esto significa que si el registro TMR0 es pre-cargado conun valor de 5610, el desborde ocurrirá 200 µs después para

un cristal de 4 MHz.

El TMR0 tiene también, opcionalmente, disponible a su

entrada un pre-escalador (pos-escalador para el WDT), el

cual divide la frecuencia de reloj por un factor de: 2, 4, 8,

16, 32, 64, 128 ó 256. Esto aumenta el rango de la cuenta

posible, pero disminuye su precisión.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 91/110

269269269269269269

TimerTimer 0 del0 del PIC16F84APIC16F84A

4 4

x

 _ 

Conocida la duración de un ciclo de instrucción

Se puede calcular el número de veces que cuenta

el timer durante un tiempo t , como:

 

  x x cristal  

 x 

ciclo instr 

cristal 

t t f  cuenta t  

 pt p

 f  

! ! ! v

v v

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 92/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 93/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 94/110

272272272272272272

TimerTimer 0 del0 del PIC16F84APIC16F84A

Con un cristal de 4 MHz, el retardo máximo será de 256 µs sin pre-

escalador y de 65536 µs con pre-escalador  1:256. Para retardos

mayores debe usarse un cristal de frecuencia menor o repetirse una

cuenta base n veces. Por ejemplo, se desea un retardo de 5 ms, a 4

MHZ. Para esto, se carga en TMR0 el valor 217 (2 16 .9375 ) y se fija el

pre-escalador en 1:128. El tiempo obtenido con tales ajustes es de:

4 128256 217 4 99

4( ) .

 x t ms

v

! v !

Este valor puede considerarse, en la mayoría de las aplicaciones,

como un tiempo de 5.0 ms. Para exactitud máxima puede usarse un

cristal externo de 4.096 MHz. En cuyo caso:

4 128256 216 5 0

4 096( ) .

. x 

t msv

! v !

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 95/110

273273273273273273

TimerTimer 0 del0 del PIC16F84APIC16F84A

La generación de retardos con duración y/o precisión adecuada,

depende del rango de frecuencia aceptable para el reloj de la

aplicación y de la selección adecuada del divisor del pre-escalador.

Considere que se desea generar  5 ms a una frecuencia de reloj

principal de 800 KHz. Cargando 6 en TMR0 y con pre-escalador en 1:4,

se tiene:

4 4256 6 5 0

0 8( ) .

.

 x t ms

v

! v !

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 96/110

274274274274274274

TimerTimer 0 del0 del PIC16F84APIC16F84A

MedidasMedidas dede TiempoTiempo usandousando elel temporizador temporizador 

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 97/110

275275275275275275

TimerTimer 0 del0 del PIC16F84APIC16F84A

ELEL TIMERTIMER 00 comocomo contador contador dede eventoseventos

El TIMER 0 puede usarse también como contador. En este caso el

registro contador  TMR0 no se incrementa cada ciclo de instrucción,

sino que lo hace como respuesta a una transición de la señal aplicada

al terminal R4/T0CK

I del procesador. La frecuencia máxima que puedeser contada es dada por las siguientes especificaciones de tiempos

mínimos en ns:

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 98/110

276276276276276276

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 99/110

277277277277277277

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 100/110

278278278278278278

TimerTimer 0 del0 del PIC16F84APIC16F84A

ElEl módulomódulo TIMERTIMER 00

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 101/110

279279279279279279

TimerTimer 0 del0 del PIC16F84APIC16F84A

El temporizador/contador  TIMER 0 tiene las siguientes

especificaciones:

Temporizador/Contador de 8 bits.

Acepta lecturas y escrituras.

Reloj seleccionable entre interno y externo.

Pre-escalador de 8 bits programable.

Genera interrupción cuando desborda desde 0xFF hacia 0x00.

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 102/110

280280280280280280

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 103/110

281281281281281281

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 104/110

282282282282282282

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 105/110

283283283283283283

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 106/110

284284284284284284

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 107/110

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 108/110

286286286286286286

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 109/110

287287287287287287

TimerTimer 0 del0 del PIC16F84APIC16F84A

8/8/2019 Micro Control Adores PICs III-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 110/110

TimerTimer 0 del0 del PIC16F84APIC16F84A