Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück

Eine neue Antwort erstellen

[b][/b]
[i][/i]
[u][/u]
[code][/code]
[quote][/quote]
[spoiler][/spoiler]
[url][/url]
[img][/img]
[video][/video]
Smileys
Top
griins
idee
frage
grin
hmm
lil
denk
sadly
grööhl
cool
shocked
[mail][/mail]
[pre][/pre]
Farben
[rot][/rot]
[blau][/blau]
[gruen][/gruen]
[orange][/orange]
[lila][/lila]
[weiss][/weiss]
[schwarz][/schwarz]
[big][/big]
[line]
[small][/small]
[h4][/h4]
[style={{name}}][/style]
a1
a2
a3
a4
a5
a6
a7
a8
a9
a10
a11
a12
a13
a14
a15
a16
a18
a17
a19
a20
a21


*Zur Vermeidung von Spam



Im Beitrag anzeigen:

In Antwort auf

der TM1637 - 4fach 7-Segmenttreiber

von BoomBoomMagic , 27.01.2020 18:56

Da es ja grad nix Neues hier gibt , dachte ich , ich wärm mal ne alte Kamelle auf


Heute geht es um den : TM1637






Der TM1637 ist äußerst einfach zu programmieren.
Er benötigt lediglich Clock und Data ( und natürlich Spannung , klar )

Der Punkt kann frei wählbar gesetzt werden , so das man ihn einsetzen kann für :
- Spannung messen
- Strom messen
- Uhr(zeit)
- Temperatur messen
- Daten
und vieles mehr

Er kann nur Zahlen anzeigen , darum wird auch nur ein WORD benutzt / gebraucht
Da er nur 2 Leitungewn brauch , können auch mehrere TM1637 gleichzeitig genutzt werden , was aber dann schon mehr für Fortgeschrittenere ist

Hier dann mal ein kleines Beispiel :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
 

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 100
$swstack = 100
$framesize = 100
 
Config Portc.5 = Output ' clock
Config Portc.4 = Output ' Dout
 
Clk Alias Portc.5
Dout Alias Portc.4
Din Alias Pinc.4
 
Declare Sub Send_Display(byval Displaywert As Word) 'The display can only show numbers
Declare Sub I2C_write(byval Bdata As Byte)
Declare Sub I2C_on()
Declare Sub I2C_off()
Declare Sub I2C_start()
Declare Sub I2C_stop()
Declare Sub I2C_ack()
 

Dim Zaehler As Byte
Dim Str_Displaywert As String * 5
Dim Ascii As String * 1
Dim w As Word
 
I2C_on
 
' Beispiel : zählt von 1000 bis 9999
Do
For w = 1000 To 9999
Send_Display w
Waitms 50
Next w
Loop
End
 

'-----------------------------------------------------------------
Sub I2C_ack()
Reset CLK
Waitus 5
Reset Dout
Bitwait Din , Reset
Set CLK
Waitus 2
Reset CLK
Set Dout
End Sub
 
Sub I2C_off()
I2C_start
I2C_write &H80 'schaltet das Display aus
I2C_ack
I2C_stop
End Sub
 
Sub I2C_on()
I2C_start
I2C_write &H88 'schaltet Display an mit 25% Helligkeit [ &H88 bis &H8F ]
I2C_ack
I2C_stop
End Sub
 

 
Sub I2C_start()
Set CLK
Set Dout
Waitus 2
Reset Dout
End Sub
 

Sub I2C_stop()
Reset CLK
Waitus 2
Reset Dout
Waitus 2
Set CLK
Waitus 2
Set Dout
End Sub
 

 
Sub Send_Display(byval Displaywert As Word)
 
Str_Displaywert = Str(Displaywert)
Str_Displaywert = Format(Str_Displaywert , " ")
 
I2C_start
I2C_write &H40 'Modus : autom. Stelle weiter gehen im Display ....
I2C_ack
I2C_stop
I2C_start
I2C_write &HC0 'Startadresse der 1. Anzeige (&HC0=1. / $HC1=2. / &HC2=3. $HC3=4. ---> immer von links)
I2C_ack
 
For Zaehler = 2 To 5
Ascii = Mid(Str_Displaywert , Zaehler , 1)
Select Case Ascii
Case "0" :I2C_write &B00111111
Case "1" :I2C_write &B00000110
Case "2" :I2C_write &B01011011
Case "3" :I2C_write &B01001111
Case "4" :I2C_write &B01100110
Case "5" :I2C_write &B01101101
Case "6" :I2C_write &B01111101
Case "7" :I2C_write &B00000111
Case "8" :I2C_write &B01111111
Case "9" :I2C_write &B01101111
Case Else:I2C_write &B00000000
End Select
I2C_ack
Next
 
I2C_stop
End Sub
 

Sub I2C_write(byval Bdata As Byte)
Local Bbitcounter As Byte
 
For Bbitcounter = 0 To 7 'LSB first
Reset CLK
Dout = Bdata.bbitcounter
Waitus 3
Set CLK
Waitus 3
Next
End Sub
 
 




Leider benutzt der TM1637 ein recht merkwürdiges Zahlensystem , so das man den Umstand gehen muss und es mit Select Case umrechnen lassen

"0" ---> dezimal 63
"1" ---> dezimal 6
"2" ---> dezimal 91
"3" ---> dezimal 79
"4" ---> dezimal 102
"5" ---> dezimal 109
"6" ---> dezimal 125
"7" ---> dezimal = 7
"8" ---> dezimal 127
"9" ---> dezimal 111

Ich habe leider noch keine Formel oder System zur Umrechnung gefunden , aber es geht auch so.
Und natürlich hier noch ein Video dazu :

Top

Fotos hochladen

Zugriffsanfrage von


Diese Seite versucht auf deinen addPics.com Account zuzugreifen.
Aus Sicherheitsgründen, erlaubt addPics.com nur den Zugriff von autorisierten Webseiten. Wenn du dieser Webseite vertraust, kannst du mit einem Klick auf den folgenden Link, den Zugriff erlauben.

autorisieren Aktualisieren

Bitte logge dich mit deinem bereits existierenden Account auf addPics.com ein.


Jetz einloggen!
Neu laden!


Dem Beitrag angehängte Bilder


- noch keine Bilder angehängt.

oder ein bereits hochgeladenes diesem Beitrag hinzufügen.
Nach Ordner filtern: Ordner bearbeiten
  • Mit deiner Emailadresse, verwaltest du all deine Bilder auf addPics.com
  • diese Nutzung von addPics.com ist für dich kostenlos!
  • weitere Informationen findest du hier


Mit dem Upload gebe ich mein Einverständnis, dass meine E-Mail von addPics.com für werbliche Zwecke zum Erhalt von Newslettern genutzt wird. Die E-Mail wird nicht an Dritte weitergegeben und der Newsletter kann jederzeit per E-Mail an unsubscribe@addpics.com abgemeldet werden.

Mit anderen addPics.com Account anmelden
Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz