Gumawa ng Display Debug para sa mga Microcontrollers: 6 Mga Hakbang

Gumawa ng Display Debug para sa mga Microcontrollers: 6 Mga Hakbang

Talaan ng mga Nilalaman:

Anonim

Ang display na ito ay dumating sa napaka-madaling-magamit kung nagtatrabaho ka sa ADC function ng mga micro controllers.

Kailangan lang ng dalawang pin upang kontrolin ang display (tatlo kung nais mo ring kontrolin ang aldaba). Sa dalawang pitong segment na ito ay maaaring magpakita ng hanggang sa 0xFF bilang hex. Iyan ang buong hanay ng 8bit, kung ano ang pinaka ginagamit variable-lapad para sa maliliit na uCs.

Itinayo ko ito dahil ang pangwakas na aplikasyon ay walang pagpapakita at gusto kong malaman kung ano ang nangyayari bago ko ito natapos.

Kailangan mo ng dalawang 74HC959 shift registers, dalawang seven-segment display at 14 (16) resistors Kailangan mo 16 kung nais mong gamitin ang mga tuldok, na hindi ipinatupad sa software. Ngunit ang paggamit ng mga tuldok ay mapapalawak ang mga displayable value sa 10bit o 0-1027. Iniwan ko ito sa iyo upang malaman ito.

Mga Kagamitan:

Hakbang 1: Ang eskematiko

Ginagamit namin ang dalawang 74HC595 shift-registers upang ma-interface ang pitong nagpapakita ng segment. Kung gumamit ka ng karaniwang anode o karaniwang mga katod na 7-segment na kailangan mong ayusin ang circuit. Ginamit ko ang karaniwang mga cathode. Ano ang ibig sabihin na ang bawat segment ay isang berdeng LED at ang mga cathode ng lahat ng LEDs ay magkakasama. (Mga Pins 3 at 8 ng 7-segundong display)

Ang mga registro ng paglilipat ay nagtatrabaho sa ganitong paraan:

Sa bawat oras na mag-aplay ka ng pulso sa shift input, ang kasalukuyang estado ng serial input pin ay inililipat sa memorya ng 74HC595. Sa bawat oras na ang pulse sa input ng aldaba dumating ang estado ng panloob na memorya ay ginagamit upang himukin ang mga output.

Pagkatapos ng 8 shift cycles ang unang input ay inilipat sa pin9 muli at maaaring magamit bilang isang input sa isa pang 74HC595. Ito ay tinatawag ding daisy chain.

Ang 74HC595 ay maaaring mag-drive ng hanggang sa 70mA sa kabuuan, kaya kailangan naming ayusin ang mga resistors sa isang paraan na ang kasalukuyang sa pamamagitan ng bawat LED-segment ay mananatili sa ibaba 9mA, na kung saan ay tungkol sa 470 oum para sa 5V at ang ginamit na display.

Hakbang 2: Ang Magrehistro ng Shift 75HC595

Ang isang pagtingin sa larawan ay nagsasabi sa iyo kung alin ang pin kailangan mong kumonekta.

Ang mga pin ay binibilang ang anti orasan na matalino simula sa marka sa IC kung titingnan mo ito mula sa itaas.

Ikonekta ang pin 1 - 7 at i-pin 15 sa mga pin ng 7-segment.

Ang pin 8 at 13 ay dapat na konektado sa lupa (GND o negativ terminal ng baterya)

Ang Pin 9 ay konektado sa pin 14 ng susunod na IC.

Ang pin 10 at pin 16 ay dapat na konektado sa supply boltahe (VCC o positibong terminal ng baterya)

Pin 11, 12 at 14 ay ang interface na hinihimok ng microcontroller, ikonekta ang mga ito sa tatlong pin pinheader para sa panlabas na interfacing.

Hakbang 3: Itinayo ang Display

Bagaman posible na mag-ukit ng pasadyang circuit board, pinili kong itayo ang buong bagay sa breadboard na may manipis na wire na tanso.

