Menü English Ukrainian Rusça Ana Sayfa

Hobiler ve profesyoneller için ücretsiz teknik kütüphane Ücretsiz teknik kütüphane


RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ
Ücretsiz kütüphane / Radyo-elektronik ve elektrikli cihazların şemaları

Acemi PIC mikrodenetleyici programcıları. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

Ücretsiz teknik kütüphane

Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Acemi radyo amatör

makale yorumları makale yorumları

[Bu yönerge işlenirken bir hata oluştu]

Mikrodenetleyici programlamayı incelemeye başlama konusundaki kendi deneyimime dayanarak, çeviricide program yazma konusunda bazı pratik tavsiyeler vermeye çalışacağım. Aşağıda verilen tüm programlama örnekleri, nispeten basit mimarileri ve karmaşık olmayan assembler komutları sistemi nedeniyle, master'a başlamak için en uygun olan orta seviye Microchip ailesinin Pic kontrolörleri ile ilgili olarak verilmiştir.

Önerilen programlar hazır makrolar (tam alt programlar) şeklinde kullanılabilir.Belirli bir denetleyiciye bağlı değildirler, bu nedenle başvururken veri sayfalarındaki verileri dikkate almalısınız.

1.TMR0 zamanlayıcı taşma kesintilerini (RTCC) kullanma

Saat frekansını alalım - Fclock. = 4,096 MHz (standart kuvars). O zaman çevrim süresi tc = 1 / Ftact olacaktır. * 4 = 0,97656 µs

INI_TMR; RTCC'den kesme modunun başlatılması
bsf DURUMU,RP0 ; banka 1'i seç
hareket b'00000100'
movwf SEÇENEK; RTCC 1:32 için ön ölçekleyici
bcf DURUM,RP0 ; banka 0
hareket b'10100000'
movwf INTCON; RTCC kesintisi etkin
movlw.96; 96 ön numarasını RTCC'ye yükleyin
movwf TMR0

Kesinti süresini alalım:
ti = tc * 32 * (256 - 96 = 160)
ti = 0,97656 * 32 * 160 = 5 µs = 000 ms

Şimdi, herhangi bir programınıza sonsuz bir döngü eklerseniz (kesme bekleme döngüsü olarak adlandırılır) ve programın sonu bu döngüye aktarılırsa, 5 ms'lik bir zaman referansı alırız ve kesintiden sonra program, kesme vektörü tarafından belirtilen adrese geri dönecektir (genellikle 04h). Bunun ne için kullanılabileceği - daha fazla bakın.

Yani:

;
kuruluş 0
BAŞLANGIÇ ; sonra program yürütmenin başlaması
; gücü aç
org 04h; ve bu kesme vektörünün adresidir, burada
ana ; ana program yürütülecek
;
BAŞLANGIÇ ; Zorunlu başlatmanın genellikle gerçekleştiği yer burasıdır.
INI_TMR; Bağlantı noktalarının, modların, kayıtların vb. merkezileştirilmesi.
INI_PORTS
döngü
döngüye git; ve bu sonsuz bir döngü
;------------------------------------------------ -

ana
; Daha sonra ana programın gövdesi gelir,
; RTCC'den bir kesme servis programı oluşturmanın gerekli olduğu,
; CALL komutuyla çağrılır:

ServTMR
btfsc INTCON,RTIF; RTCC'den kesme bayrağını kontrol edin ve
SET_TMR'yi arayın; "evet" ise TMR0'ı tekrar başlatın
geri dönmek ; "hayır" ise - ServTMR'nin çağrıldığı yere dönün
; ana program
;
SET_TMR hareket 96
movwf TMR0; 96 sayısını tekrar yükle
bcf INTCON,RTIF; tetikleme bayrağını sıfırla
retfie; ServTMR'de kesme etkinleştirme ile geri dönün ve
; daha sonra ana programa

Çıkışlardan birinde, örneğin B - RB0 bağlantı noktasında ikinci bir darbe almak için RTCC'den bir kesme kullanma örneği: Daha önce çalışma kayıtlarının adres alanında bildirilmesi gereken Rsec kaydını kullanırız.

