实验五——电子秒表显示器

更新时间:2023-05-27 08:32:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中国石油大学(北京)单片机原理及应用试验。电子秒表显示器!

中国石油大学(北京)

实验课程:

实验名称:

实 验 报 告 单片机原理及应用 实验五——电子秒表显示器

中国石油大学(北京)单片机原理及应用试验。电子秒表显示器!

一、 实验目的

掌握定时/计数器的工作原理,熟悉定时/计数器中断法编程与调试内容。

二、 实验内容

1、按照教材图A.65,绘制实验五电路原理图;

2、采用12MHz晶振,50ms T0定时方式1+中断(20次中断为1s)法编程;

3、实现如下功能:程序启动时显示“00”,以后每隔1秒显示值加1,显示到59后,自动从“00”开始,如此无限往复 。

3、观察仿真结果,完成实验报告。

三、 实验要求

提交的实验报告中应包括:电路原理图,T0定时方式1工作原理阐述,源程序(编程思路说明与源程序),仿真效果(运行截图与讨论),实验小结(结论与体会)。其中讨论内容为:当前编程方案的不足之处?可以如何改进?

提交实验报告的电子邮件主题及存盘文件名格式如,2005041220马晓明实验五。

中国石油大学(北京)单片机原理及应用试验。电子秒表显示器!

1、电路原理图

图1 电路原理图

2、T0定时方式1工作原理阐述

T1

T0脚T0TF0查询/中断

TR0

图2 T0定时/计数方式1逻辑结构图

CT原理时,T0为定时器工作方式。逻辑开关CT向上接通,此时以振

荡器的12分频信号作为T0的计数信号。若GATE=0,定时器T0的启动和停止完全由TR1的状态决定,而与INT0无关。

中国石油大学(北京)单片机原理及应用试验。电子秒表显示器!

已知T0方式1由高8位THx和低8位TLx组成一个16位的加一计数器。若想要产生一个长度为t的定时,则需要为计数器赋初值a。a = 216 – t* fos / 12 ,将a值得高8位赋给THx,低8位赋给TLx。如此,当晶振产生时间长度为t的脉冲时,计时器发生溢出,使得TF0=1,从而触发了中断响应。

图2中各值的状态都要在程序主函数中进行定义,定时器/计数器的控制也是通过特殊功能寄存器进行的。其中,TMOD寄存器用于设置工作方式,TCON寄存器用于控制其启动和中断申请。

3、C51程序(编程思路说明与源程序)

(1)流程图

图3 源程序流程图

中国石油大学(北京)单片机原理及应用试验。电子秒表显示器!

(2)源程序

图4 源程序

4、仿真效果(运行截图与讨论)

图5 仿真运行一

说明:利用KEIL编写单片机C51源程序并生成.HEX文件。在proteus中双击单片机加载.hex文件进行仿真运行。当运行开始时,数码显示管显示“0 0”。

中国石油大学(北京)单片机原理及应用试验。电子秒表显示器!

图6 仿真运行二

说明:当时间到4秒时,数码显示管显示“0 4”。

图7 仿真运行三

说明:当时间到59秒时,数码显示管显示“5 9”,时间再继续增加时,数码管从“0 0”每个一秒钟加1,重新显示0 0—5 9。

讨论:本实验利用单片机的定时和计数功能实现电子表的计时功能。从运行结果上看,单片机能够完成预期功能,但是从源程序上看单片机在完成定时和计数功能之外还要执行一定的辅助语句,如不断重新装入初值等,执行这些语句势必会占用单片机机时从而使得显示时间的功能不准确。可考虑利用T0定时方式2来

中国石油大学(北京)单片机原理及应用试验。电子秒表显示器!

完善程序,由于方式2的计数器是8位的,实现1s的定时,可采用25msT0定时方式2+T0中断计时,4000次中断为1s中。由于方式2具有自动重装初值的功能,因此可以使计时更加准确。

5、实验小结(结论与体会)

本次实验进行的比较顺利,根据指导材料中提供的流程图完成了源程序的编写,成功生成了.hex文件,经过仿真运行达到了预期的实验结果。

通过本次的实验,我更加深入的了解到单片机定时/计数功能实现的机理,通过与单片机中断功能的结合,可以完成更多的预期功能。但是进过讨论我也发现,程序还是存在很大的缺陷,想要实现更加准确实现计时功能还需综合利用各种知识完善程序。

本文来源:https://www.bwwdw.com/article/p0b4.html

Top