Atmel opstarten 4: BLINKIE twee-Switches, Pull-Up weerstanden en bits Ops (2 / 11 stap)

Stap 2: Controle van de Pull-Up weerstand

Dus, hoe kan de pull-up weerstand [12,13] programmatisch gecontroleerd worden?

Haal uit Start-up #3, de DDR, de poort, en PIN verklaringen in Atmel Studio C/C++ controle over de functie en de stand van de MCU-poorten. Bijvoorbeeld, de gedeeltelijke instructie ' DDRB =' het 8 bit gegevens richting register voor poort B met 0s en 1s die de MCU vervolgens interpreteert in te stellen van de bijbehorende fysieke poort B-pinnen op de input en output, respectievelijk wordt ingesteld. De '= PINB' gedeeltelijke verklaring (zoals in x = PINB), bijvoorbeeld, leest de invoer registreren voor de fysieke poort B-pinnen. De ' PORTB =' gedeeltelijke verklaring zal schrijven 8 bits aan de poort B uitvoer registreren die de MCU interpreteert u de bijbehorende fysieke poort B-pinnen - met één voorbehoud betreffende de Pull-Up weerstanden. En dit begint onze discussie voor de huidige stap. De huidige stap gebruikt de poort B als voorbeeld maar andere beschikbare poorten op een Atmel AVR MCU (zoals A, B,...) werken op dezelfde manier. Herinner me, de ATTiny2313A maakt gebruik van pins 12 tot en met 19 voor portB aangeduid door B0 tot en met B7, respectievelijk [1] zoals aangegeven in tabel 1.

We bekijken een voorbeeld dat toont het gebruik van gemengde input en output voor portB dat ook een pull-up weerstand activeert. Bijvoorbeeld, stel dat we hoeven alleen maar uitgangen op fysieke pin 13 en 14 (dat wil zeggen, B1 en B2, zie tabel 1) maar vereisen ingangen op de rest van de pinnen voor poort B. Veronderstel verder dat pin 18 (dat wil zeggen, B6) moeten een pull-up weerstand zoals voor een switch die vergelijkbaar is met die in de vorige stap gedemonstreerd.

Eerst richten op de pull-up weerstand. Het kan worden ingeschakeld door te schrijven een '1' op een ingang pin. Laat die wastafel voor een tijdje. Het schrijven van een '0' tot een invoer pin schakelt de interne pull-up weerstand en Hiermee stelt u de invoer naar een hoge impedantie staat [1].

Tabel 1: Een voorbeeld tonen van pins 12-19 met zowel ingangen en uitgangen als pull-up PU geactiveerd en hoge impedantie HZ.

Fysieke pinnen

19

18

17

16

15

14

13

12

Naam

B7

B6

B5

B4

B3

B2

B1

B0

DDRB

0

0

0

0

0

1

1

0

Fysieke PortB

In

In

In

In

In

Uit

Uit

In

PORTB = 0b0100100

0

1

0

0

0

1

0

0

Fysieke Pin resultaat

HZ

PU

HZ

HZ

HZ

VCC

0V

HZ

Dus in dit voorbeeld om te verkrijgen van de inputs en outputs getoond in de vierde rij van tabel 1, moeten we eerst instellen DDRB = 0b00000110, zodat de fysieke pinnen 13 en 14 zijn zowel de output als de rest zijn ingangen. Als u wilt activeren de pull-up (PU) weerstand voor de pincode 18, schrijven we een '1' B6, oftewel een invoer, zoals in de zesde rij. Wij stel vervolgens PORTB = 0b0100100 zoals in de zesde rij van de tabel. De laatste rij bevat de resulterende fysieke toestanden van de fysieke pinnen 12-19. Voor fysieke pin 13 en 14, zijn de logische waarden in het register van de DDRB vertaald in de spanningen op de pinnen zoals verwacht. Pins 12, 15-17 en 19 zijn ingangen en in een hoge impedantie staat, zoals aangegeven door de HZ, omdat DDRB hen als input en de bijbehorende bits in het schrijven van de PORTB heeft uitgeschakeld de pull-up-weerstanden zijn vastgesteld. Vaak (maar zeker niet altijd) het programma DDRB en de Pull-Up weerstanden ingesteld aan het begin van de uitvoering en niet hen opnieuw ingesteld. De gemengde invoer/uitvoer-poort wordt gebruikt, moet men een methode om via programmacode een onderscheid maken tussen de input- en output pinnen ook bieden de mogelijkheid om zelfstandig te lezen en te schrijven zonder de pull-up weerstanden en poortinstellingen. Hier is waar het maskeren wordt belangrijk.

Gerelateerde Artikelen

Atmel opstarten 5: Levenslijn

Atmel opstarten 5: Levenslijn

M. A. Parker c2015De levenslijn is een eenvoudige schakeling op basis van de Atmel ATTiny2313A microcontroller eenheid (MCU) die functioneert als een plaatsvervanger klokbron voor een doel MCU uitgevallen gesmolten door klok ten onrechte instellen ze
Atmel opstarten 1: Atmel Studio en programmeur

