Atmel start 4: Blinky två-växlar, Pull-Up motstånd och Bit Ops (2 / 11 steg)

Steg 2: Kontrollera Pull-Up Resistor

Så, hur kan pull-up resistor [12,13] kontrolleras programmässigt?

Minns från Start-up #3, DDR, PORT, och PIN uttalanden i Atmel Studio C/C++ kontrollera funktion och delstaten MCU hamnarna. Till exempel uttrycket partiell "DDRB =" ställer in 8 bitar data riktning registret för port B med 0 och 1 som MCU tolkar sedan ange motsvarande fysisk port B stift till ingång och utgång, respektive. '= PINB' partiell uttalande (så som i x = PINB), till exempel läser indata registret för fysisk port B stiften. Den "PORTB =" partiell uttalande kommer att skriva 8 bitar till port B utgången registrera som MCU tolkar för att ställa motsvarande fysisk port B stift - med ett förbehåll om Pull-Up motstånd. Och då startar vår diskussion för närvarande steg. Det här steget använder port B som ett exempel men andra tillgängliga portar på en Atmel AVR MCU (till exempel A, B,...) beter sig på samma sätt. Minns ATTiny2313A använder stift 12 till 19 för portB betecknas med B0 genom B7, respektive [1] som visas i tabell 1.

Vi anser att ett exempel som visar användningen av blandade indata och utdata för portB som också aktiverar en pull-up resistor. Till exempel, anta att vi bara behöver utgångar på fysiska stift 13 och 14 (dvs, B1 och B2, se tabell 1) men kräver ingångar på resten av stiften för Port B. Anta vidare att det klämmer fast 18 (dvs B6) bör ha en pull-up resistor som för en switch liknar som visats i föregående steg.

För det första inriktas på pull-up resistor. Det kan vara engagerade genom att skriva en "1" till en ingång pin. Låt det sjunka ett tag. Skriva en '0' till en ingångsstiftet inaktiverar den inre pull-up resistorn och anger den, till en hög impedans tillstånd [1].

Tabell 1: Ett exempel på stift 12-19 med både ingångar och utgångar och pull-up PU aktiveras och hög impedans HZ.

Fysiska Pins

19

18

17

16

15

14

13

12

Namn

B7

B6

B5

B4

B3

B2

B1

B0

DDRB

0

0

0

0

0

1

1

0

Fysiska PortB

I

I

I

I

I

Ute

Ute

I

PORTB = 0b0100100

0

1

0

0

0

1

0

0

Fysiska Pin resultatet

HZ

PU

HZ

HZ

HZ

VCC

0V

HZ

Så i detta exempel för att få den input och output visas i den fjärde raden i tabell 1, vi måste först ange DDRB = 0b00000110 så att fysiska stift 13-14 är utgifts- och resten är ingångarna. För att aktivera den (PU) pull-up resistorn för pin 18, skriver vi en '1' till B6, som är en ingång, som i den sjätte raden. Nästa, vi satt PORTB = 0b0100100 som visas i den sjätte raden i tabellen. Den sista raden visar de resulterande fysiska tillstånd fysiska stift 12-19. För fysiska stift 13 och 14, har de logiska värdena i registret över DDRB översatts till spänningar på stiften som förväntat. Stift 12, 15-17 och 19 är insatsvaror och lagts i en hög impedans stat, vilket framgår av HZ, eftersom DDRB ställa dem som insatsvaror och motsvarande bitarna i den PORTB skriva har inaktiverat pull-up motstånd. Ofta (men absolut inte alltid) programmet anger DDRB och Pull-Up motstånd i början av utförande och återställer dem inte. För att använda den blandade input/output-porten, behöver en en metod för att programmässigt skilja mellan inkommande och utgående stift som också ger möjlighet att självständigt läsa och skriva dem utan att påverka pull-up motstånd och portinställningar. Här är där Maskeringen blir viktigt.

Se Steg
Relaterade Ämnen

Atmel start 1: Atmel Studio och programmerare

M. A. Parker c2015Installera Atmel Studio (AS) och en programmerare förkroppsligar de första stegen [0] på väg mot med hjälp av en Atmel AVR Microcontroller individenhet MCU [1] i motsats till MCU-på-en-styrelsen som Arduino [2]. Här startar resan, o...

Atmel start 2: Microcontroller kretsar och säkringar

M. A. Parker c2015Kretsar och säkringar konstruerar en enkel men viktig krets på en experimenter's skärbräda som ska användas som grundläggande plattform för många microcontroller projekt och för att ange parametrarna mikrokontroller (dvs säkringar)....

Atmel start 3: Binky en-PORT, PIN, DDR och LED

M. A. Parker c2015Blinky, blinkande LED, visar hur man använder språket som C/c ++ i Atmel Studio (AS) för att styra Atmel MCU portar för ingång och utgång (dvs IO) och avslöjar den "hemliga" liv av Atmel PORT, PIN och DDR register. Blinky använ...

Atmel start 5: Livlina

M. A. Parker c2015Livlinan är en enkel krets baserad på Atmel ATTiny2313A mikrokontroller enheten (MCU) som fungerar som ett substitut klocka källa för ett mål MCU återges ur funktion av felaktigt ställa in klockan säkringar. Projektet, tänkt att var...

