wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

第9課 定時器

作者:huqin   來源:本站原創   點擊數:  更新時間:2013年12月30日   【字體:

        在對單片機應用項目進行編程時,經常需要插入一定的延時程序,此時一般有兩種方案可選擇,一是采用軟件手段——插入一段延時程序,二是采用單片機內部的硬件資源——定時器。對于軟件手段,我們在前面的課程已經詳細講到過,它最大的缺點就是占用單片機的“機時”,也就是耗費單片機的“精力”,從而降低了單片機的工作效率。而定時器則不同,它是單片機內部一個獨立的功能模塊,定時器一旦設置后,定時器便自動開始計時,當計時時間滿后,便產生相應的中斷,去處于中斷函數內的程序,而在計時這段時間內,定時器和CPU是分別獨立工作的,CUP此時就可以有時間去做其它的事情。所以為了提高單片機的工作效率和實現精確的延時,目前幾乎所有的半導休生產廠商在設計單片機時,在內部都配置了定時器模塊。下面51單片機內部的定時器進行介紹。

1、定時器/計數器概述
51單片機內部共有兩個定時器/計數器模塊T0和T1,對于52單片機內部又增加了定時器T3。它們即具有定時功能,也可以作計數功能,可以通過相應的寄存器進行設置。但不論是用于定時功能還是計數功能,其基本原理都是一樣的,如圖1所示為定時器/計數器的結構圖,內部為一個加1計數器,由高8位TH0(或TH1)和低8位TL0(或TL1)兩個計數寄存器組成。TMOD是定時器/計數器的工作模式和工作方式寄存器,用來確定是處于定時模式還是計數模式以及何種工種方式,這個后面講解寄存器的時會講到。TCON為控制寄存器,用來控制定時器/計數器的啟動、停止及溢出標志等的設置。
圖1 定時器/計數器的結構框圖
 
工作原理如圖的所示,加1計數器相當于一個裝數的容器,每來一個脈沖自動加1,當數裝滿后便自動溢出,如果此時設置的中斷,CPU便會停止當前正在執行的工作,去執行中斷函數內的程序。這里也可以形象把計數器看作一個裝水的水桶,每來一滴水,水桶的水便會增加一點,當水裝滿了后,便會溢出。
加1計數器的計數脈沖有兩個來源,一個是由系統時鐘振蕩器輸出脈沖經過12分頻后送來,一個是由外部引腳T0(P34引腳)和T1(P35引腳)送來的外部脈沖(通常為下降沿),前者主要用于定時,后者主要用于計數。每來一個脈沖時,計數器會自動加1,當加到全為1時,再來一個脈沖,計數器便會自動清0,且計數器此時會溢出并使TCON寄存器中的TF0和TF1置1,如果此時設置了定時器中斷允許,便會自動的向CPU發出中斷請求。
圖2 定時器/計數器的工作原圖
可能大家還是不明白,這樣為什么就可以用來進行定時和計數呢,這里我們以通俗的例子解釋一下定時,還是以水桶裝水為例,假設水桶開始一滴水都沒有(相當于計數器內部全為0),此時來一滴水(相當于來一個脈沖),水桶的水便會增加一滴(相當于計數器自動加1),而水桶的容積是規定了的(相當于計數器最大計數值),水桶的水總會有滿的時候(相當于計數器加到全部為1),此時假設每來一滴水的時間我們知道或者人為可以設置,水桶從一滴水沒有到全部裝滿就會有一個時間,這個就是定時時間值。
也就是說,我們如果知道每來一個脈沖相應的時間t,又知道加1計數器最大可以裝多少數n,我們就可以知道這個時間值T,即T=nt。而這個T的時間通常是固定的,實際應用時需要不同的定時時間,我們可以采用預先在計數器內裝一定的初值(相當于在水桶內先裝一些水),然后在這個初值的基本上再來相應脈沖,計數器自動加1,一直到溢出,我們就可以得到任意想要的定時時間。
從圖2中我們還可以看出,定時器/計數器還有一個控制開關,此開關可以控制定時器計數器相應的啟動和停止。而此開關的開閉主要是由圖2左下部的TRX 、GATE等信號共同作用,這里都是門電路,可以由數電的知道解釋,因為比較簡單,這里我就不作說明,后面結合的相關的寄存器進行介紹。
2、定時器/計數器相關寄存器
與定時器/計數器相關的寄存器主要有兩個(編程時如涉及到中斷,還要用到中斷相關的寄存器,前面已經講可),一個是工作模式及工作方式設置寄存器TMOD,一個就是跟控制有關(就是圖2中開關的設置有關的)寄存器TCON,下面分別對其進行介紹。
注意:對單片機內部寄存器的說明相當于對結構原理的解釋,所以在單片機內部功能模塊看不明白時,也可以借助相關寄存器的說明加以理解。
(1)定時器工作模式及工作方式寄存器TMOD
工作方式寄存器TMOD用于設置定時/計數器的工作模式及工作方式,低四位用于T0,高四位用于T1。其格式如下:
GATE:門控位。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數器工作;GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數器工作。即此時定時器的啟動多了一條件。
C/T :定時/計數模式選擇位。C/T=0為定時模式;C/T =1為計數模式。
M1M0:工作方式設置位。定時/計數器有四種工作方式,由M1M0進行設置。具體說明如下表:
(2)定時器/計數器控制寄存器TCON
TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計數器的啟動和中斷申請。其格式如下:
TF1(TCON.7):T1溢出中斷請求標志位。T1計數溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。
TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數器的啟動與停止。
TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。
TR0(TCON.4):T0運行控制位,其功能與TR1類同。
3、定時器工作方式及賦初值
通過對上面TMOD寄存器的介紹,我們知道,通過設置M0M1可能選擇定時器的工作方式。這里可能有的人對選擇定時器工作方式及賦初值是什么意思不明白,其實也很好理解,前面我們不是把加1計數器比作裝水的水桶嗎,而51單片機有4種工作方式就相當于有4種不同大小的裝水的水桶,所以我們必須通過TMOD這個寄存器選擇哪使用哪一個水桶(也就是選擇哪一種工作方式);至于為什么要賦初值前面我實際已經有講到過,計數器從全是裝0到全部裝1的整個時間是固定的,而我們實際用使用需要不同的定時間,所以我們必須先在計數器內先裝一些數,然后在這個基本上進行加1計數,就可以得到我們想要的定時時間。
定時器總共有四種工作方式,而因為定時器工作方式1比較常用,所以這里僅對定時器0工作方式1進行介紹,并介紹如何賦初值。
方式1的計數位數是16位,由TL0作為低8位、TH0作為高8位,組成了16位加1計數器 ,其邏輯結構圖如圖3所示。
 
