《单片机技术》教案项目二按键计数器.docx

上传人:b****1 文档编号:22862962 上传时间:2023-04-28 格式:DOCX 页数:18 大小:2.49MB
下载 相关 举报
《单片机技术》教案项目二按键计数器.docx_第1页
第1页 / 共18页
《单片机技术》教案项目二按键计数器.docx_第2页
第2页 / 共18页
《单片机技术》教案项目二按键计数器.docx_第3页
第3页 / 共18页
《单片机技术》教案项目二按键计数器.docx_第4页
第4页 / 共18页
《单片机技术》教案项目二按键计数器.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

《单片机技术》教案项目二按键计数器.docx

《《单片机技术》教案项目二按键计数器.docx》由会员分享,可在线阅读,更多相关《《单片机技术》教案项目二按键计数器.docx(18页珍藏版)》请在冰豆网上搜索。

《单片机技术》教案项目二按键计数器.docx

《单片机技术》教案项目二按键计数器

项目二按键计数器

一、教学目标

1.了解键盘检测的电路结构和原理、键盘作用、如何实现键盘检测、消抖、键盘编码等内容。

2.掌握独立按键控制、消抖动等基本原理与程序设计方法。

3.了解4×4按键矩阵构成及按键扫描程序。

4.认识各种数码管,包括数码管的种类、显示原理、段码。

5.掌握多位数码管静态显示数字或字母的程序设计。

二、课时分配

本项目共4个任务,安排8课时。

三、教学重点

通过本项目的学习,让学生学习按键输入检测、单只数码管显示、多位数码管显示、按键计数器制作与调试等概念;本项目的学习和实践,我们掌握按键检测、消抖的程序设计方法;数码管结构类型、段码、静态与动态显示程序设计方法。

四、教学难点

1.掌握单只数码管静态显示数字或字母的程序设计。

2.掌握多位数码管静态显示数字或字母的程序设计。

3.了解多位数码管动态扫描显示原理,能读懂动态扫描显示程序。

五、教学内容

任务一按键输入检测

知识准备

在很多项目中都会用到按键,如图所示的电子秤。

一、键盘的分类

键盘分编码键盘和非编码键盘两种。

键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。

而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,用得最多的是非编码键盘。

非编码键盘分为行列式(又称为矩阵式)键盘和独立按键。

本次任务,我们选择的是独立按键。

二、独立按键连接图

独立按键连接电路有两种,一种是按键的公共端接地,当按键按下时,单片机的控制引脚输入低电平“0”,如图所示。

另一种是按键的公共端接电源,这样当按键按下时,单片机的控制引脚接高电平“1”,如图所示。

三、按键抖动

通常的按键所用开关多为机械弹性开关,当机械触点断开、闭合时,电压信号波形如图所示。

四、按键程序编写

由于按键按下后,会出现抖动,单片机应该避开这段时间,待键盘稳定后,再对键盘的信息进行识别。

任务实施

一、绘制原理图

在PROTEUS软件中绘制的原理图,如图所示。

二、编写源程序

三、程序分析

①按键识别的步骤:

先判断按键是否按下,如果没按,直接退出。

如果按下,此时还不能确定是否为有效按下,有可能是抖动,此时应去抖动,调用延时函数。

②本程序将灯亮还是灭分成两个状态。

在亮的时候,如果按键按下,灯灭。

在灭的时候,如果按键按下,灯亮。

这里的led_flag就是作灯状态的一个标记。

四、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。

知识拓展

试编写程序:

按键按下灯亮,松开灯灭。

目标检测

任务二单只数码管显示

知识准备

数码管作为一种应用十分普遍的显示器件可以在各种各样的设备上见到,图就是电子钟显示的效果图。

一、数码管

数码管也叫LED数码显示器,其实是由多个LED排列封装而成,图给出了一些常见数码管的实物图,其引脚如图所示。

二、LED七段数码管结构原理

