Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Управление HT1632C


Управление HT1632C

Сообщений 1 страница 30 из 37

1

Всем привет.
Приобрел такого "зверя". Схема модуля, даташит на драйвер.

Встал вопрос об управлении. Поискав в нете, нашел это:

Код:
$regfile = "m32def.dat"                                     ' Controllerauswahl
$crystal = 16000000                                         'Quarzfrequenz
$hwstack = 128                                              ' default use 32 for the hardware stack
$swstack = 256                                              ' default use 10 for the SW stack
$framesize = 256                                            ' default use 40 for the frame space
' $PROG &HFF,&H7F,&HD1,&H00' generated. Take care that the chip supports all fuse bytes.
'Fusebits für Mega 32
Declare Sub Commandwrite(byval Command As Word )
Declare Sub Adresswrite(byval Adresse As Byte )
Declare Sub Write_data(byval Position As Word)
Declare Sub Texttodisplay(byval Text As String)
Declare Sub Scroll()


Const Sysen = &B100000000010
Const Ledon = &B100000000110
Const Ledoff = &B100000000100
Const Blinkon = &B100000010010

Const Mastermode = &B100000101110
Const Rc = &B100000110110
Const Commonsoption = &B100001010111
                         '1000010abxxx
Const Pwmduty = &B100101_111100
Const Pwm 1_16duty = &B100101_0000_00
Const Pwm 2_16duty = &B100101_0001_00
Const Blinkoff = &B100000010000




Ddra = &B00000111
Cs1 Alias Porta.0
Clk Alias Porta.1
Dat Alias Porta.2                                           ' Hier deine Ports einstellen.
'CS2 Alias Portb.3
Config Dat = Output
Config Clk = Output
Config Cs1 = Output

Dim Daten As Word , Adresse As Word , Speicher As Byte
Dim Standort As Word , Runde As Byte , Zwieschenspeicher As Byte
Dim Ring(240) As Word , Looping As Word , Count As Byte
Dim H As Word , Shifting As Word
Dim Textlaenge As Word , Rum As Byte
Dim Eingabe As String * 10 , Mathe As Word

Call Commandwrite(sysen )
Call Commandwrite(ledon)                                    'Initialisierung  der Matrix.
Call Commandwrite(mastermode)
Call Commandwrite(rc)
Call Commandwrite(commonsoption)
Call Commandwrite(pwmduty)


Do

'Eingabe = Str(mathe)
'Eingabe = Eingabe + "DO"
Call Texttodisplay( "     ")
Call Write_data(shifting)
For Rum = 1 To 100
Call Texttodisplay( "12345")
Call Write_data(shifting)
Shifting = Shifting - 2
Waitms 200
Next Rum
Call Texttodisplay( "     ")
Call Write_data(shifting)



Call Texttodisplay( "     ")
Call Write_data(shifting)
Call Texttodisplay( "HALLO")
Call Scroll()
Wait 3
Call Texttodisplay( " WIE ")
Call Scroll()
Wait 3
Call Texttodisplay( "GEHTS")
Call Scroll()

Wait 3

Loop
End

'-----------------------------------
Sub Write_data(byval Position As Word)

For Adresse = 1 To Textlaenge
Daten = 0

Set Cs1
Waitus 10
Reset Cs1
Waitus 10
Clk = 0
Dat = 1
Waitus 1
Clk = 1


Clk = 0
Dat = 0
Waitus 1
Clk = 1
Waitus 1

Clk = 0
Dat = 1
Waitus 1
Clk = 1
Waitus 1

Daten = Ring(adresse)
Shift Daten , Left , 4
H = High(daten)
H = H + Position
Daten = Daten And &B0000000011111111
 Shift H , Left , 8
Daten = Daten Or H
Shift Daten , Right , 4

' ---------------------------------------------------------------------
'    |   |   |   |   | A | A|A |A |A |A |A |D |D |D |D |
' D15|D14|D13|D12|D11|D10|D9|D8|D7|D6|D5|D4|D3|D2|D1|D0|
' ---------------------------------------------------------------------
'                      ^
'                      | Bitabfrage
'
For Runde = 0 To 10
Clk = 0
Waitus 1
If Daten.10 = 1 Then
Dat = 1
Else
Dat = 0
End If
Waitus 1
Clk = 1
Shift Daten , Left , 1

Next Runde
Daten = 0
'-------------------------------------
Waitus 1
Set Cs1
Next Adresse


End Sub




'########################################################
Sub Texttodisplay(byval Text As String)

Local Buchstabe As String * 1
Local Um As Word

Textlaenge = Len(text)


Textlaenge = Textlaenge * 12
'--------------------------------------------------------
For Looping = 0 To Textlaenge

Mathe = Textlaenge / 12


'Buchstabe = Mid(text , Mathe , 1)
'Standort = Asc(buchstabe)
'Standort = Standort - 32
'Standort = Standort * 6


