独立按键实验

合集下载

单片机独立按键识别实验报告

单片机独立按键识别实验报告

桂林电子科技‎大学
实验报告
2016-2017 学年第一学期‎
开课单位海洋信息工程‎学院
适用年级、专业 14级机械设‎计制造及其自‎动化
课程名称《单片微型计算‎机与接口技术‎-课内实验》
主讲教师周旋
课程序号 BS1615‎000_03‎
课程代码 BS1615‎000 实验名称《独立按键识别‎》
学号 141601‎0516 - 17 姓名林亦鹏卢炳荣
独立按键识别‎实验报告
电路采用无源‎蜂鸣器,从P1.5口形成脉冲‎来驱动。

因为单片机开‎机初始化瞬间‎,其I/O口为高电平‎,会有误响动作‎。

单片机的独立‎键盘使用的是‎P1口。

当有键按下时‎,P1口相应位‎为低电平。

、查找资料说明‎按键抖动的原‎因。

、延时程序是怎‎么实现延时的‎?
定义蜂鸣器的‎连接端口--//。

单片机独立按钮实训报告

单片机独立按钮实训报告

一、实训目的通过本次单片机独立按钮实训,掌握单片机的基本原理,了解独立按钮的工作原理及其在单片机中的应用,提高动手实践能力,为后续单片机相关课程的学习打下坚实基础。

二、实训内容1. 独立按钮介绍2. 独立按钮在单片机中的应用3. 独立按钮驱动程序编写4. 实验电路搭建与调试三、实训过程1. 独立按钮介绍独立按钮是一种常用的电子开关,由一个开关和两个引脚组成。

当按钮未按下时,两个引脚处于断开状态;当按钮按下时,两个引脚导通,从而实现信号的传递。

2. 独立按钮在单片机中的应用在单片机中,独立按钮常用于实现简单的输入控制,如按键控制LED灯的亮灭、按键控制继电器开关等。

3. 独立按钮驱动程序编写以51单片机为例,编写独立按钮驱动程序如下:```c#include <reg51.h>#define BUTTON P1 // 定义按钮连接的端口void delay(unsigned int ms) // 延时函数{unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 120; j++);}void main(){while (1){if (BUTTON == 0x00) // 检测按钮是否被按下{delay(10); // 消抖处理if (BUTTON == 0x00) // 再次检测按钮是否被按下{// 执行按钮按下后的操作// ...}}}}```4. 实验电路搭建与调试根据上述程序,搭建如下实验电路:(1)连接按钮:将按钮的两个引脚分别连接到单片机的P1.0引脚和地(GND)。

(2)连接LED灯:将LED灯的正极连接到单片机的P1.1引脚,负极连接到地(GND)。

(3)连接电源:将单片机的VCC引脚连接到5V电源,GND引脚连接到地(GND)。

(4)调试程序:将编译好的程序烧录到单片机中,观察LED灯是否在按钮按下时亮起。

单片机独立按键控制led灯实验原理

单片机独立按键控制led灯实验原理

主题:单片机独立按键控制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等,不同的单片机板具有不同的特性和使用方法,因此需要根据实验要求来选择适合的单片机板。

独立按键中断实验说明

独立按键中断实验说明

/**************************************************************************
****/
/**
*
* This is the entry function from the TestAppGen tool generated application
三.源代码说明
3.1 函数及变量说明
/***************************** Include Files *********************************/ #include "xparameters.h" #include "xgpio.h" #include "xil_exception.h" #include "xscugic.h" #include "xil_printf.h"
XGpio_SetDataDirection(&Gpio_LEDS, LEDS_CHANNEL, 0); //set all LEDS pins as output
XGpio_SetDataDirection(&Gpio_LEDS, SEG7_CHANNEL, 0); //set all SEVEN SEGMENGT LEDS pins as output
int GpioIntrInitialize();
int GpioSetupIntrSystem(INTC *IntcInstancePtr, XGpio *InstancePtr, u16 DeviceId, u16 IntrId, u16 IntrMask);
void GpioDisableIntr(INTC *IntcInstancePtr, XGpio *InstancePtr, u16 IntrId, u16 IntrMask);

单片机独立按键实验报告总结

单片机独立按键实验报告总结

单片机独立按键实验报告总结本次实验我们使用了单片机进行了独立按键实验,通过学习掌握了单片机输入输出口的基本使用方法以及独立按键的使用方法和技巧。

以下是本次实验的总结:一、实验内容本次实验的主要内容是独立按键的使用方法和技巧。

通过学习,我们掌握了独立按键的接法原理和基本应用方法。

在实验中,我们首先通过理论学习了按键的工作原理,了解了按键在电路中的应用和接法方法,然后实际动手进行了按键电路的搭建和单片机程序的编写,最后进行了按键测试和实验结果分析。

