DOTMATRIK 8 DIGIT DENGAN ATMEGA8

bagi temen2 yang mau buat papan nama berjalan dengan dot matrik bisa liat rangkaian dibawah ini. dotmatrik 8 digit menggunakan atmega8 dengan program bascom avr..



'**********************************************************

'dot matrik 8 digit

'**********************************************************

$regfile = "M8def.dat"

'$crystal = 200000000

$hwstack = 32

$swstack = 32

$framesize = 40

'====================================================

Dim Char As Byte , C As Byte , Digit As Byte , L As Byte

Dim I As Byte , Temp(2) As Byte , Temp2 As Byte

Dim X As Word

Dim Str_temp As String * 1 , Reeks(250) As Byte , Str_text As String * 50

Dim Str_len As Byte , Col_len As Byte , R As Byte

Dim Tempmsb As Byte , Templsb As Byte , Tempstr As String * 2

Dim Scroll_speed As Byte

Declare Sub Show_text

Declare Sub Set_text

Declare Sub Test_display

'**********************************************************

Config Portb = Output

Config Portd = Output

'**********************************************************

Goto Main

'*******************************************************************************

'set text

Sub Set_text

C = 1

For Digit = 1 To Str_len

Str_temp = Mid(str_text , Digit , 1)

Char = Asc(str_temp)

X = Char * 5

For I = 1 To 5

Reeks(c) = Lookup(x , Text_data)

X = X + 1

C = C + 1

Next I

Reeks(c) = 0

C = C + 1

Next Digit

End Sub Set_string

'show text

Sub Show_text

If Str_len > 8 Then

For L = 1 To Col_len

Do

C = 1

   For R = 1 To Scroll_speed                                'scrolling speed

       Set Portb.0

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Char = C + L

       Portd = Reeks(char)

       Waitms 3

       C = C + 1

       Reset Portb.0

       For I = 1 To 19

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Char = C + L

       Portd = Reeks(char)

       Waitms 3

       Incr C

       Next I

       C = 1

   Next R

Incr L

If L > Col_len Then L = 0

Loop

Next L

Else

For L = 0 To Col_len

C = 1

   For R = 1 To Scroll_speed                                'scrolling speed

       Set Portb.0

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Portd = Reeks(c)

       Waitms 3

       C = C + 1

       Reset Portb.0

       For X = 1 To 19

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Portd = Reeks(c)

       Waitms 3

       C = C + 1

       Next X

       C = 1

  Next R

Next L

End If

End Sub Show_text

Sub Test_display

Portd = 255

For X = 1 To 20

       Set Portb.0

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.1

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

       Toggle Portb.2

Next X

End Sub Test_display

'---------------------

Main:

Call Test_display

Waitms 100

Str_text = "    MASJID BAITUL AMAL"

'Str_text = "test"

Str_len = Len(str_text)

Col_len = Str_len * 6

Scroll_speed = 5                                            'adjust the scroll speed

Call Set_text

Do

Call Show_text

Loop

End                                                         'end program

Text_data:

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      '

Data 0 , 0 , 0 , 0 , 0                                      'space

Data 0 , 0 , 95 , 0 , 0                                     '!

