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