二、实验步骤1.理论学习:首先,我们学习了独立按键的工作原理和接法原理,了解按键在电路中的应用和接法方法,掌握了按键接口的输入输出方式,并对具体实现过程和技巧进行了分析和探讨。

2.电路搭建:根据学习到的按键接法原理和电路图,我们使用面包板和导线搭建了独立按键电路,将按键连接到单片机的输入端口上,并设置相应的电阻来保护电路和单片机芯片。

3.程序编写:通过阅读单片机说明书和参考其他资料,我们学习了单片机输入输出口的基本使用方法和指令,编写了程序代码,实现了独立按键操作的功能。

我们实现了多种按键操作方式,包括单击、长按等方式,并添加了相应的提示和保护措施,以确保程序的可靠性和稳定性。

4.测试实验:最后,我们进行了独立按键测试实验,通过按键操作,观察测试实验结果,进行了数据分析和结论汇总。

实验结果表明,我们的按键电路和程序代码都实现了预期的功能和效果,证明了我们在实验中掌握的独立按键技巧和方法是正确和有效的。

三、实验结论通过本次实验,我们掌握了单片机输入输出口的基本使用方法和独立按键的使用方法和技巧,了解了按键在电路中的应用和接法方法,探索了独立按键实现的多种方式和技巧,提高了我们的电路设计能力和程序设计能力。

同时,本次实验还加强了我们的实验动手操作能力,增强了我们的实际应用能力和创新思维能力,为我们以后的学习和工作打下了坚实的基础。

实验报告二 独立按键识别

实验报告二 独立按键识别

桂林电子科技大学信息科技学院
单片机原理与接口技术实验报告
-----------------------------------------------------------------------------------------------------------------------------------------------------
1、理解机械式按键产生抖动的原因; 2、掌握软件延时消除按键抖动的原理; 3、熟练掌握延时程序的具体设计调试。
二、实验任务
1、 复习按键消抖的软硬件方法;理解掌握软件延时消除按键抖动的原理及编程方法。
2、 参考下面所示电路,编写单片机程序,要求实现如下功能:
判别按键是否按下,每按下一次,按键次数加一,4 个发光二极管按照一位十六进制 数的形式点亮。
-----------------------------------------------------------------------------------------------------------
桂林电子科技大学信息科技学院
单片机原理与接口技术实验报告
-----------------------------------------------------------------------------------------------------------------------------------------------------
3、独立按键识别原理及过程
否 按键是否按下
是 软件延时 10ms
否 按键是否按下
是 按键处理程序
否 按键是否释放

三、实验步骤
1、根据参考电路,利用 Proteus 软件设计绘制完整的应用电路。 2、绘制程序设计流程图

实验六、独立式键盘输入实验

实验六、独立式键盘输入实验

实验六、独立式键盘输入实验一、实验目的1.认识独立式键盘的工作原理2.学习独立式键盘的接口设计二、实验设备1.单片机最小系统模块2.仿真器3.独立式键盘实验模块4.发光二极管显示模块三、实验要求要求由8个独立式键盘和8个发光二极管组成实验电路,当按下某一个键时相应的发光二极管被点亮。

四、实验原理独立式键盘中,各按键相互独立,每个按键各接一根输入线,每根输入线上的按键工作状态不会影响其它输入线上的工作状态。

因此,通过检测输入线的电平状态就可以很容易的判断按键是否被按下了。

独立式键盘电路配置灵活,软件结构简单。

但每个按键需占用一根输入线,在按键数量较多时,输入口浪费大,电路结构显得很繁杂,故此种键盘适用于按键较少或操作速度较高的场合。

下面介绍独立式按键的接口方法。

图6-1(a)为中断方式的独立式键盘工作电路,图(b)为查询方式的独立式按键工作电路,按键直接与89C51的I/O口线相接,通过读I/O口,判定各I/O口线的电平状态,即可识别出按下的按键。

(a)中断方式(b)查询方式图6-1 独立式键盘接口电路此外,也可以用扩展I/O口连接独立式键盘接口电路。

上述独立式键盘电路中,各按键开关均采用了上拉电阻,这是为了保证在按键断开时,各I/O口线有确定的高电平。

在我们的键盘模块中,已经在键盘输出端加上了上拉电阻,因此不用再额外加上。

五、实验步骤实验参考连线如图6-2所示。

(以6键、6发光管为例)图6-2 实验连线图1、按照图6-2的电路原理,用导线正确连接独立式键盘、发光二极管实验模块和单片机最小系统模块。