圖3 定時器0工作方式1邏輯結構圖
當GATE=0,TR0=1時,TL0便在機器周期的作用下開始自動加1,當加了256次后自動向前進一位,直到TH0也計滿,然后溢出,置標志寄存器TF0=1,如果此時設置了中斷允許,CPU便作進入中斷函數內進行中斷程序的處理。注意,此時若TR0=1一直打開的話,計數器滿后會全部自動清零,然后重新重復以上過程,直到TR0=0時結束。
接下來講解如何計算定時器的初值問題。定時器一旦啟動,它便在原來的數值基礎上開始加1計數,若在程序開始時,我們沒有設置TH0和TL0,它們的默認值都是0,假設時鐘頻率為12MHZ,12個時鐘周期為一個機器周期,那么此時的機器周期就是1us,計滿TH0和TL0就需要2X16-1,再來一個脈沖,計數器就溢出,隨即向CPU申請中斷。因此溢出一次的時間為65536us,約等于65.5ms,如果我們要定時50ms,此時就需要向TH0t和TL0里面先賦初值,在這個初值的基礎上計50000個數后,定時器溢出,此時剛好就是50ms中斷一次,如需要定時1S時,在寫程序時當產生20次50ms的定時器中斷后便認定是1s,這樣便可以精確制定定時時間了。要定時50ms,即要計50000個數,TH0和TL0中應該裝的總數是65536-50000=15536,把15536對256求模:15536/256裝入TH0中,把15536對256求余:15536%256裝入TL0中就可以了。
以上就是定時器賦初值的計算方法,總結后可以得出以下結論:當用定時器的方式1時,設機器周期為t ,定時器產生一次中斷的時間為T,那么需要計數的個數N=T/t,裝放THX和TLX中的數分別為:
THX=(65536-N)/256 ,TLX=(65536-N)%256
要計算機器周期t,就需要知道系統的時鐘頻率,也就是單片機外接晶振的頻率,實驗板上的時鐘頻率為11.0592MHZ,那么機器周期為12X(1/11059200)=1.09us,若T=50ms.那么N=50000/1.09=45873,如果晶振為12MHX的話,用同樣的方法算出來N=50000.
4程序舉例
下面我們舉一個例子,用單片機的定時器0、工作方式1和中斷技術實現讓L1以間隔1s的時間閃爍。
這里我們先總結一下,在使用定時器主要對定時器作相應的初始化,其步驟為:
(1)對TMOD賦值
選擇計數或者定時
確定T0或T1的工作方式。
(2)計算初值,并將其寫入TH0、TL0或TH1、TL1。
(3)使TR0或TR1置位,啟動定時/計數器定時或計數。
(4)需使用中斷方式時,則對IE等賦值,開放中斷
下面我們給出相關程序。
例1:1357燈以間隔1s的時間閃爍。
 
#include<reg52.h>//頭文件,主要用來聲明,特殊功能寄存器的地址
#define uint unsigned int//宏定義
#define uchar unsigned char//宏定義
sbit D1=P1^0;//位聲明
uchar time;//定義變量time為無符號字符型
void main()//主函數
{
       TMOD=0x01;//設置定時器0為工作方式1
       TH0=(65535-50000)/256;//定時50ms賦初值15535
       TL0=(65535-50000)%256;
       EA=1;//開總中斷
       ET0=1;//開定時器0中斷
       TR0=1;//啟動定時器0
          //上面6行為定時器和中斷初始化程序  
       while(1);//停在這里等待中斷產生
                    
}
void tim1() interrupt 1//中斷子函數,功能為500ms燈滅一次
{
       time++;//進入一次中斷time自加1
       if(time==10)//如果自加到10,相當于500ms
       {
              D1=~D1;//燈亮滅交替
              time=0;//time清零
       }
}
程序下載到51hei實驗板上的現象如圖4所示:
圖4 L1燈以間隔1s的時間閃爍
關閉窗口

相關文章

