SlideShare una empresa de Scribd logo
1 de 11
UNIVERSIDAD “FERMIN TORO”
VICERRECTORADO ACADEMICO
FACULTAD DE INGENIERIA
CABUDARE EDO. LARA
CÓDIGO
MICROPROCESADOR
ATMEL
Alumna:
María Daniela Álvarez
CI: 17784337
Cabudare, Junio 2015
Tarea código microprocesador atmel at89c51/52
Código 1
El programa deberá contar en binario del 0 al 31 haciendo uso de uno de los puertos
del micro para mostrar el numero en cuestión, deberá tener una pausa entre número y
numero para poder apreciar el cambio entre uno y otro y al llegar al tope, es decir el
numero 31 deberá devolverse de manera descendente hasta llegar a 0 para repetir el proceso
nuevamente de manera infinita.
ORG 00H
MOV A,#0
SIGUE:
MOV P1,A
CALL RET1S
INC A
CJNE A,#32,SIGUE
MOV A,#30
SIGUE2:
mov P1,A
CALL RET1S
DEC A
CJNE A,#255,SIGUE2
MOV A,#1
JMP SIGUE
RET1S:
MOV R7,#5
RE43:
MOV R6,#250
RE42:
MOV R5,#250
DJNZ R5,$
DJNZ R6,RE42
DJNZ R7,RE43
RET
END
Código 2
El estudiante deberá realizar un programa para un micro atmel at89c51/52 que
simule la siguiente situación:
En un edificio de 3 pisos se desea instalar un ascensor que será controlado de
manera electrónica por un microcontrolador, se debe mostrar un menú en una pantalla LCD
en el cual se observan los pisos enumerados del 1 al 3, por medio de un teclado el usuario
podrá ingresar el piso al cual se dirige y por medio de unos led se mostrara el piso en el
cual se encuentra el ascensor. Tomar en cuenta para el diseño del programa el
funcionamiento real del ascensor, (si está en el piso 3 y se marca el 1 este deberá pasar
primer por el 2 y si se marca el piso en el cual se encuentra actualmente el mismo no deberá
moverse.
org 00h
jmp config8
org 03h
jmp piso0
org 0bh
jmp piso2
org 013h
jmp piso1
config8:
mov a,#38h
call inst
mov a,#06h
call inst
mov a,#0ch
call inst
setb pi0
setb pi1
setb pi2
mov ie,#10000111B
mov tmod,#00000110b
mov th0,#0ffh
mov tl0,#0ffh
mov tcon,#00010101b
mov p1,#0ffh
principal:
setb lpi0
call planta0
s1: setb lpi0
setb pi0
jnb pi1,s2
jnb pi2,s2
jmp s1
s2: call sobrepeso
call cerrando
call subiendo
jb pi1,s3
call planta1
call abriendo
s3: setb lpi1
call planta1
s4: setb pi1
setb lpi1
jnb pi2,ss1
jnb pi0,bajando1
jmp s4
ss1: jb bn,ss2
call sobrepeso
call cerrando
ss2: call subiendo
call planta2
call abriendo
s6: setb lpi2
call planta2
loop2:
setb pi2
setb lpi2
jnb pi1,bajando0
jnb pi0,bajando0
jmp loop2
bajando0:
call sobrepeso
call cerrando
call bajando
jb pi1,s7
call planta1
call abriendo
s7: setb lpi1
call planta1
bajando1:
setb pi1
setb lpi1
jnb pi0,s9
jnb pi2,s4
jmp bajando1
s9: jb bn,ss3
call sobrepeso
call cerrando
ss3: call bajando
call planta0
call abriendo
jmp principal
sobrepeso:
jb speso,sli
call borrar
mov dptr,#sobrep
call lazo_palabra
jnb speso,$
sli: ret
borrar: mov a,#01h
call inst
ret
subiendo:
call borrar
mov dptr,#msj1
jmp mostrar
bajando:
call borrar
mov dptr,#msj2
jmp mostrar
abriendo:
clr bn
call borrar
mov dptr,#msj3
call lazo_palabra
call ret3s
call borrar
mov dptr,#msj9
jmp mostrar
cerrando:
setb bn
call borrar
mov dptr,#msj4
call lazo_palabra
call ret3s
call borrar
mov dptr,#msj8
jmp mostrar
planta0:
call borrar
mov dptr,#msj5
jmp mostrar
planta1:
call borrar
mov dptr,#msj6
jmp mostrar
planta2:
call borrar
mov dptr,#msj7
mostrar:call lazo_palabra
call ret3s
ret
piso0: clr pi0
clr lpi0
reti
piso1: clr pi1
clr lpi1
reti
piso2: clr pi2
clr lpi2
reti
; '123456789abcdef'
msj1: db ' Subiendo...',00h
msj2: db ' Bajando...',00h
msj3: db 'Abriendo puerta',00h
msj4: db 'Cerrando puerta',00h
msj5: db ' Planta baja',00h
msj6: db ' Piso 1',00h
msj7: db ' Piso 2',00h
msj8: db 'Puerta cerrada!',00h
msj9: db 'Puerta abierta!',00h
sobrep: db 'Error sobrepeso',00h
config8:
mov a,#38h
call inst
mov a,#06h
call inst
mov a,#0ch
call inst
ret
lazo_palabra:
MOV A,#0
MOVC A,@A+Dptr
JZ salir
Call DATO
INC Dptr
JMP lazo_palabra
salir: ret
INST: CLR P2.1
JMP SIGUE
DATO: SETB P2.1
SIGUE: MOV P0,A
SETB P2.0
CALL RET1MS
CLR P2.0
RET
RET3S:
MOV R6,#22
RET2: CALL RET100MS
DJNZ R6,RET2
RET
RET1MS: MOV R4,#50D
RE23: MOV R5,#20D
DJNZ R5,$
DJNZ R4,RE23
RET
RET100MS:
MOV R4,#255D
RE13: MOV R5,#255D
DJNZ R5,$
DJNZ R4,RE13
RET
lpi0 equ p1.0
lpi1 equ p1.1
lpi2 equ p1.2
speso equ p1.7
pi1 equ 20h.0
pi2 equ 20h.1
pi0 equ 20h.2
bn equ 20h.3
End

Más contenido relacionado

Destacado (20)

Asignacion 5
Asignacion 5Asignacion 5
Asignacion 5
 
Electiva 2
Electiva 2Electiva 2
Electiva 2
 
Mariaalvarezasig3
Mariaalvarezasig3Mariaalvarezasig3
Mariaalvarezasig3
 
Proyecto
ProyectoProyecto
Proyecto
 
Asignacion 5
Asignacion 5Asignacion 5
Asignacion 5
 
Practica 3
Practica 3Practica 3
Practica 3
 
Manual del estacionamiento
Manual del estacionamientoManual del estacionamiento
Manual del estacionamiento
 
Postlaboratorio practica nº3 (1)
Postlaboratorio practica nº3 (1)Postlaboratorio practica nº3 (1)
Postlaboratorio practica nº3 (1)
 
Alvarezmariaasig1
Alvarezmariaasig1Alvarezmariaasig1
Alvarezmariaasig1
 
Manual del estacionamiento
Manual del estacionamientoManual del estacionamiento
Manual del estacionamiento
 
Asignacion 5
Asignacion 5Asignacion 5
Asignacion 5
 
Practica nro2
Practica nro2Practica nro2
Practica nro2
 
Fourier
FourierFourier
Fourier
 
Transformada z
Transformada zTransformada z
Transformada z
 
SISTEMAS TRIFASICOS
SISTEMAS TRIFASICOSSISTEMAS TRIFASICOS
SISTEMAS TRIFASICOS
 
Second life
Second lifeSecond life
Second life
 
Taller
TallerTaller
Taller
 
Electronica i laboratorio 3
 Electronica i laboratorio 3 Electronica i laboratorio 3
Electronica i laboratorio 3
 
Ensayo
EnsayoEnsayo
Ensayo
 
Practica nro 4
Practica nro 4Practica nro 4
Practica nro 4
 

Similar a Codigo atmel

Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosmarco calderon layme
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorDaniel Pardo
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensambladorJose Bondia
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-MicrocontroladoresOmar Ruiz
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
 
Taller de microcontroladores i
Taller de microcontroladores iTaller de microcontroladores i
Taller de microcontroladores iRuderocker Billy
 
Proyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekitProyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekitEnrique Trascastro
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2Luis Zurita
 
Mej feb17 2011_solucion
Mej feb17 2011_solucionMej feb17 2011_solucion
Mej feb17 2011_solucionJair BG
 
Soluciones examen y ejercicios 1.0 numerico jose rivera
Soluciones examen y ejercicios 1.0   numerico jose riveraSoluciones examen y ejercicios 1.0   numerico jose rivera
Soluciones examen y ejercicios 1.0 numerico jose riveraJ R7
 
Microcontroladores: Practica show de luces de microcontroladores PIC.docx
Microcontroladores: Practica show de luces de microcontroladores PIC.docxMicrocontroladores: Practica show de luces de microcontroladores PIC.docx
Microcontroladores: Practica show de luces de microcontroladores PIC.docxSANTIAGO PABLO ALBERTO
 

Similar a Codigo atmel (20)

Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltos
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
 
Tarea final
Tarea finalTarea final
Tarea final
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Omron03
Omron03Omron03
Omron03
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4
 
Taller de microcontroladores i
Taller de microcontroladores iTaller de microcontroladores i
Taller de microcontroladores i
 
PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84
 
Proyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekitProyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekit
 
Proye84
Proye84Proye84
Proye84
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Mej feb17 2011_solucion
Mej feb17 2011_solucionMej feb17 2011_solucion
Mej feb17 2011_solucion
 
Soluciones examen y ejercicios 1.0 numerico jose rivera
Soluciones examen y ejercicios 1.0   numerico jose riveraSoluciones examen y ejercicios 1.0   numerico jose rivera
Soluciones examen y ejercicios 1.0 numerico jose rivera
 
Omron08
Omron08Omron08
Omron08
 
Microcontroladores: Practica show de luces de microcontroladores PIC.docx
Microcontroladores: Practica show de luces de microcontroladores PIC.docxMicrocontroladores: Practica show de luces de microcontroladores PIC.docx
Microcontroladores: Practica show de luces de microcontroladores PIC.docx
 

Más de mariadanielaalvarez (18)

Tarea 2
Tarea 2Tarea 2
Tarea 2
 
Tarea 1, Electiva II
Tarea 1, Electiva IITarea 1, Electiva II
Tarea 1, Electiva II
 
Diagramas
DiagramasDiagramas
Diagramas
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Video sgbd
Video sgbdVideo sgbd
Video sgbd
 
Mapa conceptual ms project
Mapa conceptual ms projectMapa conceptual ms project
Mapa conceptual ms project
 
EXITO EMPRESARIAL
EXITO EMPRESARIALEXITO EMPRESARIAL
EXITO EMPRESARIAL
 
ÉXITO EMPRESARIAL
ÉXITO EMPRESARIALÉXITO EMPRESARIAL
ÉXITO EMPRESARIAL
 
ÉXITO EMPRESARIAL
ÉXITO EMPRESARIALÉXITO EMPRESARIAL
ÉXITO EMPRESARIAL
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetos
 
Simulacion
SimulacionSimulacion
Simulacion
 
Oracle
OracleOracle
Oracle
 
Asignacion 5
Asignacion 5Asignacion 5
Asignacion 5
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Atmel
AtmelAtmel
Atmel
 
Practica 5
Practica 5Practica 5
Practica 5
 
Cvp maria alvarez
Cvp maria alvarezCvp maria alvarez
Cvp maria alvarez
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 

Codigo atmel

  • 1. UNIVERSIDAD “FERMIN TORO” VICERRECTORADO ACADEMICO FACULTAD DE INGENIERIA CABUDARE EDO. LARA CÓDIGO MICROPROCESADOR ATMEL Alumna: María Daniela Álvarez CI: 17784337 Cabudare, Junio 2015
  • 2. Tarea código microprocesador atmel at89c51/52 Código 1 El programa deberá contar en binario del 0 al 31 haciendo uso de uno de los puertos del micro para mostrar el numero en cuestión, deberá tener una pausa entre número y numero para poder apreciar el cambio entre uno y otro y al llegar al tope, es decir el numero 31 deberá devolverse de manera descendente hasta llegar a 0 para repetir el proceso nuevamente de manera infinita. ORG 00H MOV A,#0 SIGUE: MOV P1,A CALL RET1S INC A CJNE A,#32,SIGUE MOV A,#30 SIGUE2: mov P1,A CALL RET1S DEC A CJNE A,#255,SIGUE2 MOV A,#1 JMP SIGUE RET1S: MOV R7,#5 RE43: MOV R6,#250 RE42: MOV R5,#250 DJNZ R5,$
  • 3. DJNZ R6,RE42 DJNZ R7,RE43 RET END Código 2 El estudiante deberá realizar un programa para un micro atmel at89c51/52 que simule la siguiente situación: En un edificio de 3 pisos se desea instalar un ascensor que será controlado de manera electrónica por un microcontrolador, se debe mostrar un menú en una pantalla LCD en el cual se observan los pisos enumerados del 1 al 3, por medio de un teclado el usuario podrá ingresar el piso al cual se dirige y por medio de unos led se mostrara el piso en el cual se encuentra el ascensor. Tomar en cuenta para el diseño del programa el funcionamiento real del ascensor, (si está en el piso 3 y se marca el 1 este deberá pasar primer por el 2 y si se marca el piso en el cual se encuentra actualmente el mismo no deberá moverse. org 00h jmp config8 org 03h jmp piso0 org 0bh jmp piso2 org 013h jmp piso1 config8: mov a,#38h call inst mov a,#06h call inst mov a,#0ch
  • 4. call inst setb pi0 setb pi1 setb pi2 mov ie,#10000111B mov tmod,#00000110b mov th0,#0ffh mov tl0,#0ffh mov tcon,#00010101b mov p1,#0ffh principal: setb lpi0 call planta0 s1: setb lpi0 setb pi0 jnb pi1,s2 jnb pi2,s2 jmp s1 s2: call sobrepeso call cerrando call subiendo jb pi1,s3 call planta1 call abriendo s3: setb lpi1 call planta1 s4: setb pi1
  • 5. setb lpi1 jnb pi2,ss1 jnb pi0,bajando1 jmp s4 ss1: jb bn,ss2 call sobrepeso call cerrando ss2: call subiendo call planta2 call abriendo s6: setb lpi2 call planta2 loop2: setb pi2 setb lpi2 jnb pi1,bajando0 jnb pi0,bajando0 jmp loop2 bajando0: call sobrepeso call cerrando call bajando jb pi1,s7 call planta1 call abriendo s7: setb lpi1 call planta1 bajando1:
  • 6. setb pi1 setb lpi1 jnb pi0,s9 jnb pi2,s4 jmp bajando1 s9: jb bn,ss3 call sobrepeso call cerrando ss3: call bajando call planta0 call abriendo jmp principal sobrepeso: jb speso,sli call borrar mov dptr,#sobrep call lazo_palabra jnb speso,$ sli: ret borrar: mov a,#01h call inst ret subiendo: call borrar
  • 7. mov dptr,#msj1 jmp mostrar bajando: call borrar mov dptr,#msj2 jmp mostrar abriendo: clr bn call borrar mov dptr,#msj3 call lazo_palabra call ret3s call borrar mov dptr,#msj9 jmp mostrar cerrando: setb bn call borrar mov dptr,#msj4 call lazo_palabra call ret3s call borrar mov dptr,#msj8 jmp mostrar planta0: call borrar mov dptr,#msj5 jmp mostrar
  • 8. planta1: call borrar mov dptr,#msj6 jmp mostrar planta2: call borrar mov dptr,#msj7 mostrar:call lazo_palabra call ret3s ret piso0: clr pi0 clr lpi0 reti piso1: clr pi1 clr lpi1 reti piso2: clr pi2 clr lpi2 reti ; '123456789abcdef' msj1: db ' Subiendo...',00h msj2: db ' Bajando...',00h
  • 9. msj3: db 'Abriendo puerta',00h msj4: db 'Cerrando puerta',00h msj5: db ' Planta baja',00h msj6: db ' Piso 1',00h msj7: db ' Piso 2',00h msj8: db 'Puerta cerrada!',00h msj9: db 'Puerta abierta!',00h sobrep: db 'Error sobrepeso',00h config8: mov a,#38h call inst mov a,#06h call inst mov a,#0ch call inst ret lazo_palabra: MOV A,#0 MOVC A,@A+Dptr JZ salir Call DATO INC Dptr JMP lazo_palabra salir: ret
  • 10. INST: CLR P2.1 JMP SIGUE DATO: SETB P2.1 SIGUE: MOV P0,A SETB P2.0 CALL RET1MS CLR P2.0 RET RET3S: MOV R6,#22 RET2: CALL RET100MS DJNZ R6,RET2 RET RET1MS: MOV R4,#50D RE23: MOV R5,#20D DJNZ R5,$ DJNZ R4,RE23 RET RET100MS: MOV R4,#255D RE13: MOV R5,#255D DJNZ R5,$ DJNZ R4,RE13 RET lpi0 equ p1.0 lpi1 equ p1.1
  • 11. lpi2 equ p1.2 speso equ p1.7 pi1 equ 20h.0 pi2 equ 20h.1 pi0 equ 20h.2 bn equ 20h.3 End