版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单/片/机/与/传/感/器项目三电子时钟系统项目引入
竞技类体育运动中,裁判员通常使用电子计时系统来为运动员计时。打开多个手机,都调节到秒表部分,同时开始计时,在经过相同的时间段后,停止秒表,会发现各个手机上所计时间相同。为什么电子秒表的计时可信,为什么不同手机之间能做到同样时间内统计的时间是相同的,那是由于每个电子设备都使用了定时器来作为时间计时的时基。定时器通过精确的时钟来为秒表提供精确而稳定的时间累达到。任务分解任务一:信号指示灯控制01任务描述:本任务先学习了GPIO的概念、工作模式,然后进一步学习了CC2530的GPIO的基本功能和控制,并掌握了GPIO的位操作,最后完成该任务的硬件设计及和软件设计,实现了通过CC2530微处理器的GPIO接口控制相关仪表的信息号状态。02学习目标:了解GPIO基本概念、电路驱动和工作模式熟悉CC2530微处理器GPIO基本构成掌握利用位操作实现CC2530微处理GPIO基本操作任务一:信号指示灯控制微处理器GPIO1.1
通用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。任务一:信号指示灯控制微处理器GPIO1.1
通用I/O驱动概述通用I/O在工作时通常是三种状态,分别是输入状态,输出状态和高阻态,这三种状态的使用和功能都有所不同,在设置时需要根据实际实用配置。输入状态输入模式是指通用I/O管脚被配置为接受外界电平信息的模式,通常读取的信息为电平信息,即高电平为1,低电平为0。输出状态输出模式是指通用I/O口配置为主动向外部输出电压的状态,通过向外输出电压可以实现对开关类设备进行主动控制。高阻态高阻态模式是指,通用I/O管脚内部电阻的阻值无限大,大到几乎占有外界输出的全部电压。任务一:信号指示灯控制微处理器GPIO1.2
通用I/O的分配原理分组的依据有两点,第一点是单片机内核的位宽度,第二点是单片机I/O功能的多寡。内核位宽MSP430单片机是16位单片机8051单片机是8位的单片机I/O功能STM32通用I/O的Bit位通常在4个左右8051单片机的I/O功能只有输入输出两种模式任务一:信号指示灯控制微处理器GPIO1.3
GPIO_Port与GPIO_PinGPIO_Port的设计受到商业产品及片上资源的限制而设计的总的管脚通道,而通常GPIO_Pin是挂载在GPIO_Port通道上的,其数量与单片机位宽与管脚功能密切相关。任务一:信号指示灯控制2.CC2530与GPIO2.1CC2530通用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。任务一:信号指示灯控制2.CC2530与GPIO2.2CC2530通用I/O寄存器介绍实现I/O的配置使用,只需要配置P1DIR(端口1方向寄存器)和P1SEL(端口1功能选择寄存器)即可。任务一:信号指示灯控制3.GPIO的位操作3.1GPIO的位操作微处理器GPIO一般通过位操作完成寄存器的设置,常用的位操作有按位与“&”、按位或“|”、按位取反“~”、按位异或“^”,以及左移运算符“<<”和右移运算符“>>”。按位或运算符“|”参加运算的两个运算量,如果两个相应的位至少有一个是1,结果为1,否则为0。按位与运算符“&”参加运算的两个运算量,如果两个相应的位都是1,则结果为1,否则为0,任务一:信号指示灯控制3.GPIO的位操作3.1GPIO的位操作按位异或运算符“^”参加运算的两个运算量,如果两个相应的位相同,均为0或者均为1,结果值中该位为0,否则为1,按位异或常用于一个数中某些特定位翻转。按位取反“~”用于对一个二进制数按位取反,即0变1,1变0。左移运算符“<<”左移运算符用于将一个数的各个二进制全部左移若干位,移到左端的高位被舍弃,右边的低位补0。。右移运算符“>>”用于对一个二进制数位全部右移若干位,移到右端的低位被舍弃。任务一:信号指示灯控制4.任务引导及步骤4.1信号灯的控制信号灯的控制方式为对电平输出的主动控制即:高电平输出和低电平输出,具体的输出方式要参考信号灯的相关原理图。信号灯LED1与LED2如图。任务一:信号指示灯控制4.任务引导及步骤4.2按键的状态检测按键的状态检测方式主要是使用了CC2530单片机通用I/O的引脚电平读取功能,相关引脚为高电平时引脚读取的值为1,反之则为0。任务一:信号指示灯控制4.任务引导及步骤4.3程序流程图程序流程设计中首先配置LED灯和按键对应的通用I/O从而初始化LED和按键外设。主循环中不断检测按键的状态,当检测到按键按下时,延时消抖等待10ms,待电平稳定后如果按键任就处于按下状态则确定按键被按下,等待按键抬起。检测到按键抬起后执行LED灯的反转控制操作完成对LED灯的控制。任务一:信号指示灯控制4.任务引导及步骤4.4LED灯初始化voidled_io_init(void){P1SEL&=~0x03;//配置控制管脚(p1.0,p1.1)为通用IO模式P1DIR|=0x03;//配置控制管脚(p1.0,p1.1)为输出模式LED2=OFF;//初始状态为关闭LED1=OFF;//初始状态为关闭}LED灯初始化的方式为配置P1SEL寄存器为通用I/O模式,配置P1DIR寄存器为输出模式。LED灯初始化代码如下:任务一:信号指示灯控制4.任务引导及步骤4.5按键初始化按键初始化的方式为配置P1SEL寄存器为通用I/O模式,配置P1DIR寄存器为输入模式。按键初始化代码如下:voidkey_init(void){P1SEL&=~0x0C;//配置按键检测管脚(p1.2,p1.3)为通用IOP1DIR&=~0x0C;//配置按键检测管脚(p1.2,p1.3)为通用输出模式}任务一:信号指示灯控制4.任务引导及步骤4.6主程序led_io_init();//LED的控制端口初始化key_io_init();//按键的控制端口初始化LED2=ON;//打开LED0while(1){ if(KEY1==ON){//按键按下,改变2个LED灯状态
delay_ms(10);//按键防抖10ms if(KEY1==ON){//按键按下,改变2个LED灯状态
while(KEY1==ON);//松手检测 LED2=!LED2; //LED翻转闪烁 LED1=!LED1; //LED翻转闪烁 } }}任务小结信号指示灯控制通用输入输出接口是微处理器最常用的基本接口,本任务先学习了GPIO的概念、工作模式,然后进一步学习了CC2530的GPIO的基本功能和控制,并掌握了GPIO的位操作,最后完成该任务的硬件设计及和软件设计,实现了通过CC2530微处理器的GPIO接口控制相关仪表的信息号状态。GPIO的位操作CC2530与GPIO微处理器GPIO知识点1知识点2知识点3谢谢!
任务二:键盘按键检测01任务描述:本任务使用CC2530单片机模拟键盘按键功能,通过编辑程序使用CC2530单片机的外部中断实现对连接在CC2530引脚上按键动作进行捕捉,由CC2530单片机上指示灯的变化实现对按键动作的反馈。02学习目标:掌握中断的功能和原理掌握CC2530微处理器外部中断的使用任务二:键盘按键检测中断基本概念与定义1.1
中断概念中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。任务二:键盘按键检测中断基本概念与定义1.2
中断的分类硬件中断(HardwareInterrupt)可屏蔽中断非可屏蔽中断处理器间中断伪中断软件中断(SoftwareInterrupt)软件中断是一条CPU指令,用以再现一个中断。中断分为两种,一种是硬件控制的硬件中断,另一种是操作系统控制的软件中断。任务二:键盘按键检测中断基本概念与定义1.3
中断发生过程按照事件发生的顺序,中断过程包括:01中断源发出中断请求;02判断当前处理机是否允许中断和该中断源是否被屏蔽;03优先权排队;04处理机执行完当前指令或当前指令无法执行完,则立即停止当前程序,保护断点地址和处理机当前状态,转入相应的中断服务程序;05执行中断服务程序;06恢复被保护的状态,执行“中断返回”指令回到被中断的程序或转入其他程序。任务二:键盘按键检测2.CC2530与外部中断2.1
外部中断概念外部中断就是在单片机的一个引脚上,由于外部因素导致了一个电平的变化(比如由高变低),而通过捕获这个变化,单片机内部自主运行的程序就会被暂时打断,转而去执行相应的中断处理程序,执行完后又回到原来中断的地方继续执行原来的程序。这个引脚上的电平变化,就申请了一个外部中断事件,而这个能申请外部中断的引脚就是外部中断的触发引脚。任务二:键盘按键检测2.CC2530与外部中断2.2
外部中断触发条件外部中断触发是指程序在运行时,外界通过某种方式触发外部中断的一种触发方式。电平触发方式数字电路中,数字电平从低电平(数字“0”)变为高电平(数字“1”)的那一瞬间叫作上升沿。相反数字电平从高电平(数字“1”)变为低电平(数字“0”)的那一瞬间叫作下降沿。跳变沿触发方式外部中断若定义为跳变沿触发方式,外部中断申请触发器能锁存外部中断输入线上的负跳变。任务二:键盘按键检测2.CC2530与外部中断2.3
CC2530与外部中断CC2530在通用I/O引脚设置为输入后,可以用于产生中断。中断可以设置在外部信号的上升或下降沿触发。P0、P1或P2端口都有中断使能位,对位于IEN1-2寄存器内的端口所有的位都是公共的,如下:IEN1.P0IE:P0中断使能IEN2.P1IE:P1中断使能IEN2.P2IE:P2中断使能任务二:键盘按键检测2.CC2530与外部中断2.4
CC2530外部中断寄存器介绍01P0IEN:P0中断使能02P1IEN:P1中断使能03P2IEN:P2中断使能04PICTL:P0、P1和P2触发沿设置05P0IFG:P0中断标志06P1IFG:P1中断标志07P2IFG:P2中断标志任务二:键盘按键检测3.任务引导及步骤3.1按键的状态检测按键的状态检测方式主要是使用了CC2530单片机通用I/O的引脚电平读取功能,相关引脚为高电平时引脚读取的值为1,反之则为0。任务二:键盘按键检测3.任务引导及步骤3.2按键的状态检测程序设计思路中首先初始化系统时钟、LED灯和外部中断并且打开LED2灯。初始化完成之后程序进入主循环,主循环中,LED2灯处于一个常亮状态。当按键K1按键按下时触发外部中断,程序进入中断服务函数执行,延时消抖等待10ms,待电平稳定后如果按键就处于按下状态则确定K1按键被按下。检测到K1按键按下后则执行对LED灯状态操作程序,对LED1灯和LED2灯的状态进行取反。执行完毕后,中断标志清零,程序回到主程序中等待中断再次触发。任务二:键盘按键检测3.任务引导及步骤3.3外部中断初始化外部中断初始化为该项目的重要环节,外部中断初始化为将外部中断配置为低电平触发。voidext_init(void){IEN2|=0x10;//端口1中断使能P1IEN|=0x04;//端口P1_2外部中断使能PICTL|=0x02;//端口P1_2下降沿触发EA=1;//使能总中断}任务二:键盘按键检测3.任务引导及步骤3.4外部中断服务函数#pragmavector=P1INT_VECTOR__interruptvoidP1_ISR(void){EA=0;//关中断
if((P1IFG&0x04)>0){//按键中断P1IFG&=~0x04;//中断标志清0delay_ms(10);//按键防抖if(KEY1==ON){//判断按键按下
LED2=~LED2;//翻转LED0LED1=~LED1;//翻转LED1}}EA=1;//开中断}任务小结键盘按键检测通用本任务对键盘按键检测项目的学习与开发,学习微处理器中断以及CC2530外部中断的基本原理,并通过按键触发外部中断的开发过程来学习CC2530微处理器的外部中断功能,采用CC2530外部中断响应连接在CC2530处理器的按键控制,从而达到实时响应键盘按键效果。CC2530与外部中断中断基本概念与定义知识点1知识点2谢谢!
任务三:电子计时器
01任务描述:本任务使用CC2530单片机模秒表功能,通过编辑程序使用CC2530单片机的定时器外设实现每秒产生一次脉冲信号,使用I/O接口连接的信号灯的闪烁来表示定时器秒脉冲的发生,同时使用模拟延时来比较定时一秒与延时一秒的准确性。02学习目标:掌握定时器的基本原理会使用CC2530微处理器定时器任务三:电子计时器
定时器简介1.1
定时器概念定时/计数器是一种能够对时钟信号或外部输入信号进行计数,当计数值达到设定要求时便向CPU提出处理请求,从而实现定时或计数功能的外设。在单片机中,一般使用Timer表示定时计数器。任务三:电子计时器
定时器简介1.2
定时/计数器功能单片机中的定时/计数器一般功能比较功能捕获功能计数器功能定时器功能安全认证与私密性保障任务三:电子计时器
2.CC2530与定时器2.1
CC2530定时器介绍CC2530一共有四个定时器,分别是定时器1、定时器2、定时器3和定时器4。这四个定时器又根据硬件特性被分为了三类,这三类定时器分别是16位定时器(定时器1)、MAC定时器(定时器2)、8位定时器(定时器3和定时器4)。定时器1定时器1是一个独立的16位定时器,支持典型的定时/计数功能,比如输入捕获,输出比较和PWM功能。定时器2定时器2主要用于为802.15.4CSMA-CA算法提供定时,以及为802.15.4MAC层提供一般的计时功能。定时器3与定时器4定时器3和定时器4是两个8位的定时器。每个定时器有两个独立的比较通道,每个通道上使用一个I/O引脚。任务三:电子计时器
2.CC2530与定时器2.2
CC2530定时器计数模式CC2530单片机的定时器1拥有三种不同的计数模式,这三种模式分别是自由运行模式、模模式、正计数/倒计数模式。自由运行模式自由运行模式适用于产生独立的时间间隔,输出信号频率。模模式模模式适用于周期不是0xFFFF的应用程序中。正计数/倒计数模式正计数/倒计数模式适用于周期必须是对称输出脉冲而不是固定值的应用程序中。任务三:电子计时器
2.CC2530与定时器2.3
CC2530定时器1中断为定时器分配了一个中断向量。当下列定时器事件之一发生时,将产生一个中断请求:1计数器达到最终计数值(溢出或回到零)3输出比较事件2输入捕获事件任务三:电子计时器
2.CC2530与定时器2.4
CC2530定时器1寄存器介绍CC2530单片机中定时器1的配置寄存器一共有7个,七个寄存器分别是:01T1CNTH(定时器1计数高位寄存器)02T1CNTL(定时器1计数低位寄存器)03T1CTL(定时器1控制寄存器)04T1STAT(定时器1状态寄存器)05T1CCTLn(定时器1通道n捕获/比较控制寄存器)06T1CCnH(定时器1通道n捕获/比较高位值寄存器)07T1CCnL(定时器1通道n捕获/比较低位值寄存器)任务三:电子计时器
3.任务引导及步骤3.1
系统硬件架构分析任务三:电子计时器
3.任务引导及步骤3.2
程序流程图程序设计的思路使首先初始化系统时钟,LED灯和定时器。初始化完成后程序进入主循环,主循环中,软件延时1s,LED1的状态进行取反;同时定时器每经过10ms就进行一次中断,并统计进入中断的次数,当经过100次时,也就是10ms×100=1s时,执行LED2灯状态的反转操作且次数清理,重新开始计数。任务三:电子计时器
3.任务引导及步骤3.3
定时器初始化定时器初始化配置为摸摸式,时钟8分频,重装载寄存高位写入0x90、低位写入0x40,配置中断模式,使能定时器中断,开总中断。voidtime1_init(void){T1CTL|=0x06;//8分频,模模式,从0计数到T1CC0T1CC0L=0x40;//定时器1通道0捕获/比较值低位T1CC0H=0x9C;//定时器1通道0捕获/比较值高位定义10ms进一次中断T1CCTL0|=0x44;//定时器1通0捕获/比较控制T1IE=1;//设定定时器1中断使能EA=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026版《金版教程》高考一轮复习数学第八章 高考真题集训-概率
- 地坪施工工程合同范本三篇
- 早教机构品牌影响力与用户忠诚度研究报告
- 莫桑比克木材出口行业市场现状分析及投资评估规划供需分析研究报告
- 智能空间新纪元⸺SDP空间数据平台白皮书 2026
- 医疗风险防范、控制及管理制度
- 新建筑公司绩效考核KPI指标库
- 新冠肺炎患者救治医院感染管理全员培训试题及答案
- 云计算HCIP模考试题(含参考答案)
- 综艺游戏问答题目及答案
- 2025中考(会考)生物考前押题卷(广东卷)
- 2025安徽合肥庐江县乡村振兴投资有限公司招聘工作人员(第二批)人员笔试历年典型考点题库附带答案详解
- 腹膜炎诊疗规范课件
- 医院病历档案管理规范标准
- 超市洗化类知识培训课件
- 孔明灯制作课件
- 2026年1月浙江省高考(首考)化学试题(含标准答案)
- 八年级物理上册全册知识点(教科版2026新教材)
- 2026中央广播电视总台招聘备考笔试题库及答案解析
- 广西国控集团招聘笔试题库2026
- 基于AI的材料性能预测模型
评论
0/150
提交评论