av无码国产在线看岛国_日韩精品无码专区国产av影院_在线主播精品国产99热_国模无码一区二区久久_97影院九七理论片男女高清_中文字幕一级毛片_亚洲国产av无码专区亚洲av_成人黄色小说在线观看_H动漫无遮挡在线看中文_国产午夜精品理论片免费视频播放

您好,歡迎訪問上海現(xiàn)易電子元器件有限公司網(wǎng)站!

021-51870898
021-51870898   18019251567
4新聞資訊
您的位置: 首頁 ->  新聞資訊 -> 單片機(jī)

?51單片機(jī) (3)定時器和計(jì)數(shù)器

文章出處:單片機(jī) 責(zé)任編輯:上?,F(xiàn)易電子元器件有限公司 發(fā)表時間:2018-05-19

注:定時器與計(jì)數(shù)器原理與使用方法相似、此處計(jì)數(shù)器知識為基礎(chǔ)普及、后面詳講

2個定時器(寄存器)、定時器0、定時器1、(計(jì)數(shù)器0、計(jì)數(shù)器1)

TMOD:定時器/計(jì)數(shù)器模式控制寄存器 詳見百度百科TMOD

  • 每經(jīng)過一個機(jī)器周期、寄存器+1

  • TF:定時器溢出標(biāo)志。溢出時自動置1。中斷時硬件清零否則必須軟件清零。

  • TR:定時器運(yùn)行控制位。置1開始計(jì)時、清零停止計(jì)時。

  • C/T:該位為0時用作計(jì)時器、該位為1時用作計(jì)數(shù)器。

溢出時時間-開始計(jì)時時間=預(yù)設(shè)定時時間


一個機(jī)器周期共有12個振蕩脈沖周期


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

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

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

使用定時器的方法

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

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


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

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

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


C程序?qū)崿F(xiàn)1s鐘定時

  1. #include   

  2. typedef unsigned char uint8;  

  3. typedef unsigned int uint16;  

  4. sbit led=P1^0;  

  5. uint8 counter;  

  6.   

  7. void main(){  

  8.    TMOD=0x01;  

  9.    TH0=0xb8;  

  10.    TL0=0x00;  

  11.    TR0=1;   

  12.    led=1;  

  13.    counter=0;  

  14.    while(1){  

  15.       if(TF0==1){   //如果達(dá)到溢出 0.02s后溢出  

  16.          TF0=0;  //軟件清零  

  17.          TH0=0xB8;   //重置計(jì)數(shù)基數(shù)  

  18.              TL0=0x00;  

  19.          counter++;  //溢出一次計(jì)次數(shù)  

  20.       }  

  21.       if(counter==50){   //0.02s*50=1s  

  22.         counter=0;    //清零  

  23.         led=~led; //取反使P1^0亮滅  

  24.       }  

  25.    }  

  26. }  


上?,F(xiàn)易電子元器件有限公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

CopyRight 2020-2025 29711999.com.cn All rights reserved   滬ICP備2020031792號

電話

易經(jīng)理

18019251567

微信

易經(jīng)理

易經(jīng)理

頂部

咨詢