Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu dərslikdə, 4 bit rejimində 8051 ilə lcd ilə necə əlaqə qura biləcəyimizi izah edəcəyik.
Addım 1: İstifadə olunan proqram:
Proteus simulyasiyasını göstərdiyimiz kimi, KODLAMA VƏ SİMÜLASİYA ÜÇÜN TƏLƏB EDİRSİNİZ:
1 Keil uvision: Keildən çox məhsul var. buna görə sizə c51 tərtibçisi lazım olacaq. Bu proqramı buradan yükləyə bilərsiniz
Simulyasiya üçün 2 Proteus Proqramı: Bu simulyasiya göstərmək üçün bir proqramdır. Bu proqramı yükləmək üçün çoxlu məlumat əldə edəcəksiniz.
Bunu hardware ilə edirsinizsə, kodu hardwareinizə yükləmək üçün flash sehrli bir proqrama ehtiyacınız olacaq. Unutmayın ki, flaş sehr nxp tərəfindən hazırlanmışdır. Beləliklə, bu proqram vasitəsi ilə bütün 8051 ailə mikro nəzarətçisini yükləyə bilməzsiniz. Yalnız Philips əsaslı nəzarətçi yükləyə bilərsiniz.
Addım 2: Lazım olan komponentlər:
Demo videomuzda proteus simulyasiyasından istifadə edirik, ancaq bunu aparatınızda edirsinizsə, bu layihə üçün bu komponentlər tələb olunacaq:
8051 İnkişaf lövhəsi: Beləliklə, bu lövhəyə sahib olsanız, kodu özünüz asanlıqla yükləyə biləcəyiniz daha yaxşı olar.
LCD 16*2: Bu 16*2 lcd. Bu LCD -də 16 sancağımız var.
USB -dən UART çeviricisi: Bu, Rs232 O/p Jumper Telləri üçün 9Pin D tipli kişi Bağlayıcıdır
Addım 3: Dövrə Şeması:
Addım 4: Bu Layihənin İş Prinsipi:
8 bitdə olduğu kimi, lcd -in bütün 8 məlumat pinini mikro nəzarətçiyə bağlamalıyıq. Beləliklə, lcd -də 3 nəzarət pininə (rs, rw, e) sahib olduğumuz üçün istifadə etməli olduğumuz cəmi 11 pin sancağı var. Beləliklə, 4 bitlik lcd -nin üstünlüyü, bu pinləri başqa işlərdə istifadə edə bilməyimiz üçün 4 sancaq mikro nəzarətçiyə qənaət etməyimizdir.
İndi kodun iş prinsipi çox sadədir. Əvvəlcə kodu yükləyin.
Tamam, indi koddan bir funksiya götürəcəyəm və bu əmrin və ya məlumat lcd -in necə alındığını söyləyəcəyəm. Kodumuzda ilk əmr təlimatıdır
cmd (0x28);
Beləliklə, indi onun tərifinə gedəcəyik
void cmd (işarəsiz char a) {
işarəsiz char x;
x = bir & 0xf0;
cmd1 (x);
x = (a << 4) & 0xf0;
cmd1 (x);
}
buna görə yuxarıdakı funksiyada a -nın 0x28 -dən başqa bir şey olmadığını görə bilərsiniz. İndi x = a & 0xf0 vasitəsilə, alt nibble 0 olacaq. AND operatorunu 0xf0 ilə istifadə etdiyimiz kimi. Beləliklə, daha yüksək nibble -da yalnız məlumatımız var, sonra cmd1 (x) vasitəsi ilə 0x20 -ni 2 -ci limana göndəririk və lcd 2 -ci portun daha yüksək bitlərinə qoşulur, buna görə 2 -ni alacaq, indi dərhal heç bir şey olmayan növbəti dişləməni göndərməliyik. ancaq 0x8. Bunun üçün x = (a << 4) & 0xf0 funksiyasında görə bilərsiniz, bir dəyəri 4 dəfə dəyişirik və sonra 0xf0 ilə işləyirik.
Buna görə də bunu anlayın
a << 4 0x28 << 4 -dən başqa bir şey deyil, yəni 00101000 << 4 deməkdir, buna görə alacağıq
10000000 və biz 0xf0 ilə anding edirik və 0x80 olan 0b10000000 alacağıq və növbəti cmd1 (x) funksiyasından həmin məlumatları lcd -ə göndəririk və indi 0x80 alacaq, beləliklə bütün məlumatları 0x28 göndərdik.
Eyni şəkildə hər bir əmr və məlumat lcd alacaq.
Ümid edirəm bunu başa düşürsən. Yenə də növbəti addımda olan videonu yoxlaya bilərsiniz. Layihənin bütün təsviri həmin videoda verilmişdir.
Addım 5: Kod və Video
Mənbə kodunu GitHub Linkimizdən əldə edə bilərsiniz
Layihənin bütün təsviri yuxarıdakı videoda verilmişdir.
Bu layihə ilə bağlı hər hansı bir şübhəniz varsa, bizə aşağıda şərh etməkdən çekinmeyin. Və əlaqədar sistem haqqında daha çox məlumat əldə etmək istəyirsinizsə, youtube kanalımızı ziyarət edə bilərsiniz
Zəhmət olmasa tez -tez yeniliklər üçün Facebook səhifəmizi ziyarət edin və bəyənin.
Bu kanala indi başladıq, ancaq hər gün əlaqədar sistem və IoT ilə bağlı bəzi videolar alacaqsınız.
Təşəkkürlər və Hörmətlə,