Ang tansong kawad na ito ay pinahiran, ngunit ang patong ay maaaring masunog na may kaunting tunaw na lata. Napakadali upang makagawa ng koneksyon dito. Basta lata isa dulo, maghinang ito sa pin at pagkatapos ay i-stretch ito sa iba pang mga pin at sunugin ang paghihiwalay kung saan nais mong maghinang ito. Pagkatapos maghinang ito sa pin at i-cut ang natitira. Ang 30W na panghinang na tulad nito mula sa Craftsman ay higit pa sa sapat para sa trabaho.

Gumamit ako ng maliliit na 1206 SMD resistors, dahil ang mga ito ay magkasya sa ilalim ng pitong segment na nagpapakita.

Ngunit pagkatapos ng lahat, kailangan mong gumawa ng up sa board sa pamamagitan ng iyong sarili at maaari mong siyempre ring tumagal ng anumang risistor gusto mo.

Hakbang 4: Hanapin ang Order ng Mga Segment

Sa wakas kailangan naming isulat ang mga function upang ipakita ang isang bagay na makabuluhan.

Ang pangunahing problema ay ngayon upang mahanap ang tamang segment - control sequence. Sa una ay subukan upang itulak ang isang solong 1 sa pamamagitan ng buong shift register.

Mag-apply ng isang mataas sa serial input at pulse ang paglipat ng isang oras. Ngayon pulse ang aldaba sa isang oras at makita kung aling mga segment ang ilaw.

Kung muli mong pindutin ang pindutan ng shift at aldaba, ang susunod na segment ay sindihan at iba pa.

Sa wakas mayroon kang pagkakasunod-sunod ng lahat ng mga segment at maaari mong ilipat ang mga ito sa mga binary na numero.

Hakbang 5: Isulat ang Code

Gusto kong gamitin ang display sa aking AVR microcontrollers. Kaya sumulat ako ng *.h file na maaaring isama sa anumang proyekto.

Kung naiiba ang pagkakalagay mo sa board, maaaring kailangan mong ayusin ang segmentcontrol array.

Upang magamit ito, kailangan mong ayusin ang pin-defines sa file debug.h (unang 12 linya).

Sa pangunahing application kailangan mong idagdag ang mga sumusunod na linya:

# isama ang "debug.h"

initdebug (); // Ito ay nagsisimula sa mga Output port na tinukoy sa debug.h

Pagkatapos ay maaari mong ipakita ang anumang 8bit variable sa pamamagitan lamang ng pagtawag sa debug function na ito. sabihin ang variable ay tinatawag na counter, pagkatapos ay ang kasalukuyang halaga ng counter ay ipinapakita sa pamamagitan ng:

debug (counter);

Mga Pahiwatig:

  • Magdagdag ng ilang oras ng pagkaantala pagkatapos ng tawag ng debug () upang magkaroon ng oras upang mabasa ang halaga.
  • Kapag nakakonekta ka ng shift at aldaba magkasama, tukuyin lamang ang dalawang port para sa parehong pin. Sa bawat oras na ang paglilipat ay na-trigger ito din naka-latched ang kasalukuyang estado, na nangangahulugan na ang display flickers habang ang shiftregisters ay load. Kung gagawin mo ito mabilis kumpara sa oras na ipaalam sa iyo ang display manatili ito ay o.k.
  • Upang ipakita ang isang halaga ng 16bit alinman hatiin ito sa pamamagitan ng 256 at ipakita ang resulta o paghiwalayin ang mga mataas na byte at ang mga mababang byte at ipakita ang mga ito nang isa-isa na may maliit na preno sa pagitan.

Hakbang 6: Subukan Ito

Upang masubukan ang display mukhang perpekto upang gamitin ang attiny2313 breadboard adaptor na inilathala ko sa itinuturo na ito:

www.instructables.com/id/Make-a-breadboard-adapter-for-your-AVR-microcontroller

Ang programa ng naka-embed na video ay binibilang lamang mula 0 hanggang 0xFF at bumalik muli.

Ang video: