AIR DISPLAY - Algorithm.

Nov 6, 2005 - AIR DISPLAY ALGORITHM.

This code was originally developed for the microcontroller 12F629, however, it can be easily modified for ANY microcontroller. With this algorithm you can create your own program in any language.

Enjoy it!

Air display


; name    : JP6293E
; author  : Jose Pino
; date    : 10/06/03

; Microcontroller:  12f675 Speed: 4 Mhz Internal RC

delay 200 miliseconds
Set Comparator Mode 7


variable byte f = 00000000b   ; Output data
variable byte s                  ; Temporal variable
variable byte o                  ; message number.

procedure salida( s as byte ) is
gpio = s
delay 500 us
gpio = 00000000b
delay 200 us         
end procedure

procedure disp ( f as byte ) is
if f = "0" then f = "O" 
if f = "A" then
   salida(0011_0110)
   salida(0000_0101)
   salida(0000_0101)
   salida(0011_0110)
end if
if f = "B" then
   salida(0011_0111)
   salida(0010_0101)
   salida(0010_0101)
   salida(0001_0010)
end if
if f = "C" then
   salida(0001_0110)
   salida(0010_0001)
   salida(0010_0001)
   salida(0010_0001)
end if
if f = "D" then
   salida(0011_0111)
   salida(0010_0001)
   salida(0010_0001)
   salida(0001_0110)
end if
if f = "E" then
   salida(0011_0111)
   salida(0010_0101)
   salida(0010_0101)
   salida(0010_0001)
end if
if f = "F" then
   salida(0011_0111)
   salida(0000_0101)
   salida(0000_0101)
   salida(0000_0001)
end if
if f = "G" then
   salida(0001_0110)
   salida(0010_0001)
   salida(0010_0101)
   salida(0011_0101)
end if
if f = "H" then
   salida(0011_0111)
   salida(0000_0100)
   salida(0000_0100)
   salida(0011_0111)
end if
if f = "I" then
   salida(0010_0001)
   salida(0011_0111)
   salida(0010_0001)
end if
if f = "J" then
   salida(0001_0000)
   salida(0010_0000)
   salida(0010_0000)
   salida(0001_0111)
end if
if f = "K" then
   salida(0011_0111)
   salida(0000_0100)
   salida(0001_0010)
   salida(0010_0001)
end if
if f = "L" then
   salida(0011_0111)
   salida(0010_0000)
   salida(0010_0000)
   salida(0010_0000)
end if
if f = "M" then
   salida(0011_0111)
   salida(0000_0010)
   salida(0000_0100)
   salida(0000_0010)
   salida(0011_1111)
end if
if f = "N" then
   salida(0011_0111)
   salida(0000_0010)
   salida(0000_0100)
   salida(0001_0000)
   salida(0011_0111)
end if
if f = "O" then
   salida(0001_0110)
   salida(0010_0001)
   salida(0010_0001)
   salida(0001_0110)
end if
if f = "P" then
   salida(0011_0111)
   salida(0000_0101)
   salida(0000_0101)
   salida(0000_0010)
end if
if f = "Q" then
   salida(0001_0110)
   salida(0010_0001)
   salida(0011_0001)
   salida(0011_0110)
end if
if f = "R" then
   salida(0011_0111)
   salida(0000_0101)
   salida(0000_0101)
   salida(0011_0010)
end if
if f = "S" then
   salida(0010_0010)
   salida(0010_0101)
   salida(0010_0101)
   salida(0001_0001)
end if
if f = "T" then
   salida(0000_0001)
   salida(0011_0111)
   salida(0000_0001)
end if
if f = "U" then
   salida(0001_0111)
   salida(0010_0000)
   salida(0010_0000)
   salida(0001_0111)
end if
if f = "V" then
   salida(0000_0111)
   salida(0001_0000)
   salida(0010_0000)
   salida(0001_0000)
   salida(0000_0111)
end if
if f = "W" then
   salida(0011_0111)
   salida(0001_0000)
   salida(0000_0100)
   salida(0001_0000)
   salida(0011_0111)
end if
if f = "X" then
   salida(0010_0001)
   salida(0001_0010)
   salida(0000_0100)
   salida(0001_0010)
   salida(0010_0001)
end if
if f = "Y" then
   salida(0000_0001)
   salida(0000_0010)
   salida(0011_0100)
   salida(0000_0010)
   salida(0000_0001)
end if
if f = "Z" then
   salida(0011_0001)
   salida(0010_0101)
   salida(0010_0101)
   salida(0010_0011)
end if
if f = "1" then
   salida(0010_0001)
   salida(0011_0111)
   salida(0010_0000)
end if
if f = "h" then         ; 'h' lowercase = Hearth character
   salida(0000_0010)
   salida(0000_0111)
   salida(0001_0111)
   salida(0011_0110)
   salida(0001_0111)
   salida(0000_0111)
   salida(0000_0010)
end if
if f = "!" then
   salida(0000_0000)
   salida(0010_0111)
   salida(0000_0000)
