物联与传感教程 10_第1页
物联与传感教程 10_第2页
物联与传感教程 10_第3页
物联与传感教程 10_第4页
物联与传感教程 10_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务2.1路灯控制系统的设计与实现引入绿色智慧校园路灯控制系统是校园建设的重要组成部分,其设计与实现有助于提升校园的智能化水平。通过对路灯的智能化管理,可以为师生提供更加安全、便捷、舒适的校园环境,同时提高校园的管理效率和品质。本任务将学习GPIO的基本概念和CC2530的GPIO功能,通过对任务的分析设计,编程实现通过按键对路灯的控制。目录第一章节GPIO01GPIO概述02CC2530的GPIO第二章节

任务设计与实现01CC2530GPIO寄存器02GPIO位操作03CC2530GPIO配置第一章节GPIO01GPIO概述02CC2530的GPIO知识点01GPIO概述第一章节GPIO

GPIO(GeneralPurposeInput/Output,通用输入输出)在电子和微控制器编程中是一个非常基础且重要的概念。通俗地解释,GPIO就是微控制器上的一些引脚(Pin),这些引脚可以被配置成输入(Input)或输出(Output)模式,用于与外部设备或传感器进行通信或控制。GPIO概述输入(Input)模式当GPIO引脚被设置为输入模式时,它可以读取来自外部设备或传感器的信号。例如,一个按钮连接到GPIO引脚,当按钮被按下时,引脚会读取到一个低电平或高电平,(高电平或者低电平取决于电路设计)的信号,然后这个信号可以被微控制器读取并用于触发某些操作输出(Output)模式当GPIO引脚被设置为输出模式时,微控制器可以通过这个引脚向外部设备发送信号。例如,一个LED灯连接到GPIO引脚,微控制器可以通过这个引脚向LED发送高电平或低电平的信号,从而控制LED的亮灭。第一章节GPIOGPIO概述弱驱动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。第一章节GPIOGPIO概述通用I/O工作模式通用I/O在工作时通常是三种状态,分别是输入状态,输出状态和高阻态,这三种状态的使用和功能都有所不同,在设置时需要根据实际实用配置。输入状态输入模式是指通用I/O管脚被配置为接受外界电平信息的模式,通常读取的信息为电平信息,即高电平为1,低电平为0。输出状态输出模式是指通用I/O口配置为主动向外部输出电压的状态,通过向外输出电压可以实现对开关类设备进行主动控制。高阻态高阻态模式是指,通用I/O管脚内部电阻的阻值无限大,大到几乎占有外界输出的全部电压。第一章节GPIOGPIO概述通用I/O分配原理分组的依据有两点,第一点是单片机内核的位宽度,第二点是单片机I/O功能的多寡。内核位宽MSP430单片机是16位单片机8051单片机是8位的单片机I/O功能STM32通用I/O的Bit位通常在4个左右8051单片机的I/O功能只有输入输出两种模式第一章节GPIO知识点02CC2530的GPIO第一章节GPIOCC2530芯片采用QFN40封装,QFN(QuadFlatNo-leadPackage)方形扁平无引脚封装,40指的是该封装形式下的引脚数量,即QFN40封装具有40个引脚,这些引脚通常用于与外部电路进行连接,实现信号的传输和电源的供给。其中21个为可编程I/O引脚,用作通用I/O时,引脚可以组成3个8位端口,端口0、端口1和端口2,表示为P0、P1和P2。其中,P0和P1是完全的8位端口,而P2仅有5位可用。CC2530的GPIO第一章节GPIO所有的端口均可以通过SFR寄存器(特殊功能寄存器)对P0、P1和P2进行位寻址和字节寻址。每个端口引脚都可以单独设置为通用I/O或外部设备I/O。除了两个高驱动输出口P1.0和P1.1各具备20mA的输出驱动能力之外,所有的输出均具备4mA的驱动能力。P2端口的5个引脚中,其中2个用于仿真器接口,2个引脚用于外部32KHz晶振,在实际应用中,能够使用的数字I/O引脚只有17个CC2530的GPIO第一章节GPIO本章节回顾GPIO概述基本概念工作模式分配原理CC2350的GPIO封装形式引脚分配第一章节GPIO第二章节

任务设计与实现01CC2530GPIO寄存器02GPIO位操作03CC2530GPIO配置知识点01CC2530GPIO寄存器第二章节

任务设计与实现在微控制器内部,有一些特殊功能的存储单元,这些单元用来存放控制微控制器内部器件的命令、数据或运行过程中的一些状态信息,这些寄存器统称为“特殊功能寄存器(SFR)”。操作微控制器的本质就是对这些特殊功能寄存器进行读写操作,并且某些特殊功能寄存器可以按位操作。为了便于使用,每个特殊功能寄存器都会起一个名字,在程序设计时,只要引入头文件“ioCC2530.h”,就可以直接使用寄存器的名称.CC2530GPIO寄存器第二章节