DIY luft värmeväxlare - från läskburkar och pvc-rör

Du lära dig hur man gör en låg kostnad, lätt att bygga och mycket effektiv luft värmeväxlare med läskburkar, pvc-rör och några datorfläktar.Syftet med värmeväxlaren är att ventilera ett rum eller hus med frisk luft samtidigt inte förlora för mycket v...

Laptop automatisk Start/stopp anklagat för (med Arduino, Yun sköld och ESP8266)

Jag arbetar utanför mitt land och laptop är en stor hjälp för mig att ansluta till min familj och vänner och göra alla mina computing tyger också, men jag alltid kom över för att driva svagt batteri och jämn värst till kritisk nivå eller reserverade...

Automatic 18650 Analyzer

Flyttade uppdateringar till steg 2.Jag hade turen att få många dussintals begagnad laptop batterier från en vän som jobbar på en datorbutik. Efter laddning och urladdning några hundra cell 18650 celler med 3 Imax B6 laddare att mäta kapacitet, jag be...

Arduino Powered Home

Jag har gjort några uppdateringar till detta instructable sedan Aug 2014 ***Jag bestämde mig att dela denna information så att det kan hjälpa andra som har kämpat för att göra liknande saker med deras Arduino. Jag har nyligen fått med Arduino. Jag kö...

Gör din egen IR-fjärr som kan nå någonstans

Min hemmabio är långt borta från min säng och fjärrkontrollen kan inte nås där. Många gånger, tänkte jag styra hemmabiosystemet från min säng att njuta av musik när som helst (på grund av lathet förstås). Så jag gjorde en sökning och hittade denna fa...

Hur du använder ESP8266-01 stiften

IntroduktionESP8266-01 är en mycket låg kostnad WiFi aktiverat chip. Men det har mycket begränsad I/O. När du konfigurerar den för programmering används vid första anblicken, alla stiften.Denna instructiable bygger på med hjälp av ESP8266 GPIO0/GPIO2...

Säkerhet med en gammal Pentium 1 del II

Micro-styrenheter är mycket snyggt. Har ett par själv. Ansluter till micro-kontrollanter eller till en PC är i princip samma. Så har du inte en mikro-controller ännu, ta en gammal PC och få att fungera. Detta är en förlängning av ursprungliga instruc...

Hur du använder I2C i LabVIEW

För detta projekt ansluten jag PmodGYRO till chipKIT WF32 med LabVIEW och LabVIEW MakerHub LINX. Denna guide kommer att gå igenom hur du ställer in pull-up motstånd för framgångsrik I2C kommunikation och hur man läser ett datablad för att hitta det d...

Hur man gör en PIP-Boy (prototyp)

så vad är en PIP-Boy, du frågar? För de obekanta är en PIP-Boy en anordning som används av huvudpersonen i den populära Fallout-serien av spel för navigering, strålning upptäckt, data storage/uppspelning och lagerhantering. Är ett stort fan av serien...

Mobiltelefon larm för en motorcykel, bil eller något du vill

jag fick nog med normala larm vilket gör en massa oväsen, och ingen tar några märker av dem längre.Också utan att veta om någon hade bud med min cykel eftersom jag var för långt bort att höra larmet.Så jag bestämde mig att göra detta larm med en gamm...

Bärbar infödda MOD spelare baserat på Raspberry PI (spelar MOD, S3M, det, XM etc...). Använder BassPlay bibliotek.

Description:Hallon-PI grundval av ursprunglig MOD player för att spela musik moduler MOD, S3M, det, XM bland andra.Den använder kommandoradsverktyget spelare baserad på bas-play bibliotek.Kort beskrivning av musik moduler:Musik moduler påbörjar från...

1981 Portable VCR Raspberry PI Media Centre

Detta är en tidig 80-Sharp VC - 2300H bärbara Videobandspelare som jag har konverterat - det har nu en Raspberry Pi i centrum, kör de utmärkta Raspbmc medierna Center software. Andra uppgraderingar inkluderar en snazzy arduino-baserad klocka och en E...

FSR Tutorial!

Vad är en Force känsliga motstånd?FSRs är sensorer som gör att du kan upptäcka fysiskt tryck, klämma och vikt. De är enkla att använda och låg kostnad.FSRS är i grunden en resistor som ändrar dess resistiv värde (i ohm) beroende på hur mycket dess pr...

HD44780 LCD till I2C adapter styrelsen för buss pirat

billigt tecken LCD-skärmar baserat på HD44780 chipset kommer i olika storlekar: 2 x 16, 4 x 20, etc. Dessa skärmar har två standardgränssnitt lägen, 4 och 8 bitars parallellt. 8 bitar kräver sammanlagt 11 data linjer, 4 bitar kräver 7 (6 för lässkydd...

(7) noll till 132 volt AC eller DC!

jag gick hem med min fru en dag efter lunch i en av de många asiatiska restauranger som vi har i Oahu.Promenader är bra.Får hjärtat att arbeta hårdare, du bryta en svett och du förlora lite vikt du inte behöver släpa runt i första hand.Hawaii är en m...