Semaforo Con At89c52
-
Upload
freddy-espejo -
Category
Documents
-
view
16 -
download
3
description
Transcript of Semaforo Con At89c52
SEMAFORO CON AT89C52
PROGRAMACION EN ASEMBLER
;***************************************************;***************************************************; Curso de Microcontroladores 8051; Programa : semaforo ; Elaborado: Freddy Antonio Espejo Serrano; Fecha: 05 de Septiembre de 2014;***************************************************;***************************************************
org 0000h;^**************************************************; Direcciones de almacenamiento;***************************************************
conta equ 10hcontb equ 11hcontc equ 12hcontd equ 13hconte equ 14hcontf equ 15hcontg equ 16hconth equ 17h
;***************************************************; luces de los semaforos;****************************************************
verde1 equ p2.0amarillo1equ p2.1rojo1 equ p2.2verde2 equ p2.3amarillo2equ p2.4rojo2 equ p2.5alarma equ p2.6
verde3 equ p3.0amarillo3equ p3.1rojo3 equ p3.2verde4 equ p3.3amarillo4equ p3.4rojo4 equ p3.5
inicio:mov p1,#00hmov p2,#00hmov p3,#00h;clr alarma
;****************************************************; Iniciacion de las direcciones;****************************************************empezar:
mov conta,#00hmov contb,#00hmov contc,#00hmov contd,#00hmov conte,#00hmov contf,#00hmov contg,#00hmov conth,#00h
;***********************************; Encendido de los leds semaforo ;*********************************** ; acall seg05
setb verde1setb rojo2 ;setb alarma
verde:inc contaacall seg05acall seg05mov r0,contacjne r0,#05d,verdeclr verde1setb amarillo1
amarillo:inc contbacall seg05acall seg05mov r0,contbcjne r0,#02d,amarilloclr amarillo1clr rojo2setb rojo1setb verde2;clr alarma
rojo:inc contcacall seg05
acall seg05mov r0,contccjne r0,#05d,rojo;clr rojo1clr verde2setb amarillo2
amarillo12:inc contdacall seg05acall seg05mov r0,contdcjne r0,#02d,amarillo12clr rojo1clr amarillo2ljmp inicio
; * * * * * * * * * * * * * * * * * * * * * * * *; retardo de 500 micro segundos (500us); * * * * * * * * * * * * * * * * * * * * * * * *; tiempo = sec * 12 periodos; 12MHz 1 ciclo de maquina; * * * * * * * * * * * * * * * * * * * * * * * *; tiempo = 0.5 s = 500000us; ciclos de maquina; * * * * * * * * * * * * * * * * * * * * * * * *seg05: ;(2) = 2 mov r6,#0fah ;(1) = 1xx:
mov R7,#0f9h ;(1)*r6[250] = 250 nop ;(1)*r6(250) = 250 nop ;(1)*r6(250) = 250 nop ;(1)*r6(250) = 250 nop ;(1)*r6(250) = 250 nop ;(1)*r6(250) = 250xxx:
nop ;(1)*r6[250]*r7[249] = 62250 nop ;(1)*r6[250]*r7[249] = 62250 nop ;(1)*r6[250]*r7[249] = 62250 nop ;(1)*r6[250]*r7[249] = 62250 nop ;(1)*r6[250]*r7[249] = 62250 nop ;(1)*r6[250]*r7[249] = 62250 djnz R7,xxx ;(2)*r6[250]*r7[249] = 124500 djnz r6,xx ;(2)*r6[250] = 500 ret ;(2) = 2; ----------------------------------; 500005 * 1us = 500005us = 0.5seg
End
LISTA DE MATERIALESDESCRIPCION CANTIDAD
AT 89C52 1CRYSTAL 11.052 MHZ 1CAPACITOR DE 22PF 2
PULSADOR DE 4 PINES 1RESISTOR 10K 1
CAPACITOR DE 10UF/25V 1ZOCALO DE 40 PINES 1
ULN 2803 1TERMINAL DOBLE 4TERMINAL TRIPLE 1DIODO PUENTE 2A 1
CAPACITOR 2200UF/25V 1CAPAICTOR 0,1UF CER. 2
REGULADOR 7805 1CAPACITOR DE 10UF/25V 1
LED ROJO 14LED AMARILLO 14
LED VERDE 14