330 likes | 501 Views
SI uC 2 . deo. 2013 Nenad Jovičić. Projekat 4. Kori šćenjem tastera S3 za inkrement i S4 za dekrement zadaje se broj u opsegu 0-99%. Podešena vrednost se ispisuje na dvocifreni multipleksirani LED displej. Za multipleksiranje displeja koristi se tajmer A. Princip multipleksiranja.
E N D
SI uC2. deo 2013 Nenad Jovičić
Projekat 4 • Korišćenjem tastera S3 za inkrement i S4 za dekrement zadaje se broj u opsegu 0-99%. Podešena vrednost se ispisuje na dvocifreni multipleksirani LED displej. • Za multipleksiranje displeja koristi se tajmer A.
Tajmer A • Tajmer A je 16-bitni tajmersanekoliko capture/compare blokova, čijibrojvarirakodrazličitihpredstavnikafamilijeoddva do sedam
Brojačna gore • Po dostizanjuvrednosti TACCR0 setuje se CCIFG fleg a priresetovanjubrojačana 0x0000 setuje se TAIFG fleg
COMPARE mod tajmera A • COMPARE mod se koristizagenerisanje PWM-a isignalarazličitihučestanosti. Svakoizjednačavanjevrednostibrojača TAR savrednošću u TACCRxregistrusetujeodgovarajućiTACCRx CCIFG fleg Svaki CC blokmožedaradi u CAPTURE ili COMPARE modu. To je određenobitom CAP u kontrolnomregistruTACCTLx
Prekidi tajmera A • Dva prekidna vektora su povezana sa tajmerom A: • TACCRO vektor za TACCR0 CCIFG fleg • TAIV vektor za ostale CCIFG flegove i TAIFG • U CAPTURE modu CCIFG fleg se setuje kada se na spoljnji događaj registar TACCRx napuni vrednošću brojača TAR • U COMPARE modu CCIFG fleg se setuje kada vrednost brojača TAR dostigne vednost u TACCRx registru • TAIFG fleg se setuje kada vrednost brojača TAR dostigne 0x0000 • Unutar TAIV prekida se poliranjem određuje koji je događaj izazvao prekid
Zadatak4 • Promeniti učestanost multipleksiranja tako da iznosi100Hz. • Hint: brojač se taktuje sa 32,768 kHz, pa odatle sledi moduo =... • Modifikovati projekat 4 tako da se multipleksiraju 3 displeja, i da se podešava trocifreni broj.
Projekat 5 • Podesiti tajmer A tako da radi u free running modu, a korišćenjem dva CC modula i dva CC prekida obezbediti toglovanje dioda LD1 i LD2 na dve različite učestanosti.
Free running brojač • Ovajnačinbrojanja u COMPAREmodutajmera je pogodanzagenerisanjesignalarazličitihučestanosti
Zadatak5 • Modifikovati projekat 4 tako da se pored idoda LD1 i LD2 dioda LD3 togluje generiše PWM signal koji ima ima inverzan duty cycle. • Hint: Koristiti preostalu CC2 jedinicu. Na osnovu TAIV registra odrediti izvor dodatnog prekida ( strana 12-17 uputstva: http://tnt.etf.rs/~oe4irs/slau056e-msp430F4xx.pdf )
Projekat 6 • Korišćenjem tastera S3 i S4 zadaje se broj u opsegu 0-99%. Podešena vrednost se ispisuje na dvocifreni multipleksirani LED displej. Istovremeno se podešenom vrednošću određuje i duty cycle PWM signala kojim se uključuje dioda LD1. • Za generisanje PWM signala korisititi tajmer B.
Tajmer B • Vrlo sličnih karakteristika kao i tajmer A. • Ima više CC jedinica i mogućnost sinhronog upisivanja.
Izlaznajedinica • Svaki CC bloksadržiizlaznujedinicukoja se koristizagenerisanjesignalakaošto je PWM • Izlaznajedinicamožedaradi u osamrazličitihmodova
Primer rada izlaznog bloka za brojač u modu brojanja na gore
Primer rada izlaznog bloka za brojač u UP/DOWN modu brojanja
Tajmer B Nije više port nego CC izlaz...
Tajmer B Duty Cycle
Zadatak6 • Modifikovati projekat 4 tako da se na diodi LD2 generiše PWM signal koji ima ima inverzan duty cycle od onog na diodi LD1 (PWM2=1-PWM1).
Domaći zadatak • Modifikovati projekat 4 tako da se na diodi LD1 dobije PWM signal modulisan sinusoidom. • Sinusoida je mapirana u 32 tačke, i nalazi se u opsegu od 0-99, tj. f=50+50*sin(2*pi*t/Ts). • Sa tasterima S3 i S4 se podešava perioda sinusoide Ts u opsegu od 0-99 “nečega”. • Hint: Tajmer A koristiti za sukcesivno uzimanje odbiraka iz tabele u kojoj je mapirana sinusoida. Broj 0-99 koji se podešava tasterima neka određuje periodu prekida tajmera A...