91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

寄存器中的逐位定義和功能

MCU開(kāi)發(fā)加油站 ? 來(lái)源:MCU開(kāi)發(fā)加油站 ? 作者:MCU開(kāi)發(fā)加油站 ? 2022-04-10 16:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目前常用的單片機(jī)中往往都配備了定時(shí)器/計(jì)數(shù)器。在AT89S52芯片內(nèi)包含有三個(gè)16位的定時(shí)器/計(jì)數(shù)器:T0、T1和T2,其核心是加1計(jì)數(shù)器。我們主要要求掌握T0和T1的結(jié)構(gòu)和功能。學(xué)習(xí)中要注意從電路結(jié)構(gòu)上來(lái)理解功能的實(shí)現(xiàn)。定時(shí)器/計(jì)數(shù)器方式寄存器TMOD和定時(shí)器/計(jì)數(shù)器控制寄存器TCON是用以設(shè)定定時(shí)器/計(jì)數(shù)器的工作方式、定時(shí)或計(jì)數(shù)功能,控制啟動(dòng)或停止以及產(chǎn)生溢出中斷的重要模塊,應(yīng)該對(duì)這兩個(gè)寄存器中的逐位的定義和功能進(jìn)行學(xué)習(xí)和掌握。

3073b8d4-b75b-11ec-aa7f-dac502259ad0.jpg

30874be2-b75b-11ec-aa7f-dac502259ad0.jpg

圖1:T0和T1的基本構(gòu)成

一、定時(shí)器/計(jì)數(shù)器的功能

AT89S52單片機(jī)定時(shí)器/計(jì)數(shù)器的基本部件是兩個(gè)8位的計(jì)數(shù)器(T1計(jì)數(shù)器分為高8位TH1和低8位TL1,T0計(jì)數(shù)器的高8位是TH0,低8位是TL0)。如圖1所示。

定時(shí)器/計(jì)數(shù)器的核心是一個(gè)加1計(jì)數(shù)器,在作定時(shí)器使用時(shí),它對(duì)機(jī)器周期進(jìn)行計(jì)數(shù),每過(guò)一個(gè)機(jī)器周期計(jì)數(shù)器加1,直到計(jì)數(shù)器計(jì)滿溢出。

當(dāng)它用作對(duì)外部事件計(jì)數(shù)時(shí),計(jì)數(shù)器接相應(yīng)的外部輸入引腳T0(P3.4)或T1(P3.5)并在每個(gè)機(jī)器周期的S5P2時(shí)采樣,當(dāng)采樣到1—0的負(fù)跳變時(shí),計(jì)數(shù)器加1。二、定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)

AT89S52單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)如圖2所示。定時(shí)器T0由特殊功能寄存器TL0(低8位)和TH0(高8位)構(gòu)成,定時(shí)器T1由特殊功能寄存器TL1(低8位)和TH1(高8位)構(gòu)成。每個(gè)寄存器均可單獨(dú)訪問(wèn)。

3098cd5e-b75b-11ec-aa7f-dac502259ad0.jpg

圖2 定時(shí)器/計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)1、定時(shí)/計(jì)數(shù)的基本概念定時(shí)和計(jì)數(shù)是日常生活和生產(chǎn)中最常見(jiàn)和最普遍的問(wèn)題。

定時(shí)器和計(jì)數(shù)器功能基本上都是使用相同的邏輯實(shí)現(xiàn)的,而且這兩個(gè)功能都包含輸入的計(jì)數(shù)信號(hào),本質(zhì)上都是對(duì)脈沖計(jì)數(shù)。計(jì)數(shù)器用來(lái)計(jì)數(shù)并指示在任意間隔內(nèi)輸入信號(hào)(事件)的個(gè)數(shù),而定時(shí)器則對(duì)規(guī)定間隔內(nèi)輸入的信號(hào)個(gè)數(shù)進(jìn)行計(jì)數(shù),用來(lái)指示經(jīng)歷的時(shí)間。

在單片機(jī)中,定時(shí)/計(jì)數(shù)器作定時(shí)功能用時(shí),對(duì)機(jī)器周期計(jì)數(shù)(由單片機(jī)的晶體振蕩器經(jīng)過(guò)12分頻后得到),因每次計(jì)數(shù)的周期是固定的,所以根據(jù)它計(jì)數(shù)的多少就可以很方便的計(jì)算出它計(jì)數(shù)的時(shí)間。如圖3所示。

30adab02-b75b-11ec-aa7f-dac502259ad0.png

