- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
信号指示灯控制InternetofThings
项目场景说明单片机通用I/OCC2530通用I/O项目实践
项目场景家用电器、仪表仪器这些常见的设备上当具备多种功能时,会用信号指示灯标示当前系统的功能与状态,例如图示的安防设备控制器上面具有电源、报警、设置、电话四个系统指示灯,通过这四个灯用户可以方便直观的设置与管理系统。
任务目标使用CC2530单片机模拟某设备的信号指示灯控制,通过编辑程序使用CC2530单片机的通用I/O实现对连接在CC2530单片机引脚上按键和指示灯进行状态读取和实时控制,CC2530单片机通过读取按键的电平状态,当状态被改变时控制指示灯的亮灭来反应设备工作状态。
通用I/O驱动概述I/O也称为GeneralPurposeInputOutput(通用输入/输出)简称为GPIO、I/O,是单片机通用输入输出接口的总称。弱驱动I/O弱驱动电路是指通用I/O管脚输出的电流较弱无法对相关的控制设备提供足够的驱动电流。强驱动I/O强驱动I/O顾名思义就是驱动能力较强的I/O,通常情况下在输入与芯片电源相同的电压时,强驱动I/O可以驱动功率更大的外界设备。高压I/O与低压I/O单片机通用I/O输出电压有两种,一种为比较早期的传统8051单片机的5V通用I/O,另一种为通用型的3.3V通用I/O。
通用I/O模式概述通用I/O在工作时通常是三种状态,分别是输入状态,输出状态和高阻态,这三种状态的使用和功能都有所不同,在设置时需要根据实际实用配置。输入状态输入模式是指通用I/O管脚被配置为接受外界电平信息的模式,通常读取的信息为电平信息,即高电平为1,低电平为0。输出状态输出模式是指通用I/O口配置为主动向外部输出电压的状态,通过向外输出电压可以实现对开关类设备进行主动控制。高阻态高阻态模式是指,通用I/O管脚内部电阻的阻值无限大,大到几乎占有外界输出的全部电压。
通用I/O的分配原理分组的依据有两点,第一点是单片机内核的位宽度,第二点是单片机I/O功能的多寡。内核位宽8051单片机是8位的单片机MSP430单片机是16位单片机I/O功能8051单片机的I/O功能只有输入输出两种模式STM32通用I/O的Bit位通常在4个左右
GPIO_Port与GPIO_PinGPIO_Port的设计受到商业产品及片上资源的限制而设计的总的管脚通道,而通常GPIO_Pin是挂载在GPIO_Port通道上的,其数量与单片机位宽与管脚功能密切相关。
CC2530通用I/O介绍CC2530的I/O用作通用I/O时,引脚可以组成3个8位端口,端口0、端口1和端口2,表示为P0、P1和P2。其中,P0和P1是完全的8位端口,而P2仅有5位可用。所有的端口均可以通过SFR寄存器P0、P1和P2位寻址和字节寻址。每个端口引脚都可以单独设置为通用I/O或外部设备I/O。
CC2530通用I/O寄存器介绍实现I/O的配置使用,只需要配置P1DIR(端口1方向寄存器)和P1SEL(端口1功能选择寄存器)即可。00000007654321
项目分析信号灯的控制信号灯的控制方式为对电平输出的主动控制即:高电平输出和低电平输出,具体的输出方式要参考信号灯的相关原理图。信号灯LED1与LED2如图。CC2530的I/O用作通用I/O时,引脚可以组成3个8位端口,端口0、端口1和端口2,表示为P0、P1和P2。
项目分析按键的状态检测按键的状态检测方式主要是使用了CC2530单片机通用I/O的引脚电平读取功能,相关引脚为高电平时引脚读取的值为1,反之则为0。
程序流程图程序流程设计中首先配置LED灯和按键对应的通用I/O从而初始化LED和按键外设。主循环中不断检测按键的状态,当检测到按键按下时,延时消抖等待10ms,待电平稳定后如果按键任就处于按下状态则确定按键被按下,等待按键抬起。检测到按键抬起后执行LED灯的反转控制操作完成对LED灯的控制。
项目实现LED灯初始化LED灯初始化的方式为配置P1SEL寄存器为通用I/O模式,配置P1DIR寄存器为输出模式。LED灯初始化代码如下:voidled_io_init(void){P1SEL=~0x03;//配置控制管脚(p1.0,p1.1)为通用IO模式P1DIR|=0x03;//配置控制管脚(p1.0,p1.1)为输出模式LED2=OFF;//初始状态为关闭LED1=OFF;
您可能关注的文档
最近下载
- CBT 4220-2013 鹅颈式通风筒.pdf
- GB+18584-2024家具中有害物质限量.docx VIP
- DL_T 678-2023 电力钢结构焊接通用技术条件.docx
- 大连海洋大学2021-2022学年第1学期《高等数学(上)》期末考试试卷(B卷)及标准答案.pdf
- 西班牙筒瓦施工方案.doc
- 《石油天然气钻采设备 自动化连续油管作业装备》-全文及说明.docx VIP
- 企业数字化底座与数字化转型方案.pptx
- 工会十八大精神知识竞赛练习卷含答案.doc VIP
- GB_T 43866-2024 企业能源计量器具配备率检查方法.pdf
- 窗帘采购安装项目 投标方案(技术方案).docx
文档评论(0)