亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3663|回復: 0
打印 上一主題 下一主題
收起左側

奶爸業余單片機學習之:定時器以工作方式1運行時的初值的計算方法(51單片機)

[復制鏈接]
跳轉到指定樓層
樓主
ID:65546 發表于 2014-8-28 16:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
http://www.cnblogs.com/czf-gd/p/3941577.html
//==========51單片機========
/*定時器以工作方式1運行
TMOD = 0x01;//定時器0
TMOD = 0x10;//定時器1
TMOD =0x11;//定時器0/1同時工作
*/
定時器工作時,如何確定定時時間?
假設有一個5L的水桶,現在要往水桶里面裝水3L,怎么才知道裝夠3L了呢?答案就是先往水桶里面裝水2L,然后繼續裝,水滿溢出時,就表示3L水裝夠了。
(以定時器0為例)溢出:單片機也一樣,當單片機內定時器以工作方式1運行時,定時器存儲寄存器每經過一個機器周期就加1,計數長度為65535(十六進制為:FFFFFF),所以65536+1時就會溢出,溢出后寄存器值從0開始計數,則:定時周期 = 65536 - 初值,初值為0時,定時周期 = 65535個機器周期
所以,當需要定時時,先往寄存器里裝入初值,讓寄存器從初值開始計數,到65536時,寄存器溢出為0,溢出后TF0 == 1,表示定時值已到,若需要用到循環定時,則溢出后,首先必讓溢出標志(TF0)歸零(歸零方法:一、程序清零,則TF0 = 0;二、進入定時器中斷以實現硬件自動清零。)。
其次,須往寄存器重新裝入初值再開始計算。

時鐘周期 = 1/時鐘頻率;
機器周期(定時器存儲寄存器加1時間)= 12×時鐘周期,
以11.0592MHz頻率晶振為例,機器周期(秒) = 12×(1/11059200)
初值為0時,最大定時時間為 65535×12×(1/11059200)=71ms(約),所以程序需要定時時,通常要根據定時時間來確定一個合適的初值。
假設需定時一個30毫秒時間,則0.03 = A×機器周期,可以算出A = 0.03/機器周期 = (0.03×11059200)/12,則經歷A個機器周期時,就為30毫秒定時時間
可以算出 A = 27648
所以,初值 = 65536 - 27648 = 37888,37888轉換成十六進制為9400,所以高八位TH0 = 0x94,低八位TL0 = 0x00;
公式總結:
初值 = 65536 - 定時時間(秒)/機器周期
時鐘周期 = 1/時鐘頻率;
機器周期(定時器存儲寄存器加1時間)= 12×時鐘周期

評分

參與人數 1威望 +25 黑幣 +30 收起 理由
admin + 25 + 30 共享資料的積分獎勵,希望大家多多發布各種.

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表