電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>單片機(jī)“定時(shí)器”是做什么用的?如何實(shí)現(xiàn)?資料下載

單片機(jī)“定時(shí)器”是做什么用的?如何實(shí)現(xiàn)?資料下載

2021-04-07 | pdf | 229.67KB | 次下載 | 2積分

資料介紹

本連載主要介紹為了應(yīng)用單片機(jī)而無(wú)法避開的必需的外設(shè)功能。本連載中,將以搭載了瑞薩電子的單片機(jī)--RX63N的電路板“GR-SAKURA”為例進(jìn)行說(shuō)明,請(qǐng)你也實(shí)際操作試試看! 一手包辦有關(guān)時(shí)間和時(shí)刻的處理! 在單片機(jī)中,不僅頻繁地使用“○月○日○點(diǎn)○分”這種時(shí)刻顯示,顯示過(guò)去的時(shí)間和一定的周期這種形式也被頻繁地使用。例如,“該程序從運(yùn)行開始過(guò)去了多少時(shí)間?”、“每秒輸送128次信號(hào)”等等。另外,還經(jīng)常被用于“等待指定的時(shí)間”、“經(jīng)過(guò)指定的時(shí)間后將轉(zhuǎn)移到下一個(gè)處理”這樣的情況。對(duì)這些與時(shí)間和時(shí)刻有關(guān)進(jìn)行處理的外設(shè)功能就是定時(shí)器(圖1)。 圖1:定時(shí)器就是進(jìn)行與時(shí)間、時(shí)刻有關(guān)的處理 我們也可以不使用外設(shè)功能(硬件)的定時(shí)器,而是通過(guò)軟件來(lái)計(jì)算時(shí)間。下面通過(guò)圖2來(lái)說(shuō)明使用軟件來(lái)定時(shí)的示例,圖中假設(shè)循環(huán)(重復(fù))部分的處理需要費(fèi)時(shí)1μs(微秒:100萬(wàn)分之1秒)。由此可以計(jì)算出該循環(huán)部分重復(fù)1000次需要花費(fèi)1ms(毫秒:千分之1秒),重復(fù)100萬(wàn)次則需費(fèi)時(shí)1秒。即:通過(guò)“等待經(jīng)過(guò)循環(huán)處理所指定的時(shí)間”來(lái)計(jì)算時(shí)間。但是,CPU將會(huì)集中進(jìn)行時(shí)間計(jì)算的處理而無(wú)法進(jìn)行其他處理。而且,只能計(jì)算一個(gè)周期的時(shí)間。而現(xiàn)實(shí)當(dāng)中,單片機(jī)需要對(duì)應(yīng)0.1秒和1/1024秒等各種周期的時(shí)間。 另外,CPU的計(jì)時(shí)器頻率(驅(qū)動(dòng)速度)也將對(duì)軟件產(chǎn)生影響。如果將100MHz驅(qū)動(dòng)的CPU改為50MHz,那么循環(huán)1次所需的時(shí)間將變?yōu)樵瓉?lái)的兩倍。因此,需要對(duì)計(jì)算時(shí)間的軟件進(jìn)行修正。如上所述,由于在管理上既花時(shí)間又容易出錯(cuò),所以要極力避免通過(guò)軟件來(lái)計(jì)算時(shí)間。 圖2:通過(guò)軟件定時(shí)的定時(shí)器示例 稍微介紹一下中斷的內(nèi)容…… 下面,我們簡(jiǎn)單介紹一下和定時(shí)器不可分割的技術(shù)——“中斷功能”。單片機(jī)中的“中斷功能”是指某個(gè)程序在執(zhí)行過(guò)程中,因某種原因而發(fā)出“開始進(jìn)行其他處理”的請(qǐng)求。由于可以使用中斷功能,所以可使CPU不集中進(jìn)行一個(gè)處理。 讓我們想象一下日常生活中用到“中斷功能”的情景,當(dāng)我們把熱水倒入方便面盒中后,如果我們?cè)?分鐘內(nèi)一直盯著時(shí)鐘看,那么這段時(shí)間內(nèi)我們就不能做其它事情。但如果用廚房定時(shí)器設(shè)定3分鐘的時(shí)間,在廚房定時(shí)器的警報(bào)響起之前我們便可以去做其它事情。在這個(gè)例子中,“一直盯著時(shí)鐘看”就相當(dāng)于前一節(jié)中所介紹的“等待經(jīng)過(guò)循環(huán)處理所指定的時(shí)間”,所以在處理結(jié)束之前不能去做其它事情。同時(shí),廚房定時(shí)器的警報(bào)就相當(dāng)于中斷功能。在中斷發(fā)生前還可以去做其它事情。 單片機(jī)的外設(shè)功能中有各種各樣的定時(shí)器,這些定時(shí)器在經(jīng)過(guò)指定的時(shí)間或處理結(jié)束時(shí)向CPU發(fā)送中斷信號(hào)。不僅是定時(shí)器,很多外設(shè)功能都會(huì)在“產(chǎn)生變化”、“處理開始/結(jié)束”時(shí)將中斷信息傳送給CPU。所以,CPU在中斷功能發(fā)生前還可以繼續(xù)做其它工作,因此可提高作業(yè)效率。關(guān)于中斷功能的詳細(xì)內(nèi)容,將在本系列第4期的《外部中斷功能IRQ》中做詳細(xì)介紹。本期中,我們先事先了解一下“從外設(shè)功能以中斷的形式向CPU傳送信息”的內(nèi)容。 各式各樣的定時(shí)器中,還有“看門狗定時(shí)器”! 在單片機(jī)的外設(shè)功能中,最貼心的定時(shí)器是計(jì)算到指定時(shí)間的定時(shí)器和每隔一段時(shí)間便發(fā)生中斷的定時(shí)器。另外,在瑞薩電子的RX63N單片機(jī)中,搭載了為控制伺服電動(dòng)機(jī)而產(chǎn)生脈寬調(diào)制解調(diào)(PWM)信號(hào)的定時(shí)器、計(jì)算輸入信號(hào)間隔的定時(shí)器、顯示現(xiàn)在時(shí)刻的RTC(實(shí)時(shí)時(shí)鐘)等各種各樣的定時(shí)器。 在定時(shí)器中,最具特色的是WDT(看門狗定時(shí)器)。其名字Watch Dog Time中的Watch dog意思為“看門狗”,它的工作就是監(jiān)視程序是否出現(xiàn)失控。由WDT監(jiān)視的程序通過(guò)事先將設(shè)定的值寫入WDT后啟動(dòng)。WDT每隔一定時(shí)間便減掉寫入的值,當(dāng)程序正常運(yùn)行時(shí),處理結(jié)束前會(huì)對(duì)WDT清零再結(jié)束。但是,如果程序失控(進(jìn)入意料之外的重復(fù)狀態(tài)且無(wú)法停止)時(shí),寫入WDT的值將小于0(稱為下溢),因此向CPU通知程序出現(xiàn)了失控。在不允許睡眠的重要系統(tǒng)中,單片機(jī)中搭載的“看門狗定時(shí)器”―WDT發(fā)揮了極其重要的作用。 輕松嘗試使用定時(shí)器 雖然說(shuō):“我們就通過(guò)程序來(lái)實(shí)際使用定時(shí)器……”,但是實(shí)際上,要想熟練運(yùn)用定時(shí)器,必須先理解單片機(jī)的操作步驟。而且,不僅需要了解通過(guò)軟件進(jìn)行操作的步驟,還需理解單片機(jī)的硬件(結(jié)構(gòu))以及所使用的零部件的規(guī)格等。 因此,需要幫助時(shí)請(qǐng)使用“數(shù)據(jù)庫(kù)”。對(duì)于搭載了RX63N單片機(jī)的GR-SAKURA電路板,我們準(zhǔn)備了幾個(gè)與時(shí)間和時(shí)刻有關(guān)的數(shù)據(jù)庫(kù)(參照以下鏈接)。 (僅英文版) 在這個(gè)程序中,要讓GR-SAKURA上的LED在一定周期內(nèi)發(fā)光。雖然僅是很簡(jiǎn)單的操作,但是要想讓LED在正確的周期內(nèi)發(fā)光就需要使用定時(shí)器。在上述櫻花程序庫(kù)的“時(shí)間”選項(xiàng)內(nèi),有計(jì)算經(jīng)過(guò)時(shí)間的數(shù)據(jù)庫(kù),所以我們就使用它。 程序如圖3所示。第14行的millis函數(shù)以從程序開始時(shí)經(jīng)過(guò)的時(shí)間ms(毫秒:千分之一秒)為單位送回,沒有參數(shù)。使用該函數(shù),通過(guò)獲取和最初的測(cè)定(第14行)之間的差距來(lái)取得1秒后、2秒后的結(jié)果。用while語(yǔ)言生成循環(huán),從a的值等待1秒或2秒(第15行、第19行)。于是,1秒后LED0(GR-Sakura電路板的D1)亮燈,2秒后滅燈。滅燈后結(jié)束loop函數(shù),但是該操作會(huì)再次反復(fù)繼續(xù)執(zhí)行。另外,millis函數(shù)沒有符號(hào),將返回long型的整數(shù)。 圖3:使用定時(shí)器功能使LED亮燈的程序。此例中,以1秒鐘為周期閃爍。 ※//~是用于進(jìn)行評(píng)價(jià),對(duì)程序的執(zhí)行不產(chǎn)生影響 將程序輸入Web編譯器,再將編譯完成后的二進(jìn)制文件傳送給GR-SAKURA。傳送結(jié)束后,4個(gè)LED燈將暫時(shí)熄滅后再開始執(zhí)行,LED0(GR-Sakura電路板的D1)開始閃爍。 本期我們講解了必要的外設(shè)功能之一“定時(shí)器”。有關(guān)時(shí)間和時(shí)刻的處理,在各種場(chǎng)合都需要。請(qǐng)大家借此機(jī)會(huì)實(shí)際操作各種數(shù)據(jù)庫(kù)。 但是,文中的“毎秒128次”和“1/1024秒”這些數(shù)字突然冒出來(lái),是否讓你吃了一驚呢?128是2的7次方,1024是2的10次方。RTC中具有每1/128秒產(chǎn)生一次中斷的功能……這是在單片機(jī)的世界中經(jīng)常看到的數(shù)字。? (mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)