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

合集下载

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

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

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

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

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

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

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

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

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

键盘扫描程序实验报告

键盘扫描程序实验报告

一、实验目的1. 理解键盘扫描的基本原理。

2. 掌握使用C语言进行键盘扫描程序设计。

3. 学习键盘矩阵扫描的编程方法。

4. 提高单片机应用系统的编程能力。

二、实验原理键盘扫描是指通过检测键盘矩阵的行列状态,判断按键是否被按下,并获取按键的值。

常见的键盘扫描方法有独立键盘扫描和矩阵键盘扫描。

独立键盘扫描是将每个按键连接到单片机的独立引脚上,通过读取引脚状态来判断按键是否被按下。

矩阵键盘扫描是将多个按键排列成矩阵形式,通过扫描行列线来判断按键是否被按下。

这种方法可以大大减少引脚数量,降低成本。

本实验采用矩阵键盘扫描方法,使用单片机的并行口进行行列扫描。

三、实验设备1. 单片机开发板(如51单片机开发板)2. 键盘(4x4矩阵键盘)3. 连接线4. 调试软件(如Keil)四、实验步骤1. 连接键盘和单片机:将键盘的行列线分别连接到单片机的并行口引脚上。

2. 编写键盘扫描程序:(1)初始化并行口:将并行口设置为输入模式。

(2)编写行列扫描函数:逐行扫描行列线,判断按键是否被按下。

(3)获取按键值:根据行列状态,确定按键值。

(4)主函数:调用行列扫描函数,读取按键值,并根据按键值执行相应的操作。

3. 调试程序:将程序下载到单片机,观察键盘扫描效果。

五、实验程序```c#include <reg51.h>#define ROW P2#define COL P3void delay(unsigned int ms) {unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 123; j++);}void scan_key() {unsigned char key_val = 0xFF;ROW = 0xFF; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值}void main() {while (1) {scan_key();if (key_val != 0xFF) {// 执行按键对应的操作}}}```六、实验结果与分析1. 实验结果:程序下载到单片机后,按键按下时,单片机能够正确读取按键值。

51单片机独立按键工作原理

51单片机独立按键工作原理

51单片机独立按键工作原理
51单片机独立按键是单片机常用的一种输入方式,其工作原理主要包
括按键输入、按键扫描和按键判断三个部分。

一、按键输入
在51单片机独立按键的输入中,按键一般都是使用电子开关实现的。

当按下按键时,电子开关会闭合,形成一条通路。

通路中的电流会使
得连接在单片机输入引脚上的电容充电,使得电容电压迅速上升。

二、按键扫描
在51单片机独立按键的输入过程中,按键的状态需要被单片机不断地
进行扫描。

为了使得扫描的速度变快,通常会将扫描的引脚定义为优
先级较高的中断引脚。

因此,当按键按下的时候,单片机会处理中断
请求,并在相应的寄存器中保存按键的状态。

三、按键判断
在51单片机独立按键输入的最后一步,就是根据按键的状态来判断其
具体的操作。

这个判断过程需要我们设置一个合适的延迟时间,以保
证扫描程序不会出现错误。

总之,51单片机独立按键的工作原理包括按键输入、按键扫描和按键
判断三个部分。

这个过程中,电子开关的闭合和断开会形成一条通路,将电容充电,引脚定义为中断引脚,优先级较高。

最后,根据按键的
状态进行相应的判断来完成各种不同的操作。

单片机实验报告——矩阵键盘数码管显示

单片机实验报告——矩阵键盘数码管显示

单片机实验报告信息处理实验实验二矩阵键盘专业:电气工程及其自动化指导老师:***组员:明洪开张鸿伟张谦赵智奇学号:152703117 \152703115\152703118\152703114室温:18 ℃日期:2017 年10 月25日矩阵键盘一、实验内容1、编写程序,做到在键盘上每按一个键(0-F)用数码管将该建对应的名字显示出来。

按其它键没有结果。

