操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    1.定義

    定時器介紹: 51單片機的定時器屬于單片機的內部資源,其電路的連接和運轉均在單片機內部完成。

    2.作用

    定時器作用:

    1.用于計數系統,可實現軟件計時,或者使程序每隔一固定時間完成一項操作

    2.替代長時間的Delay,提高CPU的運行效率和處理速度

    3.定時器資源

    1.定時器個數三個(T0,T1,T2),T0和T1與傳統的51單片機兼容單片機定時器里寫程序,T2是此型號單片機增加的資源

    注意:定時器的資源和單片機的型號是關聯在I起的,不同的型號可能會有不同的定時器個數和操作方式,但一般來說,T0和T1的操作方式是所有51單片機所共有的。

    4.定時器工作模式

    的T0和T1均由四種工作模式

    模式0:13位定時器/計數器

    模式1:16位定時器/計數器(常用)

    模式2:8位自動重裝載模式

    模式3:兩個8位計數器

    定時器1的工作模式框圖:

    —:系統時鐘選擇分頻模式

    C/T= 0定時器模式 =1計數器模式

    5.工作過程原理

    定時器在單片機內部就像一個小鬧鐘一樣,根據時鐘的輸出信號每隔“一秒”,計數單元的數值就加以,當計數單元數值增加到“設定的鬧鐘提醒時候”時,計數單元就會向中斷系統發出中斷申請,產生“響鈴提醒”,使得程序跳轉到中斷服務程序。

    說明:中斷系統

    6.定時器相關寄存器

    51單片機定時器定時1秒程序_單片機定時器里寫程序_單片機定時中斷實驗程序

    TCON位于特殊功能寄存器中(SFR),可進行位尋址

    TF1/TF0--------定時器/計數器溢出標志位

    當定時器計滿溢出時,由硬件使其置1,并且向CPU申請中斷,進入中斷服務程序后,由硬件自動清0。

    TR1/TR0-------定時器運行控制位

    當GATE=1,當相應的外部中斷引腳(INT1/INT0)為高電平時,TR1/TR0置1啟動定時器,當GATE=0,TR1/TR0置1啟動定時器

    IE1/IE0--------外部中斷請求標志位

    IT1/IT0---------外部中斷觸發方式選擇位

    0為電平觸發模式

    1為跳變沿觸發模式

    GATE----門控制位

    GATE=0單片機定時器里寫程序,定時器計數器啟動與停止僅受TCON寄存器中的TRX(X=0,1)控制

    GATE=1,定時器計數器啟動與停止由外部中斷引腳(INT0或INT1)上的電平狀態來共同控制

    C/T----定時器或者計數器模式選擇位

    M1M0–工作方式選擇位

    每個定時器都有4中工作方式,它們由M1M0來設定

    說明

    1.寄存器是連接軟硬件的媒介

    2.在單片機中寄存器就是一段特殊的RAM存儲器,一方面,寄存器可以存儲和讀取數據,另一方面,每一個寄存器背后都連接了一根導線,控制著電路的連接方式。

    3.寄存器相當于一個復雜機器的”操作按鈕”

    7.定時器配置步驟

    1.配置工作方式寄存器—TMOD

    GATE=0,定時器僅受TCON寄存器中TRx(x=0,1)來控制

    單片機定時中斷實驗程序_單片機定時器里寫程序_51單片機定時器定時1秒程序

    GATE=1,定時器TCON寄存器中TRx(x=0,1)和外部中斷引(INT0或INT1)上的電平狀態來共同控制。

    C/T=1,為計數器模式;

    C/T=0,為定時器模式。

    M1M0一工作方式選擇位;一共有4種工作方式,通常選擇 方式1 和 方式2;即M1M0 = 0 1 或M1M0 = 1 0

    2.選擇定時器數值—— THx、TLx

    (1) 51單片機定時器常常方式1或者方式2

    (2)方式1可以裝入的總數是65536

    (3)方式2可以轉入的總數是256

    方式如:

    TH0 = (65536 - 1000) / 256

    TL0 = (65536 - 1000) % 256

    TH0 = 0xfc

    TL0 = 0x18

    3.配置控制寄存器——TCON

    TF1一定時器1溢出標志位。

    當定時器1計滿溢出時,由硬件使TF1置1,并且申請中斷。進入中斷服務程序后,由硬件自動清0。需要注意的是,如果使用定時器的中斷,那么該位完全不用人為去操作,但是如果使用軟件查詢方式的話,當查詢到該位置1后,就需要用軟件清0。

    TR1-定時器1運行控制位。

    由軟件清0關閉定時器1。當GATE=1,且INT1為高電平時,TR1置1啟動定時器1;當GATE=0時,TR1置1啟動定時器1。

    TFO-定時器0溢出標志,其功能及操作方法同TF1。

    TRO-定時器0運行控制位,其功能及操作方法同TR1.

    IE1-外部中斷1請求標志。

    當IT1=0時,為電平觸發方式,每個機器周期的S5P2采樣lNT1引腳,若INT1腳為低電平,則置1,否則IE1清0。

    當IT1=1時,INT1為跳變沿觸發方式,當第一個機器周期采樣到INT1為低電平時,則IE1置1。IE1=1,表示外部中斷1正在向CPU申請中斷。當CPU響應中斷,轉向中斷服務程序時,該位由硬件清0。

    IT1-外部中斷1觸發方式選擇位。

    單片機定時器里寫程序_單片機定時中斷實驗程序_51單片機定時器定時1秒程序

    IT1=0,為電平觸發方式,引腳INT1.上低電平有效。

    IT1=1,為跳變沿觸發方式,引腳INT1.上的電平從高到低的負跳變有效。

    IE0一外部中斷0請求標志,其功能及操作方法同IE1。

    IT0–外部中斷0觸發方式選擇位,其功能及操作方法同IT1。

    4.打開總中斷——EA = 1

    5.開啟定時器中斷ET0/1

    6.配置中斷優先級PT0/1

    7.編寫中斷服務函數

    附上代碼

    #include 
    sbit led=P1^0;
    sbit shake=P1^1;
    void Delay500ms()		//@11.0592MHz
    {
    		unsigned char i, j, k;
    		
    		i = 22;
    		j = 3;
    		k = 227;
    		do
    		{
    			do
    

    單片機定時器里寫程序_單片機定時中斷實驗程序_51單片機定時器定時1秒程序

    { while (--k); } while (--j); } while (--i); } void Timer0Init(void) //100微秒@12.000MHz { TMOD &= 0xF0; //設置定時器模式 TMOD |= 0x01; //設置定時器模式 TL0 = 0x9C; //設置定時初值 TH0 = 0xFF; //設置定時初值 TF0 = 0; //清除TF0標志 TR0 = 1; //定時器0開始計時 ET0 = 1;//打開定時器0中斷 EA = 1;//打開總中斷 PT0 = 1;//中斷優先級設置 } //定時器中斷函數模板 void Timer0_Routine() interrupt 1

    51單片機定時器定時1秒程序_單片機定時中斷實驗程序_單片機定時器里寫程序

    { static unsigned int T0Count; TL0 = 0x9C; //設置定時初值 TH0 = 0xFF; //設置定時初值 上面是多少這里就重置多少 T0Count++; if(T0Count>=1000) { led=0; Delay500ms(); led=1; Delay500ms(); } } void main() { Timer0Init(); while(1) { } }

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有