1、1单片机系统课程设计题目名称: 基于 51单片机的秒表设计 专业班级: 测控技术与仪器 1202 学生姓名: 李晨曦 学 号: 201223030201 指导教师: 郭广灵 成绩:评语:指导老师签名:日期:1单片机系统 课程设计任务书学生姓名 李晨曦 专业班级 测控 1202班 学号 201223030201题 目 基于 51单片机的秒表设计课题性质 工程设计 课题来源 自拟指导教师 郭广灵主要内容(参数)用 AT89C52 设计一个 2 位 LED 数码显示“秒表”,显示时间为秒、分、小时。每秒自动加一。另设计一个“开始”按键和一个“复位”按键。任务要求(进度)第 1-2 天:了解课程设计任
2、务及要求,查阅相关技术资料,最终确定设计方案。第 3-5 天:根据确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第 6-7 天:软件设计,编写程序,并附有注释。第 8-9 天:程序调试,严格满足要求。第 10-11 天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确。主要参考资料1.C 语言程序设计2.51 单片机 C 语言教程入门、提高、开发、拓展全攻略3.电子发烧友网站审查意见系(教研室)主任签字: 年 月 日 2目 录一、设计目的 .4二、设计任务和要求 .4三、硬件设计及功能 .43.1 单片机的
3、选择 .43.2 时钟设计 .63.3 复位设计 .63.4 控制设计 .73.5 显示设计 .83.6 材料清单 .9四、实物调试 .10五、系统软件设计 .105.1 程序流程图 .115.2 程序代码 .12设计心得 .18参考资料 .193摘 要文中设计了一种以单片机为控制核心的数字秒表。该数字秒表采用C语言开发, 通过数码管显示计时结果。对系统硬件电路和软件进行了设计, 以Proteus和Keil软件为开发平台,对数字秒表进行了仿真。仿真结果表明该数字秒表精度高、稳定性强。当今, 计算机技术带来了科研和生产重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面。单片微型计算机具有体积
4、小、价格低、功能强的特点,随着性能不断提高,其适用范围愈来愈宽,在计算机应用领域占有重要的地位。秒表应用于我们生活、工作、运动等需要计时的方面。秒表的数字化给人们生产生活带来了极大的方便,而且大大的扩展了秒表原先的功能。它由刚开始的机械式秒表发展到今天所常用的数字秒表。秒表的计时精度越来越高,功能越来越多,构造也日益复杂。本文结合单片计算机,实现了一种基于AT89C52单片机的数字秒表的设计,并且利用Proteus和Keil软件实现了仿真。关键词: 数字式秒表;单片机;仿真4一、设计目的:(1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。 (2)掌握定
5、时器、外部中断的设置和编程原理。 (3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。(4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义二、设计任务和要求:了解 8051芯片的的工作原理和工作方式 ,使用该芯片对 LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到 0.1秒。三、硬件模块及功能:3.1单片机的选择STC89C51作为秒表系统设计的核心器件。该器件是 INTEL公司生产的 MC
6、S一 5l系列单片机中的基础产品,采用了可靠的 CMOS工艺制造技术,具有高性能的 8位单片机,属于标准的 MCS51的 CMOS产品。不仅结合了 HMOS的高速和高密度技术及 CHMOS的低功耗特征,而且继承和扩展了 MCS48单片机的体系结构和指令系统。单片机小系统的电路图如图 3-1所示。5图 3.1单片机最小系统电路图STC89C52单片机的主要特性:(1)与 MCS-51 兼容,4K 字节可编程闪烁存储器;(2)灵活的在线系统编程,掉电标识和快速编程特性;(3)寿命为 1000次写/擦周期,数据保留时间可 10年以上;(4)全静态工作模式:0Hz-33Hz;(5)三级程序存储器锁定;
7、(6)128*8位内部 RAM,32 可编程 I/O线;(7)两个 16位定时器/计数器,6 个中断源;(8)全双工串行 UART通道,低功耗的闲置和掉电模式;(9)片内振荡器和时钟电路;1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 8-Jun-2009 Sheet of File: E:baihao业业业业业业业业业业业业4业16X16业业.ddbDrawn By:P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RST9 RXD/P3.010TXD/P3.111 INT0/P3.212I
8、NTI/P3.313 T0/P3.414T1/P3.515 WR/P3.616RD/P3.717 XTAL218XTAL119 VSS20 P2.1/A9 22P2.2/A1023P2.3/A11 24P2.4/A12 25P2.5/A1326P2.6/A14 27P2.7/A15 28PSEN29ALE 30BA 31P0.7/AD732P0.6/AD6 33P0.5/AD5 34P0.4/AD435P0.3/AD3 36P0.2/AD2 37P0.1/AD138P00/AD0 39VCC 40P2.0/A8 21UAT89C51Y112MC222PFC322PFC110UFS1 RESET
9、R110KVCC63.2时钟设计图 3.2 时钟电路如上图所示,89C52 单片机的时钟信号通常用内部振荡方法得到,在引脚 XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方法。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振通常选择 6MHz、12MHz、24MHz。本设计采用 12MHz晶振。图中电容 C1、C2 起到稳固振荡频率、快速起振的作用。电容值一般为 530pF。本设计选用 22pF电容。3.3复位设计由下图可知,控制模块实际上就是单片机的最小系统。本设计采用常用的上电且开关复位电路。上电后,由于电容的充
10、电,使 RST持续一段高电平时间。当单片机已在运行中时,按下复位键也能使 RST持续一段时间的高电平,从而实现上电且开关复位的操作。此处,C3 电容取 20uF,R1=1K。7图 3.3复位电路采用内部时钟产生方式,在 XTAL1和 XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击荡器。其发出的时钟脉冲直接送入片内定时控制部件。3.4 控制设计控制部分电路连接如下图所示:单片机检测按键的原理是:单片机的 I/O口既可作为输出也可作为输入使用,当检测按键时,用的是它的输入功能,我们把按键的一端接地,另一端与单片机的某个 I/O口相连,开始时先给该 I/O口赋一高电平,然后让单片机不
11、断的检测该 I/O口是否变为低电平,当按键闭合时,即相当于该 I/O口通过按键与地相连,变成低电平,程序一旦检测到 I/O口变为低电平则说明按键被放下,然后执行相应的指令。本设计如图 2.5所示,1 个独立按键 K2接到 P3口的 P3.2端,K2 键即既可以当作开始键又可以当作暂停键,同时也可当复位键。同时借助于复位电路中按键 K1也可以实现秒表的复位,当需要秒表重新计时,利用 K1键复位,当程序出现错误时,可以随时使电路复位。3.5显示模块设计显示部分电路设计如下图8图 3.5 显示模块电路图显示电路我们采用的是数码管显示电路。用 4个共阴极 LED显示,LED 是七段式显示器,内部有 7
12、个条形发光二极管和 1个小圆点发光二极管组成,根据各管的亮暗组合成字符。在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的 I/O口。在设计中,我们采用 LED动态显示,用 P0口驱动显示。由于 P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。P1.OP1.3 提供位选择。共阴极数码管用非门 74HC04反相驱动。3.6材料清单9元器件及材料名称 规格 数目 备注AT89S52加底座 40P 1四位一体共阳数码管加底座 40P 2晶振 12MHz 1发光二极管 9单排插 40脚 1三极管 9012 9蜂鸣器 1小按键 9下载口座子 十芯 1六脚按键开关 1Usb电源线加接口 1电阻 200 1电阻 1K 3电阻 470 24电解电容 22uf 1瓷片电容 33pf 2排阻 10k 2短路冒 2PCB板子 1