Böylece RB0 portunun çıkışında sinyal seviyesi her saniye '0'dan '1'e değişecektir.

Denetleyici kayıtlarında bilgi genellikle ikili biçimdedir (ikili kodda). Ancak, örneğin yedi bölümlü bir göstergeyi kontrol etmek için genellikle ikili ondalık biçimde (BCD kodu) bilgi elde etmek gerekir.

İkili kod b2'yi ikili ondalık BCD'ye (veya tersi) dönüştürme örneklerine bakalım.

8 bitlik bir kayıtta, 0'dan 255'e kadar (b'00000000'den b'11111111'e kadar) bir sayıyı ikili kodla yazabilirsiniz. İkili sayıyı üç basamaklı ikili ondalık koda dönüştürelim - "yüzlerce", "onlarca" ve "birimler". Bunu yapmak için, çalışma kayıtlarının adres alanında önceden bildirilmesi gereken aşağıdaki kayıtları kullanacağız:

Rbin - bir sayıyı ikili kod b2'de saklayan kayıt
Rhan - yüzlerce BCD kodu kaydı
Rdec - BCD kodunun onlarca kaydı
Rsim - BCD kodu "bir" kaydı

Pozitif çıkarma sayısını sayarak 100 ve ardından 10 sayılarını çıkarma işlemlerini kullanarak dönüşümler gerçekleştiriyoruz.

FORM_1S; her döngüde ve RTCC kesintisi nedeniyle devam ediyor
incf Rsec,w ; 5 MS, Rsec kaydını 1 artırarak 200 sayısına yükseltin
xorlw .200; (5 ms * 200 = 1 sn)
btfsc DURUMU,z
OUT_PORT'a gidin; Rsec = 200'de flag z = '1' ve kontrole geçiş
; B bağlantı noktasının RB0 pini
geri dönmek ; ana programa dön
;
OUT_PORT btfss PORTB,0 ; RB0 pininin durumunu kontrol edin
OUT_ON'a gidin; RB0 ='0' ise '1'e ayarlayın
bcf PORTB,0 ; aksi takdirde '0' olarak ayarlayın
ana'ya git; ana programa dön
;
OUT_ON bsf PORTB,0 ; RB0 = '1' olarak ayarlayın
goto ana

CON_100 movlw .100 ; Rbin'den 100 çıkarın ve şunu kontrol edin
subwf Rbin,w ; sonuç olumsuz değil. İşaret 'c' = 1 olduğunda
btfss DURUMU,c ; sonuç > veya = 0 ve < 0 olduğunda 'c' = 0
CON_10'a git
incf Rhan,f ; "yüzlerce" sayısını saymak
movwf Rbin; çıkarma işleminin sonucu ilk olarak bir kayıt defterinde saklanır
CON_100'e gidin; pil ve ancak bundan sonra Rbin'e dönün
; Negatif olduğunda kalan kısmı kaybetmemek için
; çıkarma işleminin sonucu.
CON_10 movlw .10 ; “onlarca”yı da aynı şekilde tanımlıyoruz
subwf Rbin,w
btfss DURUMU,c
end_con'a git
incf Rdec,f
movwf Rbin
CON_10'a git;
end_con
movf Rbin,w
movwf Rsim; çıkarma işlemlerinden sonra kalanı "birimlere" girin
;programın yürütülmesine devam et

BCD kodunun b2'ye ters dönüşümü. Sayının BCD kodunda bulunduğu Rhan, Rdec, Rsim kayıtlarını kullanırız, b255 kodundaki sayılar (> 2) ve yardımcı kayıtlar RM1'deki sayılar için en önemli basamak olan RbinH'yi ve en az anlamlı basamak olan RbinL'yi kaydeder - " çarpın”, RM2 - “çarpan” .BCD'yi b2'ye dönüştürmek için “yüzlerce”yi 100 ile, “onlarca”yı 10 ile çarpmanız ve her şeyi “birimler” ile birlikte eklemeniz ve gerekirse en anlamlı basamağa aktarımı dikkate almanız gerekir. Çarpma için toplama işlemini kullanırız.

