"基于AT89S52单片机的电子跑表设计与实现"

版权申诉
0 下载量 107 浏览量 更新于2024-03-09 1 收藏 1004KB DOC 举报
本次毕业设计的课题是基于单片机的电子跑表设计。设计要求是电子跑表能够显示正确的时间并能作为秒表使用。设计的主要内容包括单片机最小系统(电源电路,复位电路,时钟电路),键盘电路,驱动电路,显示电路和电子跑表的程序设计。选用的单片机型号为AT89S52,采用两片74LS244作为驱动电路,显示采用两个4位一体的七段数码显示管。通过制作实物,编程,下载程序,制作的电子跑表能够实现正确的时间显示,并且可以实时调整时间显示。作为秒表使用时,计时范围为000.0秒到999.9秒,通过检测发现误差不大。 关键词:电子跑表,AT89S52,接口技术 ABSTRACT This graduation project topic is runs the table design based on the monolithic integrated circuit electron. The design requirement is that the electronic stopwatch can display the correct time and can be used as a stopwatch. The main content of the design includes the monolithic integrated circuit minimum system (power supply circuit, reset circuit, clock circuit), keyboard circuit, driving circuit, display circuit and the program design for the electronic stopwatch. The selected monolithic integrated circuit model is AT89S52, and two 74LS244 chips are used as the driving circuit. The display consists of two 4-digit integrated seven-segment digital display tubes. Through the production of physical objects, programming, and program downloading, the electronic stopwatch can display the correct time and can adjust the time display in real time. When used as a stopwatch, the timing range is from 000.0 seconds to 999.9 seconds, and testing has shown that the error is small.
298 浏览量
目 录 1 设计内容及要求 1 1.1 设计内容与要求: 1 1.2设计要求: 1 2 系统总体方案设计 2 2.1 总体方案设计 2 2.2 设计说明 2 3 各部分方案选定及接口设计 3 3.1 主控制器单片机的选择 3 3.2 时钟电路 3 3.3显示接口电路 3 3.4 键盘接口电路 4 4 系统软件的设计 5 4.1 设计说明 5 4.2 主程序设计 5 4.3 时间处理模块 6 4.5 键盘扫描模块 9 5 系统的调试与使用说明 11 6 总结 12 7 参考文献 13 附录: 14 1 设计内容及要求 1.1 设计内容与要求: 具有时钟和电子跑表的功能。开机为时钟功能,用4位LED数码管显示时、分,以24小 时计时方式;用按键控制切换到电子跑表功能:可用3位数码管从00.0开始计时的功能。 1.2设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要元器件选择; 4)完成应用程序设计; 5)进行应用程序的调试; 2 系统总体方案设计 2.1 总体方案设计 电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用 专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片 机来实现等等。为求结构简单,本次设计利用单片机组成数字电子跑表。 2.2 设计说明 本系统采用AT89C51单片机、4位LDE数码管显示、一个排阻、4个调节按钮、2个电容 与1个晶体振荡器共同构成本的单片机电子跑表的硬件。时钟模块与计时模块则分别由单 片机内部的定时器/记数器T0与T1来实现。时间显示功能通过LED数码管动态扫描来实现 。电子跑表的启动/暂停/清零功能由软件来实现。P1.0实现时钟与秒表的切换功能,P1 .1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键。本系统软件部分则采用 C51编写,功能模块结构化强,共利用了6个功能函数,2个中断服务函数和1个主函数构 成了本次电子跑表的软件部分。图2.1为本系统方框图。 3 各部分方案选定及接口设计 3.1 主控制器单片机的选择 本次设计采用AT89C51单片机,以下为其标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内 振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操 作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时 /计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止 工作并禁止其它所有部件工作直到下一个硬件复位。 3.2 时钟电路 单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接 一只晶振及两只电容就构成了单片机的时钟电路,如图3.2所示。电路中,电容器C1和C 2对振荡频率有微调作用,本次设计中电容器取值为20pF,石英晶体选择12MHz,故单片 机的机器周期为1us。 图3.1 内部时钟电路 3.3显示接口电路 本次设计中使用了4位共阴数码显示管,显示控制采用动态显示,即数据的显示是由 段和位选信号共同配合完成的。为了实现显示器的动态扫描,我们需要对显示器进行段 控和位控,因此在显示器接口电路中需要有两个输出口,其中一个用于输出8条段控线; 另一个用于输出位控线,位控线的数目等于显示器的位数。本次设计中用P1口与显示器 的8条段控线相接,用P2.4~P2.7与显示器的4条位控线相接。如图3.2所示。 图3.2 显示接口电路 3.4 键盘接口电路 本设计的键盘接口电路中使用了4个按键分别与单片机的P1.1~P1.3口相连如图3.3所 示,分别实现时钟/秒表切换、开始计时、暂停计时、重新计时的功能。按键的开关状态 通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲 。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间 的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在 5-10ms之间。为了避免键的一次处理闭合,应采CPU多次按用措施消除抖动。 4 系统软件的设计 4.1 设计说明 在进行应用软件设计时应采用模块化结构设计,其优点是:每个模块的程序结构简 单,任务明确,易于编写,调试和修改,程序可读性好,对程序的修改可局部进行,其 他部分可以保持不变,便于功能扩充和版本升级,是便于多个模块的调用和分工合作。 因此为了达到功能结构模块化,易读,简单,易移植的特点,故本次设计采用C51编写。 系统编写时可分为键盘扫描程序模块,时间处理模块,显示模块。如图4.1所示。将 这些事先划分好的模块用C51编成不同的子函数,再将它们