cc2530的第三次實驗:按鍵中斷控制流水燈
效果為按一次按鍵,流水燈亮一次
實驗相關電路圖:
實驗相關寄存器:
初始化函數(shù)
//初始化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; //設置端口中斷觸發(fā)方式 1為中斷使能 IEN1|=0x20; //設置總中斷 EA=1; //清空標志位 P0IFG=0;
中斷服務函數(shù)
//中斷服務函數(shù) #pragma vector = P0INT_VECTOR //這一行的P0INT_VECTOR是中斷源的名稱嗎? __interrupt void P0ISR(void) { //清除端口中斷標志位 P0IFG=0; //LED燈流水亮一遍 BLink(); //清除端口中斷標志位 P0IF=0; }
上面的代碼一定要注意P0IFG一定要在P0IF之前清除,話說P0IF與P0IFG到底是干啥用的?他們之間什么關系,端口的標志寄存器?(記得查一下)
P0IFG是端口0中斷狀態(tài)標志,P0IF是cpu內(nèi)中斷標志寄存器,什么鬼,沒弄明白啊,問一下老師吧!
全部代碼
#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; //延遲函數(shù) void Delay(uint time) { for(uint i=0;i
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
流水燈
+關注
關注
21文章
433瀏覽量
60511 -
CC2530
+關注
關注
19文章
221瀏覽量
59026 -
中斷控制
+關注
關注
0文章
26瀏覽量
9003
發(fā)布評論請先 登錄
相關推薦
熱點推薦
【沁恒CH585開發(fā)板免費試用體驗】GPIO 流水燈
開發(fā)環(huán)境:
IDE:MounRiver Studio
MCU:CH585
1 GPIO工作原理
熟悉單片機的朋友都知道,學習的第一個例程就是流水燈,要想實現(xiàn)流水燈,首先必須了解GPIO的工作原理
發(fā)表于 07-04 22:55
【RA-Eco-RA4M2開發(fā)板評測】點燈實現(xiàn)6種LED花式流水燈操作
很高興收到瑞薩電子提供的RA4M2開發(fā)板,這次帖子就專門用來說說專業(yè)點燈操作,實現(xiàn)各種花式的流水燈,可以十分方便地控制LED的各種狀態(tài),甚至多個LED組合控制,如跑馬燈等。
打開原理圖,可以看到3個
發(fā)表于 04-28 21:28
【瑞薩RA2L1入門學習】+LED流水燈實驗
基于 Arm? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和瑞薩電子的低功耗工藝技術,是業(yè)界一流水平的超低功耗微控制器。 RA2L1
發(fā)表于 03-07 15:27
CC2530連接ADS7822,經(jīng)示波器檢測,CLK無輸出波形是怎么回事?
CC2530連接ADS7822,UBART1作為SPI模式,P1.4——CS,P1.5——CLK,P1.7——Dout【CC2530——ADS7822】.硬件查詢方式。
因為ADS7822沒有
發(fā)表于 02-10 08:22
用CC2530驅(qū)動ADS1255,可以正確的讀到寄存器的值,就是得到AD裝換的值不正確,為什么?
最近用CC2530驅(qū)動ADS1255,現(xiàn)在可以正確的讀到寄存器的值,就是得到AD裝換的值不正確,有沒有一個驅(qū)動ADS1255的示范程序了?
發(fā)表于 02-10 07:47

如何使ADS1247功耗降低?
請問如何使ADS1247功耗降低,我用CC2530控制1247,現(xiàn)在整體功耗在休眠時候是5V0.45mA,但是1247說明上有一句說是:在睡眠模式下功耗只有0.1-0.5uA,我已經(jīng)把CC2530
發(fā)表于 01-10 07:58
【正點原子STM32H7R3開發(fā)套件試用體驗】流水燈
【正點原子STM32H7R3開發(fā)套件試用體驗】流水燈
本文介紹了使用 STM32CubeMX 輔助配置 GPIO 及晶振參數(shù),實現(xiàn)流水燈的方法。
工程創(chuàng)建
1.打開 STM32CubeMX 軟件
發(fā)表于 12-28 18:51
使用cc2530控制的ads1299,讀取轉(zhuǎn)換數(shù)據(jù)的時候輸出是c0 00 00 80 00 00 80 00 00 7f ff ff這樣,為什么?
我在用ADS1299做腦電采集,現(xiàn)在使用cc2530控制的ads1299,目前讀寫寄存器和發(fā)送命令都正確,但是讀取轉(zhuǎn)換數(shù)據(jù)的時候輸出是c0 00 00 80 00 00 80 00 00 7f
發(fā)表于 12-25 06:26
【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】MDK+點燈+流水燈
” 文件,在 hal_entry 函數(shù)里面編寫我們的代碼。
直接運行,燈會常亮
流水燈實驗,延遲200ms
發(fā)表于 12-15 15:59
用cc2530驅(qū)動ADS8862采集數(shù)據(jù),ADS8862老是驅(qū)動不成功,為什么?
用cc2530驅(qū)動ADS8862采集數(shù)據(jù),2530SPI主模式配置完畢,ADS8862老是驅(qū)動不成功,請問有沒有相關例程呢?望大佬提供下,謝謝!
發(fā)表于 12-10 07:04
基于51單片機的跑馬燈/流水燈系統(tǒng)
具體實現(xiàn)功能(1)9種LED流水燈模式通過按鍵進行切換,數(shù)碼管顯示流水燈模式。(2)通過加減按鍵可以切換每種LED流水燈的速度。仿真演示視頻

《DNK210使用指南 -CanMV版 V1.0》第十五章 按鍵中斷實驗
第十五章 按鍵中斷實驗
本章實驗將介紹如何使用CanMV讓Kendryte K210通過中斷的方式獲取板載
發(fā)表于 10-12 09:20
將CC2592前端與CC2530結(jié)合使用
電子發(fā)燒友網(wǎng)站提供《將CC2592前端與CC2530結(jié)合使用.pdf》資料免費下載
發(fā)表于 09-26 10:13
?4次下載

評論