Sie sind auf Seite 1von 14

Ing.

Nelson Dugarte
Correo: ndj0227@hotmail.com
UNIVERSIDAD DE LOS ANDES
Facultad de Ingeniera
Grupo de Ingeniera Biomdica
GIBULA
Secuencia Tcnica Para el
Desarrollo de Prototipos
Mrida, 08/04/13
Proceso de diseo
Delimitacin del problema.
Acopio de informacin.
Establecer los parmetros de funcionamiento.
Diseo del hardware.
Arquitectura del software.
Diseo de algoritmos.
Codificacin de instrucciones.
Prueba de funcionamiento.
Calibracin del instrumento.
Medicin de errores.
Diagramas de Flujo
Son utilizados para mostrar grficamente el
funcionamiento de un proceso secuencial.
Se recomienda utilizar el Microsoft Visio.

Inicio o finalizacin:

Decisin:

Subproceso o subrutina:

Proceso:
Bases Numricas
Los circuitos lgicos utilizan solo
numeracin en digital, donde:
Un valor de 0 V = 0 Lgico.
Un valor de 5 V = 1 Lgico.

En programacin se utilizan los valores
numricos en base Hexadecimal.
Nuevo Proyecto
Se desea un oscilador de onda cuadrada con una
frecuencia de 1 Hz, que muestre como resultado un led
que se encienda por 0,5 segundos y luego se apague
por 0,5 segundos.
Diseo del Hardware
R4
10k
C1
1uF
X1
4.0000 MHz
C2
100p
C3
100p
R1
470
D1
LED
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1
PIC16F877A
Diagrama de Flujo
El UC Activa o apaga el led
despus de cada retardo.
El retardo se ejecuta como
sub rutina.
inicio
Condiciones iniciales
RB,2 = salida
FIN
Retardo = 0.5
segundos
Retardo =0.5
segundos
apagar led
Encender led
Subrutina de Retardo
El tiempo depende del valor fijado a
las variables E1 y E2.
Para tres etapas, el tiempo total (T)
est dado por:
E1 = E1 - 1
E2 = E2 - 1
E2 = (Valor)
E1 = (Valor)
E2 = 0
E1 = 0
SI
SI
NO
NO
Tem
Retornar
= 3 1 1 2 + 5 2 1 +6 10
_
6
Subrutina de Retardo
Si se requiere mas tiempo se
agregan mas etapas en la demora.
Para tres etapas, el tiempo total (T)
est dado por:
=

3 1 1 2 + 5 2 3
3 + 7 3 1 + 6

10
_
6
E1 E1 - 1
E3 177
E2 E2 - 1
E2 30
E3 E3 - 1
E1 30
E3 = 0
E2 = 0
E1 = 0
SI
SI
SI
NO
NO
NO
Tem
Retornar
Programa en Ensamblador
; Rutina para generar una seal cuadrada
; con una frecuencia de 1 Hz que encienda un
; LED conectado por RB,2.

PROCESSOR 16f877A
list p=16f877A
include "p16f877a.inc"

radix hex

E1 EQU 0X20
E2 EQU 0X21
E3 EQU 0X22

org 0x00
goto Inc
org 0x05
; ******************* RUTINA DE INICIO ********************

Inc:
nop
bcf STATUS,RP0 ; Banco 0 de la memoria.
bcf STATUS,RP1
clrf PORTA ; Inicializa Puerta A.
clrf PORTB ; Inicializa Puerta B.
clrf PORTC ; Inicializa Puerta C.
clrf PORTD ; Inicializa Puerta D.
clrf PORTE ; Inicializa Puerta E.

bsf STATUS,RP0 ; Banco 1 de la memoria.
movlw b'11111011' ; Carga W
clrf TRISB ; Puerta RB,2 = salida.
bcf STATUS,RP0 ; Banco 0 de la memoria.

; ********* RUTINA PRINCIPAL *************

Retorno:
bcf PORTB,2 ;Apaga el Led
call Tem
bsf PORTB,2 ;Enciende el Led
call Tem
goto Retorno


; ******* Subrutina de retardo (T = 0,5 s) *******

Tem:
movlw 0xB1 ;Carga E3 con 177
movwf E3

T3 movlw 0x1E ;Carga E2 con 30
movwf E2

T2 movlw 0x1E ;Carga E2 con 30
movwf E1

T1 decfsz E1,f
goto T1

decfsz E2,f
goto T2

decfsz E3,f
goto T3

return

End

Das könnte Ihnen auch gefallen