cc2530的第三次實驗:按鍵中斷控制流水燈
效果為按一次按鍵,流水燈亮一次
實驗相關電路圖:

實驗相關寄存器:

初始化函數
//初始化LED燈 //設置P1SEL,通用為0,外設為1 11111100 P1SEL &=~0x03; //設置P0SEL, 11101111 P0SEL &= ~0x10; //設置P1DIR,輸出為1,輸入為0 00000011 P1DIR |= 0x03; //設置P0DIR 00010000 P0DIR |= 0x10; //初始化按鈕和中斷 //初始化按鈕 //初始化P0SEL,通用為0 11111101 P0SEL&=~0x02; //初始化P0DIR,輸入為0 11111101 P0DIR&=~0x02; //初始化中斷 //設置引腳中斷 1為中斷使能 00000010 P0IEN |= 0x02; //設置端口中斷 IEN1=1; //設置端口中斷觸發方式 1為中斷使能 IEN1|=0x20; //設置總中斷 EA=1; //清空標志位 P0IFG=0;
中斷服務函數
//中斷服務函數
#pragma vector = P0INT_VECTOR //這一行的P0INT_VECTOR是中斷源的名稱嗎?
__interrupt void P0ISR(void)
{
//清除端口中斷標志位
P0IFG=0;
//LED燈流水亮一遍
BLink();
//清除端口中斷標志位
P0IF=0;
}
上面的代碼一定要注意P0IFG一定要在P0IF之前清除,話說P0IF與P0IFG到底是干啥用的?他們之間什么關系,端口的標志寄存器?(記得查一下)
P0IFG是端口0中斷狀態標志,P0IF是cpu內中斷標志寄存器,什么鬼,沒弄明白啊,問一下老師吧!
全部代碼
#includetypedef unsigned int uint; typedef unsigned char uchar; #define LED1 P1_0 #define LED2 P1_1 #define LED3 P0_4 #define BUTTON1 P0_1 uint time=300; //延遲函數 void Delay(uint time) { for(uint i=0;i
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
流水燈
+關注
關注
21文章
435瀏覽量
61813 -
CC2530
+關注
關注
19文章
222瀏覽量
60138 -
中斷控制
+關注
關注
0文章
26瀏覽量
9091
發布評論請先 登錄
相關推薦
熱點推薦
CC2530:2.4GHz IEEE 802.15.4和ZigBee應用的片上系統解決方案
CC2530:2.4GHz IEEE 802.15.4和ZigBee應用的片上系統解決方案 一、引言 在當今的物聯網和無線通信領域,低功耗、高性能的無線芯片至關重要。德州儀器(TI)的CC2530
探索CC3235S與CC3235SF:SimpleLink Wi-Fi單芯片解決方案的卓越之選
探索CC3235S與CC3235SF:SimpleLink Wi-Fi單芯片解決方案的卓越之選 在物聯網(IoT)蓬勃發展的今天,無線連接技術的重要性不言而喻。德州儀器(Texas
蜂鳥E203在黑金XC7A200T型FPGA上點亮LED并實現流水燈
。)
程序始終處于流水燈狀態,當按下觸發中斷的按鍵后,所有LED都熄滅,松開按鍵每個LED又恢復到中斷前的亮滅狀態。
發表于 10-31 09:04
【RA4M2-SENSOR】5、外部中斷按鍵+低功耗模式+功耗測量
外部中斷 ICU
ICU是中斷控制單元Interrupt Controller Unit。
中斷控制器單元(ICU)控制著一些事件發出的信號
發表于 09-01 20:53
【中科昊芯Core_DSC280025C開發板試用體驗】---定時器中斷方式的LED流水燈
不算什么,但對于初學者來說卻不是那么簡單的事了,筆者經過一番研究終于用定時器中斷點亮流水燈了。
官方文件中 代碼GPIO_setPinConfig(GPIO_5_GPIO5);是配置GPIO5引腳,參數
發表于 08-07 22:14
【沁恒CH585開發板免費試用體驗】GPIO 流水燈
開發環境:
IDE:MounRiver Studio
MCU:CH585
1 GPIO工作原理
熟悉單片機的朋友都知道,學習的第一個例程就是流水燈,要想實現流水燈,首先必須了解GPIO的工作原理
發表于 07-04 22:55
AS32X601驅動系列教程 PLIC_中斷應用詳解
連到PLIC,PLIC統一管理并輸出中斷請求到內核。 硬件設計 本節硬件同USART章節一致。 軟件設計 代碼分析 在之前的按鍵章節我們已經對AS32的中斷進行了簡單實用,本節將用串口的接收中
零死角玩轉STM32——初級篇
的前后今生
6、Sysstick(系統滴答定時器)
7、KEY(Polling)
8、EXTI 之按鍵中斷實驗
純分享貼,有需要可以直接下載附件獲取完整資料!
(如果內容有幫助可以關注、點贊、評論支持一下哦~)
發表于 05-21 13:48
【RA-Eco-RA4M2開發板評測】點燈實現6種LED花式流水燈操作
很高興收到瑞薩電子提供的RA4M2開發板,這次帖子就專門用來說說專業點燈操作,實現各種花式的流水燈,可以十分方便地控制LED的各種狀態,甚至多個LED組合控制,如跑馬燈等。
打開原理圖,可以看到3個
發表于 04-28 21:28
【RA-Eco-RA4M2開發板評測】2 初識GPIO流水燈
電平,再加上延時,從而實現流水燈的效果。
4 實驗現象
將編譯好的程序下載到板子中,可以看到三個LED燈依次閃爍。
發表于 04-25 23:06
基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制GPIO中斷
1、實驗簡介本實驗將演示如何在小凌派-RK2206開發板上使用IOT庫的GPIO中斷模式,進行GPIO編程開發。例程將創建一個任務,通過配置GPIO引腳為中斷模式,實現GPIO
【瑞薩RA2L1入門學習】+LED流水燈實驗
基于 Arm? Cortex?-M23 核心(現今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產品采用優化的制程和瑞薩電子的低功耗工藝技術,是業界一流水平的超低功耗微控制器。 RA2L1
發表于 03-07 15:27
基于cc2530按鍵中斷控制流水燈的實驗方案
評論