




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、利用TIM定時(shí)器的中斷和定時(shí)功能實(shí)現(xiàn)跑馬燈原理及目的1、學(xué)習(xí)stm32庫(kù)開(kāi)發(fā)2、理解和熟悉I/O的使用;3、進(jìn)一步掌握定時(shí)器、中斷處理程序的編程方法4、利用庫(kù)函數(shù)開(kāi)發(fā)實(shí)現(xiàn)跑馬燈、電路原理圖PB? HTOSCK CK& TIW ETR.75 RX SD1O_C :D PS L5 IX SPIU LK PCIi UA RX SDJO DJnmyn Hnaaw-rx 5Dio-D2 PA15 JTDT 與PB NSS/X2SJ % PAU JTCKCLK VDU 1監(jiān) PA 3 FTMS Stt DIOMJ2 CAN TXUSBDPTIM1 ETK Al 1 CANJCCVSBDM 丁附匚&
2、quot; 5; PA10U1 RA T1M1 CHJ *、 PA9UI-T TMrCH2 CHI MCO、流程圖四、軟件算法(代碼)1、Main.c #include "stm32f10x.h" #include "bsp_led.h" #include "bsp_TiMbase.h" volatile u32 time = 0; int i=0; int main(void) LED_GPIO_Config();TIM2_Configuration();TIM2_NVIC_Configuration();RCC_APB1Perip
3、hClockCmd(RCC_APB1Periph_TIM2 ENABLE); while(1) if ( time = 1000 ) time = 0; i+; if(i>=3)i=0;switch(i) case 0: LED1(OFF);LED2(OFF);LED3(ON);break; case 1: LED1(ON);LED2(OFF);LED3(OFF);break;case 2:LED1(OFF);LED2(ON);LED3(OFF);break; 2、 led.c#include "bsp_led.h" void LED_GPIO_Config(void
4、) GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_I
5、nitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_3;GPIO_Init(GPIOC, &GPIO_InitStructure);GPIO_SetBits(GPIOB, GPIO_Pin_0);GPIO_SetBits(GPIOC, GPIO_Pin_4|GPIO_Pin_3); 3、 led.h#ifndef_LED_H#define _LED_H#include "stm32f10x.h"#define ON 0#define OFF 1#define LED1(a) if (a) GPIO_SetBits(GPIOB,GP
6、IO_Pin_0); else GPIO_ResetBits(GPIOB,GPIO_Pin_0)#define LED2(a) if (a) GPIO_SetBits(GPIOC,GPIO_Pin_4); else GPIO_ResetBits(GPIOC,GPIO_Pin_4)#define LED3(a) if (a) GPIO_SetBits(GPIOC,GPIO_Pin_3); else GPIO_ResetBits(GPIOC,GPIO_Pin_3)#define digitalHi(p,i) p->BSRR=i;#define digitalLo(p,i) p->BRR
7、=i;#define digitalToggle(p,i) p->ODRA=i;#define LED1_TOGGLE digitalToggle(GPIOB,GPIO_Pin_0)#define LED1_OFF digitalHi(GPIOB,GPIO_Pin_0)#define LED1_ON digitalLo(GPIOB,GPIO_Pin_0)#define LED2_TOGGLE digitalToggle(GPIOC,GPIO_Pin_4)#define LED2_OFF digitalHi(GPIOC,GPIO_Pin_4)#define LED2_ON digitalL
8、o(GPIOC,GPIO_Pin_4)#define LED3_TOGGLE digitalToggle(GPIOC,GPIO_Pin_3)#define LED3_OFF digitalHi(GPIOC,GPIO_Pin_3)#define LED3_ON digitalLo(GPIOC,GPIO_Pin_3)void LED_GPIO_Config(void);#endif /* _LED_H */bsp_TiMbase.c#include "bsp_TiMbase.h"void TIM2_NVIC_Configuration(void) NVIC_InitTypeDe
9、f NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStruct
10、ure);void TIM2_Configuration(void)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM,2 ENABLE);TIM_TimeBaseStructure.TIM_Period=1000;TIM_TimeBaseStructure.TIM_Prescaler= 71;TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);TIM_ClearFlag(TIM2, TIM_FLAG_Update);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);TIM_Cmd(TIM2, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 DI
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45215-2025危險(xiǎn)貨物自反應(yīng)物質(zhì)和有機(jī)過(guò)氧化物引爆試驗(yàn)方法
- 停放車輛服務(wù)合同范本
- 加盟投資協(xié)議合同范本
- 住房購(gòu)房合同范例
- 勞務(wù)家政合同范本
- 儀器安裝服務(wù)合同范本
- 修路挖機(jī)合同范本
- 臨時(shí)增項(xiàng)合同范本
- 北京公司擔(dān)保合同范本
- 做樓房施工合同范本
- 青島版三年級(jí)下冊(cè)科學(xué)25.小改變大效率教學(xué)課件
- 《牛奶可樂(lè)經(jīng)濟(jì)學(xué)》課件
- CT設(shè)備維保服務(wù)售后服務(wù)方案
- 幼兒園一崗雙責(zé)制度及實(shí)施方案(5篇)
- 教學(xué)常規(guī)檢查記錄表
- 清真食品相關(guān)項(xiàng)目投資計(jì)劃書(shū)范文
- 兒科課件:急性細(xì)菌性腦膜炎
- 《紐約國(guó)際介紹》課件
- 部編版語(yǔ)文七年級(jí)下冊(cè)期中專項(xiàng)復(fù)習(xí)-標(biāo)點(diǎn)符號(hào) 試卷(含答案)
- 更年期綜合癥研究白皮書(shū)
- 《學(xué)習(xí)共同體-走向深度學(xué)習(xí)》讀書(shū)分享
評(píng)論
0/150
提交評(píng)論