一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

80C51單片機(jī)的定時器/計數(shù)器介紹

CHANBAEK ? 來源: 無限琢磨 ? 作者: 工具人 ? 2023-11-01 12:29 ? 次閱讀

定時器/計數(shù)器介紹

定時/計數(shù)器T0和T1分別是由兩個8位的專用寄存器組成,即定時/計數(shù)器T0由TH0和TL0組成,T1由TH1和TL1組成。此外,其內(nèi)部還有2個8位的特殊功能寄存器TMOD和TCON,TMOD負(fù)責(zé)控制和確定T0和T1的功能和工作模式,TCON用來控制T0和T1啟動或停止計數(shù),同時包含定時/計數(shù)器的狀態(tài)。

TF1:定時器1溢出標(biāo)志。定時/計數(shù)器溢出時由硬件置位。中斷處理時由硬件清除。或用軟件清除。

TF0:定時器0溢出標(biāo)志。定時/計數(shù)器溢出時由硬件置位。中斷處理時由硬件清除,或用軟件清除。

在現(xiàn)在很多新MCU中,不只有兩個 定時/計數(shù)器,例如STC15系列就有四個定時/計數(shù)器,但是在使用上操作上是大同小異的。

定時器內(nèi)部框圖和結(jié)構(gòu)介紹

定時器/計數(shù)器有定時器0(簡稱T0),定時器1(簡稱T1),定時器方式寄存器TMOD和定時器控制寄存器TCON四部分組成。該邏輯框圖如下所示。

圖片

紅線

TMOD(工作方式寄存器):從該命名就可也知道,該寄存器控制的是選擇哪一個定時器,T0或者T1。用什么方式,作為定時器使用,還是作為計數(shù)器使用。這個都將由TMOD對應(yīng)的位決定。

由TMOD的2位的C/T和6位的C/T位決定。

藍(lán)色

TCON(控制寄存器):控制寄存器的高四位負(fù)責(zé)管理定時器/計數(shù)器和中斷申請,低四位則是負(fù)責(zé)與外部中斷有關(guān)的設(shè)置。選擇了定時器的工作方式之后,就需要由一個寄存器來允許它是否可以工作,TCON就是這個功能。

黃色

