O que passarei a frente é o código fonte do projeto de um contador de publico utilizando o microcontrolador da família 8051 89c2051, o mesmo foi apresentado na Escola Técnica de Brasília como trabalho final.
Deixam seus comentários e sugestões, vou tentam localizar o esquema elétrico do projeto para postar aqui.
$mod51
org 0000H
rst: LCALL CONFIG
LJMP ETBMIX
org 0030H
CONFIG: CLR P3.1
CLR P3.5
MOV A,#38
LCALL DSP
MOV A,#38
LCALL DSP
MOV A,#0EH
LCALL DSP
LCALL LXP
RET
ETBMIX: MOV R7,#07
MOV DPTR,#MSG
CLEAR: CLR A
MOVC A,@A+DPTR
LCALL DSP
DJNZ R7,CLEAR
MOV R4,#80
LCALL DELAY
LCALL LXP
ZERA: LCALL LXP
MOV R0,#30
MOV R1,#30
MOV R2,#30
MOV R3,#30
LCALL MOST
SENSOR: CLR P3.5
TEST1: JNB P3.4,TEST1
MOV R4,#01
LCALL DELAY
TEST2: JB P3.4,TEST2
MOV R4,#02
LCALL DELAY
INC R3
SETB P3.5
CJNE R3,#3AH,VEJ
MOV R3,#30
INC R2
SETB P3.5
CJNE R2,#3AH,VEJ
MOV R2,#30
INC R1
SETB P3.5
CJNE R1,#3AH,VEJ
MOV R1,#30
MOV R0,#31
LCALL MOST
LJMP ZERA
VEJ: LCALL MOST
LJMP SENSOR
MOST: LCALL LXP
MOV A,R0
LCALL DSP
MOV A,R1
LCALL DSP
MOV A,R2
LCALL DSP
MOV A,R3
LCALL DSP
RET
DSP: MOV P1,A
SETB P3.1
CLR P3.1
MOV R4,#01
LCALL DELAY
RET
LXP: CLR P3.0
MOV A,#01
LCALL DSP
MOV A,#86
LCALL DSP
SETB P3.0
RET
DELAY: MOV TMOD,#01
MOV TCON,#00
REPETE: MOV TH0,#08
;MOV TL,#DB
SETB TR0
AQUI: JNB TF0,AQUI
CLR TF0
DJNZ R4,REPETE
CLR TR0
RET
MSG: DB 'ETB MIX'
end
Obs: O código foi compilado utilizando o software chamado PeQui.
0 comments:
Postar um comentário