二、实验目的1、学习独立式按键的查询识别方法。

2、非编码矩阵键盘的行反转法识别方法。

3、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。

4、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。

5、掌握利用Keil51软件对程序进行编译。

6、会根据实际功能,正确选择单片机功能接线,编制正确程序。

对实验结果能做出分析和解释,能写出符合规格的实验报告。

三、实验原理1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。

2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。

3、识别键的闭合,通常采用行扫描法和行反转法。

行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。

行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。

然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。

这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。

由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。

单片机实践-独立按键电路原理及代码实现

单片机实践-独立按键电路原理及代码实现
一定要去掉“前沿抖动”和 “后沿抖动”的脉冲,两者 统称为按键去抖动。
11 原理分析
那怎么样对键盘去抖动呢?
一般可以采用硬件电路和软件程序两种方法消除键盘抖动。但在现代电 子产品开发过程中,一般都采用软件去抖动。
11 原理分析
软件程序消除键盘抖动措:
① 检测判断是否有键按下; ② 若有则执行5~10ms的延时程序; ③ 再重新检测判断该键是否仍然按下。 同理,在检测到该键释放时,也采用先 延时再判断的方法消除抖动的影响。一 般释放键时,不需要检测和去抖动操作 。
//按键处理,开灯、关灯等 } else if(P11==0)//判断是否为P11的按键按下 {
//按键处理,开灯、关灯等 } while(P10==0||P11==0);//等待两个按键都松开 } //返回
}
THANK YOU
独立按键工作原理 及代码实现
CONTENTS
原理分析
代码实现
11 原理分析
按键电路的工作原理: 按下:A为低电平,0v 松开:A为高电平,5v
独立按键电路
11 原理分析
机械式按键的开、关分别是通过机械触点的合、断来实现,由于机械触 点的弹性作用,在闭合或者断开的瞬间均有抖动现象,会出现一系列电脉冲 ,抖动时间长短,与开关的机械特性、按键动作等因素有关。抖动时间一般 有5~10ms。在抖动期间检测按键的开或者关,可能导致键盘识别出错。
}
N
判断键按下?
Y 延时去抖动
N 再判断键按下? Y 按键处理
N 等待按键松开 Y
21 代码实现
两个按键的 判断方法:
void KeyScan( )
{
if(P10==0||P11==0) //判断是否有按键按下 {

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

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

宁德师范学院计算机系
实验报告
(2014—2015学年第 2学期)
课程名称单片机原理
实验名称独立按键识别
专业计算机科学与技术(软工)年级 2012级
学号 B2012103145 姓名冯武
指导教师杨烈君
实验日期 2015.5.27
实验步骤、实验结果及分析:
1 实验步骤:
1、使用Proteus ISIS 7 Professional
应用程序,建立一个.DSN文件
2、在“库”下拉菜单中,选中“拾取元件”(快捷键P),分别选择以下元件:AT89C51、CAP、CAP-ELEC、CRYSTAL、RESPACK-8。

3、构建仿真电路
图1 按键识别1、2
图2 按键识别3
图3按一下暂停
图4归零
图5时钟调整
电路图
注:1、报告内的项目或设置,可根据实际情况加以补充和调整 2、教师批改学生实验报告应在学生提交实验报告10日内。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

实验报告二 独立按键识别

实验报告二 独立按键识别

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

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

电子科技大学MSP430f5529开发板的独立按键及显示屏标准实验报告

电子科技大学MSP430f5529开发板的独立按键及显示屏标准实验报告

电子科技大学实验报告学生姓名:学号:指导教师:邮箱:一、实验室名称:MSP430单片机实验室二、实验项目名称:使用MSP430f5529开发板的独立按键及显示屏三、实验原理:(1)通用功能I/OGPIO基本都是用于芯片与片外器件或设备的交互。

其作用包括:●检测数字输入,如键盘或开关信号;●驱动LED,蜂鸣器或LCD等其他指示器;●控制片外器件,较高级的使用可以用它们(通过程序)模拟很多器件的时序达到控制相应器件的目的,比如模拟SPI和模拟总线等;GPIO是MCU与外界交互的重要途径,它具有如下的特性:●可以独立控制每个GPIO口的方向(输入/输出模式);●可以独立设置每个GPIO的输出状态(高/低电平);●所有GPIO口在复位后都有个默认方向(或输入或输出)GPIO口都是按组规划,有的芯片是8个GPIO口一组,有的是16个或32个为一组。

一般每个GPIO口都需要做两个寄存器位:一是选择口线方向(输入输出)二是需要一个数据位(用于设置输出数据和读取输入数据)。

所以一组GPIO 口至少会有两个寄存器GPIOxDIR和GPIOxDATA。

如图1.1所示的GPIO口各模块构成。

GPIOxDIR:控制各个GPIO口的方向;GPIOxDATA:用于各个GPIO口的输入输出数据。

图1.1 GPIO口各模块构成MSP430各种端口有大量的控制寄存器供用户操作。

最大限度提供了输入/输出的灵活性。

其特点如下:●每个I/O口都可以独立编程●输入或输出可任意组合●P1和P2所有I/O口都具有边沿可选的输入中断功能●可以按字节输入输出,也可按位进行操作●可设置I/O口的上拉或下拉功能●可配置I/O驱动能力(高驱动强度或低驱动强度)MSP430端口的控制寄存器包括:(a)xDIR输入/输出方向寄存器相互独立的8位分别定义了8个引脚的输入/输出方向。

使用输入和输出功能时,应该先定义端口的方向。

PxDIR配置:Bit = 1: 将端口引脚设置为输出模式;Bit = 0: 将端口引脚设置为输入模式。

单片机实习报告3篇

单片机实习报告3篇

单片机实习报告单片机实习报告3篇随着人们自身素质提升,报告有着举足轻重的地位,报告具有成文事后性的特点。

相信很多朋友都对写报告感到非常苦恼吧,下面是小编帮大家整理的单片机实习报告3篇,希望对大家有所帮助。

单片机实习报告篇1一实习目的1. 通过对单片机小系统的设计、焊接、装配,掌握电路原理图及电子线路的基本焊接装配工艺、规范及注意事项;2. 通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;3. 掌握程序编制及调试方法,完成系统初始化、存储器操作、端口操作、键盘显示等程序的编制及调试(汇编语言、C语言均可);4. 通过单片机系统的组装,调试以及程序编制、调试及运行,与理论及实验的有机结合和指导教师的补充介绍,使学生掌握控制系统的工作原理、开发方法和操作方法。

5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。

二实习意义通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。

在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。

达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。

三系统基本组成及工作原理1 系统基本组成系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。

流水灯部分由单片机、键盘模块等组成;四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;按键功能部分通过按键控制流水灯部分、四位数码显示部分;电子钟部分由单片机、键盘模块、液晶显示模块等组成;使用功能键实现相应的功能组合部分通过流水灯部分、30秒倒计时部分实现;模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。

基于MCS-51单片机的独立按键和矩阵按键检测实验

基于MCS-51单片机的独立按键和矩阵按键检测实验

实验三基于MCS-51单片机的独立按键和矩阵按键检测实验一、支撑课程目标目标1:掌握微机和单片机的基本原理、编程技术、中断技术、系统扩展、定时器、串行接口和其他输入/输出接口技术,并且了解典型的单片机应用系统的设计思想和实现方法。

目标2:初步具备自行拟定实验步骤、检查和故障排除、分析和综合实验结果以及撰写实验报告的能力。

目标4:掌握MCS-51单片机/STM32F103单片机系统仿真工具和仿真流程,了解常用实验仪器、设备的基本工作原理,了解其正确使用方法,具备利用电子仪器设备和专业仿真软件对复杂工程问题进行分析和设计的能力。

二、实验类型:验证型( )、设计型(√)、研究创新型()三、预期学生学习的成果1、具有典型按键检测电路原理及消除抖动的必要性的认知。

2、理解程序设计消除抖动的实现过程。

3、掌握独立按键的程序查询检测编程实现。

4、掌握独立按键的中断检测编程实现。

5、理解矩阵键盘的行列扫描检测原理,具有矩阵键盘软硬件设计综合能力。

四、实验原理1、典型按键检测电路典型的按键检测电路具备检测按键的条件:检测引脚处在键按下前和后,要有电平变化,否则按键无法检测。

电路组成包括电源、上拉电阻、按键、接地组成,按下前,检测引脚高电平,按下后检测引脚低电平。

电阻防止按下电源短路,如图1(a)。

GND(a)(b)图 1 按键典型电路及对应检测电压2、按键抖动及消除如图1(b),理想条件下,按键未按下,在检测I/O端口是高电平,按下以后,检测I/O端口是低电平,手松后,按键弹起,检测I/O端口是高电平。

整个按键过程出现高电平到低电平又到高电平,有下降沿,也有上升沿。

实际过程中,由于人手的抖动,检测端电压如图1(c),检测电压出现“毛刺”抖动,假设单片机检测高电平阈值为VH,低电平阈值为VL,一次按键就会出现多次高电平到低电平变化,存在按键误检测可能。

常用消除办法之一:一旦检测到低电平,延迟u毫秒,u选择大于20,再次判断检测端是否是低电平,如果是,就判定为1次按键。

单片机原理及应用A实验-流水灯、蜂鸣器、独立按键

单片机原理及应用A实验-流水灯、蜂鸣器、独立按键

流水灯、蜂鸣器、独立按键一、实验目的1、学习实验系统的基本操作,了解在实验系统中进行程序设计、仿真和调试的操作方法和步骤;2、了解单片机的基本输入、输出功能;3、熟悉Proteus的基本仿真功能;二、实验原理1、LED流水灯的原理即为单个控制LED的亮灭、亮灭,让单个LED灯先亮然后很快灭掉,并在很短的时间里使下一个LED重复这一过程。

这样让一排LED灯依次亮灭后即形成流水灯的效果。

2、在本次实验中把蜂鸣器用扬声器替代,通过控制扬声器工作时间来控制扬声器的发音频率。

3、按键是机械装置,在其闭合的时候会产生震荡,这会让软件产生误判。

为了消除这种影响,就需要对按键进行软件消抖。

消抖原理为两次判断,只要相隔一段时间的两次判断皆为按键已按下,那么这次的判断结果就是可信的,所以用到延时函数。

三、实验步骤;1、硬件仿真。

先分析实验所需的硬件条件,然后在Proteus上连接好硬件电路,注意连接好必要的电阻等。

2、软件编写。

在Keil或其它的单片机编程软件上用C语言编写出构思好的软件。

3、将程序编译为HEX文件,然后烧录到仿真单片机中,进行仿真。

四、实验结果及分析1、LED流水灯的硬件仿真电路图:实验中加入了循环处理,所以该流水灯可以顺着亮一遍再逆着亮一遍,如此反复。

并且改变流水灯亮灭的时间间隔还可以得到各种不同的效果。

2、蜂鸣器驱动的硬件仿真电路图:这里用扬声器代替蜂鸣器。

以单片机产生的一方波脉冲作为扬声器的电信号输入,用不同频率的方波信号产生不同音调的声音。

3、;4、独立按键延时去抖的硬件仿真电路图:用一个按键控制LED灯的亮灭,在软件中对按键进行消抖。

五、体会这一次的单片机实验让我感到自己对Proteus的运用还欠缺许多,基本可以说是一窍不通。

所以,这次实验以后还要花大量的时间在Proteus的学习上,希望可以从中学习到很多的东西。

还有在编程方面,很多的编程思想都还不成熟,想到的方法都有很多欠缺的地方,和书上所给的例子差距还很大。

单片机原理实验报告

单片机原理实验报告

实验一:系统认识实验一、设计目的:1. 学习 Keil C51 集成开发环境的操作;2. 熟悉 TD-51 系统板的结构及使用。

二、设计内容:编写程序,将 00H~0FH 共 16 个数写入单片机内部 RAM 的 30H~3FH 空间。

三、设计步骤:1. 创建 Keil C51 应用程序(1)运行 Keil C51 软件,进入 Keil C51 集成开发环境。

(2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令,建立一个新的μVision2 工程。

这时会弹出文件保存对话框,选择工程目录并输入文件名 Asm1 后,单击保存。

(3)工程建立完毕后,μVision2 会马上弹出器件选择窗口。

器件选择的目的是告诉μVision2 使用的 80C51 芯片的型号是哪一个公司的哪一个型号,不同型号的 51 芯片内部资源是不同的。

此时选择 SST 公司的 SST89E554RC。

(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。

选择工具栏的 File 选项,在弹出的下拉菜单中选择 New 目录。

(5)输入程序,完毕后点击“保存”命令保存源程序,将 Text1 保存成Asm1.asm。

Keil C51 支持汇编和 C 语言,μVision2 会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM 或.C。

保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。

(6)程序文件建立后,并没有与 Asm1.Uv2 工程建立任何关系。

此时,需要将 Asm1.asm 源程序添加到 Asm1.Uv2 工程中,构成一个完整的工程项目。

在Project Window 窗口内,选中Source Group1 点击鼠标右键,选择 Add Files to Group‘Source Group1’命令,此时弹出添加源程序文件对话框,选择文件Asm1.asm,点击 Add 命令按钮即可将源程序文件添加到工程中。

实验五:独立式键盘实验

实验五:独立式键盘实验

实验五:独立式键盘实验4.5.1 实验目的1. 掌握单片机独立键盘接口设计方法。

2. 掌握单片机键盘扫描程序设计方法。

3. 掌握按键功能设计方法。

4. 掌握软件消除按键抖动方法。

4.5.2 实验预习1.熟悉Keil集成编译环境的使用方法。

2. 复习单片机C语言程序设计方法。

3. 复习独立键盘工作原理。

4. 复习按键去抖动方法。

4.5.3 实验原理实验板上提供4个独立按键,与单片机接口如图4.5.1所示,每个按键单独接单片机一个I/O接口。

只要将相应端口设为1,然后判断端口状态,如果仍为1,则按键处于断开(释放)状态,如果为0,则按键处于接通(闭合)状态。

图4.5.1 独立键盘电原理图4.5.4 预作实验任务1. 用Proteus仿真软件绘制独立键盘电路图,包括如图4.5.1所示键盘接口,单片机最小系统以及数码管动态显示电路。

2. 简述按键识别过程中如何等待按键释放。

3. 简述按键抖动对单片机系统工作性能的影响,并简介消除按键抖动的方法。

4. 编写按键识别函数,要求正确识别4个按键的状态,如果有按键按下则返回键值,从左到右四个键值分别为1~4。

并通过仿真或实验板验证(要求用软件的方法消除按键抖动)。

5.为实验板上4个按键设定不同的功能,在数码管上显示数字128,4个按键按下后分别对显示的数字做如下修改:key1:数字+1;key2:数字-1;key3:数字+10;key4:数字-10;流程图如图4.5.2所示,试设计完整程序(按键识别子程序KEYSCAN和动态显示子程序DISPLAY可直接调用这里省略)。

图4.5.2 按键功能设计流程图4.5.5 实验任务1.开机时数码管显示1002.按键key1一次数字加1,按键key2一次数字减1。

加到999时再加1归零,减到000时再减1得999。

3.按住键key3不放实现连加功能,每0.2s加1。

4.按住键key4不放实现连减功能,每0.2s减1。

4.5.6 实验步骤1.分析题意,确定算法,绘制主程序流程图。

单片机按键实验报告

单片机按键实验报告

单片机按键实验报告篇一:单片机按键扫描实验报告键盘扫描一.实验目的(1)掌握矩阵键盘接口电路和键盘扫描编程方法。

(2)掌握按键值处理与显示电路设计。

二.实验任务(1)设计4*4键盘,编写各个键的特征码和对应的键值(0~F);(2)编程扫描按键,将按键对应的数字值使用数码管显示出来。

三.实验电路及连线方法1.采用动态显示连线方法:电路由2 片74LS573,1 个六字一体的共阴数码管组成。

由U15 输出段选码,U16 做位选码,与单片机的采用I/O 口连接方式,短路片J22 连接P2.0,J23 连接P2.3,做输出信号锁存。

(实际电路连接是d7-d6-d5-d4-d3-d2-d1-d0?h-c-d-e-g-b-a-f)。

PW12 是电源端。

2.键盘电路连线方法:电路由16 个按键组成,用P1 口扩展4×4 行列式键盘。

J20 是键盘连接端,连接到P1 口。

J21 是行列键盘、独立键盘选择端,当J21 的短路片连接2-3脚时,构成4×4 行列式键盘;当J21 的短路片连接2-1 脚时,可形成3×4 行列式键盘,4 个独立式按键S4、S8、S12、S16,这4 个独立按键分别连接P1.4~P1.7;其他12 个键3×4 行列式键盘。

PW15 是电源端。

四.编程思路1.采用反转法识别按键的闭合。

2.采用动态显示将键值显示出来。

五.算法流程图六.资源分配1.用P1口进行查找按键2.用R3做键值指针3.用R1做动态显示为选码指针。

4.R5为延时指针。

七.程序设计KPIN:ORG MOV MOV ANL MOV 0000H P1,#0F0H A,P1 A,#0F0H B,AMOVP1,#0FHMOVA,P1ANLA,#0FHORLA,BCJNE A,#0FFH,KPIN1AJMP EXITKPIN1: MOVB,AMOVDPTR,#TABKPMOVR3,#0KPIN2: MOVA,R3MOVC A,@A+DPTRCJNE A,B,KPIN3MOVA,R3LOOP: MOVR1,#0FEH;键盘动态显示 LOOP1: MOVA,R3ANLA,#0FHMOV DPTR,#TABMOVC A,@A+DPTRCLRP2.0CLRP2.1MOVP0,ASETB P2.0NOPCLRP2.0LOOP2: MOVA,R1;位选码MOVP0,ASETB P2.1MOVR5,#250LOOP3: DJNZ R5,LOOP3CLRP2.1SJMP LOOPKPIN3: INCR3CJNE A,#0FFH,KPIN2EXIT: RETTABKP: DB0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBHDB 0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,67H,0FFHTAB: DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FHDB 79H,33H,7CH,3BH,1BHEND八.调试出现的问题及解决问题1:程序正常运行,但按键显示出现乱码解决:动态显示笔形码错误,并改正。

独立按键实验总结范文

独立按键实验总结范文

一、实验背景在单片机实验中,独立按键实验是一个基础且重要的实验项目。

通过本实验,我们能够了解独立按键的工作原理、硬件连接以及软件编程方法,从而为后续的单片机应用开发打下坚实的基础。

二、实验目的1. 掌握独立按键的工作原理及硬件连接方法;2. 学会编写独立按键的软件程序,实现按键控制LED灯的亮灭;3. 熟悉单片机编程过程中的延时函数、状态判断等基本操作。

三、实验内容1. 独立按键的工作原理独立按键是一种电子开关,通过内部金属片的接触与断开来控制电路的连通与断开。

在未按下按键时,内部金属片不接触,电路断开;当按下按键时,内部金属片接触,电路导通。

按键的内部结构如图1所示。

2. 独立按键的硬件连接本实验使用了一个独立按键和一个LED灯作为实验对象。

按键的一端接地,另一端连接到单片机的P3.0口,LED灯的正极连接到单片机的P1.0口,负极连接到地。

电路连接如图2所示。

3. 独立按键的软件编程(1)编写延时函数延时函数用于实现按键消抖处理。

以下是一个10ms延时的函数实现:```cvoid delay10ms(unsigned int ms){unsigned int i, j;for(i = 0; i < ms; i++)for(j = 0; j < 123; j++);}```(2)编写按键检测函数按键检测函数用于检测按键是否被按下。

以下是一个按键检测函数的实现:```cunsigned char checkKey(void){if(P3_0 == 0) // 检测按键是否被按下{delay10ms(500); // 延时消抖if(P3_0 == 0) // 再次检测按键是否被按下return 1; // 按键被按下}return 0; // 按键未被按下}```(3)编写主函数主函数用于实现按键控制LED灯的亮灭。

以下是一个主函数的实现:```cvoid main(void){while(1){if(checkKey()) // 检测按键是否被按下{LED = !LED; // 切换LED灯状态delay10ms(500); // 延时消抖}}}```四、实验总结通过本次独立按键实验,我们掌握了以下知识点:1. 独立按键的工作原理及硬件连接方法;2. 独立按键的软件编程,包括延时函数、按键检测函数以及主函数;3. 按键消抖处理的重要性及实现方法。

51独立按键检测原理

51独立按键检测原理

51独立按键检测原理
51单片机独立按键检测原理是利用I/O口的输入功能,将按键的一端接地,另一端接I/O口。

在开始时给I/O口赋高电平,然后不断检测I/O口是否变为低电平。

如果按键按下,相当于I/O口通过按键与地相连,变成低电平,程序一旦检测到I/O口变为低电平就说明按键被按下,然后执行相应的指令。

由于使用的是弹性小按键,在按下时会有微观上的机械抖动,反应到电平就是高、低、高、低,抖动的长短与机械特性有关,一般在5~10ms。

所以在检测键盘是否按下时要加上去抖动操作。

如需了解更多关于51单片机独立按键检测原理的信息,建议查阅相关资料
或咨询专业人士。

按键功能实验报告总结(3篇)

按键功能实验报告总结(3篇)

第1篇一、实验背景按键作为电子设备中常见的输入装置,其功能丰富,应用广泛。

本实验旨在通过设计和实现一系列按键功能,加深对按键工作原理的理解,并提高电子设计实践能力。

二、实验目的1. 掌握按键的基本原理和电路设计方法。

2. 熟悉按键在不同应用场景下的功能实现。

3. 培养电子设计实践能力,提高问题解决能力。

三、实验内容1. 实验器材:51单片机最小核心电路、按键、LED灯、电阻、电容、面包板等。

2. 实验内容:(1)单按键控制LED灯闪烁(2)按键控制LED灯点亮与熄灭(3)按键控制LED灯亮度调节(4)按键实现数字时钟调整(5)按键实现多功能计数器(6)按键实现密码输入与验证四、实验步骤1. 根据实验要求,设计电路图,并选择合适的元器件。

2. 使用面包板搭建实验电路,包括单片机、按键、LED灯、电阻、电容等。

3. 编写程序,实现按键功能。

4. 对程序进行调试,确保按键功能正常。

5. 实验完成后,撰写实验报告。

五、实验结果与分析1. 单按键控制LED灯闪烁实验结果:按下按键,LED灯闪烁;松开按键,LED灯停止闪烁。

分析:本实验通过单片机定时器实现LED灯的闪烁。

当按键按下时,定时器开始计时;当定时器达到设定时间后,LED灯点亮;定时器继续计时,当达到设定时间后,LED灯熄灭。

如此循环,实现LED灯的闪烁。

2. 按键控制LED灯点亮与熄灭实验结果:按下按键,LED灯点亮;再次按下按键,LED灯熄灭。

分析:本实验通过单片机的I/O口控制LED灯的点亮与熄灭。

当按键按下时,单片机将I/O口置为高电平,LED灯点亮;当按键再次按下时,单片机将I/O口置为低电平,LED灯熄灭。

3. 按键控制LED灯亮度调节实验结果:按下按键,LED灯亮度逐渐增加;松开按键,LED灯亮度保持不变。

分析:本实验通过单片机的PWM(脉宽调制)功能实现LED灯亮度的调节。

当按键按下时,单片机调整PWM占空比,使LED灯亮度逐渐增加;松开按键后,PWM占空比保持不变,LED灯亮度保持不变。

实验二独立按键试验实验报告

实验二独立按键试验实验报告

实验二独立按键试验实验报告
一、实验目的
独立按键试验是为了验证按键与单片机的连接是否正常,并测试按键
功能是否正常,通过实验掌握按键接口的使用和按键的原理。

二、实验原理
在实际应用中,常常需要使用按键来实现硬件的控制。

按键的原理是:当按键关闭时,两个按键引脚之间短接,按键关闭。

当按键打开时,两个
按键引脚之间断开,按键打开。

三、实验仪器
1.单片机开发板
2.按键
3.面包板和杜邦线
4.电源线
四、实验步骤
1.将按键连接到单片机开发板上的按键接口,并接通电源。

2.编写程序,监测按键是否被按下,并通过串口输出按键的状态。

3.烧录程序到单片机,运行程序。

4.进行按键试验。

五、实验结果与分析
按下按键后,通过监测按键引脚的电平变化,可以判断按键是否被按下。

根据不同的按键连接方式,可能需要使用上拉电阻或下拉电阻来连接按键。

六、实验结论
通过独立按键试验,我们验证了按键与单片机的连接是否正确,并测试了按键的功能。

在实际应用中,可以根据需要使用按键来实现硬件的控制。

七、实验心得
通过本次实验,我掌握了按键接口的使用方法和按键的原理。

在实际应用中,按键是一个常用的控制元件,有了这次实验的经验,以后在使用按键时会更加得心应手。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

宁德师范学院计算机系
实验报告
(2014—2015学年第2学期)
课程名称单片机原理
实验名称独立按键识别
专业计算机科学与技术(非师)年级12级
学号B2012102147 姓名王秋
指导教师杨烈君
实验日期2015.5.27
、创建一个Keil应用程序:新建工程项目文件;为工程选择目标器件(
项目创建源程序文件并输入程序代码;保存创建的源程序项目文件;把源程序文件添加到项目中。

、把程序经过编译后生成的HEX文件添加到仿真电路中的处理器中(编辑元件→文件路径)程序代码:
1. 实现单按键控制Led灯闪烁
#include"reg51.h"
#define uchar unsigned char
sbit Led1=P1^0;
sbit Key=P3^2;
uchar Mode=0;
void delay(int x) //定义时间间隔
图1 单按钮,控制led灯闪烁
图2 单按键多功能识别,控制4路Led灯闪烁
的计数器效果,按一下数值加1
#include"reg51.h"
#define uchar unsigned char
#define disp_null 10
sbit Key=P3^2;
uchar code tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; 共阳数码管显示0~9的段码表
uchar DispBuf[8];
图3 0-99的计数器效果,按一下数值加1 0-99码表(按一次开始计时,第二次停止,第三次清零)
#include"reg51.h"
#define uchar unsigned char
#define disp_null 10
sbit Key=P3^2;
uchar code tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; 共阳数码管显示0~9的段码表
uchar DispBuf[8];
uchar sec=0;
uchar temp=30;
图4 0-99码表,按一次开始计时,第二次停止
图7 3按键实现时钟的调整,KEY1选择模式,KEY2 +,KEY3 - 图8 3按键实现时钟的调整,KEY1选择模式,KEY2 +,KEY3 -
注:1、报告内的项目或设置,可根据实际情况加以补充和调整
2、教师批改学生实验报告应在学生提交实验报告10日内。

相关文档
最新文档