3.3简易数字钟(课件)- 高二《单片机应用技术(C语言 第二版)》同步教学(劳动版)

2023-07-14
| 11页
| 102人阅读
| 6人下载
普通

内容正文:

本任务的内容是完成一个简易数字钟,其功能是显示小时、分和秒以及计数。其中秒和分为60进制,小时为24进制(也可用12进制)计数。 任务提出 任务三 简易数字钟 根据任务目标,数字钟需要显示小时、分钟和秒钟,即最少需要显示6个数码。系统硬件可以采用动态显示电路。任务中没有时钟的调节等其他要求,所以整个系统只需要单片机最小系统、数码管及动态显示驱动电路即可。 任务分析 为了确定1 s,首先要确定动态显示一次所需要的时间,如果每一只数码管显示的时间为0.5 ms,则一次动态显示(任务中以8只LED数码管为例)的时间约为4 ms,所以数码管每显示250次约为1 s。即整个数字钟需要调用显示函数250次后调整一次时间。 需要说明的是,这里之所以说是简易数字钟,主要是用程序运行来计算时间,这样用程序来确定出1 s的时间精度很有限,所以整个时钟的精度不高。如果要提高计时精度,可用后面介绍的定时器来实现较为精确的时钟,这个题目就留给读者在学习了中断和定时器后自己完成。 在C51中,数组中每一个数组元素相当于一个独立的变量,除了在定义数组时赋给的初始值之外,还可以在程序中以赋值语句给各个数组元素分别赋值。需要强调的是:数组元素的下标是从0开始的,不能大于或等于数组宽度。 相关知识 一、硬件设计 从任务分析可知,整个数字钟由单片机最小系统和动态显示电路两部分组成。其中动态显示电路要显示至少6位数码,在本任务中选择两只4位共阴极数码管作为显示器件,仅利用其中的6位作为数字钟的显示。 任务实施 动态显示电路需要对数码管的段和位进行控制,这里选择P0作为段控制信号,P2作为位控制信号。由于单片机引脚的驱动能力有限,所以对数码管的公共端采用NPN型晶体三极管9014驱动,9014的发射极直接接地,其基极超过0.7V即可导通。为了保证9014在单片机输出高电平时工作在饱和状态且不影响单片机引脚输出状态,电路中对P2口的每一位都串联10 kΩ的限流电阻。同时,为了保证在P0口的引脚输出1时对应数码管的段能点亮,电路中对P0口的每一位都增加了1kΩ的上拉电阻。整个数字钟除单片机最小系统外的动态显示电路如图所示。 数字钟显示电路原理图 二、软件设计 根据任务分析,可以确定整个程序的主框架是以定时1 s计算一次的方式来实现数字钟的。定时1 s的程序段,使用动态显示程序实现,既完成了延时也完成了数字的显示。在计算程序中,使对应于时、分、秒的变量按照60进制和24进制进行计算,动态显示程序直接引用这些变量,使显示的数字也随之不断变化,即完成了数字钟的功能。再次说明,程序的计时精度是不高的。图即为数字钟的程序流程图。 数字钟程序流程图 a)主程序 b)定时1s c)时间计算 三、Proteus仿真 1.打开Proteus ISIS软件,按照硬件原理图绘制Proteus仿真电路,仔细检查,保证电路连接无误。 2.在Keil软件开发环境下,创建项目,编辑源程序,将编译生成的HEX文件装载到Proteus虚拟仿真硬件电路中的AT89C51芯片中。 3.运行仿真,仔细观察运行结果,如果有不符合设计要求的情况,调整源程序并重复步骤1、2,直至完全符合本项目提出的各项设计要求。 端口直接驱动的动态显示仿真效果图 $

资源预览图

3.3简易数字钟(课件)- 高二《单片机应用技术(C语言 第二版)》同步教学(劳动版)
1
3.3简易数字钟(课件)- 高二《单片机应用技术(C语言 第二版)》同步教学(劳动版)
2
3.3简易数字钟(课件)- 高二《单片机应用技术(C语言 第二版)》同步教学(劳动版)
3
3.3简易数字钟(课件)- 高二《单片机应用技术(C语言 第二版)》同步教学(劳动版)
4
3.3简易数字钟(课件)- 高二《单片机应用技术(C语言 第二版)》同步教学(劳动版)
5
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。