STC微控制器的兩路pca pwm可以同時一路做為定時器,另一路做pwm輸出嗎 暫存器設定好像有衝突

2021-05-05 18:12:38 字數 2563 閱讀 5929

1樓:盧比揚卡的少校

ch,cl是公用的,如果t0產生的溢位率非常低,那麼如果設定pwm的語句和設定定時器的語句之間的時間比較長,那會出現問題,解決這個問題的辦法就是:要麼巨集晶設計晶片時對每一路都設計ch,cl,要麼提高t0的溢位率

2樓:匿名使用者

stc微控制器的兩路pca/pwm可以同時一路做為定時器,另一路做pwm輸出,完全可以,只是pca

定時器的時脈頻率為相同,這是一個簡單的示例,pca0為定時器,pwm1為pwm輸出,

pwm輸出 由定時器 中斷 100次 加1 調節pwm的輸出。

3樓:匿名使用者

stc12c5a系列微控制器沒有問題,我已除錯過了。但是12c56系列的單獨作pwm或定時器沒有問題,但同時一路做pwm與定時器不行,到現在也沒有除錯出來,如有高手把它除錯出來了,請分享一下。

我現在把stc12c5a16s2的除錯程式給大家分享:

#include "reg51.h"

#include "intrins.h"

#define fosc 18432000l

#define t100hz (fosc / 12 / 100)

typedef unsigned char byte;

typedef unsigned int word;

byte value;

word num,cnt;

sbit led = p1^0;

void delayms()

/*declare sfr associated with the pca */

sfr ccon = 0xd8; //pca control register

sbit ccf0 = ccon^0; //pca module-0 interrupt flag

sbit ccf1 = ccon^1; //pca module-1 interrupt flag

sbit cr = ccon^6; //pca timer run control bit

sbit cf = ccon^7; //pca timer overflow flag

sfr cmod = 0xd9; //pca mode register

sfr cl = 0xe9; //pca base timer low

sfr ch = 0xf9; //pca base timer high

sfr ccapm0 = 0xda; //pca module-0 mode register

sfr ccap0l = 0xea; //pca module-0 capture register low

sfr ccap0h = 0xfa; //pca module-0 capture register high

sfr ccapm1 = 0xdb; //pca module-1 mode register

sfr ccap1l = 0xeb; //pca module-1 capture register low

sfr ccap1h = 0xfb; //pca module-1 capture register high

sfr pcapwm0 = 0xf2;

sfr pcapwm1 = 0xf3;

void pca_isr() interrupt 7 using 1

}void main()}

4樓:手談天下

貌似你前幾天剛剛問過過這個問題

還沒搞出來?

不要持懷疑態度,

5樓:匿名使用者

可以同時用的,不是用同一個暫存器的

6樓:匿名使用者

完全可以 同時做 pca 定時器 與 pwm 輸出。

stc12c5a60s2的pca產生的幾路pwm都從哪個i/o口輸出,需要自己設定嗎?

7樓:狼塗騰

p1.3和p1.4分別對應pca0和pca1兩個模組,這是預設設定;

如果你用的是雙列直插40dip封裝的微控制器就是這樣了,如果你用的是44pin 貼片式的封裝還可以把這兩個輸出口切換到其他引腳上去 記得好像是p4.1和p4.2,具體可以看看巨集景公司的晶片手冊,需要設定的暫存器都有介紹,不難。

希望能幫上你的忙。

微控制器用在工業上穩定性怎麼樣,STC微控制器實際使用穩定性如何,謝謝

用在工業上的話要注意很多的事項,應為工業上會有很多的用電器件,容易產生干擾,微控制器本身的穩定性很好,只要注意遮蔽其他的干擾就可以了,我用微控制器在生產車間做過數碼顯示屏,效果很好,最重要的是成本低 穩定性較好,現在的微控制器c8051f 還不錯,家電裡大多都是微控制器 做足電磁相容和各種防護的話,...

兩個微控制器之間串列埠通訊為什麼其中微控制器接收不到資料呢?求解

請問一下,兩個微控制器分別是什麼型號,另外你可以檢查一下,是否串列埠線有問題,還有兩個微控制器是否共地了。一個 例項,可以參考一下 通常是線路接觸不良。微控制器與dtu通訊,我在微控制器裡 了一個串列埠傳送的程式,連上dtu之後,為什麼dtu收不到資料呢?那還是時序或協議不正確,也可能是dtu沒有正...

用兩個51微控制器實現其中微控制器兩個兩個位元組串列埠資料傳送

單一位元組傳送接收可以,只能說明軟體 硬體,基本調通 要想傳送資料,還必須制定通訊協議。傳送方,先向對方呼叫,待收到正確的迴音後 再向對方傳送 資料的位元組數 再向對方連續傳送資料位元組串,對方收到,存放到一個快取空間 傳送方,最後向對方發出校驗位元組 一般是累加和 待收到正確的迴音後,一次資料通訊...