Microcontroller › 8051 › ASCII to Morse Converter
- This topic has 3 replies, 3 voices, and was last updated 12 years, 3 months ago by
Add1.
-
AuthorPosts
-
February 16, 2011 at 9:24 pm #686
Leutrim Gruda
ParticipantHi there!
Does anybody have a clue how to start writing a program in assembly that converts ASCII characters into Morse Code.
I woul be very grateful if anybody could help me.
February 18, 2011 at 3:16 pm #5552Leutrim Gruda
ParticipantMaybe this program will be useful to anybody. So i will share it:
;;//
Made by AlbTech
\;;LOOPD1 EQU 61H
LOOPD2 EQU 62H
LOOPD3 EQU 63H
DOT EQU 64H
VIZA EQU 65H
BUZZER EQU P2.5
ORG 0H
MOV 64H,#0E7H
MOV 65H,#0H
MOV TMOD,#02H
MOV TH0,#0FDH ;9600 BAUD RATE
MOV SCON,#50H ;8 BIT, 1 STOP BIT, REN ENABLED
SETB TR0
;;//
\;;;;//
PROGRAMI KRYESOR
\;;;;//
\;;MAIN0:
HERE: JNB RI,HERE ;CHECK RI UNTIL SET
MOV A,SBUF ;READ CHARACTER
CLR RI ;CLEAR RI
MOV 20H,A ;VLEREN E ACC E RUAN NE LOKACIONIN 20H
MOV B,#0DH
SUBB A,#41H
JC NUMER
SHKRONJE:
MOV DPTR,#TABLE_SH
JMP VAZHDO
NUMER: MOV A,20H
SUBB A,#2FH
MOV DPTR,#TABLE_NR
VAZHDO: MUL AB
JNB OV,VAZHDO1
MOV 21H,A
MOV A,DPH
ADD A,B
MOV DPH,A
MOV A,21H
VAZHDO1:
JMP @A+DPTR
TABLE_SH:
ACALL PIKE ;A
ACALL VIZE
NOP
NOP
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL VIZE ;B
ACALL PIKE
ACALL PIKE
ACALL PIKE
NOP
NOP
LJMP MAIN0
ACALL VIZE ;C
ACALL PIKE
ACALL VIZE
ACALL PIKE
NOP
NOP
LJMP MAIN0
ACALL VIZE
ACALL PIKE
ACALL PIKE
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;E
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;F
ACALL PIKE
ACALL VIZE
ACALL PIKE
NOP
NOP
LJMP MAIN0
ACALL VIZE ;G
ACALL VIZE
ACALL PIKE
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;H
ACALL PIKE
ACALL PIKE
ACALL PIKE
NOP
NOP
LJMP MAIN0
ACALL PIKE ;I
ACALL PIKE
NOP
NOP
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;J
ACALL VIZE
ACALL VIZE
ACALL VIZE
NOP
NOP
LJMP MAIN0
ACALL VIZE ;K
ACALL PIKE
ACALL VIZE
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;L
ACALL VIZE
ACALL PIKE
ACALL PIKE
NOP
NOP
LJMP MAIN0
ACALL VIZE ;M
ACALL VIZE
NOP
NOP
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL VIZE ;N
ACALL PIKE
NOP
NOP
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL VIZE ;O
ACALL VIZE
ACALL VIZE
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;P
ACALL VIZE
ACALL VIZE
ACALL PIKE
NOP
NOP
LJMP MAIN0
ACALL VIZE ;Q
ACALL VIZE
ACALL PIKE
ACALL VIZE
NOP
NOP
LJMP MAIN0
ACALL PIKE ;R
ACALL VIZE
ACALL PIKE
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;S
ACALL PIKE
ACALL PIKE
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL VIZE ;T
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;U
ACALL PIKE
ACALL VIZE
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL PIKE ;V
ACALL PIKE
ACALL PIKE
ACALL VIZE
NOP
NOP
LJMP MAIN0
ACALL PIKE ;W
ACALL VIZE
ACALL VIZE
NOP
NOP
NOP
NOP
LJMP MAIN0
ACALL VIZE ;X
ACALL PIKE
ACALL PIKE
ACALL VIZE
NOP
NOP
LJMP MAIN0
ACALL VIZE ;Y
ACALL PIKE
ACALL VIZE
ACALL VIZE
NOP
NOP
LJMP MAIN0
ACALL VIZE ;Z
ACALL VIZE
ACALL PIKE
ACALL PIKE
NOP
NOP
LJMP MAIN0
TABLE_NR:
ACALL VIZE ;0
ACALL VIZE
ACALL VIZE
ACALL VIZE
ACALL VIZE
LJMP MAIN0
ACALL PIKE ;1
ACALL VIZE
ACALL VIZE
ACALL VIZE
ACALL VIZE
LJMP MAIN0
ACALL PIKE ;2
ACALL PIKE
ACALL VIZE
ACALL VIZE
ACALL VIZE
LJMP MAIN0
ACALL PIKE
ACALL PIKE
ACALL PIKE
ACALL VIZE
ACALL VIZE
LJMP MAIN0
ACALL PIKE ;4
ACALL PIKE
ACALL PIKE
ACALL PIKE
ACALL VIZE
LJMP MAIN0
ACALL PIKE ;5
ACALL PIKE
ACALL PIKE
ACALL PIKE
ACALL PIKE
LJMP MAIN0
ACALL VIZE ;6
ACALL PIKE
ACALL PIKE
ACALL PIKE
ACALL PIKE
LJMP MAIN0
ACALL VIZE ;7
ACALL VIZE
ACALL PIKE
ACALL PIKE
ACALL PIKE
LJMP MAIN0
ACALL VIZE ;8
ACALL VIZE
ACALL VIZE
ACALL PIKE
ACALL PIKE
LJMP MAIN0
ACALL VIZE ;9
ACALL VIZE
ACALL VIZE
ACALL VIZE
ACALL PIKE
LJMP MAIN0
VIZE:
MOV P1,VIZA
SETB BUZZER
ACALL L_DELAY
CLR BUZZER
MOV P1,#0FFH
RET
PIKE:
MOV P1,PIKA
SETB BUZZER
ACALL SH_DELAY
CLR BUZZER
MOV P1,#0FFH
RET
L_DELAY:
MOV R1,#3
AGAIN1: MOV R2,#250
AGAIN2: MOV R3,#250
HERE1: DJNZ R3,HERE1
DJNZ R2,AGAIN2
DJNZ R1,AGAIN1
RET
SH_DELAY:
MOV R1,#250
AGAIN: MOV R2,#250
HERE2: DJNZ R2,HERE2
DJNZ R1,AGAIN
RET
END
February 21, 2011 at 5:18 am #5562dagakshay
Participantsir what is exactly MORSE converter…
and please explain the code algo.
November 19, 2012 at 10:41 pm #8767Add1
ParticipantThis code has flared lcd or 7 segments
-
AuthorPosts
- You must be logged in to reply to this topic.