二、zigbee裸機程式--按鍵
二、zigbee裸機程式–按鍵
軟體平臺:Embedded Workbench 6.0 IAR 8.10.1
硬體平臺:webee普通底板,cc2530(無PA)
在按鍵程式中,設定當按下S1時,led1點亮;再次按下S1時,led1熄滅。對於S1所接的P0.0,設定為輸入模式,讀取它得電平;對於P1.0,設定我輸出,控制led1亮滅。
一、配置暫存器
按照一、zigbee裸機程式–led所寫進行配置。需要注意的是,P0.0是輸入模式,需要設定上拉、下拉或者三態。
二、程式
1、led驅動
led.c
#include "led.h"
#include "iocc2530.h"
void InitLed(void)
{
P1SEL &=~0X01; //P1_0定義為通用IO
P1DIR |= 0X01; //P1_0定義為輸出
LED1 = 0; //設定初值,熄滅
}
led.h
#ifndef _LED_H
#define _LED_H
#define LED1 P1_0 //LED1為P1.0口控制
void InitLed(void);
#endif
2、key驅動,本質還是對IO暫存器進行配置
key.c
#include "key.h"
#include "iocc2530.h"
void Delayms(uint xms) //i=xms 即延時i毫秒
{
uint i,j;
for(i=xms;i>0;i--)
for(j=587;j>0;j--);
}
void InitKey(void)
{
P0SEL &=~0X01; //P0_0定義為通用IO
P0DIR &=~0X01; //P0_0定義為輸入
P0INP &=~0X01; //P0_0定義為上拉/下拉
// P2INP &=~0X20; //P0整個IO定義為上拉
}
uchar KeyScan(void)
{
if(KEY1 == 0) //如果KEY1按下
{
Delayms(20); // 等待20ms
if(KEY1 == 0) //如果KEY1此時仍按下
return 1; //返回按鍵值1
}
return 0; //如果沒有鍵按下,返回鍵值0
}
key.h
#ifndef _KEY_H
#define _KEY_H
#define uchar unsigned char
#define uint unsigned int
#define KEY1 P0_0 //LED1為P1.0口控制
void Delayms(uint xms);
void InitKey(void);
uchar KeyScan(void);
#endif
3、主函式main()對led和key進行初始化,再在while(1)不斷讀取鍵值,如果鍵值為1(此時有鍵按下),則led狀態取反。
/****描述:依次按下按鍵S1控制LED1的亮和滅******/
#include "iocc2530.h"
#include "led.h"
#include "key.h"
void main()
{
InitLed(); //初始化LED
InitKey(); //初始化key
while(1)
{
if(KeyScan() == 1)
LED1 =~LED1;
}
}
三、現象
按下按鍵S1控制LED1的亮和滅。
相關文章
- 三行程式碼按鍵消抖 獨立按鍵 矩陣按鍵 長按 短按 雙擊行程矩陣
- 按鍵中斷驅動程式
- 清華機試oj——手機按鍵
- Zigbee
- LWIP裸機移植
- 按鍵原理
- 特權FPGA 按鍵消抖檢測程式碼FPGA
- 鍵盤失靈按什麼鍵恢復 win10鍵盤恢復按鍵Win10
- zigbee 介紹
- ZigBee 安全探究
- 小程式 · wx.showActionSheet在安卓無取消按鍵安卓
- 51微控制器程式框架之組合按鍵框架
- 51微控制器程式框架之矩陣按鍵框架矩陣
- eclipse 程式碼提示習慣--關閉按 .按鍵時自動提示 造成的卡頓Eclipse
- 技嘉主機板進入bios按哪個鍵 技嘉主機板u盤啟動按f幾iOS
- 12.2 實現鍵盤模擬按鍵
- zigbee協議的缺點 zigbee的主要應用領域協議
- LED發光二極體,串列埠收發資料、按鍵控制串列埠
- win10鍵盤按鍵速度在哪裡設定_win10鍵盤按鍵速度如何設定Win10
- 【JavaScript】鍵盤按鍵Keycode對照表(鍵碼對照表)JavaScript
- 925. 長按鍵入
- nodemcu arduino設定按鍵UI
- 第20課 SPI協議詳解及裸機程式開發分析協議
- ARM裸機全集擴充套件--SRAM內部重定位程式碼示例套件
- 13. 從0學ARM-Cortex-A9 RTC裸機程式編寫
- win10鍵盤部分按鍵錯亂怎麼辦_win10鍵盤按鍵錯亂如何解決Win10
- 戴爾進入bios按什麼鍵 戴爾重灌系統按什麼鍵iOS
- textarea 響應按下Enter鍵
- Linux 按鍵輸入實驗Linux
- 獨立按鍵的掃描
- emacs按鍵繫結詳解Mac
- win10 禁用滑鼠滾輪按鍵熱鍵方法 win10怎麼禁用滑鼠滾輪按鍵Win10
- 鍵盤亂鍵怎麼處理 電腦鍵盤按鍵錯亂
- win10系統下不能連續按兩下鍵盤按鍵如何解決Win10
- JS判斷鍵盤是否按的Enter鍵並觸發指定按鈕點選操作JS
- Flutter實戰之坑——按返回鍵回到手機桌面不退出appFlutterAPP
- 智慧燈控(基於ZigBee)
- 14. 從0學ARM-exynos4412-看門狗裸機程式編寫