新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機12M晶振和11.0592M晶振選取的差別

        51單片機12M晶振和11.0592M晶振選取的差別

        作者: 時間:2016-11-21 來源:網絡 收藏
        標準的51單片機晶振是1.2M-12M,一般由于一個機器周期是12個時鐘周期,所以先12M時,一個機器周期是1US,好計算,而且速度相對是最高的(當然現在也有更高頻率的單片機)。
        11.0592M是因為在進行通信時,12M頻率進行串行通信不容易實現標準的波特率,比如9600,4800,而11.0592M計算時正好可以得到,因此在有通信接口的單片機中,一般選11.0592M
        計算一下就知道了。如我們要得到9600 的波特率,晶振為11.0592M 和12M,定時器1 為模式2,SMOD 設為1,分別看看那所要求的TH1 為何值。代入公式:  
        11.0592M 9600=(2÷32)×((11.0592M/12)/(256-TH1)) TH1=250  
        12M 9600=(2÷32)×((12M/12)/(256-TH1)) TH1≈249.49 
        上面的計算可以看出使用12M 晶體的時候計算出來的TH1 不為整數,而TH1 的值只能取整數,這樣它就會有一定的誤差存在不能產生精確的9600 波特率。當然一定的誤差是可以在使用中被接受的,就算使用11.0592M 的晶體振蕩器也會因晶體本身所存在的誤差使波特率產生誤差,但晶體本身的誤差對波特率的影響是十分之小的,可以忽略不計。 


        關鍵詞: 51單片機晶振選

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 金川县| 屏南县| 铜陵市| 临朐县| 曲沃县| 偃师市| 慈溪市| 潍坊市| 丹棱县| 富顺县| 白水县| 荔浦县| 盐津县| 宁陵县| 宣城市| 兴化市| 宕昌县| 长宁县| 资中县| 朝阳县| 酒泉市| 洛宁县| 三河市| 宾阳县| 濮阳市| 安塞县| 海安县| 定结县| 丽水市| 临湘市| 军事| 连云港市| 丹寨县| 张掖市| 南京市| 大悟县| 马鞍山市| 中方县| 襄城县| 肥城市| 竹溪县|