圖3 計(jì)數(shù)與定時(shí)

2、溢出的基本概念從一個(gè)生活中的例程看起:一個(gè)水盆在水龍頭下,水龍頭沒(méi)關(guān)緊,水一滴滴地滴入盆中。盆的容量是有限的,水滴持續(xù)落下,盆中的水持續(xù)變滿,最終有一滴水使得盆中的水滿了,這就是“溢出”。如果一個(gè)空的盆要1萬(wàn)滴水滴進(jìn)去才會(huì)滿,開(kāi)始滴水之前可以先放入一部分水,叫做計(jì)數(shù)初值。如果現(xiàn)在要計(jì)數(shù)9000,那么可以先放入1000滴水,也就是計(jì)數(shù)初值為1000,再計(jì)數(shù)9000就可以溢出產(chǎn)生中斷。

單片機(jī)中通常采用計(jì)數(shù)初值的辦法,如果每個(gè)脈沖是1微秒,則計(jì)滿256個(gè)脈沖需時(shí)256微秒,如果現(xiàn)在要定時(shí)100微妙,只要在計(jì)數(shù)器里面先放進(jìn)156,然后計(jì)數(shù)100就可以就可以溢出產(chǎn)生中斷了。如圖4所示。

30ce6eb4-b75b-11ec-aa7f-dac502259ad0.png

圖4 定時(shí)器/計(jì)數(shù)器的溢出

3、定時(shí)/計(jì)數(shù)的主要方法

實(shí)現(xiàn)定時(shí)或計(jì)數(shù),主要有三種方法。

(1)軟件延時(shí)

軟件延時(shí)利用微處理器執(zhí)行一個(gè)延時(shí)程序段實(shí)現(xiàn)。因?yàn)槲⑻幚砥鲌?zhí)行每條指令都需要一定時(shí)間,通過(guò)指令的循環(huán)實(shí)現(xiàn)軟件延時(shí)。軟件定時(shí)具有不使用硬件的特點(diǎn),但卻占用了大量CPU時(shí)間。另外,軟件定時(shí)精度不高,在不同系統(tǒng)時(shí)鐘頻率下,執(zhí)行一條指令的時(shí)間不同,同一個(gè)軟件延時(shí)程序的定時(shí)時(shí)間也會(huì)不同。

(2)硬件定時(shí)

硬件定時(shí)采用數(shù)字電路中的分頻器將系統(tǒng)時(shí)鐘進(jìn)行適當(dāng)分頻產(chǎn)生需要的定時(shí)信號(hào),也可以采用單穩(wěn)電路或簡(jiǎn)易定時(shí)電路(如常用的555定時(shí)器)由外接RC(電阻、電容)電路控制定時(shí)時(shí)間。這樣的定時(shí)電路較簡(jiǎn)單,利用不同分頻倍數(shù)或改變電阻阻值、電容容值使定時(shí)時(shí)間在一定范圍內(nèi)改變。

(3)可編程的硬件定時(shí)

可編程定時(shí)器/計(jì)數(shù)器最大特點(diǎn)是可以通過(guò)軟件編程來(lái)實(shí)現(xiàn)定時(shí)時(shí)間的改變,通過(guò)中斷或查詢方法來(lái)完成定時(shí)功能或計(jì)數(shù)功能。這種電路不僅定時(shí)值和定時(shí)范圍可用程序改變,而且具有多種工作方式,可以輸出多種控制信號(hào),具備較強(qiáng)的功能。

原文標(biāo)題:?jiǎn)纹瑱C(jī)定時(shí)器/計(jì)數(shù)器基本原理

文章出處:【微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6076

    文章

    45495

    瀏覽量

    670357
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5608

    瀏覽量

    129985
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2316

    瀏覽量

    98181

原文標(biāo)題:?jiǎn)纹瑱C(jī)定時(shí)器/計(jì)數(shù)器基本原理

