




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單片機(jī)原理與應(yīng)用大課(1)CC2530中斷原理(難點(diǎn))(2)CC2530外部中斷編程(重點(diǎn))小課(1)串口通過標(biāo)志位發(fā)送接收串口初始化:時鐘、位置、方式、波特率、優(yōu)先級等;串口發(fā)送:等待、清0、發(fā)送;串口接收:等待、接收(2)CC2530外部中斷外部中斷初始化:輸入方式、清除中斷標(biāo)志位、合上開關(guān);中斷響應(yīng)程序:教學(xué)回顧#pragmavector=中斷向量地址__interruptvoid中斷函數(shù)名(void) {
中斷處理;
中斷清除; }1.定時器概述;2.各種定時器工作原理(難點(diǎn));3.定時器1工作方式(重點(diǎn));本周教學(xué)主要內(nèi)容教學(xué)目標(biāo)理解CC2530定時器的原理;掌握CC2530定時器1的幾種工作方式。
當(dāng)引腳用到以下功能時,需要設(shè)置成外部設(shè)備模式,否則為普通IO,見數(shù)據(jù)手冊上P72:
問題一:普通IO模式和外部設(shè)備模式延時代碼:voiddelay(unsignedintcount){unsignedinti,j;for(i=0;i<count;i++)for(j=0;j<1174;j++);}
問題二:延時時間上述代碼經(jīng)過反匯編之后就是16句匯編代碼,一句代碼需要一個指令周期來完成,時鐘頻率是32M,上述delay(1)的時間是: 1*1174*16/(32*106)=587usdelay(10);//延時時間就是5870us,就是5.87msdelay(800)//延時時間就是469600us,就是0.4696s
使用delay的時間很不準(zhǔn)確,只能是大概的時間,需要精確的時間可以采用定時器功能!
二、CC2530的中斷原理我們已經(jīng)大致指導(dǎo)如何編寫中斷處理程序了,但要保證讓中斷處理程序真正得到調(diào)用前,我們還得對中斷控制器進(jìn)行初始化,如何初始化?還得理解中斷信號從源頭如何一步步傳到CPU的。18路中斷總開關(guān)優(yōu)先級排隊,得到第一名的將會得到響應(yīng),多個第一名則按順序輪詢18路中斷分開關(guān)帶陰影的標(biāo)志位會有硬件清除一、定時器概述CC2530有5個定時器:定時器1;定時器2;定時器3;定時器4;睡眠定時器。其中睡眠定時器,和定時器2配合使用,可以使CC2530進(jìn)入低功耗模式。1.定時器1定時器1是一個獨(dú)立的16位定時器,支持典型的定時/計數(shù)功能,有5個獨(dú)立的捕獲/比較通道。每個通道使用一個I/O引腳。定時器1的功能:5個捕獲/比較通道。上升沿、下降沿或任何邊沿的輸入捕獲。設(shè)置、清除或切換輸出比較。自由運(yùn)行、模計數(shù)或正計數(shù)/倒計數(shù)操作??杀?,8,32或128整除的時鐘分頻器。在每個捕獲/比較和最終計數(shù)上生成中斷請求。DMA觸發(fā)功能。定時器1定時器1是一個16位的定時器,在每個活動時鐘邊沿遞增或遞減。活動時鐘邊沿周期由寄存器位CLKCONCMD.TICKSPD定義,提供了從0.25MHz到32MHz的不同的時鐘標(biāo)簽頻率(可以使用32MHzXOSC作為時鐘源)。在定時器1中由T1CTL.DIV設(shè)置的分頻器值進(jìn)一步劃分,這個分頻值可以為1、8、32或128。因此當(dāng)32MHz晶振用作系統(tǒng)時鐘源時,定時器1可以使用最低時鐘頻率是1953.125Hz,最高是32MHz。當(dāng)16MHzRC振蕩器用作系統(tǒng)時鐘源時,定時器1可以使用的最高時鐘頻率是16MHz。
定時器1的控制和狀態(tài)寄存器T1CTL://用T1來做實(shí)驗(yàn)128分頻;自由運(yùn)行模式T1CTL=(0x3<<2)|(0x1<<0);定時器12.計數(shù)器T1的中斷溢出標(biāo)志位:IRCON.T1IF和T1STAT.OVFIF1.計數(shù)器的16位初值寄存器:高8位T1CNTH、低8位T1CNTL+65535定時器1T1CNTHT1CNTLT1CNTHT1CNTL經(jīng)歷了65535個時鐘脈沖后變成16個1,如下:每經(jīng)歷一個時鐘脈沖,數(shù)值加1T1CNTHT1CNTL同時產(chǎn)生中斷溢出標(biāo)志位:IRCON.T1IF和T1STAT.OVFIF+1初始值:為0定時器1計數(shù)器有三種操作模式:自由運(yùn)行計數(shù)器;模計數(shù)器;正計數(shù)/倒計數(shù)運(yùn)行定時器11.自由運(yùn)行模式在自由運(yùn)行操作模式下,計數(shù)器從0x0000開始,每個活動時鐘邊沿增加1。當(dāng)計數(shù)器達(dá)到0xFFFF溢出,計數(shù)器重新載入0x0000,由硬件自動產(chǎn)生標(biāo)志位IRCON.T1IF和T1STAT.OVFIF。若進(jìn)行了相應(yīng)的中斷設(shè)置,將產(chǎn)生一個中斷請求。自由運(yùn)行模式可以用于產(chǎn)生獨(dú)立的時間間隔,并輸出信號頻率。
定時器12.模計數(shù)模式當(dāng)定時器運(yùn)行在模計數(shù)器模式,16位計數(shù)器從0x0000開始,每個活動時鐘邊沿增加1。當(dāng)計數(shù)器達(dá)到T1CC0時(溢出)計數(shù)器將復(fù)位到0x0000,并繼續(xù)遞增。如果定時器開始于T1CC0以上的一個值,當(dāng)達(dá)到最終計數(shù)值(0xFFFF)時,產(chǎn)生中斷標(biāo)志位。若進(jìn)行了相應(yīng)的中斷設(shè)置,將產(chǎn)生一個中斷請求。模計數(shù)器模式可以用于周期不是0xFFFF的應(yīng)用程序。T1CNTHT1CNTL定時器13.正計數(shù)/倒計數(shù)模式在正計數(shù)/倒計數(shù)模式,計數(shù)器反復(fù)從0x0000開始,“正計數(shù)”直到達(dá)到T1CC0時,然后計數(shù)器將進(jìn)行“倒計數(shù)”直到0x0000,這個定時器的輸出模式用于周期必須是對稱輸出脈沖而不是0xFFFF的應(yīng)用程序,因此允許中心對齊的PWM輸出應(yīng)用的實(shí)現(xiàn)。在正計數(shù)/倒計數(shù)模式,達(dá)到最終計數(shù)值時溢出,產(chǎn)生中斷標(biāo)志位。若進(jìn)行了相應(yīng)的中斷設(shè)置,將產(chǎn)生一個中斷請求。
2.定時器2定時器2主要用于為802.15.4CSMA-CA算法提供定時,以及為802.15.4MAC層提供一般的計時功能。當(dāng)定時器2和睡眠定時器一起使用時,即使系統(tǒng)進(jìn)入低功耗模式也會提供定時功能。定時器運(yùn)行在CLKCONSTA.CLKSPD指明的速度上。如果定時器2和睡眠定時器一起使用,時鐘速度必須設(shè)置為32MHz,且必須使用一個外部32kHzXOSC獲得精確結(jié)果。定時器2的主要特征如下:16位定時器正計數(shù)提供的符號/幀周期。可變周期可精確到31.25ns。2*16位定時器比較功能。24位溢出計數(shù)。2*24位溢出計數(shù)比較功能。幀開始界定符(SFD)捕捉功能,無線模塊幀開始界定符狀態(tài)變高時捕獲。定時器啟動/停止同步于外部32KHz時鐘,并且由睡眠定時器提供定時。比較和溢出產(chǎn)生中斷。具有DMA觸發(fā)功能。通過引入延遲可調(diào)整定時器值。了解2.定時器2當(dāng)定時器2停止或者復(fù)位后它將進(jìn)入定時器的休眠模式。當(dāng)進(jìn)入定時器啟動模式時,定時器必須立即工作或者同步于32KHz時鐘。一旦定時器2運(yùn)行在RUN模式,可以通過向T2CTRL.RUN寫入0來停止正在運(yùn)行的定時器,然后定時器將進(jìn)入休眠模式:停止的定時器要么立即停止工作要么同步于32KHz時鐘。
定時器2包括一個16位定時器,在每個時鐘周期遞增。計數(shù)器值可從寄存器T2M1:T2M0中讀,當(dāng)讀T2M0寄存器時,T2M1的內(nèi)容是鎖定的。因此必須總是首先讀T2M0。當(dāng)定時器空閑時,可以通過寫寄存器T2M1:T2M0修改計數(shù)器,定時器2通過復(fù)用選擇寄存器開啟定時器比較和溢出捕獲。了解定時器2中斷:六個中斷源定時器溢出。定時器比較1。定時器比較2。溢出計數(shù)溢出。溢出計數(shù)比較1。溢出計數(shù)比較2。中斷標(biāo)志在給定的中斷標(biāo)志T2IRQF寄存器中,中斷標(biāo)志位只能通過硬件設(shè)置。且只能通過寫SFR寄存器清除。中斷源是通過寄存器T2IRQM來設(shè)置,當(dāng)設(shè)置了相應(yīng)的中斷屏蔽位時,將產(chǎn)生一個中斷,否則將不產(chǎn)生中斷。了解3.睡眠定時器睡眠定時器用于設(shè)置系統(tǒng)進(jìn)入和退出低功耗休眠模式之間的周期。睡眠定時器還用于當(dāng)進(jìn)入低功耗模式時,維持定時器2的定時。睡眠定時器的主要功能如下:
24位的正計數(shù)定時器,運(yùn)行在32KHz的時鐘頻率。24位的比較器,具有中斷和DMA觸發(fā)功能。24位捕獲。CC2530運(yùn)行在低功耗模式下時,需要睡眠定時器和定時器2共同工作,來完成此模式的定時功能。睡眠定時器是一個24位的定時器,運(yùn)行在一個32KHz的時鐘頻率上。當(dāng)定時器的值等于24位比較器的值時,就發(fā)生一次定時器比較。通過寫入寄存器ST2:ST1:ST0來設(shè)置比較值。了解4.定時器3和定時器4定時器3和定時器4是是兩個8位定時器,每個定時器有兩個獨(dú)立的比較通道。每個通道上使用一個I/O引腳。定時器3和定時器4的特征如下:
:兩個捕獲/比較通道。設(shè)置、清除或切換輸出比較。時鐘分頻器,可以被1,2,4,8,16,32,64,128整除。在每次捕獲/比較和最終計數(shù)時間發(fā)生時產(chǎn)生中斷請求。DMA觸發(fā)功能。了解4.定時器3和定時器4定時器3和定時器4的所有定時功能都是基于主要的8位計數(shù)器建立的。計數(shù)器在每個時鐘邊沿遞增或遞減?;顒訒r鐘邊沿的周期由寄存器位CLKCONCMD.TICKSPD[2:0]定義。由TxCTL.DIV[2:0](其中x指的是定時器號碼,3或者4)設(shè)置分頻器值;通過設(shè)置SFR寄存器TxCNT讀取8位計數(shù)器的值。由于定時器3和定時器4的用法基本一致,因此下面以定時器3為例來講解定時器3和定時器4的用法。定時器3有4種操作模式:自由運(yùn)行計數(shù)器;倒計數(shù)器;模計數(shù)器;正/倒計數(shù)器。。了解定時器3和定時器4(1)自由運(yùn)行模式在自由運(yùn)行模式下,計數(shù)器從0x00開始,每個活動時鐘邊沿遞增。當(dāng)計數(shù)器達(dá)到0xFF,計數(shù)器將會載入0x00,并繼續(xù)遞增。當(dāng)達(dá)到最終計數(shù)值0xFF,就設(shè)置了中斷標(biāo)志TIMIF.TxOVFIF。如果進(jìn)行了相應(yīng)的中斷設(shè)置,就產(chǎn)生一個中斷請求。自由運(yùn)行模式可以用于產(chǎn)生獨(dú)立的時間間隔和輸出信號頻率。了解定時器3和定時器4(2)倒計數(shù)模式 在倒計數(shù)模式下,定時器啟動后,計數(shù)器載入TxCC0的內(nèi)容。然后計數(shù)器倒計時,直到0x00時,標(biāo)志位TIMIF.TxOVFIF溢出。如果進(jìn)行了相應(yīng)的中斷設(shè)置位TxCTL.OVFIM,就會產(chǎn)生一個中斷請求。定時器倒計數(shù)模式一般用于需要事件超時間間隔的應(yīng)用程序。T3CC0寄存器定時器3通道0捕獲比較設(shè)置如下:
了解定時器3和定時器4(3)模計數(shù)器模式 當(dāng)定時器運(yùn)行在模計數(shù)器模式下,計數(shù)器反復(fù)從0x00啟動,每個活動時鐘邊沿遞增。當(dāng)計數(shù)器達(dá)到寄存器TxCC0所含的最終計數(shù)值時,計數(shù)器反復(fù)到0x00,并繼續(xù)遞增。當(dāng)計數(shù)器達(dá)到寄存器TxCC0時沒設(shè)置標(biāo)志TIMIF.TxOVFIF。如果進(jìn)行了相應(yīng)的中斷設(shè)置位TxCTL.OVFIF,就產(chǎn)生一個中斷請求。模計數(shù)器模式可以用于周期不是0xFF的應(yīng)用程序。了解定時器3和定時器4(4)正計數(shù)/倒計數(shù)模式
在正/倒計數(shù)定時器模式下,計數(shù)器反復(fù)從0x00計數(shù),直到達(dá)到寄存器TxCC0所含的計數(shù)值時,計數(shù)器倒計數(shù),直到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會議室租賃協(xié)議標(biāo)準(zhǔn)
- 合同續(xù)簽本人意向書
- 總經(jīng)理聘用合同例文
- 公司銷售合同
- 科技成果評估委托協(xié)議
- 水資源管理系統(tǒng)建設(shè)項(xiàng)目合同
- 全球工程承攬及設(shè)備安裝合同
- 勞動合同不定期合同
- 股份期權(quán)協(xié)議書
- 項(xiàng)目推廣活動策劃方案
- 八年級上冊英語閱讀還原50題-含答案
- 中國鋁業(yè)股份有限公司鞏義市齊興鋁土礦礦產(chǎn)資源開采與生態(tài)修復(fù)方案
- 腹膜透析相關(guān)性腹膜炎的護(hù)理查房
- 網(wǎng)優(yōu)案例匯總
- 病毒性心肌炎病歷模板
- 倉庫每日檢查記錄表倉庫每日檢查內(nèi)容及每日巡查事項(xiàng)
- 《物品收納方法多》小學(xué)勞動課
- 唐詩長恨歌白居易注音版
- (8.2)-7.2舞臺服裝設(shè)計-舞臺服裝色彩
- 早產(chǎn)兒視網(wǎng)膜病變
- 矮小癥診治指南
評論
0/150
提交評論