Mündəricat:

7 Segmentli Proteusda Pic18f4520 istifadə edən Saniyəölçən: 6 Addım
7 Segmentli Proteusda Pic18f4520 istifadə edən Saniyəölçən: 6 Addım

Video: 7 Segmentli Proteusda Pic18f4520 istifadə edən Saniyəölçən: 6 Addım

Video: 7 Segmentli Proteusda Pic18f4520 istifadə edən Saniyəölçən: 6 Addım
Video: 9,5 ЧАСОВ в ТЫКВЕ, ГУСЬ ЗАПЕЧЁННЫЙ!! МЯСО в ОГРОМНОЙ ТЫКВЕ!! 2024, Noyabr
Anonim
7 Segmentli Proteusda Pic18f4520 istifadə edən Saniyəölçən
7 Segmentli Proteusda Pic18f4520 istifadə edən Saniyəölçən

Şəkil nəzarətçisi ilə işə yeni başladım, dostlarımdan biri ondan bir saniyəölçən qurmağımı istədi. Beləliklə, paylaşacağım bir hardware görüntüsü yoxdur, kod yazdım və Proteus proqramında simulyasiya etdim.

burada eyni sxemini paylaşdım.

üç dəyişən millisaniyə, saniyə, dəqiqə təyin olunur

burada 10 ms timer fasiləsini istifadə etdik, hər 1000 milisaniyədə saniyə dəyişən artacaq, hər 60 saniyə üçün dəyişən artacaq.

Addım 1: Lazım olan şeylər

1 pic18f4520 nəzarətçi

2 yeddi seqmentli ekran

3 bc547 tranzistor

Başlat/dayandır/sıfırla üçün 4 açar

5 rezistor 330E, 10K, 1K

6 şəkil üçün mikroC yükləyin

7 proteus yükləyin

Addım 2: Kod Məntiqi və Ekranı

Kod məntiqi və ekranı
Kod məntiqi və ekranı
Kod məntiqi və ekranı
Kod məntiqi və ekranı

Yeddi Segment Ekranı (Yeddi Segmentli Ekran) (SSD) ən çox yayılmış, ucuz və istifadəsi asan olan displeylərdən biridir. Yuxarıdakı kimi görünür.

burada 7 seqmentli ekranın Ümumi katod tipindən istifadə etməliyik - Ümumi katod tipli SSD -də, bütün LED -lərin -ve terminalı ümumiyyətlə 'COM' pininə bağlıdır. Müvafiq LED seqmentinə '1' verildikdə və torpaq ümumi hissəyə qoşulduqda bir seqment işıqlandırıla bilər. Daxili hissələr Şəkil 2 -də verilmişdir.

Addım 3: Mikro nəzarətçi ilə Sürücü Ekranı

Sürücülük Ekranı Mikrokontroller ilə
Sürücülük Ekranı Mikrokontroller ilə

Dövrümdə NPN BC547 Transistorundan istifadə etdim.

Bir BJT-nin bir keçid olaraq sadə istifadəsi üçün, emitent-kollektor qovşaqları əsas terminalda bir giriş siqnalı olduqda qısalır, əks halda kəsilmiş olaraq qalır. Giriş uyğun bir rezistor vasitəsilə verilməlidir.

Addım 4: Niyə Multiplexing?

Tez -tez iki, üç və ya daha çox SSD istifadə etməliyik və bu da tək bir MCU istifadə edir, ancaq üzləşdiyimiz bir problem, MCU -da I/O pinlərinin olmamasıdır, çünki bir SSD 8 sancaq alacaq və üç SSD 24 sancaq alacaq. Şəkil 18 -də yalnız 48 I/O pinimiz var. Bəs bunun həlli nədir?

Bir ehtimal, daha çox G/Ç pinləri olan daha böyük bir MCU istifadə etməyimizdir. Ancaq sonra hələ də istifadə edilə bilən maksimum 3 SSD ilə məhdudlaşırıq. Bu problemin daha yaxşı və tövsiyə edilən başqa bir həlli Yeddi Segment Ekranı çoxaltmaqdır.

Vikipediyada deyilir ki, 'telekommunikasiya və kompüter şəbəkələrində, multiplexing (müxalifət olaraq da bilinir), birdən çox analoq mesaj siqnalının və ya rəqəmsal məlumat axınının paylaşılan bir vasitə üzərində bir siqnalda birləşdirilməsi üsuludur. Məqsəd bahalı bir qaynağı paylaşmaqdır. 'Yeddi seqmentli displeyin multipleksasiyası dedikdə, bütün SSD-lərdə ekranı vermək üçün yalnız 7 çıxış portundan istifadə edəcəyik.

Addım 5: Buna necə nail olmaq olar?

Burada 'Vizyonun Davamlılığından' istifadə edəcəyik. İndi bu termini daha əvvəl başa vurmalısınız. Bəli, bu, kinematoqrafiyada istifadə olunan eyni texnikadır (şəkilləri o qədər sürətli göstərin ki, beynimiz ardıcıl iki şəkil arasında heç bir gecikməni ayıra bilmir). Eynilə, birdən çox SSD müxbiri olduğumuz zaman, bir anda yalnız bir SSD göstərərik və aramızda o qədər sürətli keçərik ki, beynimiz bunları ayırd edə bilməz.

Deyək ki, hər bir ekran bir anda cəmi 5 millisaniyə ərzində aktivdir, yəni saniyədə 1/0.0045 dəfə işıqlandırılır və bu təxminən 222 dəfə/saniyə bərabərdir. Gözlərimiz bu qədər sürətli bir dəyişikliyi hiss edə bilmir və buna görə də gördüklərimiz bütün ekranların eyni vaxtda işləməsidir. Təchizatda əslində nə baş verirsə, MCU -nun pinə '1' verməsi (unutmayın ki, BJT -nin bazasına '1' verilməsi Kollektor və yayıcı qovşağına şort verir?), Tranzistorun bazasına bağlıdır. müvafiq ekranlar 5 milisaniyəyə 'ON' portunu saxlayır və sonra yenidən söndürür. Bu prosedur sonsuz bir döngəyə qoyulur ki, ekranı davamlı olaraq görək.

Addım 6: Multiplexing Alqoritmi

Multipleksləmə alqoritmi
Multipleksləmə alqoritmi

Kodda iki port təyin edin, biri seqment məlumat portu və seqment nəzarət portu üçün.

Buradakı hiylə, bütün 7 seqmentdəki məlumatları göstərməkdir. və bu məlumatları göstərməli olduğunuz bir idarəetmə pinini aktivləşdirin. məlumatları dəyişdirin və nəzarət pinini dəyişdirin.

burada bu təlimatda 6 rəqəmli multipleksdən istifadə etdik, sadəcə əlavə edilmiş c faylından keçin və təmizlənəcək.

Tövsiyə: