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

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

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

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

08_51入門_定時器中斷

天才小貍花 ? 來源:Sigle_chip ? 作者:Sigle_chip ? 2022-09-13 10:38 ? 次閱讀

前言

在程序運(yùn)行中,我們有著去定時運(yùn)行某一功能的需求,或許1s、或許0.5s。如果使用delay函數(shù),必然導(dǎo)致會使得其他任務(wù)阻塞。使用定時器對于程序的精準(zhǔn)計(jì)時有著很大作用,獲取去達(dá)到計(jì)時的目的,也可以使用定時器,如超聲波的測距方式。

我們生活中采用秒等單位作為生活中的基本單位,而秒的詳細(xì)定義為

銫-133原子位于海平面處于非擾動基態(tài)時兩個超精細(xì)能級間躍遷對應(yīng)的輻射頻率ΔνCs以Hz(即等于s-1)為單位表達(dá)時選取固定數(shù)值9192631770倍來定義秒

其銫-133原子的輻射頻率的9192631770為1s

時鐘

單片機(jī)內(nèi)部當(dāng)然不可能使用銫原子作為計(jì)時的時鐘源,通常是采用石英晶振制成的一種諧振器件,其時鐘頻率為其固有屬性,只受到自身影響。

通過與51單片機(jī)的XTL1和XTL2引腳構(gòu)成一個皮爾斯振蕩器,通過內(nèi)部時鐘電路的整形調(diào)整,向單片機(jī)提供穩(wěn)定的時鐘頻率。若為有員晶振直接將時鐘引腳接到XTL1引腳。

常用于單片機(jī)的晶振頻率有11.0592MHz,12MHz等,為什么會有11.0592這么特殊的晶振頻率呢,這涉及到通信的問題,這里暫不引入。

12MHz表示以Hz(即等于s-1)為單位表達(dá)時選取固定數(shù)值12000000倍為1s。

當(dāng)然,如果我們使用計(jì)數(shù)器模式,時鐘源便為外部引腳的電平變化,分別是連接51單片機(jī)的 P3.4 P3.5兩個口。

周期

時鐘周期

其時鐘周期是指振蕩源的周期,定義為時鐘脈沖的倒數(shù)。

外部晶振12M
則時鐘周期為 1s/12M= 1S/12 000 000 = 1/12us

外部晶振11.0592M
則時鐘周期為 1s/11.0592M = 1S/11 059 200 = 1/11.0592us

外部晶振24M
則時鐘周期為 1s/24M= 1S/24 000 000 = 1/24us

機(jī)器周期

機(jī)器周期,是指執(zhí)行一單位指令所需要的時鐘周期個數(shù)。

機(jī)器周期也稱為CPU周期。
在計(jì)算機(jī)中,為了便于管理,常把一條指令的執(zhí)行過程劃分為若干個階段(如取指、譯碼、執(zhí)行等),每一階段完成一個基本操作。完成一個基本操作所需要的時間稱為機(jī)器周期。
一般情況下,一個機(jī)器周期由若干個時鐘周期組成。如 1T,就表示,需要 1個時鐘周期; 12T即為 12個時鐘周期。這些都只是
一單位指令的時間(如自增、自減等),多單位指令時間進(jìn)行倍乘(如賦值語句需要2個機(jī)械周期,即乘以2倍),
傳統(tǒng)的8051單片機(jī)就是12T的,即完成1個單位指令所需時間為12個時鐘周期。 1T的完成1個單位指令所需時間則為1個機(jī)器周期。

傳統(tǒng)的8051使用12Mhz晶振的機(jī)器周期是,1T的要比12T的速度更快,而STC89C51RC系列支持6T模式,相當(dāng)于速度翻倍。

1T 12Mhz的機(jī)器周期為1/12us
12T 12Mhz的機(jī)器周期為1us

指令周期

CPU完成一條指令的時間叫指令周期

一般一條完整的指令包括:取指周期、間址周期、執(zhí)行周期、中斷周期。

寄存器

在使用定時器時,我們需要對定時器/計(jì)數(shù)器的初始化。

第一步,開中斷,對IP和IE賦值。

第二步,配置模式,對TMOD賦值。

先確定定時器還是計(jì)數(shù)器,TMOD中有相應(yīng)的控制位 [ C/T ]來選擇T0或T1為定時器還是計(jì)數(shù)器.

