《嵌入式技术与机器人操作系统》课件-23.键控LED电路设计_第1页
《嵌入式技术与机器人操作系统》课件-23.键控LED电路设计_第2页
《嵌入式技术与机器人操作系统》课件-23.键控LED电路设计_第3页
《嵌入式技术与机器人操作系统》课件-23.键控LED电路设计_第4页
《嵌入式技术与机器人操作系统》课件-23.键控LED电路设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

键控LED电路设计目录CONTNETSLED发光二极管LED的工作参数123LED的工作参数LED发光二极管01一、LED发光二极管它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。LED的工作原理02二、LED的工作原理LED的电路符号实物图LED的工作是有方向性的,只有当正级接到LED阳极,负极接到LED的阴极的时候才能工作,如果反接LED是不能正常工作的。LED的工作参数03三、LED的工作参数LED正向导通压降一般为(1.7~1.9)VLED点亮电流为5mA至10mA使用时,通常和LED串联一个电阻,其作用在于限制电流。

式中VCC——电源电压;VLED——LED的正向导通压降,通常取1.7~1.9V;

ILED——所选工作电流,一般取7mA左右,已有足够的显示亮度。三、LED的工作参数

在硬件设计中,首先是单片机最小系统,它是组成任意复杂单片机系统的基础,包括STM32F103VCT6芯片、电源电路、复位电路、时钟电路和JTAG下载接口电路。三、LED的工作参数按键控制LED电路设计4个LED,采用的是共阴极接法,其阳极分别接在PD8、PD9、PD10和PD11上。4个独立按键;按键分别接在PB12、PB13、PB14和PB15上,电源为3.3V,电阻为上拉电阻。按键和LED电路,如下图所示。键控LED程序设计(1)目录CONTNETS按键控制LED实现分析按键控制LED程序设计总体思路12按键控制LED实现分析01一、按键控制LED实现分析第1:如何判断和识别按下的按键?可通过检测PB12、PB13、PB14和PB15引脚哪个是“0”,就可以判断是否有键按下,并能识别出是哪一个键按下。当识别了按下的按键后,就可以通过PD8、PD9、PD10或PD11输出控制信号,点亮或熄灭对应的LED。第2个问题,如何采用库函数读取按键的状态?0201判断按键S2、S3和S4是否按下,同与判断按键S1方法一样。通过GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)函数读取PB12的值(既S1的值),判断PB12的值是否为0,若为0表示按键S1按下,否则按键S1未按下。一、按键控制LED实现分析按键控制LED程序设计总体思路02二、按键控制LED程序设计总体思路对4个LED所接的PD8、PD9、PD10和PD11配置、GPIOD时钟使能的代码,编写在led.h头文件和led.c文件中。对4个按键所接的PB12、PB13、PB14和PB15配置、GPIOB时钟使能的代码,编写在key.h头文件和key.c文件中。4个按键控制4个LED点亮和熄灭的代码,编写在主文件中,并保存在USER文件夹下面。工程编译与仿真调试下载。正常来说,项目程序的编写很难一次性成功、没有任何纰漏,那么进行程序的仿真调试就非常重要。03010204二、按键控制LED程序设计总体思路

Stm32代码调试方法主要分为:软件仿真调试软件仿真调试不需要将程序下载到实物开发版就能很方便的检查程序存在的问题。硬件调试也即在线调试,就是利用j-link对stm32进行在线调试来解决stm32程序出现的问题。硬件调试键控LED程序设计(2)一、键控LED程序设计(2)对4个LED所接的PD8到PD11引脚进行配置、GPIOD引脚时钟进行使能,并编写在led.h头文件和led.c文件中。led.h头文件代码一、键控LED程序设计(2)编写LED.c文件,该文件代码主要为led灯的初始化配置文件。在LED_Init函数中,首先对GPIOD端口时钟进行使能,然后对PD8-PD11端口配置为推挽输出、50Mhz的速度。最后通过GPIO_ResetBits函数将PD8-PD11引脚复位为低电平,确保单片机开机后的初始状态下四盏LED灯处于熄灭状态。led.c文件代码一、键控LED程序设计(2)对4个按键所接的PB12-PB15进行配置,使能GPIOB时钟,分别编写在key.h头文件和key.c文件中。key.h头文件代码如图所示,用define宏定义了KEY1为CPIO_ReadlnputDataBt(GPIOB,GPIO_Pin_12)的好处就是在读取PB12的值时,直接使用KEY1就行了,KEY2、KEY3和KEY4与KEY1同理。key.h头文件代码一、键控LED程序设计(2)为key.c文件的代码,需要说明的是(1)由于按键一端接地,按键按下时对应的引脚被拉低,按键释放后其引脚又被拉高,所以要配置PB12~PB15为上拉输入。若按键一端接电源,则PB12~PB15要配置为下拉输入。key.c文件代码一、键控LED程序设计(2)(2)KEY_Scan(void)是按键扫描函数,其功能是判断是否有按键按下。若有按键按下,返回按键对应的键值t,t=1时,K1按下;t=2时,K2按下;t=3时,K3按下;t=4时,K4按下。无按键按下时,返回值t=0。key.c文件代码一、键控LED程序设计(2)完成上述操作后,在USER文件夹下面新建并保存ajkzled.c文件,在其中编写如图所示的代码,在主函数while(1)循环中,通过switch()函数不断扫描按键值,当某个led灯对应的按键被按下后,控制对应的led灯的状态进行动作。ajkzled.c文件代码一、键控LED程序设计(2)完成上述操作后,在USER文件夹下面新建并保存ajkzled.c文件,在其中编写如图所示的代码,在主函数while(1)循环中,通过switch()函数不断扫描按键值,当某个led灯对应的按键被按下后,控制对应的led灯的状态进行动作。ajkzled.c文件代码

温馨提示

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

评论

0/150

提交评论