二、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的亮和滅。
相關文章
- 三行程式碼按鍵消抖 獨立按鍵 矩陣按鍵 長按 短按 雙擊行程矩陣
- Mac開機按鍵彙總Mac
- 新型的按鍵掃描程式
- 按鍵中斷驅動程式
- js捕獲鍵盤按鍵程式碼例項JS
- 按鍵多次檢測程式註釋
- js獲取鍵盤按鍵值程式碼例項JS
- 利用鍵盤鉤子開發按鍵發音程式
- LWIP裸機移植
- Mac按鍵Mac
- 11 種程式語言的常用按鍵
- vivo手機按鍵失靈解決方法
- 利用鍵盤鉤子開發按鍵發音程式 (轉)
- 微信小程式開發中按下自己手機的返回按鍵是直接退出小程式而不是返回上級頁面微信小程式
- tmux常用按鍵UX
- 鍵盤失靈按什麼鍵恢復 win10鍵盤恢復按鍵Win10
- 小程式 · wx.showActionSheet在安卓無取消按鍵安卓
- 特權FPGA 按鍵消抖檢測程式碼FPGA
- jQuery獲取keycode按鍵值程式碼jQuery
- 蘋果手機使用技巧:10招玩轉iPhone按鍵蘋果iPhone
- Zigbee
- true--按了整數鍵, false--按了非整數鍵False
- 技嘉主機板進入bios按哪個鍵 技嘉主機板u盤啟動按f幾iOS
- 關於按鍵掃描程式的終極討論
- 51微控制器程式框架之組合按鍵框架
- 51微控制器程式框架之矩陣按鍵框架矩陣
- LED發光二極體,串列埠收發資料、按鍵控制串列埠
- 【iCore3 雙核心板】例程二:讀取arm按鍵狀態
- win10鍵盤按鍵速度在哪裡設定_win10鍵盤按鍵速度如何設定Win10
- nodemcu arduino設定按鍵UI
- 按鍵精靈 使用教程
- uboot-cmd按鍵退出boot
- AssistiveTouch熱鍵按鈕
- android 按鍵聲音Android
- Zigbee事件事件
- eclipse 程式碼提示習慣--關閉按 .按鍵時自動提示 造成的卡頓Eclipse
- 12.2 實現鍵盤模擬按鍵
- js獲取鍵盤按鍵的碼值JS