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文章
433瀏覽量
59846 -
CC2530
+關注
關注
19文章
221瀏覽量
58260 -
中斷控制
+關注
關注
0文章
26瀏覽量
8898
發布評論請先 登錄
相關推薦
CC2530連接ADS7822,經示波器檢測,CLK無輸出波形是怎么回事?
CC2530連接ADS7822,UBART1作為SPI模式,P1.4——CS,P1.5——CLK,P1.7——Dout【CC2530——ADS7822】.硬件查詢方式。
因為ADS7822沒有
發表于 02-10 08:22
用CC2530驅動ADS1255,可以正確的讀到寄存器的值,就是得到AD裝換的值不正確,為什么?
最近用CC2530驅動ADS1255,現在可以正確的讀到寄存器的值,就是得到AD裝換的值不正確,有沒有一個驅動ADS1255的示范程序了?
發表于 02-10 07:47
使用cc2530控制的ads1299,讀取轉換數據的時候輸出是c0 00 00 80 00 00 80 00 00 7f ff ff這樣,為什么?
我在用ADS1299做腦電采集,現在使用cc2530控制的ads1299,目前讀寫寄存器和發送命令都正確,但是讀取轉換數據的時候輸出是c0 00 00 80 00 00 80 00 00 7f
發表于 12-25 06:26
用cc2530驅動ADS8862采集數據,ADS8862老是驅動不成功,為什么?
用cc2530驅動ADS8862采集數據,2530SPI主模式配置完畢,ADS8862老是驅動不成功,請問有沒有相關例程呢?望大佬提供下,謝謝!
發表于 12-10 07:04
FPGA 實驗一:流水燈模塊
實驗一:流水燈模塊
對于發展商而言,動土儀式無疑是最重要的任務。為此,流水燈實驗作為低級建模II的動土儀式再適合不過了。廢話少說,我們還是開始實驗
發表于 06-10 09:38
使用STM8L152作為主控處理器與CC2530進行串口通信,CC2530收不到STM8L的數據是怎么回事?
使用STM8L152作為主控處理器,與CC2530進行串口通信。在通信時候,STM8L能收到CC2530發來的數據,但是CC2530卻收不到STM8L的數據。使用串口模塊進行測試卻正常。
量了下TX
發表于 05-09 07:54
【紫光同創盤古PGX-Nano教程】——(盤古PGX-Nano開發板/PG2L50H_MBG324第三章)鍵控流水燈實驗例程
;
功能處理注意事項:流水燈狀態切換點,不同狀態的切換時如何初始化;
四:實驗源碼設計
頂層文件源碼
按鍵控制模塊
按鍵消抖模塊
LED
發表于 04-29 16:06
【紫光同創盤古PGX-MINI-4K教程】——(盤古PGX-MINI-4K開發板/PGC4KD-6ILPG144第二章)LED 流水燈實驗例程
載 jtag 調試接口, 預留兩組 20PIN 擴展 IO、數碼管、按鍵、led 燈等硬件資源,為用戶提供基本的 開發環境。
二:實驗目的掌握流水燈原理并實現流水燈
三:
發表于 03-26 16:24
【紫光同創盤古PGX-Lite 7K教程】——(盤古PGX-Lite 7K開發板/PGC7KD-6IMBG256第二章)?LED 流水燈實驗例程
流水燈原理并實現流水燈
三:實驗要求流水燈:8 個 LED 以 0.5s 間隔接替閃爍
四:實驗原理相比上一個 LED 閃爍的實現,只需
發表于 03-20 15:07
51單片機流水燈制作
?流水燈是學習51單片機的一個基本項目,是我們對單片機IO口輸出認識的基本項目。當然學會了花樣流水燈也很好玩。 下面就分享一種51單片機流水燈制作的方法。 一、流水燈原理圖 二、相關知
![51單片機<b class='flag-5'>流水燈</b>制作](https://file1.elecfans.com/web2/M00/C1/E3/wKgaomXb8VyASKTsAACFYv8Crn0012.png)
評論