![]() |
發布時間: 2021-3-10 09:58
正文摘要:自己寫了一個PWM波程序,頻率50HZ,用的STC12C5A單片機,然后用邏輯分析儀測了一下,結果出現了錯誤的連續波 我在一個群里問了一下,有人用51單片機運行我的程序,結果卻是對的 但我用STC12C5a單片機, ... |
study2018 發表于 2021-4-18 18:12 定時器模式2,裝什么初值。 |
angmall 發表于 2021-3-15 12:00 void time0() interrupt 1 { time++; if(time<200) //周期為0.1ms*200=20ms { if(time<=15) //高電平時間為0.1ms*15=1.5ms PWM=1; else PWM=0; } else time=0; } 你的中斷程序里面居然沒有裝初值,也能正常運行嗎? |
可以通過設置AUXR為12分頻,解決這個問題
|
glinfei 發表于 2021-3-10 10:55 請問可以通過設置AUXR為12分頻,解決這個問題嗎? |
dj3365191 發表于 2021-3-11 10:15 請問STC12的定時器不是默認12分頻嗎?這樣他的機器周期和51不一樣嗎? |
AT89C51是12T單片機,STC12是1T單片機 |
這種波形,可能是看門狗有問題。 |
看過STC那些山寨般的廣告了么,速度快真的不是胡吹的,樓上正解 ![]() |
你算錯了,對于AT89c51,1個機器周期=12個震蕩周期,對于STC12C5A60S2,1個機器周期=1個震蕩周期。 |