pic16f84 mk- də analoq siqnallarının hasil edilməsi
DESCRIPTION
PIC16F84 MK- də analoq siqnallarının hasil edilməsi. RB=0 hal ında : J 0 = J 1 = J 2 = J 3 = J mak ; J1 0 = J1 1 = J1 2 = J1 3 =0. RB=1 halında : J 0 = J 1 = J 2 = J 3 =0; J1 0 = J1 1 = J1 2 = J1 3 = J1 mak. +5V. J in =∑(RB(i)xJ1 0 ) V aalçıx =kxR ə x J in. J 3. R. R ə. J1 3. R0/8. - PowerPoint PPT PresentationTRANSCRIPT
PIC16F84 MK-də analoq siqnallarının hasil edilməsi
Xətti dəyişən siqnalların yaradilması • PIC16F84 MK-nin daxilində RAÇ (DAC-Digital-Analog Convertor) modulu olmadığından
qurğunun çıxışında üçün analoq siqnalını hasil etmək əlavə sxem qoşulmaqla pilləvari müqavimətlərdən və OA(Operational Amplifier)-dən ibarət dövrə qurulmalidir
RB3
RB2
RB1
RB0
+5V
J3
V analçıx
J10
J13
J0
R
R0/8
R0
RB=0 halında: J0= J1= J2= J3= Jmak; J10= J11= J12= J13=0.RB=1 halında : J0= J1= J2= J3=0; J10= J11= J12= J13= J1mak.
PIC16F84
+
-
Jin
R0/2
R0/4 OA
Jin=∑(RB(i)xJ10)
V aalçıx=kxRəx Jin
Rə
PİC-nin çıxışına DAC çipi qoşmaqla analoq çıxış siqnallarının hasil edilməsi
• DAC-nin girişinə 00H-FFH intervalında ardıcıl artma istiqamətində dəyişən kodun verilməsi üçün MK-nın daxilindəki TMR0 taymerindən istifadə etmək olar.
• FOSCLK=4MHs halında TMR0 tam TO müddəti maksimal qiyməti 65.5 ms olduğundan Vanalout siqnalının dəyişməsi,adətən çıxışa qoşulan ossilloqraf vasitəsilə müşayət edilir.
• TMR0-nın T TMR)CLK sayma periodu DAC mikrosxemində hər bir Vanalout qiymətinin hasil edilmə (çevrilmə) müddəti T çevrilmə ilə uzlaşdırılmalıdır.
Vanalçıx
....
RB7
RB0
....
PIC16F84
RA4/T0CK1
+5V
C
R
8 bitl DAC
Tçevrilmə
ossilloqraf
PİC-nin giriş tezliyinin DAC-nin gecikməsinə əsasən təyini • TMR0-nın sayma siqnalları mənbəyi kimi daxili əmrlər dövrü seçildiyi, TMR0 prim=00H və
PIC16F84 üçün ən kiçik FOSCLK=4MHs halında TTMR0CLK=Tinstr xPSV ifadəsinə və PSV=256 halında TMR0CLKmak=1mks x256=256mks olacaqdır.• T DACçevr >256mks halında isə TMR0 taymerinin say mənbəyi kimi RA4/TOCK1 girişınə
bağlanmış aşağı tezlikli RC dövrəsi seçilməlidir. • Verilmiş T DACçevr =4ms və PSV=256 halında xarici siqnalların periodu
T xarici = 1/16mks≈60KHs ;T= 4ms/256=16mks və F xarici=1/ T xarici =1/16mks ≈60KHs olur.
• F xarici=60KHs halında TMR0delaymak=(256-0)xPSV/Fextern= 256x256/60x103 ≈1s; Tanaloutmak= TMR0delaymak=1s;Fanaloutmin=1Hs;• Yəni çevrilmə müddəti 4ms olan DAC və TMR0 vasitəsilə maksimal olaraq 1s müddətində xətti dəyişən
analoq siqnallarını almaq olar
PİC16F84-nin çıxışında xətti artan siqnalların hasil edilməsi
• DAC mikrosxemində çevrilmə müddətinin qimətinin nəzərə alındığı proqramda TMR0-nın quqrulmasının və onun məzmununun DAC-ə verilməsinin blok-sxemi verilmişdir.
• Burada qırıq xətlərlə göstərilən əlavə keçidlərin hesabına minimal tezliyi 1Hs olan mişarvari siqnallar hasil etmək olar.
Vanalçıx
Xətti impulslar
T analçıx =1s;F analçıx =1HsTanalçıx
2.55V
Xətti siqnalların hasil edilməsi
PortB OUT,RA4/TOCK1 –IN; CLR PortB
TMR0 qurulması: T0CS=1,T0SE=1,PSV=256,PSA=0 in OPOTION TMR0=00H saymağa başlayır
TMR0(0-7) –dan RB(0-7)Ötürmə
TO olmasını yoxla TMR0(0-7)=FFH
no
END
yes
RB(0-7)=0
PİC16F84-nin çıxışında xətti artan və azalan(mişarvari) siqnalların hasil edilməsi
• TMR0 vasitəsilə xətti artan və azalan kodlardan istifadə etmək olar • 00H vəziyyətindən başlayaraq artma istiqamətində sayan TMR0 –nın cari qiymətləri PORTB-ə çıxarılır və
oradan da osiiloqrafa ötürülür • TO vəziyyətindən sonra taymer yenidən saymağa başlayanda PORTB-ə 255-TMR0 qiyməti çıxarılır • TMR0 ikinci dəfə TO vəziyyətinə gəldikdə 1 ədəd mişarvari siqnal çıxışda hasil edilmiş olacaqdır • PİC-nin çıxışında çoxsaylı impulsların alınması üçün bu proses təkrar edilməlidir • TMR) taymeri elə quqrlmalıdır ki, Tanalçıx =2xTMR0 dolma olsun.
Vanalout
2.55V
Tanalçıx
PİC16F84-nin çıxışında xətti artan və azalan(mişarvari) siqnalların hasil edilməsi alqoritmi
PortB –ni OUT et; xarici TOCK siqnallarını vermək üçün RA4 –IN et ; CLR PortB;10 ədəd mişarvari impuls üçün lokal dəyişən n=10 et
TMR0 qurmaq; OPTION reg.-də PSV=256;PSA=0;T0SE=1;T0CS=1 et
TEST:i=n
yes
noEND
i=i+1
RB(0-7) =TMR0(0-7)
TEST:TMR0=FFH
noyes
TMR0-da saymanı yenidən başla :TMR0(0-7)=00H
RB(0-7) =256-TMR0(0-7)
TEST:TMR0=FFHno yes
PIC16F84-nin çıxışında SİN-dalsiqnalların hasil edilməsi
• SİN-nın tam 1 dövründəki qiymətləri alt proqramda qeyd etməli
• Hər dəfə alt proqram çağrılanda SİN-nın növbəti qiyməti RETLW (Return with literal in accumulater) əmri ilə main proqrama qaytarılır
• Main proqramda W-nin cari qiyməti PORTB-ə çıxarılır
2.55VFFH
5V
Vanalout
0V00H
1.28V80H
Bu qiymətlər alt proqrama daxil edilir
SİN-dalsiqnalların hasil edilməsi alqoritmi
PortB –ni OUT et ; SİN-nın dövr ərzindəki qiymətləri və dalğaların sayı üçün n və m lokal dəyişənləri daxil et of
i=i+1
W –danPORTB-ə ötür
DAC-nin çevrilməsi qədər gecikmə
TEST : dövrdəki qiymətlərin sayı i =n
no
yes
Test : dalğaların sayı J-=m
Yeni dövrün başlanğıcı i =0
END
Call altprogram; Altproqramda RELW – ilə SİN-nın növbəti qiyməti main proqrama ötürülür
j=j+1
yesno
TMR0 ilə PWM (Puls-Wide Modulation ) siqnalların yaradılması
• PWM siqnalların zaman parametrlərini (davamiyyət və fasilə) dəyişməklə düzbucaqlı impulsların orta səviyyəsini tənzimləmək olar
• Vçıxorta =Vmax x Tdav / Tdövr
• T dav–impulsun davamiyyət müddəti, T dövr –impulsun dövrü
Tdav=50% x Tdövr; T fas=50% x T dövr ;Vçıxorta=50% xVmax V outmax=5V halında Vçıxorta=5x50%=2.5V
Vçıx
5V
Tdavr Tfas
Tdövr
5V
Vçıx TdavTfas
Tdav=75% x Tdövr; T fas=25% x T dövr ;Vçıxcorta=75% xVmax; V outmax=5V halında Vçıxorta=5x75%=3.75V