新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機計數器T0作定時技術

        單片機計數器T0作定時技術

        作者: 時間:2013-03-12 來源:網絡 收藏

        1.實驗任務

        用AT89S51的定時/產生一秒的定時時間,作為秒計數時間,當一秒產生時,秒計數加1,秒計數到60時,自動從0開始。下面我就開始介紹如何制作這款記時器,硬件電路如下圖所示

        2.電路原理圖

        點擊瀏覽下一頁

        圖4.15.1

        3.系統板上硬件連線

        (1. 把“系統”區域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個a-h端口上;要求:P0.0/AD0對應著a,P0.1/AD1對應著b,……,P0.7/AD7對應著h。

        (2.把“單片機系統”區域中的P2.0/A8-P2.7/A15端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個a-h端口上;要求:P2.0/A8對應著a,P2.1/A9對應著b,……,P2.7/A15對應著h。

        4.程序設計內容

        AT89S51單片機的內部16位定時/計數器是一個可編程定時/計數器,它既可以工作在13位定時方式,也可以工作在16位定時方式和8位定時方式。只要通過設置特殊功能寄存器TMOD,即可完成。定時/計數器何時工作也是通過軟件來設定TCON特殊功能寄存器來完成的。

        現在我們選擇16位定時工作方式,對于T0來說,最大定時也只有65536us,即65.536ms,無法達到我們所需要的1秒的定時,因此,我們必須通過軟件來處理這個問題,假設我們取T0的最大定時為50ms,即要定時1秒需要經過20次的50ms的定時。對于這20次我們就可以采用軟件的方法來統計了。

        因此,我們設定TMOD=00000001B,即TMOD=01H

        下面我們要給T0定時/計數器的TH0,TL0裝入預置初值,通過下面的公式可以計算出

        TH0=(216-50000) / 256

        TL0=(216-50000) MOD 256

        當T0在工作的時候,我們如何得知50ms的定時時間已到,這回我們通過檢測TCON特殊功能寄存器中的TF0標志位,如果TF0=1表示定時時間已到。

        5.程序框圖

        點擊瀏覽下一頁

        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        塵埃粒子計數器相關文章:塵埃粒子計數器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 禹城市| 荔浦县| 会宁县| 色达县| 比如县| 包头市| 微山县| 教育| 辉县市| 酒泉市| 桂东县| 汉阴县| 德惠市| 襄垣县| 苏尼特右旗| 衡阳市| 泾川县| 延庆县| 凉城县| 南投市| 垫江县| 安多县| 余江县| 常山县| 时尚| 称多县| 卢湾区| 阿合奇县| 大渡口区| 建水县| 武川县| 汉川市| 迁西县| 云霄县| 乃东县| 阜新市| 石狮市| 乐昌市| 上思县| 大关县| 丹寨县|