Data 0 , 7 , 0 , 7 , 0                                      '''

Data 20 , 127 , 20 , 127 , 20                               '#

Data 36 , 42 , 127 , 42 , 18                                '$

Data 39 , 21 , 107 , 84 , 114                               '%

Data 54 , 73 , 86 , 32 , 80                                 '&

Data 0 , 0 , 11 , 7 , 0                                     ''

Data 0 , 28 , 34 , 65 , 0                                   ' (

Data 0 , 65 , 34 , 28 , 0                                   ')

Data 42 , 28 , 127 , 28 , 42                                '*

Data 8 , 8 , 62 , 8 , 8                                     '+

Data 0 , 88 , 56 , 0 , 0                                    ',

Data 8 , 8 , 8 , 8 , 8                                      '-

Data 0 , 96 , 96 , 0 , 0                                    '.

Data 32 , 16 , 8 , 4 , 2                                    '/

Data 62 , 81 , 73 , 69 , 62                                 '0

Data 0 , 66 , 127 , 64 , 0                                  '1

Data 114 , 73 , 73 , 73 , 70                                '2

Data 34 , 65 , 73 , 73 , 54                                 '3

Data 24 , 20 , 18 , 127 , 16                                '4

Data 39 , 69 , 69 , 69 , 57                                 '5

Data 60 , 74 , 73 , 73 , 48                                 '6

Data 1 , 113 , 9 , 5 , 3                                    '7

Data 54 , 73 , 73 , 73 , 54                                 '8

Data 6 , 73 , 73 , 41 , 30                                  '9

Data 0 , 54 , 54 , 0 , 0                                    ':

Data 0 , 91 , 59 , 0 , 0                                    ';

Data 8 , 20 , 34 , 65 , 0                                   '<

Data 20 , 20 , 20 , 20 , 20                                 '=

Data 0 , 65 , 34 , 20 , 8                                   '>

Data 2 , 1 , 81 , 9 , 6                                     '?

Data 50 , 73 , 121 , 65 , 62                                '@

Data 124 , 18 , 17 , 18 , 124                               'A

Data 65 , 127 , 73 , 73 , 62                                'B

Data 62 , 65 , 65 , 65 , 34                                 'C

Data 65 , 127 , 65 , 65 , 62                                'D

Data 127 , 73 , 73 , 65 , 65                                'E

Data 127 , 9 , 9 , 1 , 1                                    'F

Data 62 , 65 , 73 , 73 , 58                                 'G

Data 127 , 8 , 8 , 8 , 127                                  'H

Data 0 , 65 , 127 , 65 , 0                                  'I

Data 32 , 64 , 65 , 63 , 1                                  'J

Data 127 , 8 , 20 , 34 , 65                                 'K

Data 127 , 64 , 64 , 64 , 64                                'L

Data 127 , 2 , 12 , 2 , 127                                 'M

Data 127 , 2 , 4 , 8 , 127                                  'N

Data 62 , 65 , 65 , 65 , 62                                 'O

Data 127 , 9 , 9 , 9 , 6                                    'P

Data 62 , 65 , 65 , 33 , 94                                 'Q

Data 127 , 9 , 25 , 41 , 70                                 'R

Data 38 , 73 , 73 , 73 , 50                                 'S

Data 1 , 1 , 127 , 1 , 1                                    'T

Data 63 , 64 , 64 , 64 , 63                                 'U

Data 7 , 24 , 96 , 24 , 7                                   'V

Data 127 , 32 , 24 , 32 , 127                               'W

Data 99 , 20 , 8 , 20 , 99                                  'X

Data 3 , 4 , 120 , 4 , 3                                    'Y

Data 97 , 81 , 73 , 69 , 67                                 'Z

Data 0 , 127 , 65 , 65 , 0                                  '[

Data 2 , 4 , 8 , 16 , 32                                    '\

Data 0 , 65 , 65 , 127 , 0                                  ']

Data 4 , 2 , 1 , 2 , 4                                      '^

Data 64 , 64 , 64 , 64 , 64                                 '_

Data 0 , 0 , 7 , 11 , 0                                     ''

Data 32 , 84 , 84 , 84 , 56                                 'a

Data 127 , 40 , 68 , 68 , 56                                'b

Data 0 , 56 , 68 , 68 , 68                                  'c

Data 56 , 68 , 68 , 40 , 127                                'd

Data 56 , 84 , 84 , 84 , 24                                 'e

Data 8 , 126 , 9 , 9 , 2                                    'f

Data 8 , 84 , 84 , 84 , 60                                  'g

Data 127 , 16 , 8 , 8 , 112                                 'h

Data 0 , 68 , 125 , 0 , 0                                   'i

Data 32 , 64 , 68 , 61 , 0                                  'j

Data 0 , 127 , 16 , 40 , 68                                 'k

Data 0 , 65 , 127 , 64 , 0                                  'l

Data 124 , 4 , 120 , 4 , 120                                'm

Data 124 , 8 , 4 , 4 , 120                                  'n

Data 56 , 68 , 68 , 68 , 56                                 'o

Data 124 , 20 , 20 , 20 , 8                                 'p

Data 8 , 20 , 20 , 20 , 124                                 'q

Data 124 , 8 , 4 , 4 , 8                                    'r

Data 72 , 84 , 84 , 84 , 36                                 's

Data 0 , 4 , 63 , 68 , 68                                   't

Data 60 , 64 , 64 , 32 , 124                                'u

Data 28 , 32 , 64 , 32 , 28                                 'v

Data 60 , 64 , 60 , 64 , 60                                 'w

Data 68 , 40 , 16 , 40 , 68                                 'x

Data 12 , 80 , 80 , 80 , 60                                 'y

Data 68 , 100 , 84 , 76 , 68                                'z

Data 0 , 8 , 54 , 65 , 0                                    '{

Data 0 , 0 , 119 , 0 , 0                                    '|

Data 0 , 65 , 54 , 8 , 0                                    '}

Data 2 , 1 , 2 , 4 , 2                                      '~

Data 42 , 85 , 42 , 85 , 42                                 '
download program dan simulasi proteus disini
Diberdayakan oleh Blogger.