B2X_100 hareket 99 ; "yüzlerce"yi dönüştürme
movwf RM2; çarpan = ekleme sayısı (100) eksi bir
movf Rhan,w
movwf RM1; çarpım = "yüzlerce"
loopX100 addwf RM1,w btfsc DURUM,c ; en anlamlı basamağa aktarımın kontrol edilmesi
incf RbinH,f; eğer bir transfer varsa
decfsz RM2,f ; ekleme sayısını kontrol edin
loopX100'e git
movwf RbinL ; Toplamanın sonucu ml kaydına girilir. kategori
;
B2X_10 hareket .9; "onlarca" dönüşüm
movwf RM2; çarpan = ekleme sayısı (10) eksi bir
movf Rdec,w
movwf RM1; çarpım = "onlarca"
loopX10 addwf RM1,w ; burada transfer kontrol edilemiyor çünkü sonuç
decfsz RM2,f ; her zaman < 255
loopX10'e git
addwf RbinL,f ; "onlarca" dönüşümün sonucunu ekle
btfsc DURUM,c ; deşarjlarda olası bulaşma dikkate alınarak
dahil
RbinH,f
movf Rsim,w
addwf Rbin,f ; olası transferi dikkate alarak “birimler” eklemek
btfsc DURUMU,c
incf RbinH,f

Dönüşümlerin sonu ve programın daha fazla uygulanması. RbinL ve RbinH kayıtlarında b16 kodunda 2 bitlik bir sayı aldı.

Aritmetik bölme işlemini gerçekleştirmek için yukarıda tartışılan çarpma işlemine benzer şekilde çıkarma işlemi kullanılır. Diyelim ki RHsum (yüksek dereceli bitler) ve RLsum (düşük sıralı bitler) yazmaçlarında bulunan bir sayıyı, Rdel yazmacında bulunan bir bölene (> 255 olmayan bir bölen alalım) bölmemiz gerekiyor.

Sonucu RHrez ve RLrez kayıtlarına gireceğiz (sırasıyla yüksek ve düşük rakamlar):

OP_DEL
movf Rdel,w
subwf Rlsum,w
btfss DURUMU,c ; Sonucun negatif olup olmadığını kontrol edelim mi?
DEF_carry'ye git; eğer “evet” ise, o zaman Sanat'tan kredi alıyoruz. kategori
incf RLrez,f ; çıkarma sayısını dikkate alarak sayın
btfsc DURUM,c ; üst rütbeye olası transfer
incf RHrez,f
movwf RLsum; geri kalanını kaybetmemek için geri yüklüyoruz
OP_DEL'e gidin; çıkarma sonucu negatif ise
;
DEF_taşıma
hareket 0sa
xorwf RHtoplam,w ; herkes kıdemliden kıdemsiz rütbeye mi geçti?
btfsc DURUM,z ; "evet" ise, yani RHdel = 0 ve OP_DEL'de negatif
OUT_DEL'e gidin; tsat. sonuç - bölünmenin sonu ve çıkış
decf RHtoplam,f ; “hayır” ise - üst düzey kategoriden bir kredi ve pro-
incf RLrez,f ; devam edelim
btfsc DURUM,c ; standart haneye transfer ihtiyacının kontrol edilmesi
incf RHrez,f
OP_DEL'e git

Yazar: Vladimir D., degvv@mail.ru; Yayın: cxem.net

Diğer makalelere bakın bölüm Acemi radyo amatör.

Oku ve yaz yararlı bu makaleye yapılan yorumlar.

<< Geri

En son bilim ve teknoloji haberleri, yeni elektronikler:

Yanıp sönen sihirbaz ve izleyicileri 19.05.2024