LED七段数码管通常由8个LED发光二极管组成,其中7个发光LED二极管构成7笔字形,一个构成小数点,通称七段LED数码管。

三、LED七段数码管显示字符和字母的方法

如果我们要显示“6”,并不是给数码管写个“6”就行了,而是点亮这个数码管的相应的一些LED发光二极管,即点亮a,c,d,e,f,g段,其余段灭。

任务实施

一、绘制原理图

在PROTEUS中画好的原理图,如图所示。

本图中我们省去单片机的复位电路和晶振电路。

但是在制作电路板的时候,还是要加进去,不能省去。

二、编写源程序

共阳数码管显示09

数码管的输入端接在P0端口上

三、程序分析

①port_0=table[count]:

当count=0时,port_0=table[0],相当于把“0”的段码通过单片机的P0端口送到数码管上,数码管显示“0”。

②delay_time()是个延时函数:

控制前后两次显示的切换的快慢。

③在任务一和任务二中,我们都调用到了一个delay_time()的延时函数,程序中,delay_time()函数的定义如果出现在main()函数前,就不需要对delay_time()做说明而直接使用。

四、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。

PROTEUS对单片机的仿真结果见图。

知识拓展

①推导共阴和共阳数码管显示“H”的时候的段码。

②通过修改延时函数,观察数码管显示。

③本次任务选择的是共阳数码管,如选择共阴数码管,如何编写程序?

目标检测

任务三多位数码管显示

知识准备

由于很多项目中都会用到多位数码管,多位数码管的显示一般有两种方法:

静态显示和动态显示。

一、静态显示

所谓静态显示,是指当显示器显示某个字符时,相应位的发光二极管处于恒定的导通或截止状态,直到需要显示另一个字符为止。

二、动态显示原理

LED数码管显示的基本原理是利用人眼的“视觉暂留”效应和发光二极管的余晖现象来工作的。

接口电路把所有数码管的8个笔画段a~dp的各同名端相互连接在一起,并把它们接到输出口上,每个数码管的公共端COM各自独立地受控制。

三、数码管静态显示驱动电路

将单片机的管脚直接和数码管相连,当然中间需要增加限流电阻,如图所示。

对于共阳数码管,公共端需要接上高电平,要想显示什么字符,只需单片机输出该字符的显示段码就可以了。

四、数码管动态显示驱动电路

单片机的管脚和动态数码管相连,中间加上限流电阻,这个和静态显示电路一样。

任务实施

一、静态显示00~59s循环计时

1.绘制原理图

在PROTEUS软件中绘制的原理图

2.编写源程序

3.程序分析

(1)程序运行的时候,数码管要求显示00,接着1s到后,数码管显示01。

所以初始化需要加上这几句second=0;port_2=table[second%10];port_0=table[second/10]。

(2)当second=29的时候,second%10=9,那么table[second%10]=table[9],而table[9]=0X90,正好对应了9的段码,通过执行port_2=table[second%10]语句,数码管个位显示9。

4.编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。

正确的编译结果如图所示。

PROTEUS对单片机的仿真结果

二、动态显示电路图

1.绘制原理图

在PROTEUS软件中绘制的原理图,如图所示。

2.编写源程序

3.编译与仿真

知识拓展

试修改程序并仿真,看能否动态显示59到00倒计数。

目标检测

任务四按键计数器制作与调试

知识准备

本次任务是在前面几个任务的基础上,制作一个按键计数器电路,并能够根据控制要求编写单片机程序。

具体的功能要求为:

系统刚上电时,数码管显示“00”,每次按动加法键,数码管显示数据增加1,每次按动减法按钮,显示数据减1,通过按键设置,让数码管显示范围在“00~20”之间变化。

一、绘制原理图

在Proteus软件中绘制的原理图,如图所示。

二、编写源程序

三、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。

PROTEUS对单片机的仿真结果

四、实物展示

知识拓展

尝试修改程序,等按键松开后,让显示的数值发生改变。

目标检测

六、课后习题

完成每个任务的目标检测。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1