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)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
流水燈
+關注
關注
21文章
432瀏覽量
59636 -
CC2530
+關注
關注
19文章
221瀏覽量
57941 -
中斷控制
+關注
關注
0文章
26瀏覽量
8855
發(fā)布評論請先 登錄
相關推薦
基于51單片機的跑馬燈/流水燈系統(tǒng)
具體實現(xiàn)功能(1)9種LED流水燈模式通過按鍵進行切換,數(shù)碼管顯示流水燈模式。(2)通過加減按鍵可以切換每種LED流水燈的速度。仿真演示視頻
使用STM8L152作為主控處理器與CC2530進行串口通信,CC2530收不到STM8L的數(shù)據(jù)是怎么回事?
使用STM8L152作為主控處理器,與CC2530進行串口通信。在通信時候,STM8L能收到CC2530發(fā)來的數(shù)據(jù),但是CC2530卻收不到STM8L的數(shù)據(jù)。使用串口模塊進行測試卻正常。
量了下TX
發(fā)表于 05-09 07:54
【紫光同創(chuàng)盤古PGX-Nano教程】——(盤古PGX-Nano開發(fā)板/PG2L50H_MBG324第三章)鍵控流水燈實驗例程
;
功能處理注意事項:流水燈狀態(tài)切換點,不同狀態(tài)的切換時如何初始化;
四:實驗源碼設計
頂層文件源碼
按鍵控制模塊
按鍵消抖模塊
LED
發(fā)表于 04-29 16:06
【紫光同創(chuàng)盤古PGX-MINI-4K教程】——(盤古PGX-MINI-4K開發(fā)板/PGC4KD-6ILPG144第二章)LED 流水燈實驗例程
載 jtag 調(diào)試接口, 預留兩組 20PIN 擴展 IO、數(shù)碼管、按鍵、led 燈等硬件資源,為用戶提供基本的 開發(fā)環(huán)境。
二:實驗目的掌握流水燈原理并實現(xiàn)流水燈
三:
發(fā)表于 03-26 16:24
【紫光同創(chuàng)盤古PGX-Lite 7K教程】——(盤古PGX-Lite 7K開發(fā)板/PGC7KD-6IMBG256第二章)?LED 流水燈實驗例程
流水燈原理并實現(xiàn)流水燈
三:實驗要求流水燈:8 個 LED 以 0.5s 間隔接替閃爍
四:實驗原理相比上一個 LED 閃爍的實現(xiàn),只需
發(fā)表于 03-20 15:07
51單片機流水燈制作
?流水燈是學習51單片機的一個基本項目,是我們對單片機IO口輸出認識的基本項目。當然學會了花樣流水燈也很好玩。 下面就分享一種51單片機流水燈制作的方法。 一、流水燈原理圖 二、相關知
cc2530總中斷控制位是什么?
cc2530是一款著名的無線通信芯片,它內(nèi)置了豐富的功能和資源,其中包括總中斷控制位。在本文中,將介紹cc2530總中斷
【紫光同創(chuàng)國產(chǎn)FPGA教程】——(PGL22G第二章)鍵控流水燈實驗例程
~ USER_LED8 的輸出效果。
三:實驗原理
實現(xiàn)框架如下:
(1)頂層實現(xiàn)按鍵切換 LED 的流水燈狀態(tài);
(2)需要設計一個輸入控制模塊及一個輸出
發(fā)表于 01-05 11:22
cc2530繼電器模塊使用
CC2530繼電器模塊是一款基于TI公司的低功耗無線通信芯片CC2530的繼電器應用模塊。它能實現(xiàn)物聯(lián)網(wǎng)設備之間的遠程控制,廣泛應用于家庭自動化、工業(yè)控制、智能農(nóng)業(yè)等領域。本文將詳細介
【每周一練】盤古1K開發(fā)板 練習一:LED流水燈
實驗目的
熟悉PDS開發(fā)流程,掌握流水燈原理并實現(xiàn)流水燈。
實驗要求
設計8個LED以0.5s間隔接替點亮。
學習心得
實現(xiàn)了IO控制,點亮
發(fā)表于 12-10 16:39
CC2530F256RHAR和zigbee的關系 芯片特點介紹和優(yōu)勢
ZigBee新一代SOC芯片CC2530是真正的片上系統(tǒng)解決方案,支持IEEE802.15.4標準/ZigBee/ZigBeeRF4CE和能源的應用。擁有龐大的快閃記憶體多達256個字
發(fā)表于 12-07 15:02
利用SCR步進指令實現(xiàn)流水燈循環(huán)點亮
在以往介紹西門子smart文章中,提到過流水燈的寫法,有用循環(huán)位移字[ROL(R)_B]節(jié)來實現(xiàn),有利用定時器(TON)來實現(xiàn)。今天我們利用SCR步進指令來實現(xiàn)流水燈循環(huán)點亮,在作這個實驗前提必須滿足如下幾個軟硬件條件:
使用74HC595驅動LED流水燈實驗
本次實驗的simulink模型如圖5.2所示,實驗現(xiàn)象可以通過改變控制PC6引腳的“constant2”變量實現(xiàn)LED流水燈效果,如圖5.1所示,本次
評論