2、示例程序如下(以6键、6发光管为例):BEGIN: MOV P0,#0FFH ;熄灭二极管LOOP: MOV A,P0 ;读键盘状态ANL A,#3FH ;屏蔽高二位MOV 40H,A ;把读的键盘状态暂放在40H的地址CJNE A,#3FH,HADKEYSJMP LOOPHADKEY:ACALL DL10MS ;延时10MSMOV A,P0 ;再读键盘状态ANL A,#3FH ;屏蔽高二位CJNE A,40H,LOOP ;比较两次读键盘状态,如不同则重读MOV P2,A ;使相应的二极管发亮NOPNOPLJMP LOOPDL10MS: MOV R7,#05LOOP1: MOV R6,#0F9HLOOP2: NOPNOPDJNZ R6,LOOP2DJNZ R7,LOOP1RET将程序调入仿真器进行调试。

单片机课程实验二: 独立按键电路设计

单片机课程实验二: 独立按键电路设计

单片机课程实验二:独立按键电路设计专业:通信工程学号:1610111183 姓名:石万里一、实验步骤:在实验一STC89C52单片机控制8个流水灯的实验的基础上进行此实验。

本次实验目标:通过两个独立按键控制流水灯的变化,使得8个流水灯代表的8进制数,在按下K1键后自动加一,按下K2键后,自动减一,采用下降沿外部中断触发。

电路图在实验一的基础上进行改装,让P32与P33各自通过一个独立按键接地,手绘电路图如图1.1所示:图1.1独立按键电路图1.2独立按键电路焊接成果实验程序编写烧录后,在keil软件中生产hex文件,再烧录到单片机芯片中,再给电路板上电即可。

之后是实验程序的编写,流水灯程序编写好并在学习板上测试成功后,即可把芯片放到自己焊接的电路板上上电测试电路板,如果成功即可找老师验收,不成功需要用万用表对电路板进行测试,测试时先把万用表档位调到欧姆档,测试本实验焊接的独立按键电路是否存在开路,并检查是否存在有未焊接的部分,是否有虚焊漏焊的情况,是否上电测试时晶振未安装,电路板检查后继续进行测试,然后再检查、测试,直到自己焊接的电路板功能正常。

若是在学习板上程序未成功,则需要对程序进行修改,重新编译、烧录,不断测试。

二、流水灯程序:org 0000Hljmp mainorg 0003hljmp jiayiorg 0013hljmp jianyiorg 100h main:setb ex0setb IT0setb ex1setb IT1setb eamov r4,#07hmov r3,#07hmov r2,#02hmov a,#0fehmov p1,aloop2:acall delay next: rl aacall delaymov p1,adjnz r4,next here: acall delay//mov a,p1rr amov p1,adjnz r3,heremov r4,#07hmov r3,#07hdjnz r2,loop2acall delay loop1:mov a,#07chmov p1,asjmp loop1 delay:mov r5,#19h delay1:mov r6,#19h delay2:mov r7,#0ffhdjnz r7,$djnz r6,delay2djnz r5,delay1 retjiayi:mov a,p1dec aacall delaymov p1,asjmp jiayiretijianyi:mov a,p1inc aacall delaymov p1,asjmp jianyiretiend三、实验总结:实验结果如下图所示:前五张图片是加一结果,最后两张图片是减一结果因为拍照速度太慢,故加一减一在图中看起来可能不连续,但程序完全正确,已经过实验验证,本人建议最好录视频作为作业上交此实验是建立在实验一的基础上进行的,故相对较为简单,只需要P32与P33各自加独立按键接地即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机独立按键控制LED灯实验
独立按键实验
• • • • • • • • • • • • • • • • /************************************************************************************** * 独立按键实验 * 实现现象:下载程序后按下K1按键可以对LED小灯状态取反。 注意事项:无 ***************************************************************************************/ #include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; sbit k1=P1^0; sbit led=P1^1; sbit led1=P1^2; sbit led2=P1^3; /******************************************************************************* *函数名 * 函数功能 : delay : 延时函数,i=1时,大约延时10us //定义P10口是k1 //定义P11口是led //此文件中定义了单片机的一些特殊功能寄存器 //对数据类型进行声明定义

• • • • • • • • • }
while(i--);
/******************************************************************************* *函数名 * 函数功能 void keypros() { if(k1==0) { //检测按键K1是否按下 : keypros : 按键处理函数,判断按键K1是否按下
*******************************************************************************/
• • •
*******************************************************************************/ void delay(u16 i) {

/*******************************************************************************
/******************************************************* ************************ *函数名 : main * 函数功能 : 主函数 *输 入 :无 *输 出 :无 ******************************************************** ***********************/ void main() { led=0; led1=1; led2=0; while(1) { keypros(); //按键处理函数 } }

*******************************************************************************/

• • • • • • • • • } }
delay(1000); //消除抖动 一般大约10ms
if(k1==0) { led=~led; led1=~led1; led2=~led2; } while(!k1); //检测按键是否松开 //led状态取反 //再次判断按键是否按下
相关文档
最新文档