文档介绍:实验3独立按键/开关状态检测实验
一、 实验目的
掌握单片机I/O 口的输入功能。
掌握按键的检测原理和消抖方法。
掌握Keil u vision4的基本使用。
二、 实验要求
利用单片机、1个独立按键和1个发光二极管,构成一个简单的控制系统。 每按一次按键,发光二极管的状态变换一次(由亮一灭,或由灭一亮)。
三、 实验原理
按键检测原理()
检测按键是否被按下,可以把按键一端接到I/O 口引脚上,另一端接地,然 后通过检测I/O 口引脚上的电平来实现。实验电路原理图如图1所示。
图1按键检测实验电路原理图
按键/开关在闭合或断开时,触点会存在抖动现象。引脚上的电压波形如图2 所示。抖动时间长短与按键/开关的机械特性有关,一般为10ms左右。抖动会产 生一次按键、多次处理的问题,因此应采取措施消除抖动的影响。
如何消除按键的抖动(教材191页)
常用的按键去抖动方法有两种。一种是软件延时消抖,其基本思想是:在检 测到引脚低电平时,可能有按键按下,执行一段延时10ms的子程序后,确认引 脚电平是否仍为低电平,如果仍为低电平,则确认有按键按下。另一种是硬件电 路去抖,采用RS触发器电路或专用的键盘接口芯片,芯片中含有自动去抖的硬 件电路。本实验采用软件延时消抖。
为实现CPU对一次按键只做一次处理,可以采用等待按键释放以后再处理 的方法。
四、实验步骤
按图1所示连接硬件电路。
打开uvision4,创建新工程。
编写C51源程序。明确任务要求,确定算法结构,绘制程序流程图。软 件编写者一定要克服不绘制流程图直接在计算机上编写程序的****惯。该 实验的程序流程图如图3所示。
编译工程,查找错误,直至生成可执行程序。
仿真调试,直至实现实验要求。
五、C51源程序代码
(源程序课堂上写,调试成功后,抄在此处,请留出足够的空间)