新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 22.1184晶振的單片機

        22.1184晶振的單片機

        作者: 時間:2016-11-28 來源:網絡 收藏
        首先說說晶振51單片機的機器周期得關系:晶振的倒數是一個時鐘周期單位為秒,一個機器周期等于12乘時鐘周期。 再說說指令周期與時鐘周期得關系:對于8031等早期的51來說,指令周期和機器周期是一樣的等于12乘時鐘周期,但后來出現了很多改進型的51系列單片機如80320等,指令周期等于4個時鐘周期,也就是說同樣的晶振速度是原來的3倍。但無論如何變,T0、T1等定時器的計時任然按機器周期來計算的,也就是說12乘時鐘周期。 定時器是按溢出產生中斷的,所以要用溢出值65536減你所希望的值得到定時器的初值。 那么怎么計算賦值所決定的時間呢: 首先計算出機器周期:12*(1/22.1184/1000000)秒(應該是22.1184兆吧), 因為你需要計時50毫秒那么就換算成毫秒吧,該值乘1000就是毫秒了。這個值就是定時器的機器周期,也就是定時器增加一個計數值的值。 那么對你而言需要定時50毫秒,需要多少個定時值呢?很簡單用50除這個值就OK了,你可以算算應該是:92160. 現在問題來了,我們需要92160個計數值,但51定時器最大只能是65536,容不下怎么辦?只能在中斷服務程序中處理了,比如兩次中斷做一次計時到時判據那么就可以,于是計數值就可以除以2得46080小于65536可以處理了。 那么初值就是65536-46080=19456了,你可以用電腦計算器換算成16進制填入TH1和TL1。

        關鍵詞: 221184晶振單片

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 莲花县| 秭归县| 剑阁县| 莫力| 泰顺县| 措勤县| 遂川县| 靖安县| 马龙县| 图们市| 赤城县| 桐城市| 崇阳县| 阿鲁科尔沁旗| 开阳县| 社会| 锦州市| 兴隆县| 天津市| 淮北市| 当涂县| 原阳县| 奉化市| 离岛区| 佛山市| 进贤县| 和林格尔县| 友谊县| 财经| 乌拉特中旗| 车致| 岐山县| 靖江市| 无棣县| 平凉市| 讷河市| 新蔡县| 蛟河市| 漳浦县| 砚山县| 山西省|