Upload
rcajo
View
69
Download
1
Embed Size (px)
Citation preview
Microcontroladores Alejandro J. Cabrera Sarmiento, CUJAE
Sistema simple con 8051
Diseo del hardware Desarrollo del software Simulador Proteus Implementacin real
Microcontroladores Alejandro J. Cabrera Sarmiento, CUJAE
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
P2.0
P2.6
P1.3 P3.7
P1.0 P3.4
8051
Hardware del sistema en Proteus
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P0.0/AD0 39
P0.1/AD1 38
P0.2/AD2 37
P0.3/AD3 36
P0.4/AD4 35
P0.5/AD5 34
P0.6/AD6 33
P0.7/AD7 32
P2.7/A15 28
P2.0/A8 21
P2.1/A9 22
P2.2/A10 23
P2.3/A11 24
P2.4/A12 25
P2.5/A13 26
P2.6/A14 27
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P3.0/RXD 10
P3.1/TXD 11
P3.2/INT0 12
P3.3/INT1 13
P3.4/T0 14
P3.7/RD 17P3.6/WR 16P3.5/T1 15
U1
80C51
R150ohm
SW3SW-SPST
R210k
SW2SW-SPST
R310k
SW1SW-SPST
R410k
SW0SW-SPST
R510k
R6300ohm
D3
R7300ohm
D2
R8300ohm
D1
R9300ohm
D0Proyecto lab1.dsn
80C51SW-SPSTLED-RED
7SEG-COM-ANODERES
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 0mov DPTR,#Tabla7seg ; puntero a la tabla con codigos 7 seg
repite:call Demora ; demora de un segundomov A,P1 ; leer interruptoresanl A,#0Fh ; en A el hexad. del estado de los interr.movc A,@A+DPTR ; obtener codigo 7 segmentosmov P2,A ; mostrar en el display
Software del sistema (cont.); Encuestar el estado de los interruptores en orden de prioridad; y activar el LED correspondiente
jnb P1.3, LED3 ; si SW3 activo, activar LED3jnb P1.2, LED2 ; ...si no, si SW2 activo, activar LED2jnb P1.1, LED1 ; ...si no, si SW1 activo, activar LED1jnb P1.0, LED0 ; ...si no, si SW0 activo, activar LED0orl P3,#0FFh ; ...si ningun switch activo, apagar LEDs
sjmp repite ; repetir indefinidamente
LED3: mov P3,#7Fh ; activar LED3sjmp repite
LED2: mov P3,#0BFh ; activar LED2sjmp repite
LED1: mov P3,#0DFh ; activar LED1sjmp repite
LED0: mov P3,#0EFh ; activar LED0sjmp repite
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,$ ; demora de 250 x 2 uS = 500 uS aproxdjnz R6,d1 ; demora de 500 uS x 200 = 100 ms aproxdjnz R7,d2 ; demora de 100 ms x 10 = 1 segundo aproxret
; Codigos 7 seg para digitos hexadecimales en display de anodo comum; Segmento a a bit0; segmento f a bit6Tabla7Seg:
db 40h ; codigo 7 segmentos del cerodb 79hdb 24h
Software del sistema (cont.)db 30h ; codigo 7 segmentos del tresdb 19hdb 12hdb 2db 78hdb 0db 18h ; codigo 7 segmentos del 9db 8 ; codigo 7 segmentos de Adb 3db 46hdb 21hdb 6db 0Eh ; codigo 7 segmentos de F
END ; directiva de fin del programa
Microcontroladores Alejandro J. Cabrera Sarmiento, CUJAE
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