<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機學(xué)習筆記(三)_定時(shí)器和計數器

51單片機學(xué)習筆記(三)_定時(shí)器和計數器

作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò ) 收藏
注:定時(shí)器計數器原理與使用方法相似、此處計數器知識為基礎普及、后面詳講

2個(gè)定時(shí)器(寄存器)、定時(shí)器0、定時(shí)器1、(計數器0、計數器1)

本文引用地址:http://dyxdggzs.com/article/201611/318621.htm

TMOD:定時(shí)器/計數器模式控制寄存器 詳見(jiàn)百度百科TMOD

  • 每經(jīng)過(guò)一個(gè)機器周期、寄存器+1
  • TF:定時(shí)器溢出標志。溢出時(shí)自動(dòng)置1。中斷時(shí)硬件清零否則必須軟件清零。
  • TR:定時(shí)器運行控制位。置1開(kāi)始計時(shí)、清零停止計時(shí)。
  • C/T:該位為0時(shí)用作計時(shí)器、該位為1時(shí)用作計數器。

溢出時(shí)時(shí)間-開(kāi)始計時(shí)時(shí)間=預設定時(shí)時(shí)間

一個(gè)機器周期共有12個(gè)振蕩脈沖周期

若設定時(shí)為0.02s,則:

12*(65535-X)/11059200=0.02s

定時(shí)器作“加1”次數:X=47104=0xB800次 時(shí)間為0.02s

使用定時(shí)器的方法

1、設置特殊功能寄存器TMOD,使之工作在需求的狀態(tài)。
2、設置計數寄存器的初值,精確設定好定時(shí)時(shí)間。
3、設置特殊功能寄存器TCON,通過(guò)打開(kāi)TR來(lái)讓定時(shí)器進(jìn)行工作。

4、判斷寄存器TCON的FT0位、檢測定時(shí)器溢出情況。

假設我們使用定時(shí)器0、定時(shí)為0.02s,兩個(gè)寄存器計時(shí)

TMOD=0x01; TMOD=0x01,指的是采用T0方式,將M1置0,M0置1,是方式一的定時(shí)器

高八位寄存器TH0=0xB8、低八位寄存器TL0=0x00

C程序實(shí)現1s鐘定時(shí)

#include typedef unsigned char uint8;typedef unsigned int uint16;sbit led=P1^0;uint8 counter;void main(){TMOD=0x01;TH0=0xb8;TL0=0x00;TR0=1; led=1;counter=0;while(1){if(TF0==1){   //如果達到溢出 0.02s后溢出TF0=0;	 //軟件清零TH0=0xB8;   //重置計數基數TL0=0x00;counter++;  //溢出一次計次數}if(counter==50){   //0.02s*50=1scounter=0;	  //清零led=~led; //取反使P1^0亮滅}}}


評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>