Talaan ng mga Nilalaman:

Stopwatch Gamit ang Pic18f4520 sa Proteus Na May 7 Segment: 6 na Hakbang
Stopwatch Gamit ang Pic18f4520 sa Proteus Na May 7 Segment: 6 na Hakbang

Video: Stopwatch Gamit ang Pic18f4520 sa Proteus Na May 7 Segment: 6 na Hakbang

Video: Stopwatch Gamit ang Pic18f4520 sa Proteus Na May 7 Segment: 6 na Hakbang
Video: Part 4. Using a button - Embedded C Programming with PIC18F14K50 2024, Nobyembre
Anonim
Stopwatch Gamit ang Pic18f4520 sa Proteus Na May 7 Segment
Stopwatch Gamit ang Pic18f4520 sa Proteus Na May 7 Segment

Nagsimula lamang akong magtrabaho kasama ang pic controller, hiniling ako ng isa sa aking kaibigan na bumuo ng isang relo mula dito. Kaya't wala akong imaheng hardware upang ibahagi, mayroon akong nakasulat na code at na-simulate ito sa Proteus software.

narito naibahagi ko ang eskematiko para sa pareho.

natukoy ang tatlong variable milliseconds, segundo, minuto

dito nagamit namin ang timer makagambala ng 10 ms, para sa bawat 1000 milliseconds, segundo variable ay tataas, para sa bawat 60 segundo minuto variable ay tataas.

Hakbang 1: Kinakailangan ang Mga Bagay

1 pic18f4520 controller

2 pitong segment na nagpapakita

3 bc547 transistors

4 na switch para sa pagsisimula / paghinto / pag-reset

5 resistors 330E, 10K, 1K

6 i-download ang mikroC para sa pic

7 pag-download ng proteus

Hakbang 2: Code Logic at Display

Code Logic at Display
Code Logic at Display
Code Logic at Display
Code Logic at Display

Ano ang isang Display ng Pitong Segment? Ang Isang Pitong Segment Display (SSD) ay isa sa pinakakaraniwan, mura at simpleng gamitin na display. Parang nasa taas.

dito kailangan nating gumamit ng Karaniwang uri ng cathode ng 7 segment na nagpapakita - Sa karaniwang uri ng cathode na SSD, ang –ve terminal ng lahat ng mga LED ay karaniwang konektado sa pin na 'COM'. Maaaring iilaw ang isang segment kapag ang '1' ay ibinibigay sa kani-kanilang segment na LED at ang lupa ay konektado sa karaniwan. Ang mga panloob ay ibinibigay sa pigura 2.

Hakbang 3: Pagmamaneho ng Display Sa Microcontroller

Display sa Pagmamaneho Sa Microcontroller
Display sa Pagmamaneho Sa Microcontroller

Sa aking circuit, ginamit ko ang NPN BC547 Transistor.

Para sa simpleng paggamit ng isang BJT bilang isang switch, maikli ang mga junction ng emitter-collector kapag mayroong isang input signal sa base terminal, kung hindi man mananatili itong cut-off. Ang input ay dapat ibigay sa pamamagitan ng angkop na risistor.

Hakbang 4: Bakit Multiplexing?

Kadalasan kailangan naming gumamit ng dalawa, tatlo o higit pang mga SSD at masyadong gumagamit ng isang solong MCU, ngunit ang isang problema na kinakaharap natin ay ang kakulangan ng mga I / O na pin sa MCU, dahil ang isang SSD ay kukuha ng 8 mga pin, at sa gayon tatlong mga SSD kukuha ng 24 na mga pin. Sa pic18, mayroon lamang kaming 48 I / O na mga pin. Kaya ano ang solusyon?

Ang isang posibilidad ay gumamit kami ng isang mas malaking MCU na may higit na I / O na mga pin. Ngunit pagkatapos ay pinaghihigpitan pa rin kami sa isang maximum na 3 SSD na maaaring magamit. Ang isa pang mas mahusay at inirekumendang solusyon sa problemang ito ay ang multiplex ng pitong Segment na Nagpapakita.

Sinasabi ng Wikipedia na 'Sa mga telecommunication at computer network, ang multiplexing (kilala rin bilang muxing) ay isang paraan kung saan maraming mga signal ng mensahe ng analog o digital data stream ay pinagsama sa isang signal sa isang nakabahaging daluyan. Ang layunin ay upang ibahagi ang isang mamahaling mapagkukunan. 'Ang ibig naming sabihin sa pamamagitan ng multiplexing ng pitong-segment na display ay gagamitin lamang namin ang 7 output port upang ibigay ang display sa lahat ng mga SSD.

Hakbang 5: Paano Makakamit Ito?

Dito, gagamitin namin ang 'Persistence of Vision'. Ngayon ay dapat mayroon ka na sa kabuuan ng term na ito bago. Oo, ito ang parehong pamamaraan na ginagamit sa cinematography (masyadong mabilis ang pagpapakita ng mga imahe na hindi makilala ng ating utak ang anumang pagkahuli sa pagitan ng dalawang magkakasunod na mga imahe). Katulad nito, kapag nag-mux kami ng higit sa isang SSD, ipapakita lamang namin ang isang SSD nang paisa-isa, at lumilipat kami sa pagitan nila nang napakabilis na hindi makilala ng ating utak sa pagitan nila.

Hinahayaan nating sabihin na ang bawat display ay aktibo sa loob lamang ng 5 milliseconds bawat oras, ibig sabihin, naiilawan ito ng 1 / 0.0045 beses sa isang segundo, halos katumbas ng 222 beses / segundo. Ang aming mga mata ay hindi maaaring makaramdam ng isang pagbabago nang napakabilis, at sa gayon ang nakikita namin ay ang lahat ng ipinapakita ay gumagana nang sabay. Ano talaga ang nangyayari sa hardware ay ang MCU ay nagbibigay ng '1' sa pin (tandaan, pagbibigay ng '1' sa base ng isang BJT na shorts ang Collector at emitter junction?), Na kung saan ay konektado sa base ng transistor ng ang kani-kanilang mga display, pinapanatili ang port na 'ON' para sa 5 milliseconds, at pagkatapos ay patayin muli ito. Ang pamamaraang ito ay inilalagay sa isang walang katapusang loop, upang patuloy naming makita ang pagpapakita.

Hakbang 6: Multiplexing Algorithm

Multiplexing Algorithm
Multiplexing Algorithm

Tukuyin ang dalawang port sa code, isa para sa segment ng data port at segment control port.

trick dito ipakita mo ang data sa lahat ng 7 segment. at buhayin ang isang control pin kung saan kailangan mong ipakita ang data na iyon. baguhin ang data at shift control pin.

dito sa itinuturo na ito ay gumamit kami ng 6 digit na multiplexing, dumaan lamang sa c file na nakalakip at malilinaw mo ito.

Inirerekumendang: