欢迎来到天天文库
浏览记录
ID:31431120
大小:105.50 KB
页数:5页
时间:2019-01-09
《基于at89c52单片机的数字秒表设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于AT89C52单片机的数字秒表设计 摘要:文中设计了基于单片机技术原理的简易秒表,该设计以AT89C52芯片作为核心元件,采用C语言为开发工具,通过数码管显示计时结果,并以Proteus和Keil软件作为开发平台,对所设计的数字秒表进行仿真,调试及优化设计,并观察实际的工作状态,从而达到预期效果。 关键词:单片机;数字秒表;C语言;AT89C52芯片 中图分类号:TP368文献标识码:A文章编号:2095-1302(2016)10-00-02 0引言 目前,计算机技术为生活带来了巨大的变化,微型计算机的应用已渗透到我们生活的各个领域。单片机作为计算机发展的一个重要分
2、支领域,其具有系统结构简单,使用方便,可实现模块化,环境适应能力强等特点。数字秒表在生活、运动、竞赛中起着非常重要的作用,已发展成为人们日常计时的必需品,本文结合单片机设计及C语言编程实现了一种基于AT89C52单片机的数字秒表。 1总体方案设计 本设计由AT89C52单片机、电源电路、晶振电路、复位电路、显示电路以及按键电路等组成。软件系统采用C语言编写程序,包括显示、计数、中断、延时、按键消抖程序等。数字秒表的总体框图如图1所示。 2硬件电路设计5 2.1晶体振荡电路 89C52芯片内部有一个由高增益反相放大器构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输
3、入和输出端[1]。本设计采用52单片机12MHz的内部振荡方式,其振荡电路如图2所示,电容器C1、C2可以使电路具有稳定的振荡频率和快速起振,电容值一般为20100pF。本设计采用大小为30pF的电容。 2.2复位电路 为确保微机系统中的电路稳定可靠的工作,复位电路必不可少。复位电路可以使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作[2]。从图3所示的电路可以看出其可实现上电复位和按键复位功能。 上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机进入工作状态时,按下复位按钮,使RST引脚接到高电平,电容C3放
4、电完后可实现上电加按键复位的操作。复位电路如图3所示。 2.3按键电路5 键盘从结构上分为独立式按键和矩阵式键盘[3]。由于本设计按键较少所以采用独立式按键,即按键直接和I/O口连接,电路图如图4所示。此处设计了五个按键,分别为开始/暂停、记录、上翻、下翻、清零,键盘按键识别方法采用查询法,并设计了防抖动程序。当按键没按下时,CPU对应的I/O接口由于内部有上拉电阻,其输入为高电平;当某键被按下后,对应的I/O接口变成低电平。只要在程序中判断I/O接口的状态即可知道获得的键值,并执行键功能程序。 2.4显示电路 单片机应用系统中使用的显示器件主要有LED和LCD。在一位L
5、ED显示器中,当某一段加上正向电流时,该段被点亮,没有通电的则不亮[4]。LED显示器一般由8个发光二极管组成,可分为共阳极与共阴极两种。共阳极将8个发光二极管的阳极连在一起,成为一个公共端。共阴极将8个发光二极管的阴极连在一起,成为一个公共端[5]。LED显示分为静态显示与动态显示[4]。静态显示在显示某一字符时,电路具有锁存功能。动态显示使LED在一个显示周期内分别显示一段时间,用P0口驱动显示。本设计采用如图5所示的共阳极LED动态显示电路。 2.5硬件整体电路 在Proteus中绘制的硬件电路原理图如图6所示。 3软件设计 本文设计的模块程序采用C语言编写,在编写
6、代码时,将程序模块化设计。在模块设计的过程中,需让各模块的程序完成明确的任务,实现某个具体的功能,并尽量减少模块之间的控制参数和数据参数。数字秒表软件系统模块如图7所示。 3.1初始化模块 定时器共有四种工作方式,分别为方式0、方式1、方式2、方式3。TMOD寄存器中的M0、M1位为01时,定时器被选为工作方式1[6]。初始化模块主要根据晶振频率来设定定时器的中断时间,让单片机定时器工作在方式1下。5 3.2中断模块 CPU在处理某一事件A时,能对外界发生的事情B请求CPU迅速处理。CPU暂停中断当前的工作,转去处理事件B,CPU将事件B处理完毕后,再回到原来的事件A被中
7、断的地方继续处理事件A,这一过程称为中断[7]。AT89C52单片机提供了5个中断源,两个外部中断源和3个内部中断源。每个中断源都有一个中断申请标志,串行口占两个中断标志位,共6个中断标志。 3.3显示模块 本设计采用4位7段LED数码管,采用共阳极显示器。为使LED点亮,位选信号应为高电平,段选信号应为低电平。使用动态显示的方法,AT89C52单片机的P1口和P2口分别为LED的段选和位选。由于在Proteus中模拟仿真时,它的反应速度太慢,比不上硬件,所以会出现显示不清楚
此文档下载收益归作者所有