




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)姓名:戴國(guó)慶學(xué)號(hào):20132430104實(shí)驗(yàn)五 中斷驅(qū)動(dòng)實(shí)驗(yàn)一. 實(shí)驗(yàn)?zāi)康牧私釹TM32微控制器的中斷特性,熟悉GPIO的復(fù)用功能和中斷特點(diǎn),掌握使用中斷驅(qū)動(dòng)方式檢測(cè)外設(shè)狀態(tài)以及編寫(xiě)中斷服務(wù)程序的方法。 二. 實(shí)驗(yàn)內(nèi)容編寫(xiě)NVIC初始化和EXTI初始化函數(shù),完成中斷驅(qū)動(dòng)方式的按鍵檢測(cè)程序、以及中斷服務(wù)程序,使用軟件模擬運(yùn)行和調(diào)試程序。配合LED驅(qū)動(dòng)程序,使用硬件仿真器下載、運(yùn)行和調(diào)試程序,實(shí)現(xiàn)按下KEY1按鍵,中斷服務(wù)程序控制對(duì)應(yīng)LED1燈亮起一段時(shí)間后滅;按下KEY2鍵,LED2燈燈亮起一段時(shí)間后滅。KEY1和KEY2設(shè)置不同的搶占優(yōu)先級(jí)實(shí)現(xiàn)中斷嵌套。三實(shí)驗(yàn)要求1.結(jié)合
2、按鍵和LED等顯示效果,體會(huì)中斷的功能和應(yīng)用。2.編寫(xiě)實(shí)驗(yàn)報(bào)告:寫(xiě)出詳細(xì)的項(xiàng)目開(kāi)發(fā)過(guò)程,上機(jī)調(diào)試過(guò)程(軟件仿真和硬件仿真)。寫(xiě)出實(shí)驗(yàn)總結(jié)以及實(shí)驗(yàn)的心得體會(huì)。四實(shí)驗(yàn)步驟按鍵中斷:1.根據(jù)按鍵狀態(tài)控制LED燈亮滅按鍵KEY有按下來(lái),產(chǎn)生中斷請(qǐng)求2.KEY在目標(biāo)板上的連接PA0、PC13、依次連接2個(gè)KEY1、KEY2按鈕按下時(shí),相應(yīng)GPIO引腳輸入低電平(0),否則輸入高電平(1)3.程序的功能是按下按鈕KEY1對(duì)應(yīng)LED1亮一段時(shí)間,然后熄滅LED1接PB0,KEY1接PA0具體實(shí)現(xiàn):1.時(shí)鐘配置NVIC在內(nèi)核里,使用內(nèi)核時(shí)鐘,在啟動(dòng)代碼里有SystemInit()函數(shù),使系統(tǒng)時(shí)鐘為72MHZ,
3、需要用戶(hù)配置的是GPIO的時(shí)鐘2.NVIC初始化配置首先,選擇優(yōu)先級(jí)組號(hào)(即04共5種形式)NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);/ 本例中,只有1個(gè)中斷源,選用1組優(yōu)先級(jí)配置其次,調(diào)用misc.c文件的NVIC初始化函數(shù)void NVIC_Init( NVIC_InitTypeDef * NVIC_InitStruct )參數(shù)NVIC_InitStruct是指向NVIC_InitTypeDef結(jié)構(gòu)的指針typedef struct uint8_t NVIC_IRQChannel; uint8_t NVIC_IRQChannelPreem
4、ptionPriority; uint8_t NVIC_IRQChannelSubPriority; FunctionalState NVIC_IRQChannelCmd; NVIC_InitTypeDef;3.配置GPIO端口工作方式GPIO配置 PB0驅(qū)動(dòng)LED1燈,其工作模式配置為推免輸出代碼:/*定義一個(gè)GPIO_InitTypeDef類(lèi)型的結(jié)構(gòu)體*/GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB|, ENABLE); /*選擇要控制的GPIOB引腳*/GPIO_InitS
5、tructure.GPIO_Pin = GPIO_Pin_0; /*設(shè)置引腳模式為通用推挽輸出*/GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /*設(shè)置引腳速率為50MHz */ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /*調(diào)用庫(kù)函數(shù),初始化GPIOB0*/GPIO_Init(GPIOB, &GPIO_InitStructure);KEY1接PA0, PA0引腳配置為上拉輸入模式GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2Peri
6、phClockCmd (RCC_APB2Periph_GPIOA|, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure);4.EXTI初始化配置調(diào)用stm32f10x_exti.c中的EXTI初始化配置void EXTI_Init( EXTI_InitTypeDef * EXTI_InitStruct )參數(shù)EXTI_InitStruct是指向EXTI_InitTypeD
7、ef結(jié)構(gòu)的指針typedef struct uint32_t EXTI_Line; /* 指明EXTI線(xiàn) */ EXTIMode_TypeDef EXTI_Mode; /* 指明工作模式 */ EXTITrigger_TypeDef EXTI_Trigger; /* 指明有效邊沿 */ FunctionalState EXTI_LineCmd; /* ENABLE或DISABLE */EXTI_InitTypeDef;5.配置GPIO和EXTI映射關(guān)系首先,對(duì)進(jìn)行中斷請(qǐng)求的GPIO引腳進(jìn)行初始化配置例如設(shè)置按鍵引腳為下拉輸入或浮空輸入模式也可以在配置NVIC之前進(jìn)行其次,調(diào)用stm32f10x
8、_gpio.c的EXTI線(xiàn)配置函數(shù)void GPIO_EXTILineConfig ( uint8_t GPIO_PortSource, uint8_t GPIO_PinSource )GPIO_PortSource選擇作為EXTI線(xiàn)的GPIO端口形如GPIO_PortSourceGPIOx(x是AG)GPIO_PinSource指明配置的EXTI線(xiàn)(GPIO引腳)形如GPIO_PinSourcex(x是015)本例代碼: GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);6.中斷服務(wù)程序stm32f10x_it.cMDK 為
9、方便用戶(hù)編寫(xiě)中斷服務(wù)程序, 特別提供了文件 stm3210x_it.c( 以及配套的頭文件 stm3210x_it.h)。這兩個(gè)文件保存于 MDK 文件夾( Keil_v5) 的軟件包( Pack) 中,具體是在 STM32 標(biāo)準(zhǔn)外設(shè)驅(qū)動(dòng)程序庫(kù)的模板文件夾( templates) 里。 或者也可以在 MDK文件夾下搜索出它們。將文件 stm3210x_it.c 和 stm3210x_it.h, 復(fù)制到用戶(hù)應(yīng)用程序文件夾( user) 下, 并去掉其只讀屬性, 并添加到項(xiàng)目中。打開(kāi) MDK 提供的中斷服務(wù)程序文件 stm3210x_it.c, 會(huì)發(fā)現(xiàn)已經(jīng)編輯了 CM3 異常處理程序( 函數(shù)) 的框架, 處理本身或?yàn)榭栈驗(yàn)樗姥h(huán)。 最后, 也給出了一個(gè)內(nèi)容為空的外設(shè)中斷服務(wù)程序( 函數(shù)) 的框架, 等待用戶(hù)編寫(xiě)。五部分代碼及其實(shí)現(xiàn) 六實(shí)驗(yàn)總結(jié)通過(guò)實(shí)驗(yàn)我了解了STM32微控制器的中斷特性,stm32微控制器可以在NVIC中設(shè)置中斷優(yōu)先級(jí)。中斷優(yōu)先級(jí)分為搶占式優(yōu)先級(jí)和響應(yīng)式優(yōu)先級(jí),本實(shí)驗(yàn)只涉及到了搶占式優(yōu)先級(jí)。高優(yōu)先級(jí)中斷可以在低優(yōu)先級(jí)中斷過(guò)程中響應(yīng),反之不能
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司新春福利活動(dòng)方案
- 公司活動(dòng)室建立策劃方案
- 公司日常游戲活動(dòng)方案
- 公司羽毛球運(yùn)動(dòng)活動(dòng)方案
- 公司游藝類(lèi)拓展活動(dòng)方案
- 公司整頓活動(dòng)方案
- 公司聚餐溫馨活動(dòng)方案
- 公司登高節(jié)活動(dòng)方案
- 公司晚會(huì)活動(dòng)策劃方案
- 公司環(huán)境日活動(dòng)方案
- 湖南省婁底市漣源市2023-2024學(xué)年六年級(jí)下學(xué)期6月期末英語(yǔ)試題
- 上海市徐匯區(qū)市級(jí)名校2025屆物理高一第二學(xué)期期末考試模擬試題含解析
- 天一大聯(lián)盟2024屆高一數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含解析
- (高清版)JTG 3370.1-2018 公路隧道設(shè)計(jì)規(guī)范 第一冊(cè) 土建工程
- 【語(yǔ)文】西安外國(guó)語(yǔ)大學(xué)附屬小學(xué)(雁塔區(qū))小學(xué)五年級(jí)下冊(cè)期末試卷(含答案)
- 新編旅游職業(yè)道德 課件 譚為躍 第3-5章 旅行社從業(yè)人員道德素養(yǎng)、酒店從業(yè)者道德素養(yǎng)、景區(qū)點(diǎn)從業(yè)人員道德素養(yǎng)
- 小學(xué)數(shù)學(xué)“組題”設(shè)計(jì)分析 論文
- 附件16:地下室燈帶臨時(shí)照明系統(tǒng)方案
- 中央空調(diào)維護(hù)保養(yǎng)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 服務(wù)認(rèn)證培訓(xùn)課件
- 風(fēng)電場(chǎng)反事故措施
評(píng)論
0/150
提交評(píng)論