Sihir ve illüzyonlar her zaman halkın dikkatini çekmiştir ama sihirbazın perde arkasında ve izleyicilerinin beyinlerinde neler oluyor? Birleşik Krallık'tan bilim insanları, farklı deneyimlere sahip on illüzyonistin katıldığı yeni bir çalışma yürüterek bu gizemi çözmeye karar verdi. Bazıları yarım yüzyılı aşkın bir süredir, diğerleri ise yalnızca altı aydır sihir yapan illüzyonistler, aynı numarayı, popüler para hilesini göstermeye davet edildi. Eğitim sırasındaki ve sahnedeki performanslarının kayıtları, her birinin numarayı gerçekleştirirken önemli ölçüde daha sık göz kırpmaya başladığını gösterdi. Araştırmanın bulguları sihirbazların göz kırpma hızının performanslarının bilinçdışı yönleriyle ilişkili olabileceğini gösteriyor. Aynı zamanda, bilim adamlarının da keşfettiği gibi, illüzyonistin hareketlerini takip eden seyirciler de daha sık göz kırpmaya başlıyor. Bu gözlem, sihirbazların izleyicilerde göz kırpma konusunda katalizör olabileceği fikrini desteklemektedir. Ek araştırmalar sihirbazların sihirbazlık sırasında daha sık göz kırptığını gösterdi... ... >>

Ultrasonik kahve makinesi 19.05.2024

Buzlu kahve son yıllarda kahve kültürünün ayrılmaz bir parçası haline geldi. Bu nedenle New South Wales Üniversitesi'nden mühendisler hazırlıklarını geliştirmeye karar verdiler. Öğütülmüş kahve çekirdeklerinin soğuk demleme süresini 12-24 saatten önemli ölçüde daha kısa bir süreye indiren ultrasonik bir kahve makinesi geliştirdiler. Buzlu kahve veya "Soğuk demleme" pürüzsüzlüğü, düşük asitliği ve düşük acılığı nedeniyle popülerdir. Öğütülmüş kahvenin soğuk suda uzun süre demlenmesiyle hazırlanır. Genellikle kahveye acılık veren geleneksel sıcak demlemeden farklı olarak, soğuk demleme, kahve çekirdeklerinden daha hassas ve karmaşık tatlar elde edilmesini sağlar. Bir mühendis ekibi tarafından sunulan yenilikçi sistem, ultrasonik teknolojiyi kahve hazırlama sürecine dahil ediyor. Sistem, öğütülmüş kahveden yağ, tat ve aroma çıkarma işlemini hızlandırmak için ultrasonik dalgalar kullanıyor. Bu, zamanı önemli ölçüde azaltmanıza olanak tanır ... >>

İspermeçet balinalarının konuşması insanlarınkine benziyor 18.05.2024