任务设计与实现CC2530的通用I/O相关的常用寄存器有下面4个:

Px(x=0,1,2):用来存储每个引脚的输入或输出逻辑值,并且支持位寻址操作。CC2530GPIO寄存器PO(0x80)一端口0位名称复位R/W描述7:0

PO[7:0]0xFFR/W端口0。通用I/0端口。可以从SFR位寻址P1(0x90)-端口1位名称复位R/W描述7:0P1[7:0]0xFFR/W端口1。通用I/O端口。可以从SFR位寻址。P2(0xA0)一端口2位名称复位R/W描述7:5

000R0未使用4:0P2[4:0]0x1FR/W端口2。通用I/0端口。第二章节

任务设计与实现CC2530的通用I/O相关的常用寄存器有下面4个:CC2530GPIO寄存器PxSEL(x=0,1,2):用来设置端口的每个引脚功能,为GPIO或者外设功能,复位条件下默认为GPIO功能POSEL(0xF3)-端口0功能选择位名称复位R/W描述

7:0

SELPO_[7:0]

0x00

R/WP0.7到P0.0功能选择0:

通用I/01:

外设功能P1SEL(0xF4)-端口1功能选择位名称复位R/W描述

7:0

SELP1_

[7:0]

0x00

R/WP1.7到P0.0功能选择0:

通用I/01:

外设功能第二章节

任务设计与实现CC2530GPIO寄存器P2SEL(0xF5)-端口2功能选择(部分)2SELP2_4

0R/WP2.4功能选择0:通用I/O1:外设功能1SELP2_3

0R/WP2.3功能选择0:通用I/O1:外设功能0SELP2_0

0R/WP2.0功能选择0:通用I/O1:外设功能第二章节

任务设计与实现PxDIR(x=0,1,2):用来设置端口的每个引脚方向,为输入或输出方向,复位条件下默认为输入方向。CC2530GPIO寄存器

PODIR(0xFD)一端口0方向位名称复位R/W描述

7:0

DIRPO_[7:0]

0x00

R/WP0.7到P0.0的I/O方向0:

输入1:

输出

P1DIR(0xFE)-端口1方向位名称复位R/W描述

7:0

DIRP1_[7:0]

0x00

R/WP1.7到P1.0的I/O方向0:

输入1:

输出第二章节

任务设计与实现PxINP(x=0,1,2):作为通用输入端口时,选择输入模式是上拉、下拉还是三态。作为缺省的情况,复位之后,所有的端口均设置为带上拉的输入。CC2530GPIO寄存器

POINP(0x8F)一端口0输入模式位名称

复位R/W描述7:0MDPO_[7:0]

0x00

R/WP0.7到P0.0的I/O输入模式0:上拉/下拉(见P2INP(0xF7)-端口2输入模式)1:三态P1INP(0xF6)-端口1输入模式位名称复位R/W描述7:2MDP1_[7:2]

000000

R/WP1.7到P1.2的I/O输入模式0:上拉/下拉(见P2INP(0xF7)-端口2输入模式)1:三

态1:0

00R0

不使用第二章节

任务设计与实现CC2530GPIO寄存器POINP(0x8F)一端口0输入模式位名称

复位R/W描述7:0MDPO_[7:0]

0x00

R/WP0.7到P0.0的I/O输入模式0:上拉/下拉(见P2INP(0xF7)-端口2输入模式)1:三态P1INP(0xF6)-端口1输入模式位名称复位R/W描述7:2MDP1_[7:2]

000000

R/WP1.7到P1.2的I/O输入模式0:上拉/下拉(见P2INP(0xF7)-端口2输入模式)1:三

态1:0

00R0

不使用第二章节

任务设计与实现知识点02GPIO位操作第二章节

任务设计与实现微处理器GPIO一般通过位操作完成寄存器的设置,常用的位操作有按位与“&”、按位或“|”、按位取反“~”、按位异或“^”,以及左移运算符“<<”和右移运算符“>>”。GPIO位操作按位或运算符“|”参加运算的两个运算量,如果两个相应的位至少有一个是1,结果为1,否则为0。按位与运算符“&”参加运算的两个运算量,如果两个相应的位都是1,则结果为1,否则为0,按位异或运算符“^”参加运算的两个运算量,如果两个相应的位相同,均为0或者均为1,结果值中该位为0,否则为1,按位异或常用于一个数中某些特定位翻转。第二章节

任务设计与实现GPIO的位操作GPIO位操作按位取反“~”用于对一个二进制数按位取反,即0变1,1变0。左移运算符“<<”左移运算符用于将一个数的各个二进制全部左移若干位,移到左端的高位被舍弃,右边的低位补0。右移运算符“>>”用于对一个二进制数位全部右移若干位,移到右端的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论