在將控制位GATE打開,最后配置模式位M0,M1,兩位可配置4種模式。

  1. 定時器/計(jì)數(shù)器0模式選擇 13位定時器/計(jì)數(shù)器,兼容8048定時模式,TL0只用低5位參與分頻,TH0整個8位全用。
  2. 16位定時器/計(jì)數(shù)器,TL0、TH0全用
  3. 8位自動重裝載定時器,當(dāng)溢出時將TH0存放的值自動重裝入TL0定時器0此時作為雙8位定時器/計(jì)數(shù)器。
  4. TL0作為一個8位定時器/計(jì)數(shù)器,通過標(biāo)準(zhǔn)定時器0的控制位控制。TH0僅作為一個 8位定時器,由定時器1的控制位控制。

定時器/計(jì)數(shù)器的核心部件是一個加法(也有減法)的計(jì)數(shù)器,其本質(zhì)是對脈沖進(jìn)行計(jì)數(shù)。只是計(jì)數(shù)脈沖來源不同:
如果計(jì)數(shù)脈沖來自系統(tǒng)時鐘,則為定時方式,此時定時器/計(jì)數(shù)器每12個時鐘得到一個計(jì)數(shù)脈沖,計(jì)數(shù)值加1;
如果計(jì)數(shù)脈沖來自單片機(jī)外部引腳(T0為P3.4,T1為P3.5),則為計(jì)數(shù)方式,每來一個脈沖加1。

由于8051單片機(jī)為8位單片機(jī),寄存器最多為8位,計(jì)數(shù)周期太小。

通過兩個寄存器組成16位寄存器(實(shí)際還是倆),其16位最多可計(jì)時 216個機(jī)器周期,12T,12Mhz下為 65,535us。

當(dāng)開啟定時器后,16位計(jì)時器每個機(jī)器周期值自加,全為1時觸發(fā)中斷,執(zhí)行中斷程序,根據(jù)是否在使用定時器再將值寫入16位寄存器,學(xué)習(xí)單片機(jī)嵌入式,元器件有需求可以去唯樣商城看看,學(xué)生還有優(yōu)惠哦。

初值計(jì)算

TL表示低8位。TH表示高八位。

其值為

0XFFFF -(初值(單位:s)/1s)*(晶振頻率/12)

其初值計(jì)算可用相應(yīng)的工具,如STCISP就自帶計(jì)算,但我們要理解其相應(yīng)的工作方式。

審核編輯 黃昊宇

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

    關(guān)注

    6059

    文章

    44828

    瀏覽量

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

    關(guān)注

    23

    文章

    3273

    瀏覽量

    116821
收藏 人收藏

    評論

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

    MCU定時器/計(jì)數(shù)

    RISC-V核低功耗MCU通過靈活的定時器架構(gòu)、低功耗模式適配及硬件級中斷優(yōu)化,在工業(yè)控制、智能家居等場景中實(shí)現(xiàn)高精度計(jì)時與能耗控制的協(xié)同設(shè)計(jì),滿足復(fù)雜任務(wù)調(diào)度與實(shí)時響應(yīng)的雙重需求?。 一、?硬件
    的頭像 發(fā)表于 04-27 13:54 ?91次閱讀

    STM32G474HRTIM使用HRTIM配置了主定時器中斷,為啥調(diào)試的跳轉(zhuǎn)到硬件中斷,進(jìn)不去定時器中斷,為什么?

    各位大佬,我使用HRTIM配置了主定時器中斷,為啥調(diào)試的跳轉(zhuǎn)到硬件中斷,進(jìn)不去定時器中斷 下面是我的初始化代碼
    發(fā)表于 03-13 08:17

    定時器自動控制開關(guān)怎么設(shè)置

    定時器自動控制開關(guān)是一種常見的自動化設(shè)備,廣泛應(yīng)用于家庭、工業(yè)、農(nóng)業(yè)等多個領(lǐng)域。通過定時器,用戶可以預(yù)設(shè)時間,讓設(shè)備在特定時間自動開啟或關(guān)閉,從而實(shí)現(xiàn)節(jié)能、提高效率和便利性。 一、定時器
    的頭像 發(fā)表于 09-19 16:19 ?3185次閱讀

    定時器的基本組成和工作模式

    定時器是計(jì)算機(jī)或電子設(shè)備中常見的一個硬件或軟件組件,其主要功能是測量和控制時間的流逝。它在各種應(yīng)用中起著至關(guān)重要的作用,如操作系統(tǒng)調(diào)度、多媒體播放、網(wǎng)絡(luò)通信、工業(yè)自動化控制以及家電設(shè)備的定時功能等。定時器的工作原理基于時序控制,
    的頭像 發(fā)表于 08-19 18:28 ?2215次閱讀

    定時器的工作方式介紹

    或?qū)崿F(xiàn)周期性事件的硬件模塊。它可以用于實(shí)現(xiàn)各種定時任務(wù),如定時中斷、PWM(脈沖寬度調(diào)制)輸出、頻率測量等。定時器通常由一個計(jì)數(shù)、一個時鐘源和一個控制寄存
    的頭像 發(fā)表于 07-12 10:29 ?1554次閱讀

    定時器相關(guān)的寄存有哪些類型

    在微控制編程中,定時器是一種非常常見的功能模塊,用于實(shí)現(xiàn)各種定時和計(jì)數(shù)功能。定時器的工作原理是通過內(nèi)部的計(jì)數(shù)來跟蹤時間的流逝,當(dāng)計(jì)數(shù)
    的頭像 發(fā)表于 07-12 10:25 ?1412次閱讀

    如何將定時器配置為計(jì)數(shù),并在輸入引腳(傳感中斷時開始計(jì)數(shù)?

    如何將定時器配置為計(jì)數(shù),并在輸入引腳(傳感中斷時開始計(jì)數(shù)? 需要定時器的詳細(xì)設(shè)置以及如何處理中斷
    發(fā)表于 07-05 08:00

    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer定時器

    設(shè)置一個定時器,該定時器定時器到期后執(zhí)行一個函數(shù)。
    的頭像 發(fā)表于 06-28 11:33 ?1312次閱讀
    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer<b class='flag-5'>定時器</b>

    三菱plc如何顯示定時器時間

    三菱PLC(Programmable Logic Controller,可編程邏輯控制)是一種廣泛應(yīng)用于工業(yè)自動化領(lǐng)域的設(shè)備。定時器是PLC中的一種基本功能,用于實(shí)現(xiàn)延時控制、計(jì)時控制等功能。在三
    的頭像 發(fā)表于 06-20 11:10 ?2834次閱讀

    PLC定時器的工作原理和應(yīng)用

    在工業(yè)自動化控制系統(tǒng)中,PLC(Programmable Logic Controller,可編程邏輯控制)因其強(qiáng)大的控制功能和靈活性而得到廣泛應(yīng)用。作為PLC的重要組成部分,定時器在其中扮演著
    的頭像 發(fā)表于 06-18 11:55 ?3766次閱讀

    使用定時器的編碼接口模式,打開定時器的溢出中斷,當(dāng)定時器上溢出和下溢出是,是否都會產(chǎn)生溢出中斷?

    使用定時器的編碼接口模式,打開定時器的溢出中斷,當(dāng)定時器上溢出和下溢出是,是否都會產(chǎn)生溢出中斷
    發(fā)表于 05-24 07:41

    stm8s003開啟定時器中斷時出現(xiàn)非常操作復(fù)位的原因?

    stm8s003k3單片機(jī),使用的是TIM4 8位定時器,當(dāng)開啟定時器中斷功能時,用仿真仿真,可以進(jìn)入定時器
    發(fā)表于 05-15 07:08

    用STM32F103打開了定時器2開定時器中斷,關(guān)閉就報(bào)錯 ,定時器如何關(guān)閉呢?

    最近用STM32F103打開了定時器2 開定時器中斷,開啟PA11的中斷,在PA11的中斷里把定時器
    發(fā)表于 05-14 06:52

    把STM8S的定時器1和定時器4同時初始化和打開遇到的疑問求解

    我把STM8S的定時器1和定時器4同時初始化和打開。然后分別在定時器1中斷函數(shù)和定時器4中斷函數(shù)
    發(fā)表于 05-09 08:31

    一個定時器可以同時中斷定時和輸出pwm嗎?

    一個定時器可以同時中斷定時和輸出pwm嗎
    發(fā)表于 05-08 08:14