end if
if f = "'" then
   salida(0000_0011)
end if
if f = "." then
   salida(0010_0000)
end if
if f = "o" then        ; 'o' Lowecase
   salida(0001_0000)
   salida(0010_0100)
   salida(0010_0100)
   salida(0001_0000)
end if
if f = " " then        ; space character.
   delay 4 miliseconds
end if
delay 1 milisecond
end procedure

; main program
gpio = all output

if o = 0 then
; Display  "BE HAPPY   "
o = o + 1
forever loop
disp("B")
disp("E")
disp(" ")
disp("H")
disp("A")
disp("P")
disp("P")
disp("Y")
disp(" ")
disp(" ")
disp(" ")
end loop
end if
if o = 1 then
; Display "BRAVO  "
o = o + 1
forever loop
disp("B")
disp("R")
disp("A")
disp("V")
disp("O")
disp(" ")
disp(" ")
disp(" ")
end loop
end if
if o = 2 then
; Display "GO TEAM GO! "
o = o + 1
forever loop
disp("G")
disp("O")
disp(" ")
disp("T")
disp("E")
disp("A")
disp("M")
disp(" ")
disp(" ")
end loop
end if
if o = 3 then
; Display "GOOD BYE  "
o = o + 1
forever loop
disp("G")
disp("O")
disp("O")
disp("D")
disp(" ")
disp("B")
disp("Y")
disp("E")
disp(" ")
disp(" ")
end loop
end if
if o = 4 then
; Display "HAPPY BIRTHDAY "
o = o + 1
forever loop
disp("H")
disp("A")
disp("P")
disp("P")
disp("Y")
disp(" ")
disp("B")
disp("I")
disp("R")
disp("T")
disp("H")
disp("D")
disp("A")
disp("Y")
disp(" ")
disp(" ")
end loop
end if
if o = 5 then
; Display "HAPPY NEW YEAR  "
o = o + 1
forever loop
disp("H")
disp("A")
disp("P")
disp("P")
disp("Y")
disp(" ")
disp("N")
disp("E")
disp("W")
disp(" ")
disp("Y")
disp("E")
disp("A")
disp("R")
disp(" ")
disp(" ")
end loop
end if
if o = 6 then
; Display "HELP ME  "
o = o + 1
forever loop
disp("H")
disp("E")
disp("L")
disp("P")
disp(" ")
disp("M")
disp("E")
disp(" ")
disp(" ")
end loop
end if
if o = 7 then
; Display "I h YOU   "
o = o + 1
forever loop
disp("I")
disp(" ")
disp("h")
disp(" ")
disp("Y")
disp("O")
disp("U")
disp(" ")
disp(" ")
disp(" ")
end loop
end if
if o = 8 then
; Display "I h AMERICA   "
o = o + 1
forever loop
disp("I")
disp(" ")
disp("h")
disp(" ")
disp("A")
disp("M")
disp("E")
disp("R")
disp("I")
disp("C")
disp("A")
disp(" ")
disp(" ")
end loop
end if
if o = 9 then
; Display "LET'S PARTY!   "
o = o + 1
forever loop
disp("L")
disp("E")
disp("T")
disp("'")
disp("S")
disp(" ")
disp("P")
disp("A")
disp("R")
disp("T")
disp("Y")
disp("!")
disp(" ")
disp(" ")
end loop
end if
if o = 10 then
; Display "MERRY X'MAS  "
o = o + 1
forever loop
disp("M")
disp("E")
disp("R")
disp("R")
disp("Y")
disp(" ")
disp("X")
disp("'")
disp("M")
disp("A")
disp("S")
disp(" ")
disp(" ")
end loop
end if
if o = 11 then
; Display "SCORE!  "
o = o + 1
forever loop
disp("S")
disp("C")
disp("O")
disp("R")
disp("E")
disp("!")
disp(" ")
disp(" ")
end loop
end if
if o = 12 then
; Display "SMILE   "
o = o + 1
forever loop
disp("S")
disp("M")
disp("I")
disp("L")
disp("E")
disp(" ")
disp(" ")
end loop
end if
if o = 13 then
; Display "TRICK OR TREAT "
o = o + 1
forever loop
disp("T")
disp("R")
disp("I")
disp("C")
disp("K")
disp(" ")
disp("O")
disp("R")
disp(" ")
disp("T")
disp("R")
disp("E")
disp("A")
disp("T")
disp(" ")
disp(" ")
end loop
end if
if o = 14 then
; Display "HURRA!   "
o = o + 1
forever loop
disp("H")
disp("U")
disp("R")
disp("R")
disp("A")
disp("!")
disp(" ")
disp(" ")
end loop
end if

o = 0
salida(0000_0000)
sleep microcontroller   ; sleep command
nop   ; No operation


Go back to previous page.      Back to HOME PAGE.

Some interesting links about this information:

Alexandre Costa's Web Page
My Original Air Display Project.


Looking for more projects? Try Google:

Google