Está en la página 1de 14

Sistema simple con 8051

Diseo del hardware Desarrollo del software Simulador Proteus Implementacin real
Alejandro J. Cabrera Sarmiento, CUJAE

Microcontroladores

Ejemplo simple
Sistema con 8051 y con una lmpara 7 segmentos (nodo comn), 4 interruptores y 4 LEDs. Considere los interruptores y los LEDs con prioridad. Confeccione el programa que, cada un segundo, lea el estado de los interruptores y active el LED que corresponda al interruptor ms prioritario que est activado y muestre en la lmpara 7 segmentos el hexadecimal correspondiente al estado de los 4 interruptores. Considere que el ciclo de mquina demora 1 uS.
Microcontroladores Alejandro J. Cabrera Sarmiento, CUJAE

Hardware del sistema


8051
P2.0 P2.6

P1.3 P3.7 P1.0 P3.4


Microcontroladores Alejandro J. Cabrera Sarmiento, CUJAE

Hardware del sistema en Proteus


80C51 SW-SPST LED-RED 7SEG-COM-ANODE RES
U1
19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

R1
50ohm

18

XTAL2

RST

R2
10k

R3
10k

R4
10k

R5
10k

29 30 31

PSEN ALE EA

SW3
SW-SPST

SW2
SW-SPST

SW1
SW-SPST

SW0
SW-SPST

1 2 3 4 5 6 7 8

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 80C51

R6
300ohm

R7
300ohm

R8
300ohm

R9
300ohm

Proyecto lab1.dsn

D3

D2

D1

D0

Software del sistema


; Programa lab1.asm ; ; Conexiones: ; P2.0 - P2.6: Lampara de 7 segmentos (a, b,...g) ; P1.3 - P1.0: Interruptores (+ .. -) ; P3.7 - P3.4: LEDs (+ .. -) ORG 0 mov DPTR,#Tabla7seg repite: call Demora mov A,P1 anl A,#0Fh movc A,@A+DPTR mov P2,A ; demora de un segundo ; leer interruptores ; en A el hexad. del estado de los interr. ; obtener codigo 7 segmentos ; mostrar en el display

; puntero a la tabla con codigos 7 seg

Software del sistema (cont.)


; Encuestar el estado de los interruptores en orden de prioridad ; y activar el LED correspondiente jnb P1.3, LED3 jnb P1.2, LED2 jnb P1.1, LED1 jnb P1.0, LED0 orl P3,#0FFh sjmp repite LED3: mov P3,#7Fh sjmp repite LED2: mov P3,#0BFh sjmp repite LED1: mov P3,#0DFh sjmp repite LED0: mov P3,#0EFh sjmp repite ; si SW3 activo, activar LED3 ; ...si no, si SW2 activo, activar LED2 ; ...si no, si SW1 activo, activar LED1 ; ...si no, si SW0 activo, activar LED0 ; ...si ningun switch activo, apagar LEDs ; repetir indefinidamente ; activar LED3 ; activar LED2 ; activar LED1 ; activar LED0

Software del sistema (cont.)


; Rutina de demora de 1 segundo aproximadamente ; considerando el ciclo de maquina de 1 uS Demora: mov R7,#10 d2: mov R6,#200 d1: mov R5,#250 djnz R5,$ djnz R6,d1 djnz R7,d2 ret

; demora de 250 x 2 uS = 500 uS aprox ; demora de 500 uS x 200 = 100 ms aprox ; demora de 100 ms x 10 = 1 segundo aprox

; Codigos 7 seg para digitos hexadecimales en display de anodo comum ; Segmento a a bit0; segmento f a bit6 Tabla7Seg: db 40h ; codigo 7 segmentos del cero db 79h db 24h

Software del sistema (cont.)


db 30h db 19h db 12h db 2 db 78h db 0 db 18h db 8 db 3 db 46h db 21h db 6 db 0Eh END ; codigo 7 segmentos del tres

; codigo 7 segmentos del 9 ; codigo 7 segmentos de A

; codigo 7 segmentos de F ; directiva de fin del programa

Simulacin con Proteus


Crear proyecto (lab1.dsn) Dibujar el esquemtico del HW Confeccionar el SW y asignarlo al proyecto Ensamblar el programa Asignar fichero .hex al 8051 Ejecutar simulacin
Paso a paso Continuamente
Microcontroladores Alejandro J. Cabrera Sarmiento, CUJAE

Implementacin en MDE8051 Trainer


uC DS89C450 de Maxim Semiconductor 8052 compatible Memoria de programa de 64 kB 1 kB de RAM externa Un pulso de reloj por ciclo de mquina Programacin mediante UART1 (ISP) Bootloader incorporado Oscilador de 11,059 MHz LEDs y SWs activos en 1
Microcontroladores Alejandro J. Cabrera Sarmiento, CUJAE

MDE8051 Trainer

Microcontroladores

Alejandro J. Cabrera Sarmiento, CUJAE

Esquema de MDE8051 Trainer

Microcontroladores

Alejandro J. Cabrera Sarmiento, CUJAE

Programacin de MDE8051
Configurar UART del PC: 9600 bps; 8n1 Conectar cable serie a SERIAL 0 Poner switch en PRG Borrar la memoria Flash (comando K) Descargar el fichero .hex (comando L) Poner switch en RUN y activar RESET

Microcontroladores

Alejandro J. Cabrera Sarmiento, CUJAE

Programacin mediante Teraterm


Borrar la memoria Flash Descargar programa

Seleccionar .hex
Microcontroladores Alejandro J. Cabrera Sarmiento, CUJAE

También podría gustarte