C3a Proteus

  • 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