Atmel opstarten 1: Atmel Studio en programmeur

M. A. Parker c2015Installeren Atmel Studio (AS) en een programmeur belichamen de eerste stappen [0] op het pad aan het gebruik van een afzonderlijke eenheid voor Atmel AVR Microcontroller MCU [1] in tegenstelling tot de MCU-on-a-board zoals Arduino [
Atmel opstarten 2: Microcontroller-schakelingen en zekeringen

Atmel opstarten 2: Microcontroller-schakelingen en zekeringen

M. A. Parker c2015Circuits en zekeringen construeert een eenvoudige maar belangrijke circuit op de experimentator breadboard die zal worden gebruikt als het fundamentele platform voor vele microcontroller projecten en voor het instellen van de parame
Atmel opstarten 3: Binky een-poort, PIN, DDR en LED

Atmel opstarten 3: Binky een-poort, PIN, DDR en LED

M. A. Parker c2015Blinky, de knipperende LED, laat zien hoe met de taal C/C++ in Atmel Studio (AS) om te controleren de Atmel MCU poorten voor input en output (dat wil zeggen, IO) en het 'geheim' leven van de Atmel poort, PIN en DDR registers blijkt.
Draadloze Wii Nunchuck gecontroleerd Arduino

Draadloze Wii Nunchuck gecontroleerd Arduino

Gebruik een volledig ongewijzigde draadloze Wii Nunchuck als een controlesysteem voor elke Arduino gebaseerd project. Geen toegevoegde radio zender/ontvanger paren enz.Dit instructable aanvaardt enige ervaring met de Arduino microcontroller.De radio-
De Fibonacci-klok

De Fibonacci-klok

UPDATE: dit project heeft met succes gefinancierd op Kickstarter en is nu beschikbaar voor verkoop op http://Store.basbrun.com Bedankt aan al degenen die mijn campagne gesteund!Presenteer ik u de Fibonacci-klok, een klok voor nerds met stijl. Mooie e
MINI Si7021 temperatuur en luchtvochtigheid Sensor

MINI Si7021 temperatuur en luchtvochtigheid Sensor

Synopsis: ± 0,3% nauwkeurigheid (temp en vochtigheid) is de Mini-Si7021 een zeer nauwkeurige sensor voor accumuleren gegevens van temperatuur en vochtigheid. De I2C busarchitectuur biedt snelle data-acquisitie, foutdetectie en ondersteuning voor cont
Lezing Switches met ATtiny2313

Lezing Switches met ATtiny2313

zijn er verschillende Instructables omgaan met uitgangen van de ATtiny2313 en soortgelijke AVR apparaten. Bijvoorbeeld,. Bezig met de nieuwste versie van de echte Elliot, waaruit hoe de controle van de stappenmotoren blijkt, vond ik dat het zou echt
Eind Stop / Switch problemen beperken

Eind Stop / Switch problemen beperken

Grenzen schakelaars of 'einde stopt' kan zoals ze zijn genoemd naar de 3D printen Gemeenschap worden lastig voor Hobby CNC en 3D print opstellingen. Vele forums discussie hebben over hoe om te stoppen met de valse triggers en allermeest naar het schi
Arduino gecontroleerd SIP & PUFF Switch

Arduino gecontroleerd SIP & PUFF Switch

The Arduino serie van micro-controllers opent een enorme wereld van mogelijkheden voor beginnende programmeurs en hobbyisten! Met vrij beschikbare ontwikkelingssystemen tutorials en een uitgebreid scala aan bibliotheekfuncties en monster schetsen, ka
R/C Controlled Switch voor Drones

R/C Controlled Switch voor Drones

Hoewel er veel goede circuits beschikbaar op het internet voor soortgelijke projecten zijn, had ik een specifiek probleem op te lossen. Allermeest naar de circuits beschikbaar schakelt hun uitgangen op mid stick positie (50%). Mijn alle drones gebrui
Wat zit er in een pull snoer schakelaar

Wat zit er in een pull snoer schakelaar

pull snaar schakelt zoals deze zijn gemeenschappelijk in badkamers in het Verenigd Koninkrijk zij voorkomen natte vingers krijgen dicht bij netspanningen. In mijn badkamer begon te spelen dus ik het nooit te missen een opertunity nam ik het appart om
Hoe maak je een pull schakelen.

Hoe maak je een pull schakelen.

Een tijdje geleden kreeg ik een pooltafel in mijn schuur, en mij wilden voor zitten kundig voor zien van alle ballen, dus ik zette de verlichting erboven. Ik wilde een pull-schakelaar op de lichten, maar toen ik keek naar het kopen van een, zij waren
Vakantiewoningen Toy Switch aanpassing

Vakantiewoningen Toy Switch aanpassing

Voor veel kinderen met een lichamelijke handicap is spelen met off-the-shelf speelgoed niet mogelijk. Afhankelijk van hun unieke vaardigheden, kan het voorkomen dat speelgoed niet meer toegankelijk.Als een kind hun voet, hoofd, arm, mond of elk ander