文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    解析CPU寄存器

    8寄存器在16寄存器,而16寄存器在32
    發(fā)表于 09-19 10:10 ?5186次閱讀

    如何根據(jù)自己設(shè)計(jì)寄存器配置總線定義來(lái)生成一套寄存器配置模版

    無(wú)論是FPGA還是ASIC,系統(tǒng)設(shè)計(jì)總會(huì)存在配置寄存器總線的使用,我們會(huì)將各種功能、調(diào)試寄存器掛載在寄存器總線上使用。
    的頭像 發(fā)表于 03-04 13:56 ?2419次閱讀
    如何根據(jù)自己設(shè)計(jì)<b class='flag-5'>中</b>的<b class='flag-5'>寄存器</b>配置總線<b class='flag-5'>定義</b>來(lái)生成一套<b class='flag-5'>寄存器</b>配置模版

    xsdk的64寄存器有什么功能?

    你好,我想讀取和寫入xsdk的64寄存器。我發(fā)現(xiàn)Xil_Out32和Xil_In32用于32寄存器。 64
    發(fā)表于 04-23 10:09

    寄存器與移位寄存器

    寄存器與移位寄存器 寄存器是用來(lái)寄存數(shù)碼的邏輯部件,所以必須具備接收和寄存數(shù)碼的功能。任何一種
    發(fā)表于 03-12 15:19 ?59次下載

    第二十六講 寄存器和移位寄存器

    第二十六講 寄存器和移位寄存器7.4.1 寄存器1.定義2.電路舉例 3.邏輯功能分析7.4.2 移位
    發(fā)表于 03-30 16:30 ?1.1w次閱讀
    第二十六講 <b class='flag-5'>寄存器</b>和移位<b class='flag-5'>寄存器</b>

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內(nèi)的組成部分。
    發(fā)表于 03-08 14:26 ?2.2w次閱讀

    寄存器培訓(xùn)教程

    寄存器培訓(xùn)教程 7.4.1 寄存器1.定義2.電路舉例 3.邏輯功能分析7.4.2 移位寄存器一、單向移位
    發(fā)表于 03-08 14:52 ?1475次閱讀

    32寄存器,32寄存器是什么意思

    32寄存器,32寄存器是什么意思  從X8086開(kāi)始學(xué)了一年,第一個(gè)ASM的程序就是變32換16進(jìn)制的程序,不過(guò)現(xiàn)在叫我從新開(kāi)始寫ASM程
    發(fā)表于 03-08 17:26 ?1.8w次閱讀

    CAN寄存器功能

    fesscale的8單片機(jī)can寄存器對(duì)應(yīng)的功能。
    發(fā)表于 03-29 14:44 ?4次下載

    寄存器的使用技巧及定義

    寄存器是中央處理內(nèi)的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來(lái)暫存指令、數(shù)據(jù)和地址。在中央處理的控制部件,包含的
    發(fā)表于 09-12 16:16 ?2次下載
    <b class='flag-5'>寄存器</b>的使用技巧及<b class='flag-5'>定義</b>

    HELLODSPF2812寄存器速查

    周期寄存器,選用定時(shí) 1 的周期寄存器。這一在 T1CON 是保留。在 EVB
    發(fā)表于 04-12 14:33 ?14次下載
    HELLODSP<b class='flag-5'>中</b>F2812<b class='flag-5'>寄存器</b>速查

    51單片機(jī)特殊功能寄存器在C51程序定義詳細(xì)說(shuō)明

    MCS - 51單片機(jī),除了程序計(jì)數(shù)PC和4組工作寄存器組外,其它所有的寄存器均為特殊功能寄存器
    發(fā)表于 07-22 17:37 ?1次下載
    51單片機(jī)特殊<b class='flag-5'>功能</b><b class='flag-5'>寄存器</b>在C51程序<b class='flag-5'>中</b>的<b class='flag-5'>定義</b>詳細(xì)說(shuō)明

    16和32寄存器的區(qū)別 16寄存器有哪些

    16寄存器可以存儲(chǔ)2個(gè)字節(jié)(16)的數(shù)據(jù),數(shù)據(jù)范圍為0~65535。在單片機(jī),16寄存器
    發(fā)表于 03-31 18:14 ?2w次閱讀

    單片機(jī)工作寄存器作用 單片機(jī)常用專用寄存器

    除了通用寄存器(如累加、通用寄存器等),單片機(jī)還會(huì)有特定功能寄存器,如定時(shí)
    的頭像 發(fā)表于 04-08 14:46 ?9570次閱讀

    寄存器定義功能 寄存器的分類和工作原理

    在計(jì)算機(jī)系統(tǒng),寄存器作為一種特殊的存儲(chǔ)設(shè)備,扮演著至關(guān)重要的角色。它是中央處理(CPU)內(nèi)部的重要組成部分,用于暫時(shí)存儲(chǔ)數(shù)據(jù)和指令,以便于CPU進(jìn)行高速的運(yùn)算和控制。本文將對(duì)寄存器
    的頭像 發(fā)表于 05-12 17:07 ?9729次閱讀