問題已經解決了,問題出在定時器上
由于使用stc的庫函數進行定時器的初始化,沒有在最后置EA=1導致定時器中斷不會觸發。
大家如果同樣使用stc15庫進行開發中如果一樣使用定時需要注意以下幾點:
1、定時器的數量,如stc15w404as只有兩個定時器分別為0和2,而stc15庫時支持的定時器不止這兩個,要注意,否則比如在404as上用定時器1是無論如何也沒有結果的
2、庫的示例有關定時器初始化Timer_config中沒有把EA=1幫你寫好,在函數末尾自己手動加一下,否則會出和我一樣的問題,測試stc的示例時定時器ok,自己寫的時候沒有注意到原來示例在main里多了一句EA=1
3、關于定時器的精度,由于stc15系列內置有晶振,通過isp軟件可以檢測到晶振的參數,在設置定時器時注意自己使用的芯片內部晶振參數,如404as用的是11059200,需要手動修改stc15庫的MAIN_Fosc定義達到高精度
4、最后說一下stc的isp軟件帶有定時器計算工具非常好用,stc的isp工具用好了就是百寶箱啊
|