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的時間閃爍
關閉窗口

相關文章

桃子视频成人app| 久久亚洲影视婷婷| xxxxx.日韩| 天天干狠狠干| 亚洲欧美自偷自拍| 国产免费观看久久黄| 欧美日韩免费观看一区三区| 成人免费观看视频| 欧美国产专区| 尤物视频网站在线观看| 在线永久免费观看黄网站| 欧美日韩人妻精品一区二区三区| 亚洲人辣妹窥探嘘嘘| 欧美寡妇偷汉性猛交| 欧美日韩免费高清一区色橹橹 | 久久精品久久久久久国产 免费| 精品国产999| 久久久精品人体av艺术| 日韩精品亚洲一区二区三区免费| 日韩电影免费观看| 成色在线视频| 欧美日韩亚洲第一页| 最近中文字幕免费在线观看| 国产白丝一区二区三区| 天美一区二区三区| 中文字幕人妻熟女人妻洋洋| 国产欧美一区二区在线播放| 欧美亚州一区二区三区| 国产亚洲美女久久| 日韩视频在线观看一区二区| 天天av天天翘天天综合网色鬼国产| 99re66热这里只有精品3直播| 国产三级精品三级在线观看国产| 调教一区二区| 你懂的视频在线播放| av777777| 女人被狂躁到高潮的免费| 亚洲人成影院77777| 国产精品视频无码| 中文字幕免费观看| 黑人巨大精品一区二区在线| 国产成人无码精品久久二区三| 亚洲免费av一区| 黑森林福利视频导航| www.欧美黄色| 手机成人av在线| 欧美亚洲免费电影| 欧美不卡视频一区发布| 色一情一乱一乱一91av| 亚洲黄色小说网站| 国产精品久久久久7777按摩 | 国产成人一区二区三区影院| 日韩欧美高清一区二区三区| 玖玖精品在线| 国产精品久久久久77777丨| 高清毛片在线观看| 久草在线视频资源| 久草.com| 四虎在线视频免费观看| 欧美黑人一级片| 日韩一级片在线免费观看| 星空大象在线观看免费播放| 农村末发育av片一区二区| 在线观看一区二区三区三州| 久久青青草原| 精品国产一区二区三| 国产欧美日韩伦理| 蜜桃999成人看片在线观看| 丁香婷婷久久久综合精品国产| 亚洲一区二区久久久久久久 | 中文字幕美女视频| 亚洲色偷偷综合亚洲av伊人| 91社区视频在线观看| 国产伦理片在线观看| 久久久久久久久福利| 久久久久亚洲av片无码| 日本少妇激情视频| 日韩xxx视频| 国产ts变态重口人妖hd| 欧美视频在线观看一区二区三区| 久久久久黄色片| 中文字幕影音先锋| 国产午夜福利片| 久久精品视频7| 国产又粗又猛视频免费| 熟妇人妻中文av无码| 亚洲精品人成电影网| 高清精品一区二区三区一区| www.精选视频.com| 午夜影院免费播放| 黄色片在线免费看| 黄视频在线免费看| 97成人超碰| 精品人人人人| 偷拍欧美精品| 老鸭窝毛片一区二区三区| 久久精品国产精品青草| www.亚洲激情.com| 一二三区精品视频| 在线观看91av| 国产亚洲精品久久久| 九色成人免费视频| 国产主播精品在线| 视频一区二区综合| 大j8黑人w巨大888a片| 日本在线观看免费视频| 特级西西人体wwwww| 超碰人人草人人| 四虎成人免费视频| 青青草原免费观看| 国产一区二区麻豆| 欧美人成在线观看网站高清| 国产无遮挡又黄又爽免费网站| 欧美孕妇孕交xxⅹ孕妇交| jk破处视频在线| 午夜毛片在线| 色婷婷成人网| 天天超碰亚洲| 国产精品一区二区久久精品爱涩 | 日本91av在线播放| 欧美激情一区二区久久久| 国产精品jvid在线观看蜜臀| 国产91精品久| 精品网站在线看| 亚洲国产精品久久久久婷蜜芽| 日本三级日本三级日本三级极| 精品国产视频在线观看| 国产男女无套免费网站| 九九在线免费视频| 青青青青在线| sqte在线播放| 最新国产一区二区| aⅴ色国产欧美| 久久久亚洲精品一区二区三区| 婷婷国产v国产偷v亚洲高清| 亚洲精品影视在线观看| 国产精品欧美日韩久久| 亚洲va久久久噜噜噜久久天堂| 在线看视频不卡| 国产xxx在线观看| 久久久国产高清| 四虎激情影院| 日本一区高清| 精品一区二区三区中文字幕| 黄色亚洲精品| 久久国产精品露脸对白| 亚洲视频在线一区| 日韩不卡在线观看| 中文字幕亚洲欧美一区二区三区| 欧美高清视频一区二区| 好吊色欧美一区二区三区| 任你操这里只有精品| 国产精品99久久久久久成人| 天堂中文字幕av| 亚洲人成小说| 99国产精品久久一区二区三区| 久久国产成人| 亚洲va韩国va欧美va精品| 久久人人爽人人爽人人片亚洲| 精品乱码一区二区三区| 五月婷婷激情久久| av黄色在线看| 免费av福利| 久久野战av| 亚洲欧美日韩精品一区二区| 亚洲综合精品自拍| 日韩网站免费观看| 亚洲春色综合另类校园电影| 欧美亚一区二区三区| 欧美 日韩 国产 在线| 午夜成人影视| 欧美性生活一级片| 91久久中文| 亚洲主播在线观看| 美女福利视频一区| 欧美另类videos| 中文字幕人妻无码系列第三区| 欧美一级淫片免费视频黄| 天天操天天舔| 日韩精品一页| 国产suv精品一区二区三区| 宅男噜噜噜66一区二区66| 国产精品中文久久久久久久| 天天操天天爽天天射| 美女100%露胸无遮挡| 男人天堂网av| 一色桃子av在线| 国产精品大片免费观看| 亚洲自拍偷拍图区| 久久久免费电影| 久久久999视频| 日本视频www色| 亚洲成人影院在线观看| 欧美日韩国产免费观看视频| 亚洲欧美综合在线精品| 精品国产凹凸成av人导航| 91黑丝在线观看| 日本一区高清不卡| 亚洲精品91在线| 淫行教师动漫| 日韩欧美一区二区三区在线观看| 奇米色一区二区三区四区| 91精品国产综合久久香蕉麻豆 | 日韩av在线播放资源| 蜜桃传媒一区二区| 51精品免费网站| 免费99热在线观看| 超碰成人免费| 国产精品国产a级| 97视频在线观看免费高清完整版在线观看| 黄色免费福利视频| 国产又黄又粗又猛又爽| jizz视频在线观看| 中文高清一区| 91精品国产色综合久久不卡电影 | 免费观看成人毛片| 国内精品卡一卡二卡三新区| 三级成人在线| 国产福利不卡视频| 中文国产成人精品| 成人在线观看你懂的| 国产乱淫av片免费| 午夜伦理大片视频在线观看| 日韩国产精品大片| 亚洲欧美国产日韩天堂区| 米仓穗香在线观看| 国产ts变态重口人妖hd| bl在线肉h视频大尺度| 午夜久久tv| 欧美三级电影在线观看| 欧美日韩亚洲免费| 欧美在线观看不卡| 爱久久·www| 日日摸夜夜添夜夜添国产精品| 精品成人佐山爱一区二区| 免费的av在线| www.国产黄色| 免费一级在线观看播放网址| 欧美日韩中文| 日韩视频一区二区三区| 欧美视频在线第一页| 香蕉免费毛片视频| 成人免费在线视频网| 免费人成在线不卡| 精品国产欧美一区二区五十路| 国产原创精品在线| 国产大奶视频| 成人激情电影在线| 日韩一卡二卡三卡国产欧美| www.xxx麻豆| 久久香蕉综合色一综合色88| 日韩精品一区二区三区中文 | 国产一区二区三区黄| 五月天综合激情| gogogogo高清视频在线| 亚洲精品123区| 日韩精品高清在线观看| 日日噜噜夜夜狠狠| 免费能直接在线观看黄的视频| 国内精品视频在线观看| 91麻豆精品国产91久久久久久久久 | 中文字幕视频在线播放| 2020国产在线| 国产精品成人免费精品自在线观看 | 久久bbxx| 成人av在线网站| 国产精品主播视频| 日本高清www免费视频| 成人日批视频| 国产精品网站一区| 免费在线成人av| 性一交一乱一伧老太| 日韩精品一区二区三区中文在线| 欧美日韩中文在线| 国产91沈先生在线播放| 国产精品9区| 你懂的视频一区二区| 中文字幕欧美视频在线| 亚洲高清无码久久| 男女网站在线观看| 99久久精品免费精品国产| 成人国产精品久久久| 欧美一级淫片免费视频黄| 精品网站在线| 粉嫩av一区二区三区免费野| 毛片av在线播放| 日本黄色免费网址| 久久精品女人天堂| 欧美一级片在线播放| 日韩女优在线观看| 国产黄色精品| 欧美日本国产一区| 午夜精品久久久久久久99热影院| 777永久免费网站国产| 男男视频亚洲欧美| 国产精品中文字幕久久久| 在线免费观看av片| 久久国产精品免费精品3p| 亚洲国产欧美一区二区三区同亚洲| 亚洲综合中文网| 韩日在线视频| 中文字幕一区二区三区四区不卡| 亚洲国产成人不卡| 91电影91视频| 日本在线不卡视频| 成人午夜在线视频一区| 先锋资源一区| 精品久久影院| 欧美中文字幕第一页| 欧美在线激情| 性色av免费观看| 成人小电影网站| 亚洲一区二区五区| av在线免费观看国产| 黄色网址免费在线| 欧美亚洲在线| 国产精品日韩在线播放| 6—12呦国产精品| 小嫩嫩12欧美| zzjj国产精品一区二区| 久久精品女人毛片国产| 日韩一区二区三区四区五区| 欧美一卡二卡在线| 亚洲の无码国产の无码步美| 国产原创在线观看| 色综合久久88色综合天天6 | 免费看一级毛片| 久久精品主播| 成人做爽爽免费视频| 国产精品中出一区二区三区| 国产视频一二三四区| 不卡一区综合视频| 久久久久久国产精品| 成人免费视频国产免费| 日本在线观看高清完整版| 精品久久中文字幕久久av| 午夜久久久精品| 岛国最新视频免费在线观看| 一区av在线播放| 天美星空大象mv在线观看视频| 可以在线观看的黄色| 亚洲va欧美va天堂v国产综合| caoporm在线视频| 天天干夜夜干| 国产精品国产三级国产普通话蜜臀| 大j8黑人w巨大888a片| 麻豆导航在线观看| 欧美色另类天堂2015| 亚洲最大视频网| 老牛影视精品| 亚洲国产精久久久久久| 99久久婷婷国产综合| 国产精品xxxav免费视频| 久久6免费高清热精品| 精品国产av一区二区| 国产亚洲毛片| 欧美精品一区二区三区在线看午夜 | 污污视频在线| 在线播放一区二区三区| 二区三区四区视频| 久久精品色综合| 欧美性受xxxx白人性爽| 中文字幕精品—区二区日日骚| xxxx69视频| 一区二区三区精品视频| 91精品啪在线观看国产| www.精品国产| 欧美人与性动交| 无码精品在线观看| 国内成人免费视频| 成人性生交大片免费观看嘿嘿视频| 中文字幕高清av| 不卡视频一二三四| 久久久久久久久久久免费视频| 黄色av电影在线播放| 精品国产99国产精品| 中文字幕一区二区三区四区欧美| 欧美另类专区| 欧美精品123| 免费黄色在线视频网站| 欧美一区二区三区啪啪| 91精品国产综合久久久蜜臀九色| 午夜精品久久99蜜桃的功能介绍| 农村寡妇一区二区三区| 一区二区成人| 日韩一区二区免费高清| 色av性av丰满av| 国产精品毛片在线| 少妇精品久久久久久久久久| 日本天堂影院在线视频| 欧美一区二区三区系列电影| 性色av免费观看| 久久精选视频| 欧美网站免费观看| videos性欧美另类高清| 欧美成人中文字幕在线| 九色国产蝌蚪视频| 亚洲欧洲www| 18啪啪污污免费网站| 久久中文字幕二区|