版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
CC2530可編程輸入輸出口(I/O)應(yīng)用本實(shí)驗(yàn)通過(guò)控制CC2530端口輸出,并利用圖1.36所示的基礎(chǔ)實(shí)驗(yàn)板上的4所示的8個(gè)LED燈觀(guān)察現(xiàn)象。基礎(chǔ)實(shí)驗(yàn)板是為了幫助學(xué)習(xí)和認(rèn)識(shí)CC2530資源和特性而設(shè)計(jì)的。2、 電路原理圖CC2530單片機(jī)端口驅(qū)動(dòng)能力有限,所以用ULN2003芯片做驅(qū)動(dòng),其電路原理圖如圖1.4.3所示。ULN2003內(nèi)部含有7個(gè)不能輸出高電平的反相器。當(dāng)輸入高電平時(shí),輸出為低電平,此時(shí)它可以吸收500mA,一般用于LED驅(qū)動(dòng)。(詳細(xì)資料參考ULN2003數(shù)據(jù)手冊(cè))。為了節(jié)省端口,采用串行輸入、并行輸出的移位鎖存器74HC595。這樣便可利用3個(gè)IO口控制8個(gè)LED燈以及數(shù)碼管的狀態(tài)。74HC595的電路原理圖如圖1.4所示。74HC595是8位輸出鎖存移位寄存器,數(shù)據(jù)輸入由三個(gè)引腳組合控制,分別是數(shù)據(jù)輸入引腳SER、數(shù)據(jù)輸入控制引腳SRCK和數(shù)據(jù)輸出鎖存引腳RCK.SER引腳上的數(shù)據(jù)在SRCK引腳的上升沿信號(hào)保存到QA引腳,同時(shí)QA位上的數(shù)據(jù)移位到QB位,QB位的數(shù)據(jù)移位到QC位、、、、、、。依次類(lèi)推,所有數(shù)據(jù)向后串行移動(dòng)一位,QH位上的數(shù)據(jù)移位到QH’位,所有位的數(shù)據(jù)在RCK引腳的上升沿信號(hào)被所存到輸出端。設(shè)計(jì)11.編程要求:編寫(xiě)一段C語(yǔ)言程序;2.實(shí)現(xiàn)功能:通過(guò)P1口輸出的數(shù)據(jù)控制8個(gè)發(fā)光二極管的亮滅;3.實(shí)訓(xùn)現(xiàn)象:利用基礎(chǔ)實(shí)驗(yàn)板上的8個(gè)LED燈實(shí)現(xiàn)循環(huán)依次點(diǎn)亮D2,D4,D6,D8的效果。CC2530定時(shí)器概述標(biāo)準(zhǔn)51芯片voiddelay(){u8j,k;for(j=0;j<1000;j++)for(k=0;k<110;k++);}(1/12M)*12(標(biāo)準(zhǔn)的51,相當(dāng)于12個(gè)系統(tǒng)時(shí)鐘)=1us110*1000*9*1us=1sC語(yǔ)言到匯編,1條相當(dāng)于9條匯編。延時(shí)代碼:voiddelay(unsignedintcount){unsignedinti,j;for(i=0;i<count;i++)for(j=0;j<1174;j++);}
問(wèn)題二:延時(shí)時(shí)間上述代碼經(jīng)過(guò)反匯編之后就是16句匯編代碼,一句代碼需要一個(gè)指令周期來(lái)完成,時(shí)鐘頻率是32M,上述delay(1)的時(shí)間是: 1*1174*16/(32*106)=587usdelay(10);//延時(shí)時(shí)間就是5870us,就是5.87msdelay(800)//延時(shí)時(shí)間就是469600us,就是0.4696s
使用delay的時(shí)間很不準(zhǔn)確,只能是大概的時(shí)間,需要精確的時(shí)間可以采用定時(shí)器功能!
一、定時(shí)器概述CC2530有5個(gè)定時(shí)器:定時(shí)器1;定時(shí)器2;定時(shí)器3;定時(shí)器4;睡眠定時(shí)器。其中睡眠定時(shí)器,和定時(shí)器2配合使用,可以使CC2530進(jìn)入低功耗模式。CC2530含有四個(gè)定時(shí)器即Timer1、Timer2、Timer3和Timer4。其中Timer1為16位的定時(shí)器,Timer2為ZigBee協(xié)議MAC層專(zhuān)用定時(shí)器,Timer3、Timer4為8位寄存器,它們的工作原理與Timer1相同。一、定時(shí)器1當(dāng)時(shí)鐘脈沖設(shè)置為32M,不分頻不分頻自由運(yùn)行模式每次溢出時(shí)間間隔為:系統(tǒng)時(shí)鐘源(32M或16M)CLKCONCMD.OSC全局定時(shí)器分頻CLKCONCMD.TICKSPDT1再分頻T1CTL.DIV16位計(jì)數(shù)器T1CNTH、1CNTL定時(shí)器溢出不分頻定時(shí)器溢出500次,就讓燈狀態(tài)取反:燈每隔1.024S亮一次,隔1.024S滅一次每次溢出時(shí)間間隔為:定時(shí)器12.計(jì)數(shù)器T1的中斷溢出標(biāo)志位:IRCON.T1IF和T1STAT.OVFIF1.計(jì)數(shù)器的16位初值寄存器:高8位T1CNTH、低8位T1CNTL+65535定時(shí)器100000000T1CNTH00000000T1CNTL11111111T1CNTH11111111T1CNTL經(jīng)歷了65535個(gè)時(shí)鐘脈沖后變成16個(gè)1,如下:每經(jīng)歷一個(gè)時(shí)鐘脈沖,數(shù)值加100000000T1CNTH00000000T1CNTL同時(shí)產(chǎn)生中斷溢出標(biāo)志位:IRCON.T1IF和T1STAT.OVFIF+1初始值:為0配置寄存器T1CTL定時(shí)器的計(jì)時(shí)原理可用公式:T=c*t來(lái)描述。其中“T”為計(jì)時(shí)時(shí)間,“c”為計(jì)數(shù)器的數(shù)值,“t”為單位時(shí)間(由DIV所設(shè)置的時(shí)間)。假如本實(shí)訓(xùn)配置定時(shí)器工作在無(wú)閥值計(jì)數(shù)模式,單位時(shí)間為“系統(tǒng)時(shí)鐘頻率/128”。請(qǐng)問(wèn)寄存器T1CTL的值為。0x0DT1STAT--定時(shí)器1狀態(tài)寄存器重要知識(shí)點(diǎn):系統(tǒng)在不配置工作頻率時(shí)默認(rèn)為2分頻,即32M/2=16M,所以定時(shí)器每次溢出時(shí)T=1/(32M/128)*65536=0.25s,所以總時(shí)間Ta=T*COUTN=0.25*4=1S。1、初始化io端口voidinit_io()和定時(shí)器init_timer_1()2、設(shè)置計(jì)數(shù)時(shí)間if(IRCON>0)3、主函數(shù)main(),完成兩位數(shù)據(jù)的計(jì)數(shù)。intkey(){T1CTL=0X0D;T1STAT=0X21;}if(IRCON>0){IRCON=0;if(++m>=3){n++;m=0;}}1、初始化io端口voidinit_io()和定時(shí)器init_timer_1()2、初始化按鍵端口P0_3、P0_4、P0_5、P0_63、主函數(shù)main(),完成四個(gè)按鍵分別控制1、2、4、8燈的亮滅。外部中斷intkey(){P0IEN|=0X08;PICTL&=0X01;IEN1|=0X20;P0IFG=0X00;EA=1;}大課(1)CC2530中斷原理(難點(diǎn))(2)CC2530外部中斷編程(重點(diǎn))小課(1)串口通過(guò)標(biāo)志位發(fā)送接收串口初始化:時(shí)鐘、位置、方式、波特率、優(yōu)先級(jí)等;串口發(fā)送:等待、清0、發(fā)送;串口接收:等待、接收(2)CC2530外部中斷外部中斷初始化:輸入方式、清除中斷標(biāo)志位、合上開(kāi)關(guān);中斷響應(yīng)程序:教學(xué)回顧#pragmavector=中斷向量地址__interruptvoid中斷函數(shù)名(void) {
中斷處理;
中斷清除; }#pragmavector=P0INT_VECTOR__interruptvoidIS(void){HC595(0X04);P0IF=0;}P1SEL=0X00;P1DIR=0XFF;P0DIR|=~0X08;使用按鍵P0_3實(shí)現(xiàn)外部中斷。1、初始化init_io()2、初始化輸出函數(shù)hc595();3、初始中斷init_inter();4、初始化P0輸入輸出口io;P0DIR=~0X085、寫(xiě)中斷函數(shù)#pragmavector=中斷向量地址。6、主函數(shù)main(),實(shí)現(xiàn)按鍵進(jìn)入中斷函數(shù),點(diǎn)亮燈。實(shí)現(xiàn)基礎(chǔ)芯片中燈D8亮,當(dāng)按下基礎(chǔ)芯片中的最后一個(gè)按鍵,D8燈滅,基礎(chǔ)芯片中的LED燈D1和D2點(diǎn)亮。睡眠喚醒-中斷方式LED1閃爍3次后進(jìn)入睡眠狀態(tài),通過(guò)按下按鍵S2產(chǎn)生外部中斷進(jìn)行喚醒IO口初始化函數(shù)外部中斷初始化函數(shù)設(shè)置系統(tǒng)電源工作模式函數(shù)中斷處理函數(shù)HC595處理函數(shù)延時(shí)函數(shù)主函數(shù)PICTL&=0x01;
P0IFG=0x00;
P0IEN|=0x10;IEN1|=0x20;//此項(xiàng)設(shè)置非常重要,不然進(jìn)不了中斷函數(shù)允許P0口中斷;EA=1;zhongduanchushi(){P0DIR|=~0X08;P0IEN|=0X08;PICTL&=0X01;IEN1|=0XFF;P0IFG=0X00;EA=1;}電源管理寄存器PowerMode(ucharmode){if(mode<4){SLEEPCMD|=mode;PCON=0x01;}elsePCON=0x00;}#pragmavector=P0INT_VECTOR__interruptvoidP0_ISR(void){if(P0IFG>0){P0IFG=0;}
P0IF=0;PowerMode(4);}voidmain(void){uchari=0;uintled=HC595(0X01);iochushi(); zhongduanchushi();
while(1){for(i=0;i<6;i++){LED1=~LED1;delay(500);}PowerMode(3);}}睡眠喚醒-定時(shí)器設(shè)置定時(shí)器讓系統(tǒng)在設(shè)定的時(shí)間被喚醒,每次喚醒LED1閃爍3下提示用戶(hù)延時(shí)函數(shù)ioc初始化函數(shù)HC595處理函數(shù)設(shè)置系統(tǒng)電源工作模式函數(shù)睡眠定時(shí)器中斷函數(shù)睡眠定時(shí)器初始化zhongduanchushi(){ST2=0X00;ST1=0X0F;ST0=0X0F;EA=1;STIE=1;STIF=0;}voidSet(uintsec){ulongsleepTimer=0;
sleepTimer|=ST0;sleepTimer|=(ulong)ST1<<8;sleepTimer|=(ulong)ST2<<16;sleepTimer+=((ulong)sec*(ulong)32768);ST2=(uchar)(sleepTimer>>16);ST1=(uchar)(sleepTimer>>8);ST0=(uchar)sleepTimer;}PowerMode(ucharmode){if(mode<4){SLEEPCMD|=mode;PCON=0x01;}elsePCON=0x00;}#pragmavector=ST_VECTOR__interruptvoidST_ISR(void){STIF=0;PowerMode(4);}voidmain(void){uchari=0;
iochushi(); zhongduanchushi();HC595(0X00);while(1){for(i=0;i<6;i++){
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公樓安全保衛(wèi)管理規(guī)定(4篇)
- 瑜伽體驗(yàn)課程設(shè)計(jì)教案
- 直線(xiàn)式灌裝機(jī)課程設(shè)計(jì)
- 2024年職業(yè)素養(yǎng)培訓(xùn)考試題庫(kù)(附答案)
- 自動(dòng)線(xiàn)plc課程設(shè)計(jì)
- 線(xiàn)上教學(xué)課程設(shè)計(jì)大賽
- 餐飲行業(yè)后勤管理工作總結(jié)
- 室內(nèi)設(shè)計(jì)師工作總結(jié)
- 餐飲行業(yè)的衛(wèi)生管理要點(diǎn)
- 客戶(hù)服務(wù)行業(yè)美工工作總結(jié)
- 講師與教育平臺(tái)合作合同
- 2025屆江蘇省丹陽(yáng)市丹陽(yáng)高級(jí)中學(xué)高一數(shù)學(xué)第一學(xué)期期末統(tǒng)考試題含解析
- 汽車(chē)保險(xiǎn)與理賠課件 3.4認(rèn)識(shí)新能源汽車(chē)車(chē)上人員責(zé)任保險(xiǎn)
- GB/T 33629-2024風(fēng)能發(fā)電系統(tǒng)雷電防護(hù)
- 建筑工程施工現(xiàn)場(chǎng)安全檢查手冊(cè)
- 小學(xué)英語(yǔ)語(yǔ)法練習(xí)模擬試卷
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)項(xiàng)目安全文明施工方案
- 2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)北師大版4.6《挖紅薯》(教學(xué)設(shè)計(jì))
- 糖尿病患者體重管理專(zhuān)家共識(shí)(2024年版)解讀
- 中國(guó)融通集團(tuán)招聘筆試題庫(kù)2024
- 2023年國(guó)家衛(wèi)生健康委項(xiàng)目資金監(jiān)管服務(wù)中心招聘考試試題及答案
評(píng)論
0/150
提交評(píng)論