1樓:網友
pca 含有乙個特殊的 16 位定時器,有 5 個 16 位的捕獲/比較模組與之相連。每個模組。
可程式設計工作在 4 種模式下:上公升/下降沿捕核亮獲、軟體定時器、高速輸出或脈寬調節器。每個。
模組都與 p1口向連。模組 0 連線到 ,模組 1 連線到 ,依此類推。
暫存器 ch和 cl 的內容是正在自由遞增計數的 16 位 pca定時器的當前值。 pca定時器是。
5 個模組的公共時間基準,可通過程式設計工作在:1/6 振盪頻率、1/2 振盪頻率、定時器 0溢位。
或 eci腳的輸入( 。定時器的計數源由 cmod sfr 的 cps1 和 cps0位來確定(見表。
37 和表 38) 。
不可位定址;復位值:00h
位 7 6 5 4 3 2 1 0
符號 cidl wdte - cps1 cps0 ecf
位 符號 描述。
7 cidl
計數器空閒控制:cidl=0時,空閒模式下pca計數器繼續工作。cidl=1時,空。
閒模式下pca 計數器禁能。
6 wdte
看門狗定時器使能:wdte=0 時,禁止模組 4 的看門狗定時器功能。wdte=1 時使。
能看門狗定時器。
5~3 - 保留為將來之用。通過使用者程式將其清零。
2~1 cps1,cps0 pca計數脈衝選擇(見下面的表39) 。
0 ecfpca使能計數溢位中斷:改卜寬ecf=1時,使能暫存器弊則ccon cf位的中斷。ecf=0時,禁。
止該功能。初始化**。
void pcacap(void)
cmod = 0x00;
cl = 0;
ch = 0;
ccapm1 = 0x11; /cex0用作捕獲功能。
ccapm0 = 0x42; /cex1用作pwm
ccapm1 &=eccf;
ccap0l = 0x00;
ccap0h = 0x80;
ccon = 0x40; /啟動pca計數器。
ec = 1; /使能pca中斷。
ea = 1;
微控制器c8051f340 中pcaomd是什麼,怎麼操作,**等,謝謝
2樓:網友
設定時鐘計數器相關的。
3樓:網友
pcaomd是可程式設計計數器陣列方式暫存器。該暫存器用於設定可程式設計計數器陣列的工作模式及時鐘源。
c8051f120微控制器的pca「頻率輸出方式」是怎麼回事
4樓:藏在水中的人
沒問題的,fpca是pca0計數器的時基頻率,除2是因為2次翻轉才是方波的乙個週期,直接除pca0cphn,是因為每次pca0l與pca0cpln匹配時,pca0cpln都會加上pca0cphn
等待下次匹配,每次匹配之間的間隔剛好是pca0cphn;
看『pca 頻率輸出方式原理框圖』很容易明白的。
利用c8051f340的pca輸出pwm波,程式問題,硬體除錯時無法正確輸出
5樓:網友
我這裡沒有340的資料手冊,但是我提醒一下樓主,你看看的你的交叉開關的配置是不是有問題,pnskip暫存器的意思好好理解一下,一般我懷疑你的這個配置是因為沒有把pwm輸出到引腳上去。我看你這個程式好像也沒有用到別的什麼功能,這樣的話,我覺得你不應該把那些引腳都跳過的吧?新華龍的微控制器配置相當靈活,但是你要是沒有用好的話,功能很難實現的呢!
如果還有什麼別的問題,可以一起再交流。
c8051f040 pca配置輸出f為1khz,佔空比為0.5的pwm訊號!
6樓:網友
pca0cpm0 = 0x42; 改下吧?pca0cpm0 = 0x02;
你這裡不能用比較功能的。
不知道還會不會有其他問題。
這裡只是脈寬調製,沒有其他的比較用的。
如何用c8051f340的pca產生頻率可調的pwm?希望有程式,謝謝
7樓:14一縷暖陽
#include
#define uchar unsigned char
#define uint unsigned int
void port_init (void);
void pca_init (void);
bit pca_flag;
uint pwm=0;
void main (void)
pca0md &=0x40; /關閉看門狗。
oscicn |=0x03; /雹坦逗輪/使用內部12m晶振。
port_init ()埠初始化。
pca_init ()pca初始設為16位脈寬。
ea=1;while (1)
void port_init (void)
p0skip = 0xff; /源指桐/跳過p0口。
p1skip = 0x03; /跳過。
xbr1 = 0x42; /將pca輸出配置到腳。
p1mdout |=0x04; /配置為推輓輸出。
void pca_init (void)
unsigned int cex0_compare_value ;
pca0cn = 0x00; /stop counter; clear all flags
pca0md = 0x08; /use sysclk as time base
pca0cpm0 = 0xc2; /module 0 = 16-bit pwm mode and
configure initial pwm duty cycle = 60%
cex0_compare_value = 65536 - 65536 *
pca0cpl0 = cex0_compare_value & 0x00ff);
pca0cph0 = cex0_compare_value & 0xff00)>>8;
cr = 1;
佔空比為60% pwm=65536-65536*;
在這改變佔空比就能改變輸出pwm
c8051f007的pca邊沿捕捉是從上公升沿開始還是下降沿開始
8樓:藏在水中的人
pca的邊沿撲捉模式可以配置為,只撲捉上公升沿,只撲捉下降沿或者上公升沿下降沿都撲捉,配置為雙沿都撲捉時,上公升沿下降沿撲捉不分先後。哪個沿先來先撲捉哪乙個。
vb中模組級是什麼意思,VB中窗體和模組有什麼區別?模組是做什麼用的?那模組和類模組又有什麼區別呢?
天外琴音 模組這個詞很廣義,你只要知道這個是 窗體模組 那個是 資源模組 工程模組 之類的。它就叫做模組,就好比人們就這個會跑的,帶四個輪的叫做汽車一樣,而 模組級 應該是語言中通過變數或對像演變過來的名稱,如經常聽說的 模組級變數 意思也就是指某一模組中的變數。我這樣解釋可能並不準確,只能跟據自己...
c 中的 int是什麼意思,C 中的 int 是什麼意思
鑄信 定義一個int型的指標 例如 int p 定義一個指向int型變數的指標char p1 定義一個指向char型變數的指標int p2 定義一個指向int型指標的指標,即指向指標的指標 修身養性 name本身是一個char 型的變數,就是一個指標,指向輸入的名字字串的首字元的地址。如果直接輸出n...
C中的 是什麼意思,C 中 int 是什麼意思?
陌路情感諮詢 可空型別修飾符 引用型別可以使用空引用表示一個不存在的值,而值型別通常不能表示為空。例如string str null 是正確的,int i null 編譯器就會報錯。為了使值型別也可為空,就可以使用可空型別,即用可空型別修飾符 來表示,表現形式為 t?例如 int?表示可空的整形,d...