PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schieberegister neuer versuch...



Bluesmash
07.07.2005, 23:10
ich bastle mir gerade einen zähler mit dem 4022N und dem 74HC165 nun habe ich probleme beim einlesen des zählerstandes... wie mache ich das genau? mit spiin? oder shiftin? ich habe schon diverses ausprobiert aber irgendwie klapts nicht... :(

ich hoffe es kann mir jemand helfen... gruss bluesmash

Bluesmash
08.07.2005, 11:57
hier mein code mit shiftin....

Bluesmash
08.07.2005, 19:07
ich benutze folgenden schaltplan für den zähler... ich weiss einfach nicht genau wie ich den spi bus handhaben muss...

Bluesmash
09.07.2005, 16:23
ich habe mal 5v auf den ersten parallelen eingang des schieberegisters gegeben... dann solte doch eine 1 eingelesen werden? oder täusche ich mich da? das funktioniert aber auch nicht... so langsam verzweifle ich... ;(

Bluesmash
11.07.2005, 17:19
hallo zusammen

so ich versuche es nochmal...
ich benutze das rn-board mit nem mega32 an 16MHz
das schieberegister (74HC165N) habe ich wie folgt angeschlossen:

Pin9 - MISO (Portb.6)
pin2 - SCK (Portb.7)
pin1 - SS (Portb.4)
Pin15 - GND
Pin8 - GND
Pin16 - 5V
DatenPins:
Pin 3,5,6,11,12,13,14 alle auf GND
Pin4 auf 5V (damit sollte der wert 32 eingelesen werden?)

muss ich nicht irgendwo die taktrate festlegen? ev. mit delay?
ich bin für jeden tip dankbar!
ich benutze folgendes program (beispiel aus dem buch von claus kühnel)
mfg bluesmash

PicNick
11.07.2005, 18:22
Du hast die beiden SS aus der schaltung zusammen auf SS vom Mega ?


Config Pinb.7 = Output 'SCK
Config Pinb.6 = Output 'SS1
Config Pinb.4 = Input 'MISO


Reset Pinb.6
Set Pinb.6 ' Übernahme der Bit -->Shiftreg.
...........data.....clk
Shiftin Pinb.4 , Pinb.7 , A , 0


Ich würde option 0 probieren. mit der steigenden Flanke schiebt das register, dadurch sind die daten instabil.

Clock runter----> Daten von miso einlesen
Clock rauf-------> Register weiterschieben


Ich glaub nicht, daß du ein Delay brauchst.

Bluesmash
11.07.2005, 18:41
nein momentan habe ich nur 1 schieberegister am mega so wie in meinem letzten beitrag beschrieben SS an pinb.4... mit option o bringt es auch nichts...
was meinst du mit: ...........data.....clk?

mfg bluesmash

PicNick
11.07.2005, 18:53
was meinst du mit: ...........data.....clk?

das was nur die überschrift für den shiftin.

SHIFTIN data-pin, clock-pin, variable, opt

datapin ist dein MISO wie in der schaltung
clockpin soll in der Schaltung SCK werden.
ss ist ss1 in der schaltung (die beiden ss kannst du verbinden)

Daten lesen:
SS runter ----> daten vom Counter-->Shift
SS rauf -------> bereit zum schieben (da muß es oben sein)

shiftin:
Bascom geht mit clock runter --> übenahme in Miso
Bascom geht mit clock rauf --> Register schiebt weiter
usw.

Bluesmash
11.07.2005, 19:01
soweit habe ich es kapiert... aber warum funktioniert mein zuletzt gepostetes prog nicht? habe alles so angeschlossen wie in diesem beitrag beschrieben... ich bekomme immer eine 0 ausgelesen... :(

zur schaltung: ich kann doch nicht die beiden ss verbinden... sonst werden ja beide shiftreg. gleichzeitig ausgelesen... oder?

PicNick
11.07.2005, 19:11
Entschuldige, du hast recht, so geht's nicht.
ich würde ja die beiden register hintereinanderhängen und die 16 Bit auf einmal auslesen.
Aber jetzt muß eh erstmal eines gehen.

wenn du die HW-SPI verwendest, mußt du "SPIIN" sagen statt SHIFTIN und die Pins in Ruhe lassen , ausser SS

Bluesmash
11.07.2005, 19:32
jupiii!!! jetz geht es! *megafreu*
ich habe für den ss immer den portb.4 benützt jetzt habe ich mal den portb.3 genommen und es funktioniert... :) kann ich nicht den ss vom hardware spi benützen?

ist es nicht so dass bei den eingängen:
a=1er
b=2er
c=4er
d=8er
e=16er
usw.

sind?

Bluesmash
11.07.2005, 20:19
nachdem jetzt endlich das einlesen des schieberegisters klapt hab ich mein zähler IC drangehängt... aber jetzt zählt es nicht schön 1,2,3,4,5,6,7... sondern nur 2,4,8,16,32,64... hab ich den falschen zähler? hab den HCF4022BE zähler... http://www.distrelec.com/ishopWebFront/catalog/product.do?node=adaaacaiacar&highlightNode=&id=01&series=1

Bluesmash
11.07.2005, 21:10
ja ich hab den falschen zähler... :(