新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C8051F320-時鐘和4in1八段管

        C8051F320-時鐘和4in1八段管

        作者: 時間:2012-08-16 來源:網絡 收藏
        包含一個內部振蕩器,也可以采用其他方式提供振蕩。手頭沒有任何元器件,所以只考慮使用內部振蕩器。

        一、設定

        系統復位時,默認使用內部振蕩器作為系統,出廠前已經將基頻定為12MHZ,可以根據需要對其進行分頻操作。

        分頻方法: 寄存器OSCICN 最低兩位D1D0的值決定了分頻數,00~11分別為8分頻、4分頻、2分頻、不分頻。

        此外,D7=1表示內部振蕩器使能,反之禁止內部振蕩器

        D6=1內部振蕩器頻率準備好標志

        D5=1強行掛起內部振蕩器

        寄存器OSCICL 內部振蕩器校準,D4~D0的數值決定了校準后的頻率偏差,計算方法由如下公式決定:


        點擊瀏覽下一頁

        第二項的分母為基準頻率,第三項為D4~D0,浮動范圍0~31,根據這個公式,當基準設置為12M時,能夠設置的偏差很小。

        △T=0.0025×0.083us×(0~31)=0 ~ 0.0064325 us

        以12Mhz為例,12M對應的周期為0.0833us,加上該偏差為0.0897625us,對應頻率為11.14M。

        也就是說,當基準頻率為12 Mhz時,最多可以調整為11.14M

        以此類推。2分頻時,6Mhz,最多可以5.57M

        4分頻時,3Mhz,最多可以2.78M

        8分頻時,1.5Mhz,最多可以1.39M

        二、的一點小收獲

        偶然發現自己以前寫顯示程序實在是太老土了,display()鐵打不動就是選一個管,送個段碼,延時,選下一個管,段碼,延時,再選下一個管。。。 這樣一來顯示程序必定要消耗大量的時間在顯示程序上。當系統時序要求高時,這種寫法根本就是自殺行為。

        正確方法應該是,設置定時器在一個足夠小的時間上,比如10ms,利用一個變量保存中斷的次數。每次進入中斷,根據(變量%4)的值,來驅動一個管顯示數字,下一次中斷時切換下個管,以此類推。。

        三、F320內部定時/計數器的使用

        芯片內部有4個定時計數器,其中T0T1與51兼容,T2T3只能定時不能計數,但可以實現16位自動重裝計數值。

        寄存器TMOD TH0 TL0 TH1 TL1 以及T0T1相應的啟停位中斷位不變。

        新增部分:

        1、CKCON 控制器 復位值00H

        D7D6控制T3高低位的時鐘源,1為選擇系統時鐘,0為用戶設定。

        D5D4控制T2高低位的時鐘源,1為選擇系統時鐘,0為用戶設定。

        *如果設置為單個16位定時器,則D5D7無效

        D3D2作用類似,分別控制T1T0的時鐘源,1為系統時鐘,0為分頻時鐘,默認為分頻時鐘。其分頻系數由D1D0決定,

        00——12分頻 01——4分頻 10——48分頻 11——8分頻

        2、定時器T2

        和T0做個對照:

        TH0 —— TMR2H TL0 —— TMR2L

        TMOD —— TMR2CN (D4D3決定T2工作方式)

        TF0 —— TF2H(16位時,H起作用)/TF2L ET0 —— IE.5 TR0 —— TR2(雙8位時,只能控制高八位定時器,低八位永遠工作)

        TF2LEN =1 低八位時鐘中斷允許位

        TMR2RLH TMR2RLL 專用于高低八位的計數值重載

        設為2個八位時鐘時,共用一個中斷,必須在中斷程序中檢查對應的標志位才能確定是哪一個時鐘計數到,且標志位必須手動清零

        另有usb起始幀捕捉模式,暫時不研究

        細節: TMR2H 控制字 D7D6 為TF2H 、TF2L,中斷標志

        D5為 TF2LEN,定時器2低字節中斷允許位

        D4 為T2SOF 沒研究那部分,應該給0,表示禁用

        D3 為T2SPLIT 1表示雙8位,0表示單16位,均可自動重載計數值

        D2 為TR2,高八位時鐘啟動(16位時鐘不知道怎么啟動。。。。)

        D1無用D0 為T2外部時鐘選擇,需要與上面的CKCON對應,沒研究。


        上一頁 1 2 下一頁

        關鍵詞: C8051F320 時鐘 八段管

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乐业县| 商水县| 拉孜县| 仪征市| 余干县| 基隆市| 忻城县| 灵丘县| 泽库县| 定安县| 武威市| 基隆市| 清河县| 泰顺县| 宁波市| 广昌县| 石台县| 饶河县| 扎兰屯市| 庆元县| 梅河口市| 高淳县| 涿鹿县| 岫岩| 乐昌市| 镇平县| 长子县| 景洪市| 中牟县| 澎湖县| 福建省| 甘肃省| 东海县| 赤水市| 武邑县| 资溪县| 阳山县| 毕节市| 额敏县| 顺义区| 二手房|