Mündəricat:

Mikro nəzarətçidən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52): 4 addım (şəkillərlə)
Mikro nəzarətçidən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52): 4 addım (şəkillərlə)

Video: Mikro nəzarətçidən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52): 4 addım (şəkillərlə)

Video: Mikro nəzarətçidən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52): 4 addım (şəkillərlə)
Video: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, Iyun
Anonim
Mikrokontrolördən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52)
Mikrokontrolördən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52)
Mikrokontrolördən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52)
Mikrokontrolördən istifadə edən rəqəmsal saat (RTC dövrəsi olmadan AT89S52)

Gəlin bir saatı təsvir edək … "Saat vaxtı (nisbi) sayan və göstərən bir cihazdır" !!!

Güman etdim ki, ALARM xüsusiyyətli bir SAAT hazırlayım.

DİQQƏT: oxumaq 2-3 dəqiqə çəkəcək, zəhmət olmasa bütün layihəni oxuyun, əks halda hər hansı bir hissənin zədələnməsinə görə məsuliyyət daşımayacağam

Addım 1: TƏLİMATÇILAR

TƏLƏBLƏR
TƏLƏBLƏR
TƏLƏBLƏR
TƏLƏBLƏR
TƏLƏBLƏR
TƏLƏBLƏR

6 komponent tələb olunur:

1. Mikro nəzarətçi (AT89S52-8051 ailəsindən istifadə etmişəm), hər hansı bir proqramlaşdırıla bilən mikro nəzarətçi istifadə edilə bilər.

2.7 seqmentli ekran

3. Kristal osilator (12MHz)

4. Kondansatör (10 uF, 33 pF/22 pF)

5. LEDlər

6. müqavimət (330 Ohm)

7. buzzer (piezo)

8. açarları itələyin

Mən lehimləmə dəmirini, telini, axını….. elektrik daxil etmirəm !!! mənə kömək et:)

Addım 2: Dövrə Şeması

Dövrə diaqramı
Dövrə diaqramı
Dövrə diaqramı
Dövrə diaqramı

Bu, 8051 mikrokontrolördən istifadə edən rəqəmsal saatın sxemidir.

Gördüyümüz kimi, mikrokontrolör fərqli portları olan üç 7 seqmentli ekrana bağlıdır və son saat rəqəmi yalnız 1 -də göstərildiyi kimi yalnız bir pinlə bağlıdır.

LED və səs siqnalı koda görə özünü izah edir.

LED -in 1 -i AM üçündür və həyəcan siqnalı üçün şəkildə göstərilməyən başqa bir LED bağladım.

12MHz -lik Kristal Osilator, saat sürətinə bağlıdır və mikrokontrolörün kəsilmə xüsusiyyətindən istifadə edərək dəqiq 1 saniyə saymağa nail olur.

İKİNCİ DENOTING ORTA LED'LƏR "28 -ci VƏ 32 -ci" PİNƏ BAXILDI

Zəhmət olmasa məni bağışlayın, tənbəlliyim üçün dövrə diaqramında 3 LED göstərilməyib

28 -ci pin LED: ilk 30 saniyəlik yanıb -sönmə

32 -ci pin LED: istirahət 30 saniyəlik yanıb -sönmə

**** Bütün bir dəqiqəyə qatqı verirəm! *** Əminəm ki, bu layihədən sonra 60 saniyədə bir dəqiqə çəkdiyimi bildim !!! HEYRƏT! VAY

Addım 3: Kodlaşdırma

Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma

Mikro nəzarətçidən istifadə edərək və hex fayl əldə etmək üçün RTC üçün C kodu qurmaq üçün keil proqramından istifadə etdim.

DAHA BİLMƏK ÜÇÜN BU ÜZRƏ KODLAMA ÜZRƏ BAXIN !!

Kodlaşdırma hissəsindəki əsas şey, hər bir portun pininin hər 7 seqmentli displeylə əlaqəli rəqəmi göstərmək üçün keçəcəyi vaxtdır.

8051 kəsmə xüsusiyyəti saniyədə saymaq və yenidən yükləmək üçün istifadə olunur. məsələn, yalnız 1 saniyə gecikməsinə səbəb olan 1 -ci arqumentlə bir gecikmə funksiyası yaratmaq kimi. (TMOD, TL0, TH0, IE hər bir dəyər zamana kömək edir)

AM üçün LED alternativ 12 saat üçün proqramlaşdırılmışdır.

Siqnal ayrıca AM və ya PM üçün xüsusi olaraq qurula bilər və siqnal pimi, siqnal vaxtı səs -küy etmək üçün tezlik kodu ilə ötürülür. Min, saat və qənaət açarı olan siqnalizasiya düyməsi siqnalizasiya qurmaq üçün istifadə olunur. Siqnalı iki dəfə tıkladıqda həyəcan xüsusiyyəti deaktiv olur

KOD: Yalnız fikri əldə etmək üçün C kodu (hex fayl layihənin tamdır)

github.com/abhrodeep/Arduino_projs/blob/master/digitalclock.c

Addım 4: Nəhayət…

Nəhayət…
Nəhayət…

Hər şey hazırdır !!! İndi parlaq və dəqiq olan saatdan zövq almaq üçün vaxt gəldi.

Tövsiyə: