欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1727|回復: 1
收起左側

單片機 定時/計數(shù)器原理

[復制鏈接]
ID:216408 發(fā)表于 2017-7-1 20:45 | 顯示全部樓層 |閱讀模式
一.定時/計數(shù)器的結構及工作原理
      定時/計數(shù)器的核心部件是二進制加1計數(shù)器(TH0、TL0或TH1、TL1)

定時功能----計數(shù)輸入信號是內部時鐘脈沖,每個機器周期使寄存器的值加1。所以,計數(shù)頻率是振蕩頻率的1/12。

計數(shù)功能----計數(shù)脈沖來自相應的外部輸入引腳,對負跳變脈沖計數(shù),計數(shù)溢出可申請中斷,標志位TFX,T0為P3.4,T1為P3.5。
      在TMOD中,各有一個控制位(C/T),分別用于控制定時/計數(shù)器T0和T1是工作在定時器方式還是計數(shù)器方式。

單片機內部的定時/計數(shù)器是一種可編程器件,可設置為四種工作方式,
由兩個8位專用寄存器TMOD和TCON進行管理與控制。


二、定時/計數(shù)器計數(shù)初始化
1. 定時/計數(shù)器的初始化方法
初始化的主要內容是對TCON和TMOD編程,計算和裝載T0和T1的計數(shù)初值。

(1)初始化
1)分析定時器/計數(shù)器的工作方式,將方式字寫入TMOD寄存器;
                 ( 定/計、內/外啟動、工作方式)
2)計算T0或T1中的計數(shù)初值,并將其寫入TH0、TL0或TH1、TL1;
3)根據(jù)需要開放CPU和定時/計數(shù)器的中斷,即對IE和IP寄存器編程;
4)啟動定時器/計數(shù)器工作:若要求用軟件啟動,編程時對TCON中的TR0或TR1置位即可啟動;若由外部中斷引腳電平啟動,則對TCON中的TR0或TR1置位后,還需給外引腳加啟動電平。

(2)計數(shù)器初值的計算
1)計數(shù)器模式時的計數(shù)初值
   TC=2M-N  (M為計數(shù)器位數(shù),N為要求的計數(shù)值)
方式0:M=13,計數(shù)器的最大計數(shù)值213=8192。方式1:M=16,計數(shù)器的最大計數(shù)值216=65536;方式2:M=8,計數(shù)器的最大計數(shù)值28=256;方式3同方式2。
  例如,設T0工作在計數(shù)器方式2,求計數(shù)10個脈沖的計數(shù)初值,
TC=28 -10=246=(11110101)B=0F5H

2)定時器模式時的計數(shù)初值
在定時器方式下,定時器T0(或T1)是對機器周期進行計數(shù)的。定時時間為:t=(2M-計數(shù)初值X)×機器周期                             
則計數(shù)初值X= 2M-(t/12*T osc )

  在應用定時/計數(shù)器時,溢出標志TFx置位后既可由硬件向CPU申請中斷,也可通過用戶程序查詢TFx的狀態(tài),因此對計數(shù)溢出信息的處理有以下兩種方法。
中斷法:在定時器初始化時要開放對應的源允許(ET0或ET1)和總允許,在啟動后等待中斷。當計數(shù)器溢出中斷,CPU將程序轉到中斷服務程序入口,因此應在中斷服務程序中安排相應的處理程序。
采用中斷方式時的一般編程模式:
                 ORG    0000H
               SJMP   MAIN
               ORG     000BH     (001BH)
               LJMP   T0S
              ORG     0030H
MAIN: MOV    TMOD,#——
                MOV    TH0,#——
                MOV    TL0,#——  
                SETB    ET0;
                SETB    EA;               
                ------------------;置其他初值
                SETB    TR0;
                SJMP     $
T0S:     -------------     ; 重裝初值
                --------------    ;處理程序
                RETI

查詢法:既在定時器初始化并啟動后,在程序中安排指令查詢TFx的狀態(tài)。
LP:JBC        TF0,NEXT;TF0為1,轉后面的處理程序,并將TF0復位
      SJMP        LP                 ;TF0為0,繼續(xù)查詢
NEXT:┋

采用查詢方式時的一般編程模式:
               ORG     0030H
MAIN: MOV    TMOD,#——
                MOV    TH0,#——
                MOV    TL0,#——
               --------------
                SETB    TR0
WAIT: JBC    TF0,NEXT;
                SJMP   WAIT;
NEXT:MOV    TH0,#——;重裝
               MOV    TL0,#—— ;初值
               - ---------     ;處理程序
               SJMP    WAIT
注意問題:
1)方式0、1、3溢出后要重裝初值,方式2可自動重裝初值。
2)方式 0時TH為8位,TL為5位。





回復

使用道具 舉報

ID:495574 發(fā)表于 2019-3-22 19:07 | 顯示全部樓層
好  不錯 挺有用
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表