国产日产久久高清欧美一区| 亚洲AV无码国产成人久久| 久久久久久尹人网香蕉| 欧美视频中文一区二区三区在线观看| 久草精品在线观看| 欧美人与物videos另类xxxxx| 伊人在线视频| 九九免费视频| 日本高清视频在线| 欧美成人免费观看视频 | 日韩av一区在线| 一区二区三区在线影院| 国内精品自线一区二区三区视频| 国产精品亚洲人成在99www| 悠悠资源网亚洲青| 九色在线播放| h片在线观看免费| 狠狠鲁男人天堂| 精品国产青草久久久久96| 国产午夜精品久久久久久久久| 国产精品入口免费软件| 亚洲人一区二区| 51成人做爰www免费看网站| 久久久亚洲网站| 亚洲人成网在线播放| 欧美日韩一区在线观看| 亚洲国产精品尤物yw在线观看| 99久久精品费精品国产一区二区| 久久国产日本精品| 亚洲h色精品| 欧美韩一区二区| 四虎国产精品成人免费影视| av日韩国产| 男人的天堂在线视频免费观看 | 精品国产不卡| 日韩精品成人在线观看| 国产探花在线观看| 亚洲成人影院麻豆| 最新天堂资源在线资源| 激情综合色综合啪啪开心| 亚洲精品人成网在线播放影院| 国产又粗又猛又黄又爽| 久久免费激情视频| 91动漫免费网站| bl动漫在线观看| 亚洲美女性囗交| 亚洲色成人www永久在线观看| 久久亚洲午夜电影| 91偷拍精品一区二区三区| 国产91成人video| 久久手机免费视频| 亚洲美女自拍视频| 欧美一区二区三区人| 欧美视频精品一区| 一区二区三区日韩在线观看| 国产欧美日本一区视频| 99精品久久99久久久久| 国产成人亚洲综合a∨婷婷| 免费看黄色91| 一区二区精品| 黄色工厂这里只有精品| 91精品国偷自产在线电影 | 成人四虎影院| 在线观看涩涩| 特黄毛片在线观看| 国产精选在线| 爱搞国产精品| 蜜臀av在线| 最新av在线播放| 日本精品在线| 久草中文在线观看| 日本视频在线观看| 成年人黄视频在线观看| 在线免费观看的av| 在线播放免费av| 欧美xxx黑人xxx水蜜桃| 影音先锋在线播放| 欧美黄色视屏| 天天色天天射天天综合网| 国内外激情在线| 永久免费网站在线| 三妻四妾的电影电视剧在线观看| 美女露胸视频在线观看| 网友自拍亚洲| 国产视频一区二| 超碰在线一区| 国产一区二区区别| 久久久国产精品| 在线观看不卡| 免费看欧美女人艹b| 国产精品1024| 国产色产综合色产在线视频| 国产精品久久久久久久久免费丝袜 | av在线中出| 成人私拍视频| 91精品麻豆| 啪啪国产精品| 一区二区免费不卡在线| 日韩视频在线一区二区三区| 日韩电影在线免费看| 国产寡妇亲子伦一区二区| 成人动漫一区二区| 亚洲视频在线一区观看| 狠狠做深爱婷婷久久综合一区| 欧洲一区二区三区在线| 日韩欧美一区中文| 在线播放国产一区二区三区| 久久久久国产视频| 91日本视频在线| 日本一区高清不卡| 日韩网站在线免费观看| 日韩一区二区三区久久| 国产精品一区二区入口九绯色| 97在线观看免费高| 中日韩在线观看视频| 免费a级片在线观看| 麻豆精品国产自产在线| 18成人免费观看视频漫画| 天堂中文字幕在线| 91福利在线尤物| 日本在线视频一区二区三区| 91麻豆精品国产91久久久平台| 国产视频欧美| 91蜜桃视频在线| 婷婷成人综合网| 精品电影一区二区三区| 九色91av视频| 国产精品久久久久av福利动漫| 日韩一二区视频| 女教师高潮黄又色视频| 久久网中文字幕| 日本高清视频在线| 比比资源先锋| 日本三级视频在线播放| 久久天堂影院| 欧美一区91| 不卡的av在线| 日韩欧美国产高清91| 亚洲国产精品视频| 亚洲国产99精品国自产| 91成人福利在线| 欧美综合激情| 污污的视频免费观看| 国产一二三四区| 香蕉视频免费在线看| 爱爱永久免费视频| 黄色影院在线看| 亚洲人亚洲人色久| 日本欧美韩国一区三区| 亚洲人成精品久久久久久| 日韩视频在线你懂得| 久久人91精品久久久久久不卡| 你懂的网址一区二区三区| 视频二区在线播放| 国产乡下妇女做爰| 欧美妇乱xxxxx视频| 四虎影视在线观看2413| 成人看片毛片免费播放器| 伊人久久大香线| 国产亚洲视频系列| 日韩欧美综合一区| 国产成+人+综合+亚洲欧洲| 中文网丁香综合网| 国产成人无码精品久久二区三| 国产欧美日韩成人| 大陆一级毛片| 免费日韩成人| 日韩福利视频网| 精品久久久久久久久中文字幕| 一个色综合导航| 久久久久网址| 日本三级日本三级日本三级极| 中文字幕视频免费观看| 97在线观视频免费观看| 国产精品亚洲一区二区三区在线观看| 亚洲午夜久久久久久尤物| 成人免费在线观看入口| 国产一区二区黑人欧美xxxx| 精品一区二区三区免费毛片| 日韩少妇一区二区| 亚洲第一免费视频| 一级黄色在线| 精品一区二区男人吃奶| 国产精品伊人色| 日韩一区二区免费高清| 亚洲最大av网站| 国产综合内射日韩久| www.色播.com| 黄网在线观看| 色综合天天爱| 亚洲视频网在线直播| 成年人精品视频| 国产av熟女一区二区三区| 青娱乐在线视频免费观看| 免费三片60分钟| 欧美videos粗暴| 国产激情一区二区三区四区| 欧美刺激脚交jootjob| 97人人干人人| 亚洲国产果冻传媒av在线观看| 色哟哟国产精品色哟哟| 日本美女在线中文版| 亚洲一区二区三区| 亚洲国产综合色| 日韩av大片免费看| 五月激情五月婷婷| 丰满少妇高潮在线观看| 最新av网站在线观看| 99热在线免费| 9l视频自拍九色9l视频成人| 99久久精品99国产精品| 国产香蕉一区二区三区在线视频 | 在线成人中文字幕| 久久av喷吹av高潮av| 日本一区二区三区免费视频| 草草久视频在线观看电影资源| 8x国产一区二区三区精品推荐| 99久久伊人久久99| 最近2019好看的中文字幕免费| 超碰97在线看| 中文在线最新版天堂| 国产亚洲依依| 国产人成精品一区二区三| 欧美日韩国产精品自在自线| 国产精品一区二区三区免费| 91禁男男在线观看| 偷窥自拍亚洲色图| 一区二区三区日本久久久 | 91久久精品久久国产性色也91| 无码任你躁久久久久久老妇| 欧美性xxxxx极品视频| 日本欧美日韩| wwwwxxxxx欧美| 久久人人爽人人| 国产成人精品一区二区在线小狼| 欧美激情一级二级三级在线视频| 九九九伊在线综合永久| 99亚偷拍自图区亚洲| 欧美久久精品一级黑人c片| 欧美特级aaa| 久久久久88色偷偷| 色婷婷成人网| 国产精品久久久久久一区二区三区| 日产精品99久久久久久| 成人影视免费观看| 天天干天天草| 欧美先锋资源| 欧美日韩在线三区| 男人j进女人j| 亚洲av无码乱码在线观看性色| h片在线观看下载| www.色综合.com| 国产69久久精品成人| 亚洲精品午夜视频| 国产视频一二| 极品少妇一区二区三区| 亚洲变态欧美另类捆绑| 日本欧美黄色片| 亚洲不卡1卡2卡三卡2021麻豆| а√天堂资源国产精品| 亚洲欧美综合另类在线卡通| 成人av播放| 欧美黄色一级大片| 欧美videossex| 99精品久久久久久| 国产热re99久久6国产精品| 国产女人18水真多毛片18精品| 淫视频在线观看| 午夜影院日韩| 久久午夜a级毛片| 国产91精品久久久| 日本女人性生活视频| 亚洲一区二区三区精品中文字幕| 国产精品入口66mio| 中文字幕欧美精品在线| 99国产精品免费视频| av三级影院| 久久精品五月| 欧美日韩国产二区| 熟女俱乐部一区二区视频在线| 欧美另类极限扩张| 国产美女一区二区三区| 日本成人在线视频网址| 成年人午夜剧场| 欧美人与禽性xxxxx杂性| 国产精品美女久久久久aⅴ| 精品一区二区日本| 人妻精品一区二区三区| 精品人人人人| 日韩欧美一区在线| 狠狠干狠狠操视频| 波多野结衣在线中文| 日本不卡视频在线观看| 欧美一区二区三区……| 久久婷婷国产麻豆91| 日韩电影毛片| 欧美视频在线免费看| 男人靠女人免费视频网站| 九九大香尹人视频免费| 久久xxxx精品视频| 18性欧美xxxⅹ性满足| 一级aaa毛片| jvid一区二区三区| 欧美日本高清视频在线观看| 538任你躁在线精品免费| av网站免费| 国产精品小仙女| 91九色露脸| 蜜桃91麻豆精品一二三区| 日韩极品在线| 夜夜嗨av色综合久久久综合网| 免费毛片视频网站| 久久99精品久久久久久野外| 亚洲欧美日韩人成在线播放| 美女av免费观看| 黄网站免费看| 久久精品av麻豆的观看方式| 91在线观看免费高清| 精品欧美在线观看| 欧美热在线视频精品999| 色系列之999| 久久精品亚洲无码| 国产成人免费av一区二区午夜| 欧美精品xxxxbbbb| 无码人妻丰满熟妇啪啪网站| 人人干人人看| 久久久久久久久丰满| 91极品视频在线| 在线视频欧美亚洲| 亚洲精品亚洲人成在线| 日韩小视频网址| 日韩一区二区视频在线| 日韩中文字幕视频网| 亚洲欧洲av一区二区| 精品久久sese| 亚洲精品天堂在线| 丝袜亚洲另类丝袜在线| 亚洲一区二区三区777| 香蕉视频国产在线| 亚洲一区欧美激情| 99re在线观看| 久久久精品久久久久特色影视| 性久久久久久| 国产精品中出一区二区三区| 精品一区二区三区五区六区七区| 久久精品网址| 欧美另类一区| 4444kk在线观看| 久久综合色天天久久综合图片| 男女爱爱视频网站| 黄动漫在线免费观看| 亚洲女爱视频在线| 免费看涩涩视频| 国模私拍视频在线播放| 欧美婷婷六月丁香综合色| 日本一区二区在线观看视频| 538在线观看| 精品三级在线观看| 粉嫩av性色av蜜臀av网站| 久久久亚洲欧洲日产| 欧美激情免费视频| 丰满人妻一区二区三区免费| 久久精品午夜| 亚洲成人a**址| 一级毛片国产| 欧美午夜精品久久久久久人妖| 玖草视频在线观看| 亚洲精品毛片| 美女少妇精品视频| 粉嫩av一区二区夜夜嗨| 伊人成人在线| 国产精品露出视频| 亚洲 美腿 欧美 偷拍| 理论片日本一区| 国产又大又长又粗又黄| 在线观看中文字幕| 91黄色免费观看| 日本美女黄色一级片| 欧美绝顶高潮抽搐喷水合集| 91超碰caoporn97人人| 踪合国产第二页| 99视频精品全部免费在线| 日韩黄色片视频| 丁香花在线电影| 尤物99国产成人精品视频| 国产普通话bbwbbwbbw| 日韩精品一级二级| 中国老女人av| 嫩草香蕉在线91一二三区| 欧美变态凌虐bdsm| 免费精品一区二区| 老司机久久99久久精品播放免费| 亚洲国产欧美一区二区三区不卡| 波多野结衣中文字幕在线| 欧美日韩综合在线免费观看| 日韩精品一区二区三区国语自制| 欧美精品首页| 一区二区三区四区视频在线观看| 1pondo在线播放免费| 日韩电影网在线|