独立按键控制LED灯
- 格式:docx
- 大小:377.59 KB
- 文档页数:13
主题:单片机独立按键控制LED灯实验原理目录1. 概述2. 单片机独立按键控制LED灯实验原理3. 实验步骤4. 结语1. 概述单片机在现代电子设备中起着至关重要的作用,它可以通过编程实现各种功能。
其中,控制LED灯是单片机实验中常见的任务之一。
本文将介绍单片机独立按键控制LED灯的实验原理及实验步骤,希望对初学者有所帮助。
2. 单片机独立按键控制LED灯实验原理单片机独立按键控制LED灯的实验原理主要涉及到单片机的输入输出端口及按键和LED的连接方式。
在单片机实验中,按键与单片机的输入端口相连,LED与单片机的输出端口相连。
通过按键的按下和松开来改变单片机输出端口电平,从而控制LED的亮灭。
3. 实验步骤为了完成单片机独立按键控制LED灯的实验,需要按照以下步骤进行操作:步骤一:准备材料- 单片机板- 按键- LED灯- 连线- 电源步骤二:搭建电路- 将按键与单片机的输入端口相连- 将LED与单片机的输出端口相连- 连接电源步骤三:编写程序- 使用相应的单片机开发软件编写程序- 程序中需要包括按键状态检测和LED控制的部分步骤四:烧录程序- 将编写好的程序烧录到单片机中步骤五:运行实验- 按下按键,观察LED的亮灭情况- 确保按键可以正确控制LED的亮灭4. 结语通过上述实验步骤,我们可以实现单片机独立按键控制LED灯的功能。
这个实验不仅可以帮助学习者了解单片机的输入输出端口控制,还可以培养动手能力和程序设计能力。
希望本文对单片机实验初学者有所帮助,谢谢阅读!实验步骤在进行单片机独立按键控制LED灯实验时,需要按照一定的步骤进行操作,以确保实验能够顺利进行并取得预期的效果。
下面将详细介绍实验步骤,帮助读者更好地理解和掌握这一实验过程。
1. 准备材料在进行单片机独立按键控制LED灯实验前,首先需要准备相应的材料。
这些材料包括单片机板、按键、LED灯、连线和电源。
在选择单片机板时,需要根据具体的实验需求来确定,常见的有51单片机、Arduino等,不同的单片机板具有不同的特性和使用方法,因此需要根据实验要求来选择适合的单片机板。
应用工程学院单片机应用技术实训报告专业:应用电子学号:1504150137姓名:许林日期:2016/12/24项目一按键控制多种花样霓虹灯设计一、任务目的1.理解实验板独立按键部分的电路原理。
2.掌握循环类、位操作类指令的应用。
3.熟练掌握51单片机集成开发软件的使用。
4.巩固C语言知识并灵活运用到单片机编程。
二、任务要求使用按键控制多种花样霓虹灯设计,电路板上有8个自上而下排列整齐的发光二极管,需要根据一个(或者三个)按键的输入来实现以下3种显示状态的切换:a.全部闪烁b.至上而下流水灯循环c.第8、6、4、2、1、3、5、7个发光二极管循环三、硬件电路设计四、软件设计#include<regx51.h>unsigned int n;void delayms(n){unsigned char i,j,k;for(i=15;i>0;i--)for(j=202;j>0;j--)for(k=81;k>0;k--);}void main(){unsigned char key,a,m;unsigned char codeled[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xbf,0xef,0xfb,0xfe,0x7f,0xdf,0xf7,0xfd};P0=0xff;while(1){key=0;while(key==0){key=P3;key=~key;}while(key==0);switch(key){case 0x04:a=0;break;case 0x08:a=1;break;case 0x10:a=2;break;default:break;}do{for(m=0;m<8;m++){P0=led[a*8+m];delayms(10);P0=0xff;}key=P3;key=~key;}while(key==0);}}编程思想:用16进制数对对单片机编程,从而实现对彩灯控制。
项目五独立按键控制LED灯1.掌握独立按键消抖原理2.掌握独立按键接口电路设计3.掌握独立按键控制LED灯的程序编写1.设计独立按键控制LED的硬件电路2.编写程序分别实现按下按键1和按键2,LED灯闪烁方式不同3.下载程序到单片机中,运行程序观察结果并进行软硬件的联合调试键盘是常见的计算机输入设备,在单片机应用中,按键可以设置电子钟的时间;简易计算器中,按键可以输入数字;按键还可以实现单片机中两个不同功能程序切换。
本项目要求两个按键分别实现LDE灯的不同闪烁方式,按键1按下时,8个LED灯从右向左依次点亮,按键2按下时,8个LED灯从左向右依次点亮。
本项目只需2个按键实现LED灯闪烁方式控制,因此按键接口电路设计成独立按键。
独立按键即每个按键直接与单片机I/O端口连接,当按键按下和弹开时,单片机I/O端口呈现不同的电平。
独立按键接口电路可以设计成当按键按下时,单片机I/O端口为高电平或者低电平,读者可以根据自己的需求自行设计。
单片机应用中的独立按键多是机械弹性开关,在按键按下和弹开时,由于按键的机械特性,有抖动产生。
消除抖动有硬件方式和软件方式,软件方式就是编程读取I/O端口电平时,产生一个5ms~10ms延时后,再次读取I/O端口电平,以确认按键是否按下或弹开。
1.独立按键与矩阵按键键盘是实现人机交互的重要计算机输入设备,其中按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。
按键按照接口原理可分为编码键盘和非编码键盘,编码键盘是用硬件来实现对键的识别,非编码键盘由软件来实现按键的识别。
非编码键盘按连接方式可分为独立按键和矩阵按键。
独立按键特点是每个按键占用一条I/O线,当按键数量较多时,I/O口利用率不高,但程序编制简单,适合所需按键较少的场合。
矩阵按键特点是电路连接复杂,软件编程较复杂,但I/O口利用率高,适合需要大量按键的场合。
rgb键盘原理
RGB键盘即可以通过照明的方式在键盘上显示不同的颜色。
其原理是通过在每个按键的背后放置LED灯来实现。
这些LED灯可以发出不同的红、绿以及蓝光,通过调节三种颜色的亮度和组合方式,就可以实现各种不同的颜色效果。
在RGB键盘中,每个按键可以独立控制其背光效果。
这意味着用户可以根据自己的喜好和需求来设置每个按键的颜色。
一些键盘还支持灯光效果的个性化定制,用户可以选择不同的灯光模式(如呼吸灯、渐变灯等)和颜色组合,以达到个性化的视觉效果。
为了实现这一功能,RGB键盘通常配备了一个电路板和控制器。
电路板上的LED灯可以根据接收到的信号来调节其亮度和颜色。
而控制器则负责接收用户输入的指令,并将指令转化为控制信号发送给电路板上的LED灯。
用户可以通过键盘上的特定按键或者软件界面来控制RGB键盘的灯光效果。
一些键盘还支持与电脑上的软件进行联动,可以根据不同的游戏或应用程序自动切换灯光效果。
总的来说,RGB键盘通过在每个按键后面放置LED灯来实现照明效果,并通过电路板和控制器来实现对灯光效果的控制。
这种键盘可以为用户带来个性化的视觉体验,并且在夜间或昏暗环境下提供更好的使用体验。
ARM 2110开发板,使用4个独立按键控制LED灯KEY1控制LED1,KEY2控制LED2,KEY3控制LED3,KEY4控制LED4#include "systemInit.h"// 定义LED#define LED_PERIPH1 SYSCTL_PERIPH_GPIOF#define LED_PORT1 GPIO_PORTF_BASE#define LED_PIN1 GPIO_PIN_1|GPIO_PIN_2#define LED_PERIPH2 SYSCTL_PERIPH_GPIOB#define LED_PORT2 GPIO_PORTB_BASE#define LED_PIN2 GPIO_PIN_0|GPIO_PIN_1// 定义KEY#define KEY_PERIPH1 SYSCTL_PERIPH_GPIOH#define KEY_PORT1 GPIO_PORTH_BASE#define KEY_PIN1 GPIO_PIN_1#define KEY_PERIPH2 SYSCTL_PERIPH_GPIOB#define KEY_PORT2 GPIO_PORTB_BASE#define KEY_PIN2 GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4// 主函数(程序入口)int main(void){clockInit(); // 时钟初始化:晶振,6MHzSysCtlPeriEnable(LED_PERIPH1); // 使能LED所在的GPIO端口GPIOPinTypeOut(LED_PORT1, LED_PIN1); // 设置LED所在的管脚为输出SysCtlPeriEnable(LED_PERIPH2); // 使能LED所在的GPIO端口GPIOPinTypeOut(LED_PORT2, LED_PIN2); // 设置LED所在的管脚为输出SysCtlPeriEnable(KEY_PERIPH1); // 使能KEY所在的GPIO端口GPIOPinTypeIn(KEY_PORT1, KEY_PIN1); // 设置KEY所在管脚为输入SysCtlPeriEnable(KEY_PERIPH2); // 使能KEY所在的GPIO端口GPIOPinTypeIn(KEY_PORT2, KEY_PIN2); // 设置KEY所在管脚为输入for (;;){if (GPIOPinRead(KEY_PORT1, KEY_PIN1) == 0x00) // 如果按下KEY1{ GPIOPinWrite(LED_PORT2, LED_PIN2, 0xff); // 熄灭LED GPIOPinWrite(LED_PORT1, LED_PIN1, 0x05); // 点亮LED }else if (GPIOPinRead(KEY_PORT2, KEY_PIN2) == 0x30) // 如果按下KEY2{ GPIOPinWrite(LED_PORT2, LED_PIN2, 0xff); // 熄灭LED GPIOPinWrite(LED_PORT1, LED_PIN1, 0x02); // 点亮LED }else if (GPIOPinRead(KEY_PORT2, KEY_PIN2) == 0x50) // 如果按下KEY3{ GPIOPinWrite(LED_PORT1, LED_PIN1, 0xff); // 熄灭LED GPIOPinWrite(LED_PORT2, LED_PIN2, 0x0e); // 点亮LED }else if (GPIOPinRead(KEY_PORT2, KEY_PIN2) == 0x60) // 如果按下KEY4{ GPIOPinWrite(LED_PORT1, LED_PIN1, 0xff); // 熄灭LED GPIOPinWrite(LED_PORT2, LED_PIN2, 0x0d); // 点亮LED }SysCtlDelay(10 * (TheSysClock / 3000)); // 延时约10ms }}。
项目五独立按键控制LED灯
1.掌握独立按键消抖原理
2.掌握独立按键接口电路设计
1.设计独立按键控制LED的硬件电路
2.编写程序分别实现按下按键1和按键2,LED灯闪烁方式不同
3.下载程序到单片机中,运行程序观察结果并进行软硬件的联合调试
键盘是常见的计算机输入设备,在单片机应用中,按键可以设置电子钟的时间;简易计算器中,按键可以输入数字;按键还可以实现单片机中两个不同功能程序切换。
本项目要求两个按键分别实现LDE灯的不同闪烁方式,按键1按下时,8个LED灯从右向左依次点亮,按键2按下时,8个LED灯从左向右依次点亮。
本项目只需2个按键实现LED灯闪烁方式控制,因此按键接口电路设计成独立按键。
独立按键即每个按键直接与单片机I/O端口连接,当按键按下和弹开时,单片机I/O端口呈现不同的电平。
独立按键接口电路可以设计成当按键按下时,单片机I/O端口为高电平或者低电平,读者可以根据自己的需求自行设计。
单片机应用中的独立按键多是机械弹性开关,在按键按下和弹开时,由于按键的机械特性,有抖动产生。
消除抖动有硬件方式和软件方式,软件方式就是编程读取I/O端口电平时,产生一个5ms~10ms延时后,再次读取I/O端口电平,以确认按键是否按下或弹开。
1.独立按键与矩阵按键
键盘是实现人机交互的重要计算机输入设备,其中按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。
按键按照接口原理可分为编码键盘和非编码键盘,编码键盘是用硬件来实现对键的识别,非编码键盘由软件来实现按键的识别。
非编码键盘按连接方式可分为独立按键和矩阵按键。
独立按键特点是每个按键占用一条I/O线,当按键数量较多时,I/O口利用率不高,但程序编制简单,适合所需按键较少的场合。
矩阵按键特点是电路连接复杂,软件编程较复杂,但I/O口利用率高,适合需要大量按键的场合。
下图为常见独立按键和矩阵按键接口电路。
图独立按键接口电路与矩阵按键接口电路上图四个按键(常开触点开关)S1,S2,S3,S4分别与单片机的四个I/O端口连接。
当按键没有按下时,四个I/O端口的电压为高电平;当按键按下
时,电源与电阻、按键构成闭合回路,四个I/O端口的电压拉为低电平。
四个电阻为外部上拉电路,它们的作用是拉升外部端口的电压,如果单片机的I/O端口有内部上拉电阻的话,此处可以忽略,但编程时需注意读I/O端口时,应先给端口赋高电平,避免误读端口。
矩阵按键接口电路在项目六中讲解。
2.按键消抖
通常的按键所用的开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
如下图所示,按键抖动时间一般为5ms~10ms。
因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。
按键消抖方式有硬件消抖和软件消抖。
硬件消抖在按键数目较少时使用,常用硬件消抖电路有RS触发器和并联电容,如下图所示。
如果按键较多,常用软件方法消抖。
其方法是检测按键是否按下,如按
键按下,执行一个延时程序5ms~10ms,让前沿抖动消失后再一次检测按键状态,如果仍保持按下,则确认为真正有按键按下。
当检测到按键释放后,也执行一个5ms~10ms的延时,待后沿抖动消失后转入该按键的处理程序。
这种按键消抖占用CPU资源,采用定时器中断软件消抖效果要好些。
1.绘制本项目电路图
2.
3.根据电路图进行焊接
参考视频资料
4.编写本项目程序
5.程序下载并进行软硬件调试
参考视频资料。