(
课件网) 任务四 按键计数器制作与调试 任务一 按键输入检测 任务二 单只数码管显示 任务三 多位数码管显示 项目二 按键计数器 项目二 按键计数器 学习重点 通过本项目的学习,让学生学习按键输入检测、单只数码管显示、多位数码管显示、按键计数器制作与调试等概念;本项目的学习和实践,我们掌握按键检测、消抖程序设计方法;数码管结构类型、段码、静态与动态显示程序设计方法。 任务一 按键输入检测 知识准备 在很多项目中都会用到按键,如图所示的电子秤。 任务一 按键输入检测 知识准备 一、 键盘的分类 键盘分编码键盘和非编码键盘两种。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机的键盘。而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,用得最多的是非编码键盘。非编码键盘分为行列式(又称为矩阵式)键盘和独立按键。本次任务,我们选择的是独立按键。 任务一 按键输入检测 知识准备 一、 键盘的分类 任务一 按键输入检测 知识准备 二、 独立按键连接图 独立按键连接电路有两种,一种是按键的公共端接地,当按键按下时,单片机控制引脚输入低电平“0”,如图所示。另一种是按键的公共端接电源,这样当按键按下时,单片机的控制引脚接高电平“1”,如图所示。 任务一 按键输入检测 知识准备 三、 按键抖动 通常按键所用开关多为机械弹性开关,当机械触点断开、闭合时,电压信号波形如图所示。 任务一 按键输入检测 知识准备 四、 按键程序编写 由于按键按下后,会出现抖动,单片机应该避开这段时间,待键盘稳定后,再对键盘的信息进行识别。 任务一 按键输入检测 任务实施 一、 绘制原理图 二、 编写源程序 三、 程序分析 ① 按键识别的步骤: 先判断按键是否按下,如果没按,直接退出。如果按下,此时还不能确定是否为有效按下,有可能是抖动,此时应去抖动,调用延时函数。 ② 本程序将灯亮还是灭分成两个状态。在亮的时候,如果按键按下,灯灭。在灭的时候,如果按键按下,灯亮。这里的led_flag就是作灯状态的一个标记。 任务一 按键输入检测 知识拓展 试编写程序: 按键按下灯亮,松开灯灭。 目标检测 任务二 单只数码管显示 知识准备 数码管作为一种应用十分普遍的显示器件可以在各种各样的设备上见到,图就是电子钟显示的效果图。 任务二 单只数码管显示 知识准备 一、 数码管 数码管也叫LED数码显示器,其实是由多个LED排列封装而成,图给出了一些常见数码管的实物图,其引脚如图所示。 任务二 单只数码管显示 知识准备 二、 LED七段数码管结构原理 LED七段数码管通常由8个LED发光二极管组成,其中7个发光LED二极管构成7笔字形,一个构成小数点,通称七段LED数码管。 任务二 单只数码管显示 知识准备 三、 LED七段数码管显示字符和字母的方法 如果我们要显示“6”,并不是给数码管写个“6”就行了,而是点亮这个数码管的相应的一些LED发光二极管,即点亮a,c,d,e,f,g段,其余段灭。 任务二 单只数码管显示 一、 绘制原理图 在PROTEUS中画好的原理图,如图所示。本图中我们省去单片机的复位电路和晶振电路。但是在制作电路板的时候,还是要加进去,不能省去。 任务实施 任务二 单只数码管显示 二、 编写源程序 三、 程序分析 ① port_0=table[count]: 当count=0时,port_0=table[0],相当于把“0”的段码通过单片机的P0端口送到数码管上,数码管显示“0”。 ② delay_time()是个延时函数: 控制前后两次显示的切换的 ... ...