Select Case Looping
Case 0:
Buchstabe = Mid(text , 1 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 12:
Buchstabe = Mid(text , 2 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 24 :
Buchstabe = Mid(text , 3 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 36 :
Buchstabe = Mid(text , 4 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 48 :
Buchstabe = Mid(text , 5 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 60 :
Buchstabe = Mid(text , 6 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 72 :
Buchstabe = Mid(text , 7 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 84 :
Buchstabe = Mid(text , 8 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6


Case 96 :
Buchstabe = Mid(text , 9 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 108 :
Buchstabe = Mid(text , 10 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 120 :
Buchstabe = Mid(text , 11 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 132 :
Buchstabe = Mid(text , 12 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 144 :
Buchstabe = Mid(text , 13 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 156 :
Buchstabe = Mid(text , 14 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 168 :
Buchstabe = Mid(text , 15 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 180 :
Buchstabe = Mid(text , 16 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 192 :
Buchstabe = Mid(text , 17 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 204 :
Buchstabe = Mid(text , 18 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6


Case 216:
Buchstabe = Mid(text , 19 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 228:
Buchstabe = Mid(text , 20 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

Case 240:
Buchstabe = Mid(text , 21 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6


Case 252:
Buchstabe = Mid(text , 22 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6


Case 264 :
Buchstabe = Mid(text , 23 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6


Case 276 :
Buchstabe = Mid(text , 24 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6


Case 288 :
Buchstabe = Mid(text , 25 , 1)
Standort = Asc(buchstabe)
Standort = Standort - 32
Standort = Standort * 6

End Select



'######################################################

    Daten = Looping                                         'Speicher berechnung

    Shift Daten , Left , 8
    Count = Looping + 1

    Speicher = Lookup(standort , Font_tabelle)
    Zwieschenspeicher = Speicher
    Speicher = Speicher And &B11110000
    Ring(count) = Daten Or Speicher
    Shift Ring(count) , Right , 4
    Incr Standort


    Shift Zwieschenspeicher , Left , 4
    Zwieschenspeicher = Zwieschenspeicher And &B11110000
    Looping = Looping + 1
    Count = Looping + 1
                           'Ein Byte in zwei Teile spalten.
    Daten = Looping

    Shift Daten , Left , 8
    Ring(count) = Daten Or Zwieschenspeicher
    Shift Ring(count) , Right , 4

Next Looping

'------------------------------------------------------------
End Sub

'---------------------------------------------------------
Sub Scroll()

Local Schleife As Word
'-----------------------------------------------------
'
'WRITE Mode Successive Address Writing
'Adress Manipulation ist nicht möglich.
Set Cs1
Waitus 10
Reset Cs1
Waitus 10
Clk = 0
Dat = 1
Waitus 1
Clk = 1


Clk = 0
Dat = 0
Waitus 1
Clk = 1
Waitus 1

Clk = 0
Dat = 1
Waitus 1
Clk = 1
Waitus 1

'-------------------- Adresse

Waitus 1
Clk = 0
Dat = 1
Waitus 1                                                    '1
Clk = 1


Clk = 0
Dat = 0
Waitus 1
Clk = 1                                                     '2
Waitus 1

Clk = 0
Dat = 0
Waitus 1
Clk = 1
Waitus 1


Clk = 0
Dat = 0
Waitus 1
Clk = 1
Waitus 1

Clk = 0
Dat = 0
Waitus 1
Clk = 1
Waitus 1

Clk = 0
Dat = 0
Waitus 1
Clk = 1
Waitus 1

Clk = 0
Dat = 0
Waitus 1
Clk = 1
Waitus 1

'-------------------- Adresse =00

For Adresse = 1 To Textlaenge

Daten = Ring(adresse)
'Waitms 50
For Runde = 0 To 3
    Clk = 0
     Waitus 1
If Daten.3 = 1 Then
     Dat = 1
Else
     Dat = 0
End If
    Waitus 1
    Clk = 1
    Shift Daten , Left , 1

Next Runde
    Daten = 0
Next Adresse

'-------------------------------------
Waitus 1
Set Cs1
End Sub


'########################################################
Sub Commandwrite(byval Command As Word )                    'Befehle senden.
Local J As Word , Schleife As Byte

     Set Cs1
     Waitus 100
     Reset Cs1
     Waitus 100

     Command = Command And &H0FFF
     Shift Command , Left , 4


For Schleife = 1 To 12
     Clk = 0
If Command.15 = 1 Then
     Dat = 1
Else
     Dat = 0
End If
     Clk = 1
Shift Command , Left , 1
     Waitus 100
Next
     Waitus 100
     Set Cs1

End Sub
'###########################################################







'#############################################################
Font_tabelle:
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00                ' Leerzeichen
Data &HF3 , &HF3 , &H00 , &H00 , &H00 , &H00                ' !
Data &H07 , &H03 , &H00 , &H07 , &H03 , &H00                ' Die letzten &H00 sind der Zeichenabstand.
Data &H24 , &H7E , &H24 , &H7E , &H24 , &H00                ' #
Data &H24 , &H2B , &H6A , &H12 , &H00 , &H00                ' $
Data &H63 , &H13 , &H08 , &H64 , &H63 , &H00                ' %
Data &H36 , &H49 , &H56 , &H20 , &H50 , &H00                ' &
Data &H00 , &H07 , &H03 , &H00 , &H00 , &H00                ' '
Data &H00 , &H3E , &H41 , &H00 , &H00 , &H00                ' (
Data &H00 , &H41 , &H3E , &H00 , &H00 , &H00                ' )
Data &H08 , &H3E , &H1C , &H3E , &H08 , &H00                ' *
Data &H08 , &H08 , &H3E , &H08 , &H08 , &H00                ' +
Data &H00 , &HE0 , &H60 , &H00 , &H00 , &H00                ' ,
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00                ' -
Data &H00 , &H06 , &H06 , &H00 , &H00 , &H00                ' .
Data &H20 , &H10 , &H08 , &H04 , &H02 , &H00                ' /
Data &H3E , &H45 , &H49 , &H51 , &H3E , &H00                ' 0
Data &H00 , &H10 , &H20 , &H7F , &H00 , &H00                ' 1
Data &H47 , &H49 , &H49 , &H49 , &H31 , &H00                ' 2
Data &H42 , &H49 , &H59 , &H69 , &H46 , &H00                ' 3
Data &H08 , &H18 , &H28 , &H7F , &H08 , &H00                ' 4
Data &H71 , &H49 , &H49 , &H49 , &H46 , &H00                ' 5
Data &H3E , &H49 , &H49 , &H49 , &H06 , &H00                ' 6
Data &H40 , &H47 , &H48 , &H50 , &H60 , &H00                ' 7
Data &H36 , &H49 , &H49 , &H49 , &H36 , &H00                ' 8
Data &H30 , &H49 , &H49 , &H49 , &H3E , &H00                ' 9
Data &H00 , &H33 , &H33 , &H00 , &H00 , &H00                ' :
Data &H00 , &HEC , &H6C , &H00 , &H00 , &H00                ' ;
Data &H08 , &H14 , &H22 , &H41 , &H00 , &H00                ' <
Data &H24 , &H24 , &H24 , &H24 , &H24 , &H00                ' =
Data &H00 , &H41 , &H22 , &H14 , &H08 , &H00                ' >
Data &H02 , &H01 , &H59 , &H09 , &H06 , &H00                ' ?
Data &H3E , &H41 , &H5D , &H55 , &H1E , &H00                ' @
Data &H3F , &H48 , &H48 , &H48 , &H3F , &H00                ' A
Data &H7F , &H49 , &H49 , &H49 , &H36 , &H00                ' B
Data &H3E , &H41 , &H41 , &H41 , &H22 , &H00                ' C
Data &H7F , &H41 , &H41 , &H41 , &H3E , &H00                ' D
Data &H7F , &H49 , &H49 , &H49 , &H41 , &H00                ' E
Data &H7F , &H48 , &H48 , &H48 , &H40 , &H00                ' F
Data &H3E , &H41 , &H49 , &H49 , &H2E , &H00                ' G
Data &H7F , &H08 , &H08 , &H08 , &H7F , &H00                ' H
Data &H00 , &H41 , &H7F , &H41 , &H00 , &H00                ' I
Data &H06 , &H01 , &H01 , &H01 , &H7E , &H00                ' J
Data &H7F , &H08 , &H14 , &H22 , &H41 , &H00                'K
Data &H7F , &H01 , &H01 , &H01 , &H01 , &H00                ' L
Data &H7F , &H20 , &H10 , &H20 , &H7F , &H00                ' M
Data &H7F , &H10 , &H08 , &H04 , &H7F , &H00                ' N
Data &H3E , &H41 , &H41 , &H41 , &H3E , &H00                ' O
Data &H7F , &H48 , &H48 , &H48 , &H30 , &H00                'P
Data &H3E , &H41 , &H45 , &H42 , &H3D , &H00                ' Q
Data &H7F , &H48 , &H4C , &H4A , &H31 , &H00                ' R
Data &H31 , &H49 , &H49 , &H49 , &H46 , &H00                ' S
Data &H40 , &H40 , &H7F , &H40 , &H40 , &H00                ' T
Data &H7E , &H01 , &H01 , &H01 , &H7E , &H00                ' U
Data &H7C , &H02 , &H01 , &H02 , &H7C , &H00                ' V
Data &H7F , &H02 , &H04 , &H02 , &H7F , &H00                ' W
Data &H63 , &H14 , &H08 , &H14 , &H63 , &H00                ' X
Data &H60 , &H10 , &H0F , &H10 , &H60 , &H00                ' Y
Data &H43 , &H45 , &H49 , &H51 , &H61 , &H00                ' Z
Data &H00 , &H7F , &H41 , &H41 , &H00 , &H00                ' [
Data &H02 , &H04 , &H08 , &H10 , &H20 , &H00                ' \
Data &H00 , &H41 , &H41 , &H7F , &H00 , &H00                ' ]
Data &H04 , &H02 , &H01 , &H02 , &H04 , &H00                ' ^
Data &H80 , &H80 , &H80 , &H80 , &H80 , &H00                ' _ (Unterstrich)
Data &H00 , &H00 , &H07 , &H00 , &H00 , &H00                ' `
Data &H20 , &H54 , &H54 , &H54 , &H78 , &H00                ' a
Data &H7F , &H44 , &H44 , &H44 , &H38 , &H00                ' b
Data &H38 , &H44 , &H44 , &H44 , &H28 , &H00                ' c
Data &H38 , &H44 , &H44 , &H44 , &H7F , &H00                ' d
Data &H38 , &H54 , &H54 , &H54 , &H18 , &H00                ' e
Data &H08 , &H7E , &H09 , &H09 , &H00 , &H00                ' f
Data &H18 , &HA4 , &HA4 , &HA4 , &H7C , &H00                ' g
Data &H7F , &H04 , &H04 , &H78 , &H00 , &H00                ' h
Data &H00 , &H00 , &H7D , &H00 , &H00 , &H00                ' i
Data &H40 , &H80 , &H84 , &H7D , &H00 , &H00                ' j
Data &H7F , &H10 , &H28 , &H44 , &H00 , &H00                ' k
Data &H00 , &H00 , &H7F , &H40 , &H00 , &H00                ' l
Data &H7C , &H04 , &H18 , &H04 , &H78 , &H00                ' m
Data &H7C , &H04 , &H04 , &H78 , &H00 , &H00                ' n
Data &H38 , &H44 , &H44 , &H44 , &H38 , &H00                ' o
Data &HFC , &H44 , &H44 , &H44 , &H38 , &H00                ' p
Data &H38 , &H44 , &H44 , &H44 , &HFC , &H00                ' q
Data &H44 , &H78 , &H44 , &H04 , &H08 , &H00                ' r
Data &H08 , &H54 , &H54 , &H54 , &H20 , &H00                ' s
Data &H04 , &H3E , &H44 , &H24 , &H00 , &H00                ' t
Data &H3C , &H40 , &H20 , &H7C , &H00 , &H00                ' u
Data &H1C , &H20 , &H40 , &H20 , &H1C , &H00                ' v
Data &H3C , &H60 , &H30 , &H60 , &H3C , &H00                ' w
Data &H6C , &H10 , &H10 , &H6C , &H00 , &H00                ' x
Data &H9C , &HA0 , &H60 , &H3C , &H00 , &H00                ' y
Data &H64 , &H54 , &H54 , &H4C , &H00 , &H00                ' z
Data &H08 , &H3E , &H41 , &H41 , &H00 , &H00                ' {
Data &H00 , &H00 , &H7F , &H00 , &H00 , &H00                ' |
Data &H00 , &H41 , &H41 , &H3E , &H08 , &H00                ' }
Data &H02 , &H01 , &H02 , &H01 , &H00 , &H00                ' ~
Data &H20 , &H55 , &H54 , &H55 , &H78 , &H00                ' ä
Data &H38 , &H45 , &H44 , &H45 , &H38 , &H00                ' ö
Data &H3C , &H41 , &H20 , &H7D , &H00 , &H00                ' ü
Data &H7C , &H0B , &H0A , &H0B , &H7C , &H00                ' Ä
Data &H3C , &H43 , &H42 , &H43 , &H3C , &H00                ' Ö
Data &H3E , &H41 , &H40 , &H41 , &H3E , &H00                'Ü
Data &H7E , &H2A , &H2A , &H2A , &H14 , &H00                ' ß

Поправил под модуль:

Код:
$regfile = "m8def.dat"                                      ' Controllerauswahl
$crystal = 8000000                                          'Quarzfrequenz
Код:
Ddrb = &B00111000
Cs1 Alias Portb.3
Clk Alias Portb.4
Dat Alias Portb.5

Фьюзы на внутренний кварц 8МГц^
http://s017.radikal.ru/i427/1202/41/d6ac6ac45922t.jpg

А в ответ тишина. Не подскажите куда копать? :dontknow:

0

2

Возможно проблема кроется в скорости передачи данных,судя из датащита:

fCLK1 Serial Data Clock (WR pin) 5V Duty cycle 50%: max - 1 MHz
fCLK2 Serial Data Clock (RD pin) 5V Duty cycle 50%: max - 500 kHz

4 страница.

Отредактировано RDW (2012-02-28 18:32:42)

0

3

Хотя если там на борту AVR есть с нужной частотой...вообще странно, обычно уважающие себя производители железа пихают или прилагают на сайте тестовую демку, для проверки.

0

4

Часы работают.

В нете для Ардуино много примеров и библиотек.
Хочется научится управлять драйвером на васике.

Вот народ переделал:

Отредактировано max (2012-02-28 19:10:59)

0

5

Сам код отсюда.

0

6

Попробовал этот код:

Код:
$regfile = "m8def.dat"
$crystal = 8000000                                          ' ich weiss, er l?uft halt auf 20
$hwstack = 100
$swstack = 100
$framesize = 100

'-------------------------------------------------------------------------------
Ddrb = &B00111000
Clk Alias Portb.4                                           ' an pin WR vom Display       beide Display mit beigef?gtem Kabel verbunden
Dat Alias Portb.5                                           ' an pin DATA vom Display
Cs1 Alias Portb.3                                           ' an pin CS1 vom Display      von vorne betrachtet beim linken Module nur schalter CS1 auf on
'Cs2 Alias Porta.3                                           ' an pin CS2 vom Display      von vorne betrachtet beim rechten Module nur schalter CS2 auf on

Config Clk = Output
Config Dat = Output
Config Cs1 = Output
'Config Cs2 = Output

'-------------------------------------------------------------------------------
' ein paar Word k?nnten wohl noch zu Byte werden

Dim Spalte(100) As Byte
Dim Text As String * 200
Dim Buchstabe As String * 1
Dim Zaehler_w As Word
Dim Spalten_anzahl As Word
Dim Buchstabe_position As Word
Dim Position As Word
Dim W1 As Word
Dim Speed As Word
Dim Text_laenge As Word
Dim W As Word
Dim X As Word
Dim Y As Word
Dim Z As Word
Dim Command_id As Byte
Dim Command_code As Byte
Dim Ma As Byte
Dim Null As Byte
Dim Modul As Byte
Dim Buchstabe_asc As Byte
Dim Buchstabe_breite As Byte
Dim Pw As Byte
Dim Flash As Bit

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

Declare Sub Set_text
Declare Sub Data_send
Declare Sub Command_send
Declare Sub Blink_on
Declare Sub Blink_off
Declare Sub Led_on
Declare Sub Led_off
Declare Sub Pwm(pw As Byte)

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

' Die Reihenfolge der 1ten 6 Befehle ist f?rs Init WICHTIG! ( Seite 17 im Datenblatt: Cascade Control Flow )

Command_id = &B100_00000                                    ' f?r die folgen kommandos immer die selbe Id, nur die 3 h?chstwertigen bits werden ?bertragen. ( ID ) Seite 18 im Datenblatt

Modul = 0                                                   ' zu alle modulen
Command_code = &B0000_0000                                  '     SYS DIS        ( 1 )
Command_send

Command_code = &B0010_1000                                  '     COMMONS OPTION ( 2 )    ( MUSS f?r das Display dieser wert sein (P-MOS open drain output and 8 common option )
Command_send                                                '                             ( sonst geht gar nichts oder nur die h?lfte)

Modul = 1                                                   ' nur zu modul 1
Command_code = &B0001_0100                                  '     MASTER MODE    ( 3)
Command_send

Modul = 2                                                   ' nur zu modul 2
Command_code = &B0001_0000                                  '     SLAVE MODE     ( 4 )
Command_send

Modul = 0                                                   ' zu alle modulen
Command_code = &B0000_0001                                  '     SYS EN         ( 5 )
Command_send

Command_code = &B0000_0011                                  '     LED ON         ( 6 )
Command_send

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

Command_code = &B1010_0000                                  '     PWM Duty
Command_send

'------------ der vollst?ndigkeit halber die anderen Befehle -------------------

'Command_code = &B0001_1000                                  '    RC
'Command_send

'Command_code = &B0000_1000                                  '    BLINK OFF
'Command_send

'Command_code = &B0000_1001                                  '    BLINK ON
'Command_send

'Command_code = &B0001_1100                                  '    EXT CLK
'Command_send

'Command_code = &B0000_0010                                  '    LED OFF
'Command_send

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

Config Adc = Single , Prescaler = Auto , Reference = Internal_2.56       ' f?r geschwindigkeits poti

Config Dcf77 = Pind.7 , Timer = 1 , Timer1sec = 1 , Inverted = 1 , Update = 1 , Updatetime = 01 , Check = 0 , Gosub = Sectic
Config Date = Dmy , Separator = -

'Config Date = Mdy , Separator = /
'Config Clock = Soft , Gosub = Sectic
' Ganz ohne Uhr muss man sich nen irq basteln der alle sekunde aufgerufen wird,
' wenn die Zeichen annimiert sein sollen. siehe sectic routine, oder halt selber aufrufen wenn n?tig

Enable Interrupts

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

Null = 0
Z = 0
Cs1 = 1
'Cs2 = 1
Pw = 0

Text = "            ~ Hallo Welt, wie Gehts denn So ? Schoenes Wetter Heute, Oder Nicht"       ' Keine Umlaute sonst Fehler
Set_text

'-------------------------------------------------------------------------------
'--------------------------- Main-----------------------------------------------
'-------------------------------------------------------------------------------

Do

Speed = Getadc(7)                                           'geschwindigkeit mit poti einstellbar
'Speed = 150

Incr Position                                               ' die positions ?nderung kommt dann in nen irq so hatt man sein prg frei f?r das wichtige
If Position = Spalten_anzahl Then Position = 0              ' oder den wert vom poti nehmen. dann kann mann den text sch?n hin und her schieben ;-)
Data_send

Waitms Speed

Incr Pw                                                     ' just for fun nen bischen dimmen
If Pw = 16 Then Pw = 0
Call Pwm(pw)

Loop

End

'-------------------------------------------------------------------------------
'--------------------------- Subs -----------------------------------------------
'-------------------------------------------------------------------------------

Sub Set_text                                                ' text Array generieren
Zaehler_w = 1
Text_laenge = Len(text)

For X = 1 To Text_laenge
   Buchstabe = Mid(text , X , 1)
   Buchstabe_asc = Asc(buchstabe)
   Buchstabe_position = Buchstabe_asc * 11
   Buchstabe_breite = Lookup(buchstabe_position , Zeichensatz)
   Buchstabe_position = Buchstabe_position + 1

   If Buchstabe_breite > 10 Then                            ' f?r animierten Zeichensatz (1sek. Takt wechsel))
      Buchstabe_breite = Buchstabe_breite - 10
      If Flash = 1 Then Buchstabe_position = Buchstabe_position + Buchstabe_breite
   End If

   For Y = 1 To Buchstabe_breite
      Spalte(zaehler_w) = Lookup(buchstabe_position , Zeichensatz)
      Incr Buchstabe_position
      Incr Zaehler_w
   Next Y

   Spalte(zaehler_w) = 0
   Incr Zaehler_w
Next X

Spalten_anzahl = Zaehler_w

End Sub

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

Sub Blink_on                                                ' aufrufen um blinken einzuschalten
Command_id = &B100_00000
Command_code = &B0000_1001
Command_send
End Sub

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

Sub Blink_off                                               ' aufrufen um blinken auszuschalten
Command_id = &B100_00000
Command_code = &B0000_1000
Command_send
End Sub

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

Sub Led_on                                                  ' aufrufen um Leds einzuschalten
Command_id = &B100_00000
Command_code = &B0000_0011
Command_send
End Sub

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

Sub Led_off                                                 ' aufrufen um Leds Auszuschalten
Command_id = &B100_00000
Command_code = &B0000_0010
Command_send
End Sub

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

Sub Pwm(pw As Byte)                                         ' aufrufen mit parameter 0-15 zum dimmen

Command_id = &B100_00000
Command_code = &B1010_0000 + Pw
Command_send

End Sub

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

Sub Command_send

Select Case Modul                                           ' Auswahl ob Kommando an Modul 1 oder Modul 2 oder an beide (0) gesendet wird
   Case 0
      Cs1 = 0
      'Cs2 = 0
   Case 1
      Cs1 = 0
   Case 2
      'Cs2 = 0
End Select

Shiftout Dat , Clk , Command_id , 1 , 3                     ' Command ID f?r Command Mode senden
Shiftout Dat , Clk , Command_code , 1 , 8                   ' Kommando senden
Shiftout Dat , Clk , Null , 1 , 1                           ' DUMMY BIT zum Auff?llen, wird bei Kommandos nicht ausgewertet siehe datenblatt

Cs1 = 1
'Cs2 = 1

End Sub

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

Sub Data_send

Led_off                                                     ' geht auch ohne, bei schneller bewegung dann aber unsch?ner als sowieso schon

Command_id = &B101_00000                                    'WRITE Mode
Ma = &B0000000_0                                            'Memory Address auf 0

Cs1 = 0                                                     ' Modul 1 w?hlen ( Cable Select )
Shiftout Dat , Clk , Command_id , 1 , 3                     ' Command ID f?r Write Mode senden ( Successive Address Writing )
Shiftout Dat , Clk , Ma , 1 , 7                             ' Adresse senden ( 0 )
For W = 1 To 32                                             ' 32 Byte senden
W1 = W + Position
Shiftout Dat , Clk , Spalte(w1) , 3 , 8 ,
Next W
Cs1 = 1

'Cs2 = 0                                                     ' Modul 2 w?hlen ( Cable Select )
'Shiftout Dat , Clk , Command_id , 1 , 3                     ' Command ID f?r Write Mode senden ( Successive Address Writing )
'Shiftout Dat , Clk , Ma , 1 , 7                             ' Adresse senden ( 0 )
'For W = 33 To 64                                            ' 32 Byte senden
'W1 = W + Position
'Shiftout Dat , Clk , Spalte(w1) , 3 , 8 ,
'Next W
'Cs2 = 1

Led_on

End Sub

'-------------------------------------------------------------------------------
'------------------------------ IRQ --------------------------------------------
'-------------------------------------------------------------------------------

Sectic:
Toggle Flash                                                'f?r animierte zeichen und Uhrzeitanzeige
Set_text                                                    ' Text neu generieren
Return

'-------------------------------------------------------------------------------
'----------------Zeichensatz, nur die ersten 127 also KEINE Umlaute--------------
'-------------------------------------------------------------------------------

'erste zahl = anzahl der bytes f?r das Zeichen (max.10 ohne animation) oder 11 - 15 f?r animation ( max 5 breit bei animation )

'2te - 6te Zahl normaler zeichensatz oder animation a
'7te - 11te Zahl animation b

'2te - 11te zahl f?r breite Zeichen ( erste zahl kleiner 11 )

Zeichensatz:
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 15 , 62 , 81 , 73 , 69 , 62 , 190 , 209 , 201 , 197 , 190       ' 0 mit cursor blinkend " test "
Data 5 , 0 , 66 , 127 , 64 , 0 , 0 , 0 , 0 , 0 , 0          '1
Data 5 , 114 , 73 , 73 , 73 , 70 , 0 , 0 , 0 , 0 , 0        '2
Data 5 , 34 , 65 , 73 , 73 , 54 , 0 , 0 , 0 , 0 , 0         '3
Data 5 , 24 , 20 , 18 , 127 , 16 , 0 , 0 , 0 , 0 , 0        '4
Data 5 , 39 , 69 , 69 , 69 , 57 , 0 , 0 , 0 , 0 , 0         '5
Data 5 , 60 , 74 , 73 , 73 , 48 , 0 , 0 , 0 , 0 , 0         '6
Data 5 , 1 , 113 , 9 , 5 , 3 , 0 , 0 , 0 , 0 , 0            '7
Data 5 , 54 , 73 , 73 , 73 , 54 , 0 , 0 , 0 , 0 , 0         '8
Data 5 , 6 , 73 , 73 , 41 , 30 , 0 , 0 , 0 , 0 , 0          '9
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 4 , 0 , 0 , 0 , 0 , 0 , 128 , 128 , 128 , 128 , 0      'space
Data 1 , 95 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0             '!
Data 3 , 7 , 0 , 7 , 0 , 0 , 0 , 0 , 0 , 0 , 0              '''
Data 5 , 20 , 127 , 20 , 127 , 20 , 0 , 0 , 0 , 0 , 0       '#
Data 5 , 36 , 42 , 127 , 42 , 18 , 0 , 0 , 0 , 0 , 0        '$
Data 5 , 39 , 21 , 107 , 84 , 114 , 0 , 0 , 0 , 0 , 0       '%
Data 5 , 54 , 73 , 86 , 32 , 80 , 0 , 0 , 0 , 0 , 0         '&
Data 2 , 11 , 7 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0             ''
Data 3 , 28 , 34 , 65 , 0 , 0 , 0 , 0 , 0 , 0 , 0           ' (
Data 3 , 65 , 34 , 28 , 0 , 0 , 0 , 0 , 0 , 0 , 0           ')
Data 5 , 42 , 28 , 127 , 28 , 42 , 0 , 0 , 0 , 0 , 0        '*
Data 5 , 8 , 8 , 62 , 8 , 8 , 0 , 0 , 0 , 0 , 0             '+
Data 4 , 0 , 176 , 112 , 0 , 0 , 0 , 0 , 0 , 0 , 0          ',
Data 5 , 8 , 8 , 8 , 8 , 8 , 0 , 0 , 0 , 0 , 0              '-
Data 2 , 96 , 96 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0            '.
Data 5 , 32 , 16 , 8 , 4 , 2 , 0 , 0 , 0 , 0 , 0            '/
Data 5 , 62 , 81 , 73 , 69 , 62 , 0 , 0 , 0 , 0 , 0         '0
Data 5 , 0 , 66 , 127 , 64 , 0 , 0 , 0 , 0 , 0 , 0          '1
Data 5 , 114 , 73 , 73 , 73 , 70 , 0 , 0 , 0 , 0 , 0        '2
Data 5 , 34 , 65 , 73 , 73 , 54 , 0 , 0 , 0 , 0 , 0         '3
Data 5 , 24 , 20 , 18 , 127 , 16 , 0 , 0 , 0 , 0 , 0        '4
Data 5 , 39 , 69 , 69 , 69 , 57 , 0 , 0 , 0 , 0 , 0         '5
Data 5 , 60 , 74 , 73 , 73 , 48 , 0 , 0 , 0 , 0 , 0         '6
Data 5 , 1 , 113 , 9 , 5 , 3 , 0 , 0 , 0 , 0 , 0            '7
Data 5 , 54 , 73 , 73 , 73 , 54 , 0 , 0 , 0 , 0 , 0         '8
Data 5 , 6 , 73 , 73 , 41 , 30 , 0 , 0 , 0 , 0 , 0          '9
Data 2 , 54 , 54 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0            ':
Data 2 , 91 , 59 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0            ';
Data 4 , 8 , 20 , 34 , 65 , 0 , 0 , 0 , 0 , 0 , 0           '<
Data 5 , 20 , 20 , 20 , 20 , 20 , 0 , 0 , 0 , 0 , 0         '=
Data 4 , 65 , 34 , 20 , 8 , 0 , 0 , 0 , 0 , 0 , 0           '>
Data 5 , 2 , 1 , 81 , 9 , 6 , 0 , 0 , 0 , 0 , 0             '?
Data 5 , 50 , 73 , 121 , 65 , 62 , 0 , 0 , 0 , 0 , 0        '@
Data 5 , 124 , 18 , 17 , 18 , 124 , 0 , 0 , 0 , 0 , 0       'A
Data 5 , 65 , 127 , 73 , 73 , 62 , 0 , 0 , 0 , 0 , 0        'B
Data 5 , 62 , 65 , 65 , 65 , 34 , 0 , 0 , 0 , 0 , 0         'C
Data 5 , 65 , 127 , 65 , 65 , 62 , 0 , 0 , 0 , 0 , 0        'D
Data 5 , 127 , 73 , 73 , 65 , 65 , 0 , 0 , 0 , 0 , 0        'E
Data 5 , 127 , 9 , 9 , 1 , 1 , 0 , 0 , 0 , 0 , 0            'F
Data 5 , 62 , 65 , 73 , 73 , 58 , 0 , 0 , 0 , 0 , 0         'G
Data 5 , 127 , 8 , 8 , 8 , 127 , 0 , 0 , 0 , 0 , 0          'H
Data 3 , 65 , 127 , 65 , 0 , 0 , 0 , 0 , 0 , 0 , 0          'I
Data 5 , 32 , 64 , 65 , 63 , 1 , 0 , 0 , 0 , 0 , 0          'J
Data 5 , 127 , 8 , 20 , 34 , 65 , 0 , 0 , 0 , 0 , 0         'K
Data 5 , 127 , 64 , 64 , 64 , 64 , 0 , 0 , 0 , 0 , 0        'L
Data 5 , 127 , 2 , 12 , 2 , 127 , 0 , 0 , 0 , 0 , 0         'M
Data 5 , 127 , 2 , 4 , 8 , 127 , 0 , 0 , 0 , 0 , 0          'N
Data 5 , 62 , 65 , 65 , 65 , 62 , 0 , 0 , 0 , 0 , 0         'O
Data 5 , 127 , 9 , 9 , 9 , 6 , 0 , 0 , 0 , 0 , 0            'P
Data 5 , 62 , 65 , 65 , 33 , 94 , 0 , 0 , 0 , 0 , 0         'Q
Data 5 , 127 , 9 , 25 , 41 , 70 , 0 , 0 , 0 , 0 , 0         'R
Data 5 , 38 , 73 , 73 , 73 , 50 , 0 , 0 , 0 , 0 , 0         'S
Data 5 , 1 , 1 , 127 , 1 , 1 , 0 , 0 , 0 , 0 , 0            'T
Data 5 , 63 , 64 , 64 , 64 , 63 , 0 , 0 , 0 , 0 , 0         'U
Data 5 , 7 , 24 , 96 , 24 , 7 , 0 , 0 , 0 , 0 , 0           'V
Data 5 , 127 , 32 , 24 , 32 , 127 , 0 , 0 , 0 , 0 , 0       'W
Data 5 , 99 , 20 , 8 , 20 , 99 , 0 , 0 , 0 , 0 , 0          'X
Data 5 , 3 , 4 , 120 , 4 , 3 , 0 , 0 , 0 , 0 , 0            'Y
Data 5 , 97 , 81 , 73 , 69 , 67 , 0 , 0 , 0 , 0 , 0         'Z
Data 3 , 127 , 65 , 65 , 0 , 0 , 0 , 0 , 0 , 0 , 0          '[
Data 5 , 2 , 4 , 8 , 16 , 32 , 0 , 0 , 0 , 0 , 0            '\
Data 3 , 65 , 65 , 127 , 0 , 0 , 0 , 0 , 0 , 0 , 0          ']
Data 5 , 4 , 2 , 1 , 2 , 4 , 0 , 0 , 0 , 0 , 0              '^
Data 5 , 64 , 64 , 64 , 64 , 64 , 0 , 0 , 0 , 0 , 0         '_
Data 2 , 7 , 11 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0             ''
Data 5 , 32 , 84 , 84 , 84 , 56 , 0 , 0 , 0 , 0 , 0         'a
Data 5 , 127 , 40 , 68 , 68 , 56 , 0 , 0 , 0 , 0 , 0        'b
Data 4 , 56 , 68 , 68 , 68 , 0 , 0 , 0 , 0 , 0 , 0          'c
Data 5 , 56 , 68 , 68 , 40 , 127 , 0 , 0 , 0 , 0 , 0        'd
Data 5 , 56 , 84 , 84 , 84 , 24 , 0 , 0 , 0 , 0 , 0         'e
Data 5 , 8 , 126 , 9 , 9 , 2 , 0 , 0 , 0 , 0 , 0            'f
Data 5 , 8 , 84 , 84 , 84 , 60 , 0 , 0 , 0 , 0 , 0          'g
Data 5 , 127 , 16 , 8 , 8 , 112 , 0 , 0 , 0 , 0 , 0         'h
Data 2 , 68 , 125 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0           'i
Data 4 , 32 , 64 , 68 , 61 , 0 , 0 , 0 , 0 , 0 , 0          'j
Data 4 , 127 , 16 , 40 , 68 , 0 , 0 , 0 , 0 , 0 , 0         'k
Data 3 , 65 , 127 , 64 , 0 , 0 , 0 , 0 , 0 , 0 , 0          'l
Data 5 , 124 , 4 , 120 , 4 , 120 , 0 , 0 , 0 , 0 , 0        'm
Data 5 , 124 , 8 , 4 , 4 , 120 , 0 , 0 , 0 , 0 , 0          'n
Data 5 , 56 , 68 , 68 , 68 , 56 , 0 , 0 , 0 , 0 , 0         'o
Data 5 , 124 , 20 , 20 , 20 , 8 , 0 , 0 , 0 , 0 , 0         'p
Data 5 , 8 , 20 , 20 , 20 , 124 , 0 , 0 , 0 , 0 , 0         'q
Data 5 , 124 , 8 , 4 , 4 , 8 , 0 , 0 , 0 , 0 , 0            'r
Data 5 , 72 , 84 , 84 , 84 , 36 , 0 , 0 , 0 , 0 , 0         's
Data 4 , 4 , 63 , 68 , 68 , 0 , 0 , 0 , 0 , 0 , 0           't
Data 5 , 60 , 64 , 64 , 32 , 124 , 0 , 0 , 0 , 0 , 0        'u
Data 5 , 28 , 32 , 64 , 32 , 28 , 0 , 0 , 0 , 0 , 0         'v
Data 5 , 60 , 64 , 60 , 64 , 60 , 0 , 0 , 0 , 0 , 0         'w
Data 5 , 68 , 40 , 16 , 40 , 68 , 0 , 0 , 0 , 0 , 0         'x
Data 5 , 12 , 80 , 80 , 80 , 60 , 0 , 0 , 0 , 0 , 0         'y
Data 5 , 68 , 100 , 84 , 76 , 68 , 0 , 0 , 0 , 0 , 0        'z
Data 15 , 62 , 65 , 73 , 73 , 58 , 62 , 66 , 73 , 73 , 58   '{
Data 5 , 0 , 0 , 119 , 0 , 0 , 0 , 0 , 0 , 0 , 0            '|
Data 1 , 8 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0              '} > trennpunkt mittig (klein)
Data 11 , 20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0            '~ > doppelpunkt klein (1) blinkend 1Hz
Data 5 , 255 , 255 , 255 , 255 , 255 , 0 , 0 , 0 , 0 , 0

Результат тот-же.

0

7

Вторая видюшка хоть по живее пример.
А результат какой, просто нет признаков жизни и всё?

0

8

Да.

0

9

Если по плате полазать, какие-нить сигналы обмена между led-контроллером и AVR есть?

0

10

Заработал код в первом посте. "Собака" была в строчке

Код:
Const Commonsoption = &B100001010111

Надо так:

Код:
Const Commonsoption = &B100001000111

Были вибраны другие транзисторы.
Только строка бежит вертикально. Вот видео.

Отредактировано max (2012-02-29 18:29:14)

0

11

Да и это тоже.

0

12

Программа писалась для этого модуля.
Так создаются символы:
http://s017.radikal.ru/i431/1202/b1/9245363792f7t.jpg
Перепишу, не проблема, проблема в выводе. Есть какие-нибудь идеи?

0

13

max написал(а):

Только строка бежит вертикально. Вот видео.

Чот очень тормознуто двигается изображение, это специально задержка в коде или оно изначально такой тормоз?

0

14

Mrshilov написал(а):

Первый листинг не влезает в мегу8...

Изменил Dim Ring(240) As Word на Dim Ring(170) As Word - влезло.

Mrshilov написал(а):

Можно попробовать такой код:

Спасибо, но не могу запустиь. Прошиваю, а на дисплее "остатки" прошлой программы и все.

RDW написал(а):

Чот очень тормознуто двигается изображение, это специально задержка в коде или оно изначально такой тормоз?

Скорее всего специально.

0

15

Нет. Что было, то и осталось.

0

16

Все что знал, а я ни чего не знал  :crazyfun: , попробовал. Так и не смог толком запустить.

0

17

Mrshilov написал(а):

Может программатор сменить?

Я так тоже подумал. Шил ZIF AVR + 3 в одном, сменил на USBTINY. Эффект тот же самый.

Mrshilov написал(а):

Ну как могут быть "остатки" прошлой программы?

Получается так: идут часы, начинаю "шить" время замирает, прогер показывает OK!, часы дальше стоят и все. Ждал минут десать, тишина.

0

18

Часы "зашиты" с завода. Это к примеру. Так происходит и с прошивкой, видео которой я выложил.

Отредактировано max (2012-03-05 14:11:36)

0

19

Mrshilov написал(а):

Тогда мк менять.

Была у меня такая мысля, так как МК странно "пищить" на высокой частоте.
Но ведь код из первого поста с переделками заработал.
И как быть? :dontknow:

Попробую кварц подпаять.

Отредактировано max (2012-03-05 16:40:00)

0

20

Mrshilov написал(а):

Может не стоило его совсем трогать?

В смысле кварц? Так он на месте. Я имел ввиду кварц на 8МГц. Часы тактируются от внутреннего на 1МГц.

Mrshilov написал(а):

Судя по схеме у него есть связь по RS232 (да и по USB)

Да, если программно реализовать.

Mrshilov написал(а):

Исходный дамп снят?

Да. flash, eprom, fuse&lock bits

Mrshilov написал(а):

Говорят, что часы его спешат, но это лечится подстроечным кондером на кварце.

Про это не в курсе.

P.S. Вот исходник на СИ.

0

21

Mrshilov написал(а):

А что за формат файла elf у fuse&lock bits?

Я и сам не понял. Вот fuse
http://s002.radikal.ru/i200/1203/ad/14223b9b9512t.jpg

Mrshilov написал(а):

Про часы пишут в комментах на Dealextreme

Читал. Мои идут почти сутки не выключаясь, пока вроде не спешат.

Mrshilov написал(а):

Вряд ли часы тактируются от внутреннего 1МГц

Имел ввиду МК.

0

22

Сменил МК на M8A-AU, кварц 12МГц. Результат тот же. :dontknow:  :'(  :canthearyou:

0

23

Mrshilov написал(а):

Верификация прошивки делается?

Да, все нормально.

Mrshilov написал(а):

Что с фотографией фьюзов?

Вот:
http://s002.radikal.ru/i199/1203/76/d5ada1eab4f4t.jpg

0

24

Новый МК также "пищит".

0

25

Ну как, победил?
А то мне тоже должны прислать сами микрухи HT1632, хочу попробовать.

0

26

Пока руки не доходять. Занимаюсь другими проектами. Отдельно микрухи тоже есть. Планирую плату нарисовать и пробовать.

0

27

Вот нашёл - http://sunstudent.narod.ru/led/svetodiod.html

0

28

Это другая матрица. В нете много примеров для ардуино. На bascom-forum.de пример как раз для этой матрицы. Код в первом посте оттуда. Код, котоый дал Mrshilov, не заработал. Буду плату делать по схеме этой матрицы.

0

29

ссылка   битая на  схему модуля,перезалейте  пжста

0

30

3208_clock_new.PDF

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Управление HT1632C