淺瞳夜未的博客,0x00

【淺瞳夜未的博客,0x00】
51單片機定時器初值為0x00,計數時0x00計算在內嗎?

淺瞳夜未的博客,0x00


沒理解你的問題,看來你對定時器的工作還有一些疑惑,用STC89C52單片機來說,它有3個定時器,分別是T0,T1和T2 。其中T2有捕捉功能 。舉例如定時器配置為 16 位定時器/計數器(模式1),TL0 的 8 位和 TH0 的 8 位所構成16位計數器(就是2位數16位,轉換為10進制就是0到65535),當它溢出是將置位TCON的TF0位 。
如果開了T0中斷,將進入T0中斷程序(一定要有,哪怕是空的),硬件將自動清除中斷標志 。初值的意義就是從這個數字開始到65536溢出,這個差值乘以計數周期就是定時的時間 。如果初值為0,就是最長定時周期,如果為65535,就是來一個計數周期,就會溢出,產生中斷 。用一段程序來說明 。要使用定時器,需要設置TMOD定時器寄存器,指定工作模式,設置定時器初值 。
開定時器,開中斷 。如果不開,就需要程序中手動判斷TF0標志位,進行處理 。/*定時器0,系統時鐘為11.059200M,12T模式,定時器5ms,則初值計算為65536-11059200/12*0.005=60928=0xEE00,則TH0=0xEE,TL0=0x00;*/void T0_init() { TMOD

    推薦閱讀