標題: 在做單片機代碼編輯工具,碰到STC波特率計算問題,請高手指點 [打印本頁]

作者: zhangch2015    時間: 2016-1-3 19:55
標題: 在做單片機代碼編輯工具,碰到STC波特率計算問題,請高手指點
在做一個單片機代碼編輯工具,可以編輯C代碼,然后調(diào)用KEIL51的C51下的命令進行編譯,
現(xiàn)在想把STC波特率計算做成一個模塊放到工具的工具欄中,點擊后產(chǎn)生C代碼(跟STC-ISP的一樣),免去計算跟輸入代碼的麻煩,我不是搞硬件的,只是想做一個C代碼編輯工具,方便新手入門




作者: zhangch2015    時間: 2016-1-3 19:58
請高手提供STC波特率計算公式
作者: admin    時間: 2016-1-4 03:38
mode0 fosc/12
mode1 K*fosc/(32*12*(256-TH1))
mode2 K*fosc/64
mode3 K*fosc/(32*12*(256-TH1))
K表示PCON中是否波特率加倍,fosc為晶振頻率
這篇文章里面有詳解:http://www.torrancerestoration.com/mcuteach/231.html
作者: zhangch2015    時間: 2016-1-4 10:02
謝謝管理員
作者: 暗光    時間: 2016-1-4 10:30
STC與51兼容的單片機可以用版主的方式計算,但是STC大多數(shù)增強型單片機,又增加了一個特殊寄存器,AUXR,其中的T0x12是決定T0是工作在1T模式還是12T模式,1T模式就是一個時鐘加1次,12T模式就是12個時鐘加一次,和傳統(tǒng)51相同。所以上文中的fosc晶振的頻率可以隨著這個寄存器改變。當然默認是與傳統(tǒng)51兼容的。具體樓主可以參考相關(guān)單片機的 datasheet。我看的文檔是STC12C5A60S2的。
作者: zhangch2015    時間: 2016-1-5 19:41
謝謝兩位,我搞出來了,看STC的資料

現(xiàn)在可以自動生成不同波特率的代碼了






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1