2Zigbee实验报告《按键》.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2019—— 2020学年 第二学期 专 业 班 级 学 号 姓 名 日 期 第一页 实验题目 CC2530之按键与LED 实验目的 通过板载按键来控制LED的亮灭 实验内容与步骤 首先,先来查看与LED及按键相关的电路图。? 由图可知,当CC2530端口1的0号引脚输出低电平时,LED1将被点亮。当按键S1按下时,端口0的1号引脚将为低电平,抬起时为高电平。? 接下来,先查看与LED(P1_0)配置相关的寄存器。? 1. 端口1功能选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,默认值都为0。? 第二页 实验内容与步骤 端口1方向选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为输入引脚,若设置为1,则将相关引脚设为输出引脚,默认值都为0。 端口1输入模式寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为上拉/下拉模式,若设置为1,则将相关引脚设为三态模式,其中P1_0和P1_1没有上拉/下拉功能,可以不用配置,默认值都为0。? 再来看看与按键S1(P0_1)配置相关的寄存器。? 1. 端口1功能选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,默认值都为0。? 端口1方向选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为输入引脚,若设置为1,则将相关引脚设为输出引脚,默认值都为0。? 第三页 实验内容与步骤 /**************************************/ /*描述:依次按下按键S1控制LED1的亮和灭 **************************************/ #include ioCC2530.h #define uint unsigned int #define uchar unsigned char //定义控制LED灯的端口 #define LED1 P1_0 //LED1为P1.0口控制 #define KEY1 P0_0 //KEY1为P0.0口控制 //函数声明 void Delayms(uint); //延时函数 void InitLed(void); //初始化LED1 void KeyInit(); //按键初始化 uchar KeyScan(); //按键扫描程序 /**************************** 延时函数 *****************************/ void Delayms(uint xms) //i=xms 即延时i毫秒 { uint i,j; for(i=xms;i0;i--) for(j=587;j0;j--); } /**************************** LED初始化函数 *****************************/ void InitLed(void) { P1DIR |= 0x01; //P1_0定义为输出 P1INP |= 0X01; //打开下拉 LED1 = 0; //LED1灯熄灭 } /**************************** 按键初始化函数 *****************************/ void InitKey() { P0SEL = ~0X01; //设置P00为普通IO口 P0DIR = ~0X01; //按键在P00 口,设置为输入模式 P0INP = ~0x01; //打开P00上拉电阻,不影响 } /**************************** 按键检测函数 *****************************/ uchar KeyScan(void) { if(KEY1==0) {Delayms(10); if(KEY1==0) { while(!KEY1); //松手检测 return 1;

文档评论(0)

南江月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档