Den enkleste måten å kontrollere en seriell TTL enhet er ved hjelp av Serial Peripheral Interface , eller SPI , metode for kommunikasjon . TTL refererer til transistor - transistor logikk , som beskriver den indre konstruksjonen av den seriell enhet . Elektrisk , betyr TTL at enheten opererer på +5 V og 0V nivåer , som er vanlige spenningsnivåer i SPI kommunikasjon. Basic Stamp mikrokontroller inneholder en bestemt kommando som gjør at SPI , den " SHIFTOUT "-kommandoen . Bare tre elektriske forbindelser er nødvendig for SPI -kommunikasjon , og den beste måte å utforme denne type krets, er til å begynne på papir. Du trenger
AD5161 digital potensiometeret dataarket
Papir
Pencil
Basic Stamp referansemanual
Vis flere instruksjoner
SPI Elektriske tilkoblinger
1 < p> Finn de SDI , CLK og CS pinnene på den serielle enheten . Analog Devices ' AD5161 digitalt potensiometer vil bli brukt som eksempel på en seriell enhet . Tegne en firkant som betegner potensiometer og trekke linjer for tre pinner. Henvis til AD5161 datablad og etiketten pinnene " SDI ", " CLK " og " CS ".
2
Skriv " Serial Innføring av data " ved siden av SDI og skrive " Serial Clock Input" ved siden av CLK . Tegne en linje over toppen av CS og skriv " Chip Select Input" ved siden av. Linjen betyr at CS er aktiv lav , som krever en 0V nivå for å aktivere Chip Select Input .
3
Finn tre tilgjengelige input /output pinnene på Basic Stamp . Se i Stamp referansehåndboken for pin beskrivelse. Tegn en firkant til venstre for potensiometeret og trekke linjer for tre utdatastrømpunkt . Denne plassen betegner Stamp . Merke pins "output 1 , " "output 2" og "output 3".
4
Uavgjort linjer som kobler de tre pinnene på Stamp til de tre pinnene på potensiometeret . Koble Stamp utgang 1 til potensiometer SDI , kobler Stamp utgang 2 til potensiometer CLK og koble Stamp utgang 3 til potensiometer CS .
Stamp Program
5
Send en logikk " lav ", eller 0V , ut av Stamp pinne 3 . Skriv "LOW 3 " under de tidligere diagrammer . Dette sender et 0V nivå av pin 3 , og det er fortsatt ved 0 V til programmet avsluttes , eller til den er programmert til å være en logikk "høy". Potensiometeret CS pin er " aktiv lav ", som krever en jevn 0V nivå til " turn- on" programmering funksjoner på enheten .
6
Skriv " SHIFTOUT " under LOW kommando og referere til Stamp manual for sine parametere . Den komplette kommando med sine parametere er : SHIFTOUT Dpin , CPIN , Mode , OutputData
7
Still inn første parameter i SHIFTOUT kommandoen. . Skriv en " 2 " ved siden SHIFTOUT , som i følgende : SHIFTOUT to . "2" tildeler Dpin , eller data pin, å stemple utgang 2 . Dataene reiser fra uttak 2 til potensiometer SDI pin. At data kontrollerer motstanden nivå av potensiometeret .
8
Sett den andre parameter i SHIFTOUT kommandoen. Legg til en " 1" til kommandoen , som i følgende : SHIFTOUT 2,1 . "1" tildeler CPIN , eller klokke pin, å stemple utgang 1 . The Clock -signalet er en jevn veksling av +5 V og 0V . Den klokke -signalet er koblet til CLK pin av potensiometeret , og den styrer strømmen av data til potensiometeret.
9
stille inn det tredje parameter i SHIFTOUT kommandoen. Legg til " MSBFIRST " til kommandoen , som i følgende : 2,1 SHIFTOUT , MSBFIRST . Dette setter Mode-parameteren , som orienterer dataene som sendes ut av Stamp . Det vil bli sendt med den mest signifikante bit først , noe som betyr at den numeriske data verdien blir sendt fra venstre mot høyre. Den AD5161 datablad angir at data må være orientert MSB -first .
10
Fullfør SHIFTOUT kommandoen ved å sette OutputData parameter. Legg til " 128" til kommandoen , som i følgende : 2,1 SHIFTOUT , MSBFIRST , 128 . Sende et desimaltall , 0-255 , fastsetter hvor stor motstand i potensiometeret . Sending av nummeret 128 er samme som å angi en volumknapp halvveis på et stereoanlegg .
11
End programmeringssekvensen ved å sette CS til en logikk høy. Skriv "HIGH 3 " under SHIFTOUT kommando . Dette plasserer CS pin på en 5V nivå . Denne handlingen " svinger -off " programmering funksjoner av potensiometeret , opprettholde motstanden ved tidligere innstilt nivå på 128 . Når du ønsker å endre nivået , sette CS lav igjen og sende en ny data byte i en SHIFTOUT uttalelse.