Gizemli ve bilinmeyenin araştırılanlarla bir arada var olduğu okyanus dünyasında, devasa beyinleriyle ispermeçet balinaları bilimin özellikle ilgisini çekiyor. Dominika İspermeçet Balinası Projesi (DSWP) sırasında toplanan çok sayıda ses kaydıyla (8000'den fazla kayıt) çalışan araştırmacılar, iletişimlerinin sırlarını açığa çıkarmaya ve bu gizemli yaratıkların dilinin yapısını ve karmaşıklığını anlamaya çalışıyor. Doğu Karayipler'deki 60 ispermeçet balinasının kayıtlarını ayrıntılı bir şekilde inceleyen bilim insanları, dillerinin karmaşıklığını ortaya çıkararak iletişimlerinin şaşırtıcı özelliklerini ortaya çıkardı. "Gözlemlerimiz, bu balinaların rubato ve süs eşyaları da dahil olmak üzere son derece gelişmiş bir kombinatoryal iletişim sistemine sahip olduğunu gösteriyor; bu da onların iletişim sırasında hızla uyum sağlama ve çeşitlilik gösterme yeteneklerini gösteriyor. Evrimdeki önemli farklılıklara rağmen, ispermeçet balinalarının iletişiminde insana özgü unsurlar var. iletişim" diyor Carleton Üniversitesi'nden biyolog ve CETI projesinin yöneticisi Shane Gero. Issl ... >>

Arşivden rastgele haberler

Rulo halinde hoparlör üretimi için basit teknoloji 04.05.2022

Massachusetts Teknoloji Enstitüsü'nden bilim adamları, sesli hoparlör üretimi için basit bir teknoloji geliştirdiler. Rulo halinde üretilebilirler ve kalınlıkları sıradan kağıt duvar kağıtlarından fazla değildir. Herhangi bir yüzey, yüksek kaliteli bir ses kaynağına dönüştürülebilir.

Araştırmacılar, bir hoparlörü, sürekli olarak binlerce mikron boyutlu koni (hoparlör) alanına sahip tek bir büyük koni ile değiştirdiler. Her bir difüzörün (kubbe) yüksekliği 15 mikrondur. İnsan saçından yaklaşık altı kat daha incedir. Ses sırasında koni darbesi yarım mikronu geçmez. Ancak hepsi bir arada, mikro hoparlörler, geleneksel ses hoparlörleri olarak kullanılabilmeleri için önemli miktarda ses oluşturur.

"İnce bir kağıda benzeyen bir şeyi alıp ona iki klips tutturmak, bilgisayarınızın kulaklık girişine takmak ve oradan gelen sesleri duymaya başlamak harika bir duygu. Her yerde kullanabilirsiniz. Sadece küçük bir miktar yeterlidir. çalışmak için elektriğin." , - Yeni Teknolojiler Departmanı başkanı Fariborz Maseeh, organik ve nanoyapılı elektronik (ONE Lab) başkanı Vladimir Bulovich (Vladimir Buloviс), MIT.nano direktörü ve başyazarı dedi. makale.

Deneyler sırasında mikrofondan 30 cm uzaklıkta bir duvara ince film hoparlör monte edilmiştir. 25 kHz'de 1 V ile çalıştırıldığında, hoparlör 66 dB'lik bir ses basıncı üretti - normal bir konuşmanın hacmi. 10 kHz'lik bir frekansta, ses basıncı 86 dB'ye veya yoğun bir caddede gürültü seviyesine yükseldi. Aynı zamanda, ince film bir hoparlörün tüketimi, alanının metrekaresi başına 100 mW seviyesindeydi. Geleneksel bir hoparlör, benzer koşullar altında bu ses basıncını oluşturmak için 1 watt'ın üzerinde bir güç gerektirir.

İnce film hoparlörleri üretmek çok kolaydır. Delikli plastiğe 8 µm kalınlığında bir piezoelektrik film uygulanır. Üstte bir vakum oluşturulur ve alt kısım 80 °C'ye ısıtılır. Film deliklere üflenir ve difüzör kubbesi hazırdır. Daha doğrusu perforasyonun olduğu alanın tamamında difüzörler oluşturulur. Filmin alt kısmı, konilere zarar vermemek ve ses bozulmasını azaltmak için lamine edilmiştir. Piezoelektrik, bir sinyal verildikten sonra frekansıyla titreşmeye başlar ve ön tarafında ses basıncı oluşturur - ses üretir.

Bu tür "duvar kağıdı", duvarlardan gelen sese ek olarak, aktif gürültü azaltmanın düzenlenmesine izin verecek olan bir odaya, uçakların ve arabaların iç yüzeyine vb. Ayrıca, teknoloji ilginç aletlerin üretilmesine izin verecek ve genel olarak sadece eğlence alanında değil, kesinlikle birçok uygulama bulacaktır.

Diğer ilginç haberler:

▪ Termoid ısıyı elektriğe dönüştürür

▪ Karıncalar, eve giden yolu işaretleyerek yer işaretleri inşa edebilir

▪ Hastane hava tahmini

▪ GPS'li spor ayakkabı

▪ Katlanır elektrikli araba

Bilim ve teknolojinin haber akışı, yeni elektronik

 

Ücretsiz Teknik Kitaplığın ilginç malzemeleri:

▪ Sitenin İnterkomlar bölümü. Makale seçimi

▪ makale Kemikleri yıkayın. Popüler ifade

▪ makale Hangi iklime muson denir ve muson nedir? ayrıntılı cevap

▪ makale Konsol vidalı pres. ev atölyesi

▪ makale Triyak ısı dengeleyici. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

▪ makale Basit laboratuvar güç kaynağı, 1,3-30 volt 1,2 amper. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

Bu makaleye yorumunuzu bırakın:

Adı:


E-posta isteğe bağlı):


Yorum:





Bu sayfanın tüm dilleri

Ana sayfa | Kütüphane | Makaleler | Site haritası | Site incelemeleri

www.diagram.com.ua

www.diagram.com.ua
2000-2024