欢迎来到天天文库
浏览记录
ID:12733617
大小:2.50 MB
页数:20页
时间:2018-07-18
《基于51单片机的时钟秒表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、目录摘要11设计目的及要求21.1设计目的21.2设计要求22设计方案选择32.1芯片简介32.2总体设计思路32.3单元电路设计42.3.1时钟模块42.3.2复位电路模块42.3.3控制模块52.3.4显示模块53软件设计63.1整体程序设计思路63.2程序流图63.3主要程序代码84仿真调试114.1keil简介114.1keil与protues联调114.2仿真实现125硬件实现125.1程序下载步骤125.1硬件调试136拓展146.1设计原理146.2主要程序清单146.3仿真实现157心得体会16参考文献1
2、719摘要本设计的数字秒表系统采用STC89C52单片机为中心器件,利用其定时器/计数器原理,结合LED数码管以及按键电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,显示时间为00.00~99.99秒,计时精度为0.01秒,能正确地进行计时。同时,我在此基础上,又设计了时钟秒表定时器,可以显示年、月、日、星期、时间进制、时、分、秒、、以及闹钟启/停状态,可以实现时间的调整,时钟/秒表功能的转换,闹钟的启/停。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,延时程序等,并在keil中
3、调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态,利用单片机开发板可下载程序,实现硬件实现。关键词:秒表,时钟,定时/计数器191设计目的及要求1.1设计目的本设计主要是应用Proteus软件和嵌入式C语言编程工具,结合单片机原理及应用、微机原理与接口技术等专业课程,强化和巩固专业理论基础,掌握Proteus仿真的技巧和嵌入式C语言编程工具,提高单片机开发能力,并为嵌入式开发打下基础。1.2设计要求试用定时器/计数器设计一个简单的秒表,能显示计时状态和结果。要求进行
4、电路仿真实验,并使用C语言进行程序的开发。192设计方案选择2.1芯片简介本设计选择采用STC89C52单片机为核心。STC89C52是一个低电压、高性能CMOS8位单片机带有64K字节的可反复擦写的程序存储器。和128字节的存取数据存储器RAM,这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-52系列的单片机兼容。片内含有8位中央处理器和闪烁存储单位,有较强的功能的STC89C52单片机能够被应用到控制领域中。STC89C52提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存
5、储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内振荡器和时钟电路。另外,STC89C52还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。2.2总体设计思路本设计使用89C52芯片作为控制芯片,复位电路和时钟电路构成单片机最小系统。利用P1口8个引脚接上拉电阻,然后连接四位共阴极数码管段选段即P0.0—P0.7分别连接共阴极数码管的A—DP脚,P1.0—P1.3分别反相器
6、74HC04再与数码管的位选端1—4脚连接,实现秒表的显示。利用P3.2和P3.3分别连接了2个按键,分别用来控制秒表复位、开始/暂停。单片机控制原理图如下:图2.2单片机控制原理图192.3单元电路设计本设计主要分为时钟电路模块,复位电路模块,显示模块和控制模块。设计方案如下:2.3.1时钟模块图2.3时钟电路如上图所示,89C52单片机的时钟信号通常用内部振荡方法得到,在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方法。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了
7、自激振荡器并产生振荡时钟脉冲。晶振通常选择6MHz、12MHz、24MHz。本设计采用12MHz晶振。图中电容C1、C2起到稳固振荡频率、快速起振的作用。电容值一般为5—30pF。本设计选用22pF电容。2.3.2复位电路模块图2.4复位电路复位操作完成电路的初始化,使单片机从一种确定的状态开始运行。由上图可知,控制模块实际上就是单片机的最小系统。本设计采用常用的上电且开关复位电路。上电后,由于电容的充电,使RST持续一段高电平时间。当单片机已在运行中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位
8、的操作。此处,C3电容取20uF,R1=1K。192.3.3控制模块控制部分电路连接如下图所示:图2.5控制电路单片机检测按键的原理是:单片机的I/O口既可作为输出也可作为输入使用,当检测按键时,用的是它的输入功能,我们把按键的一端接地,另一端与单片机的某个I/O口相连,开始时先给该I/O口赋一高电平,然后让单片机不
此文档下载收益归作者所有