則是外部計數(shù),外部每產(chǎn)生一個脈沖,計數(shù)器加1,當(dāng)計數(shù)器都為一,產(chǎn)生一次溢出。由TH0,TL0(值得是定時器0的高八位和低八位)或者TH1,TH0(值得是定時器1的高八位和低八位

進(jìn)行累計。就比如需要一個計數(shù)器,則就需要由該IO進(jìn)行計數(shù)。

紫色

當(dāng)定時器1和定時器0計數(shù)器累計加一,當(dāng)計數(shù)器全為一的時候,長生一次溢出,向TCON中的TF0或者TF1置1。

綠色

由TCON向CPU申請中斷。

黑色

則是外部中斷直接向CPU進(jìn)行中斷申請;

寄存器介紹

工作方式寄存器TMOD

圖片

GATE:門控衛(wèi),當(dāng)GATE=0時候,只需要在軟件上使TCON置TR0或者TR1為1,既可以啟動定時器/計數(shù)器。當(dāng)GATE=1時,不僅需要在軟件上使TCON置TR0或者TR1為1,還需要由外部中斷引腳INT0————或INT1————為高電平的時候,才能啟動定時器/計數(shù)器。

C/T-: 定時器/計數(shù)器選擇位, C/T-=1時,為計數(shù)模式。C/T-=0時,為定時模式。

M1、M0:工作方式設(shè)置位。四種工作方式由M1、M0進(jìn)行設(shè)置。如下表

圖片

控制寄存器

TCON的高四位用于控制定時/計數(shù)器的啟動和中斷申請。低四位與外部中斷相關(guān),在前面的中斷中已經(jīng)做了介紹。

圖片

TF1:T1中斷溢出中斷請求位。計數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷了之后,TF1由硬件自動清0。在T1工作的時候,CPU可以隨時查詢TF1的狀態(tài)。

TR1:T1運(yùn)行控制位。當(dāng)TR1為1時,則表示T1開始工作。當(dāng)TR1為0時,則表示T1停止工作。TR1需要由軟件置1或者0;

TF0:T0中斷溢出中斷請求位。功能與TF1相同。

TR0: T0運(yùn)行控制位。功能與TF1相同。

定時/計數(shù)器的工作方式

在新的8051結(jié)構(gòu)的單片機(jī)中,2個定時/計數(shù)器都有四種工作模式,既通過TMOD的M1和M0選擇。但是在傳統(tǒng)的Intel 8051的單片機(jī)中,T0有四種工作方式(方式0、1、2、3),T1有三種工作方式(方式0、1、2),以上除了所使用的寄存器,有關(guān)的控制位,標(biāo)志位不同外,在操作方式上是一樣的。以下就以參見的工作方式1(既計數(shù)位數(shù)是16位)為例。

方式1

圖片

方式1的計數(shù)方式是16位,TH0作為高八位, TL0作為第八位。其邏輯結(jié)構(gòu)圖如所示。組成了16位的加一計數(shù)器,計數(shù)個數(shù)和計數(shù)初值的關(guān)系為:

圖片

計數(shù)的初值在0 ~ 65535之間,計數(shù)范圍為1~65536 。

例如,若要求定時器在T0 的工作模式下,定時時間為1ms。當(dāng)晶振為6MHZ的時,求送入TH0和TL0的值。由于晶振為6MHZ,所以該機(jī)械周期為圖片=12/晶振頻率,即為2us。

圖片

將X值寫入TH0和TL0時,分別將X值得高八位賦值給TH0,第八位賦值給TL0,格式如下:

TH0=(65536-5000)/256 //定時器的高八位賦值

TL0=(65536-5000)%256 //定時器的第八位賦值

所以一個該程序部分代碼為:

TMOD=0X01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TF0=0;
TR0=1

使用方式1的工作模式,進(jìn)行1s的延時,通過LED的閃爍呈現(xiàn)出來。

寫法一

#include < reg51.h >


typedef unsigned char u8;
typedef unsigned int u16;


sbit LED=P2^0;


void delay_1s()
{
  u8 num=0;  
  TMOD=0X01;
  TR0=1;
  while(1)
  {
    TH0=(65536-18432)/256;
    TL0=(65536-18432)%256;
    num++;
    do
    {
      TF0=0;
    }while(!TF0);
    if (num==25)
    {
      num=0;
      break;
    }
  }
}


int main()  
{


  while(1)
  {
    LED=~LED;
    delay_1s();  
  } 
}

寫法二

#include < reg51.h >


typedef unsigned char u8;
typedef unsigned int u16;


sbit LED=P2^0;


u8 num;


void TIM0init(void)
{
     TMOD=0x01;            //設(shè)置定時器0為工作方式0
     TH0=(65536-18432)/256;
     TL0=(65536-18432)%256;   
     EA=1;    //開總中斷
     ET0=1;   //開定時器中斷
     TR0=1;   //啟動定時器0
}


void T0_time()  interrupt 1      
{
    TH0=(65536-18432)/256;//重裝初值,如果不重裝,中斷只觸發(fā)一次
    TL0=(65536-18432)%256;
     num++;
}
/*
interrupt 0  指明是外部中斷0;
interrupt 1  指明是定時器中斷0; 
interrupt 2  指明是外部中斷1;
interrupt 3  指明是定時器中斷1;
interrupt 4  指明是串行口中斷;
函數(shù)名字可以隨便起,但定時器0的中斷號是固定為1的
*/




void main()
{
    TIM0init(); 
    while(1)
    {
    if(num==25)     //如果到了25,說明一秒時間到
       {
         num=0;
         LED=~LED;   //讓發(fā)光管狀態(tài)取反
       }
    }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6058

    文章

    44822

    瀏覽量

    644858
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17718

    瀏覽量

    358363
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2283

    瀏覽量

    95842
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3272

    瀏覽量

    116753
  • 80C51單片機(jī)
    +關(guān)注

    關(guān)注

    4

    文章

    34

    瀏覽量

    18582
收藏 人收藏

    評論

    相關(guān)推薦

    80C51單片機(jī)定時器/計數(shù)器詳解(含工作方式)

    80C51單片機(jī)要實現(xiàn)定時功能,比較方便的辦法是利用單片機(jī)內(nèi)部的定時/計數(shù)器。下面我們將對
    發(fā)表于 11-09 20:10 ?6w次閱讀
    <b class='flag-5'>80C51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時器</b>/<b class='flag-5'>計數(shù)器</b>詳解(含工作方式)

    C51單片機(jī)定時器介紹

    C51單片機(jī)定時器介紹 標(biāo)準(zhǔn)51架構(gòu)的單片機(jī)有2個定時器
    發(fā)表于 11-24 01:32 ?3833次閱讀
    【<b class='flag-5'>C51</b>】<b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時器</b><b class='flag-5'>介紹</b>

    單片機(jī)教程之80C51的中斷系統(tǒng)及定時計數(shù)器的詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是單片機(jī)教程之80C51的中斷系統(tǒng)及定時計數(shù)器的詳細(xì)資料概述主要內(nèi)容包括了:1、
    發(fā)表于 11-13 19:05 ?9次下載
    <b class='flag-5'>單片機(jī)</b>教程之<b class='flag-5'>80C51</b>的中斷系統(tǒng)及<b class='flag-5'>定時</b>和<b class='flag-5'>計數(shù)器</b>的詳細(xì)資料概述

    51單片機(jī)計數(shù)器定時器的詳細(xì)資料講解

    80C51單片機(jī)內(nèi)部設(shè)有兩個16位的可編程定時器/計數(shù)器。可編程的意思是指其功能(如工作方式、定時時間、量程、啟動方式等)均可由指令來確定和
    發(fā)表于 09-03 17:27 ?1次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>計數(shù)器</b>和<b class='flag-5'>定時器</b>的詳細(xì)資料講解

    51單片機(jī)定時器計數(shù)器的原理及應(yīng)用實例詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)定時器計數(shù)器的原理及應(yīng)用實例詳細(xì)資料說明。
    發(fā)表于 08-13 17:32 ?1次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時器</b>和<b class='flag-5'>計數(shù)器</b>的原理及應(yīng)用實例詳細(xì)資料說明

    51單片機(jī)定時器計數(shù)器詳細(xì)資料介紹和應(yīng)用程序免費(fèi)下載

    51單片機(jī)定時器/計數(shù)器有2個分別是T1和T0,52系列的單片機(jī)有3個定時器/
    發(fā)表于 07-16 17:39 ?4次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時器</b>和<b class='flag-5'>計數(shù)器</b>詳細(xì)資料<b class='flag-5'>介紹</b>和應(yīng)用程序免費(fèi)下載

    使用51單片機(jī)定時器計數(shù)器實現(xiàn)定時的實例說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)定時器計數(shù)器實現(xiàn)定時的實例說明。
    發(fā)表于 07-12 17:39 ?7次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時器</b>和<b class='flag-5'>計數(shù)器</b>實現(xiàn)<b class='flag-5'>定時</b>的實例說明

    51單片機(jī)定時器計數(shù)器的使用資料詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)定時器計數(shù)器的使用資料詳細(xì)說明。
    發(fā)表于 07-09 17:40 ?1次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時器</b>和<b class='flag-5'>計數(shù)器</b>的使用資料詳細(xì)說明

    51單片機(jī)定時器計數(shù)器的功能實現(xiàn)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)定時器計數(shù)器的功能實現(xiàn)資料說明。
    發(fā)表于 06-19 17:44 ?0次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時器</b>和<b class='flag-5'>計數(shù)器</b>的功能實現(xiàn)資料說明

    80C51單片機(jī)內(nèi)部定時器計數(shù)器的結(jié)構(gòu)及原理解析

    80C51單片機(jī)內(nèi)部設(shè)有兩個16位的可編程定時器/計數(shù)器??删幊痰囊馑际侵钙涔δ埽ㄈ绻ぷ鞣绞?、定時時間、量程、啟動方式等)均可由指令來確定和
    發(fā)表于 11-19 15:53 ?1.6w次閱讀
    <b class='flag-5'>80C51</b><b class='flag-5'>單片機(jī)</b>內(nèi)部<b class='flag-5'>定時器</b>和<b class='flag-5'>計數(shù)器</b>的結(jié)構(gòu)及原理解析

    基于51單片機(jī)定時器計數(shù)器硬件設(shè)計

    基于51單片機(jī)定時器計數(shù)器硬件設(shè)計
    發(fā)表于 09-06 15:05 ?4次下載

    51單片機(jī)定時器\計數(shù)器的工作原理

    51單片機(jī)定時器\計數(shù)器的工作原理定時器/計數(shù)器的結(jié)構(gòu):何時處于
    發(fā)表于 11-11 11:36 ?10次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>之<b class='flag-5'>定時器</b>\<b class='flag-5'>計數(shù)器</b>的工作原理

    51單片機(jī)定時器、計數(shù)器配置

    一、51單片機(jī)定時/計數(shù)器的工作原理在了解了單片機(jī)的時鐘頻率、時鐘周期、機(jī)器周期之后,顯然我們可以知道
    發(fā)表于 11-11 13:51 ?17次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時器</b>、<b class='flag-5'>計數(shù)器</b>配置

    51單片機(jī)定時器計數(shù)器

    難的東西學(xué)不會是因為簡單的知識沒學(xué)好基礎(chǔ)不牢,地動山搖1.01.0.1定時器(1)51單片機(jī)定時器是一個內(nèi)部外設(shè)。(2)定時器相當(dāng)于CPU
    發(fā)表于 11-11 20:06 ?11次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>定時器</b>與<b class='flag-5'>計數(shù)器</b>

    51單片機(jī)定時器/計數(shù)器

    一、課前須知:1、51單片機(jī)有兩組定時器/計數(shù)器,因為既可以定時,也可以計數(shù),所以稱之為
    發(fā)表于 11-20 20:06 ?47次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時器</b>/<b class='flag-5'>計數(shù)器</b>