PWM utilizând AT89c51rd2

G

gauravsarode

Guest
Salut,

Poate cineva să-mi spui?cum de a genera PWM continuu?I sînt folosire at89c51rd2.

 
Pulse Width modulator este una dintre cele patru moduri în care Programmable Counter Array (APC) pot fi programate.
Puteţi avea până la cinci module independente PWM de rulare.
Deşi timer-APC este un contor 16-biţi, PWM foloseste doar 8-bit registrul CL mapate în spaţiu FSR la 0E9h.
O altă limitare este faptul că toate cele cinci module vor avea aceeaşi frecvenţă de ieşire, deoarece acestea toate în comun cronometrul APC.

Ceea ce practic nevoie de încărcare este de două registre: CCAPL şi CCAPH pentru fiecare canal PWM dacă în uz.
Înainte trebuie să selectaţi sursa de intrare pentru APC 16-counter biţi.
În final trebuie să setaţi PWM şi de biţi eCOM în CCAPM inregistreaza-te pentru a activa modul PWM pentru fiecare din cele cinci canale în cazul în care în uz.

Timer APC se determină din CPS1 şi biţi CPS0 în registrul CMOD (FSR 0D9h) şi poate fi programat să ruleze la:
- 1 / 6 frecvenţa periferice
- 1 / 2 de frecvenţă periferice
- Timer 0 overflow (care rulează, fie este de 13-biţi, 16-biţi sau modul de 2 8-autoreload bit)
- De intrare pe PIN-ul ICE (P1.2)

Frecvenţă periferic este frecvenţa oscilator cristal împărţit la 2 sau nu (CKCON0 FSR).
Aveţi posibilitatea să obţineţi o chiar mai mici, prin utilizarea apoi 8-bit divider prescaler (CKRL setările de FSR)

Cum lucrurile merg în interiorul?
Registrul CL este incrementat la o rată în conformitate cu sursa de intrare selectat.
Atâta timp cât conţinutul acestui registru este mai mică decât valoarea de registru CCAPL, de ieşire CEX pe P1 va fi scăzut.
Când este egală sau mai mare, apoi de ieşire CEX va fi mare.
De îndată ce revarsarile de registru de la CL 0FFh la 00h, inregistreaza-te CCAPL este reîncărcate cu CCAPH valoare deţine.
În cazul în care valoarea CCAPL este egală cu CCAPH, care de obicei este, atunci ai un PWM frumos la puterea CEX, continuu atâta timp cât ECOM bit este setat.
Dacă doriţi să modificaţi ciclul de serviciu, care se poate face usor prin schimbarea valorii registrului CCAPH (actualizare se face curat, fără defecţiuni la rollover următoare a registrului CL).

Puteţi folosi acest fişier Excel pentru a stabili valorile registru pentru APC şi Timers, în scopul de a obţine un semnal specifice (perioadă şi duty cycle) în funcţie de frecvenţa de aplicare a oscilatorului şi modul ceasului intern (X1 sau X2).

http://www.atmel.ru/Atmel-2003.September/1/dyn/resources/prod_documents/c51_pwm.xls

 
Descărcaţi şi citiţi carte de bucate APC de la Intel
http://www.intel.com/design/mcs51/applnots/270609.htm
RD2 sunt descendenţi ai FA Intel / FB şi APC lucrează în acelaşi mod.

wek

 

Welcome to EDABoard.com

Sponsor

Back
Top