当前位置: 首页 > article >正文

物联网实训Day2

物联网实训Day2

  • 端口(外设I/O)
  • 上拉/下拉电阻
  • 三态
  • 实验
  • cc2530 PWM按键控制led灯亮度(参考代码)

端口(外设I/O)

  • 对于USART和定时器I/O,在一个数字I/O引脚上选择外设I/O功能,需要设置对应的PxSEL位为1。
  • PxDIR配置I/O口的输入和输出,0为输入,1为输出。

上拉/下拉电阻

  • 上拉(Pull Up )或下拉(Pull Down)电阻(两者统称为“拉电阻”)最基本的作用是:将状态不确定的信号线通过一个电阻将其箝位至高电平(上拉)或低电平(下拉),如果拉电阻用于输入信号引脚,通常的作用是将信号线强制箝位至某个电平,以防止信号线因悬空而出现不确定的状态,继而导致系统出现不期望的状态,如下图所示(上拉电阻一边接电源):

拉电阻

三态

  • 0、1、高阻

实验

  • 完成Key、led实验
  • 作业:cc2530 PWM按键控制led灯亮度。

cc2530 PWM按键控制led灯亮度(参考代码)

#include <ioCC2530.h>
#define LED1 P1_4
#define S5 P0_4
#define S6 P0_5
#define PERIOD 20
#define ON 0
#define OFF 1
#define DOWN 0
#define UP 1
unsigned char pulse_high=20;
unsigned char delay_s5_flag=0;
unsigned char up_s5=1;
unsigned char delay_s6_flag=0;
unsigned char up_s6=1;
void led_init(void);
void key_init(void);
void poll_key(void);
void delay_ms(int nms);
void main(void)
{led_init();key_init();while(1){poll_key();if(pulse_high !=0){LED1=OFF;delay_ms(pulse_high);}if(PERIOD!=pulse_high){LED1=ON;delay_ms(PERIOD-pulse_high);}}
}
void led_init(void)
{P1SEL&=~0x10;P1DIR |=0x10;LED1=OFF;//初始状态
}
void delay_ms(int nms)
{unsigned int i,j;for(i=nms;i>0;i--)for(j=578;j>0;j--);
}
void key_init(void)
{P0SEL &=~0x30;P0DIR &=~0x30;P0INP &=~0x30;P2INP &=~0x20;
}
void poll_key(void)
{//延时消抖if((DOWN==S5)||(DOWN==S6)){delay_ms(20);if(DOWN==S5){if(delay_s5_flag)//松开按键为1{if(pulse_high&&up_s5){up_s5=0;pulse_high-=5;}}else{delay_s5_flag=1;}}else if(DOWN==S6){if(delay_s6_flag){if((pulse_high<PERIOD)&&(up_s6)){up_s6=0;pulse_high+=5;}}else{delay_s6_flag=1;}}else{delay_s5_flag=0;up_s5=1;delay_s6_flag=0;up_s6=1;}}
}
http://www.lryc.cn/news/2420839.html

相关文章:

  • information security -- 网络拓扑
  • 0基础学IT有有哪些步骤
  • 河南科技大学计算机科学与技术分数线,河南科技大学2020年录取分数线(附2017-2020年分数线)...
  • DLL文件 VC++Matlab混合编程( 调用DLL)
  • 使用VMware Workstation安装Windows10虚拟机(超详细,每一步都有)
  • 揭秘软文外链代发产业
  • 张驰课堂:六西格玛绿带培训证书的作用
  • 实战:小程序购物商城
  • Python]网络爬虫
  • app自动化测试面试题(含答案)
  • python开发的软件有哪些,python一般用来开发什么
  • linux下svn服务器搭建及使用
  • 百度地图api基本用法
  • 自己怎么搭建云存储服务器?
  • 228. Web前端网页制作 蓝色的wap手机旅游网页设计实例 大学生期末大作业 html+css+js
  • 华为性格测试挂的原因是什么?这局怎么破?
  • java接入秒嘀API实现发送短信功能
  • websocket在线测试网站
  • 主题设置_微信主题怎么设置皮肤?猫和老鼠微信主题皮肤链接入口
  • c语言运算符重载格式,运算符重载函数的两种形式
  • Java中随机数函数Random()详解+案例
  • 获取字符串首字母拼音
  • Android快速入门_总结
  • 十个让你获得高质量外链资源的方法
  • 基于Qualcomm Robotics RB5边缘侧AI应用—人群热力图
  • joomla本地安装全过程
  • [风潮]三颗猫饼干
  • VM虚拟机和Centos镜像官网的下载、安装和激活(超详细教程)
  • ajax详解以及各种封装
  • GIS中的空间参考