基于单片机的多功能秒表设计毕业设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州科技学院
单片机课程设计
题目基于单片机的
多功能秒表
学生姓名
专业班级
学号
院(系)
指导教师
完成时间2015 年 1 月16 日
目录
1 设计总体方案 (1)
1.1 设计要求与目的 (1)
1.2 设计思路 (1)
1.3工作原理 (2)
1.4 功能说明 (2)
2 主要元器件介绍 (3)
2.1 AT89C51单片机 (3)
2.2 四位共阴数码管 (5)
3 系统硬件设计 (6)
3.1 电源电路 (6)
3.2 时钟电路 (6)
3.3 复位电路 (7)
3.4 显示电路 (7)
3.5 键盘电路 (8)
4 软件设计 (9)
5 系统调试及结果分析 (11)
6 总结 (12)
参考文献 (13)
附录1:总体电路原理图 (14)
附录2:元器件清单 (15)
附录3:实物图 (16)
附录4:源程序 (17)
1 设计总体方案
1.1 设计要求与目的
设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计时器定时和计数的原理,结合显示电路、用四位共阴极LED数码管以及按键来设计秒表计时器,实现暂停与清零功能,并多次计数。
在设计系统前,我们主要考虑以下一些原则:节约元器件,尽量降低系统实现成本;硬件电路尽量简单,使得硬件实现、问题检查、软件编程以及系统调试的难度都降低;能在软件上实现,使芯片利用率尽可能高;软件设计方案要优化,使得做成实物尽可能简单,方便仿真与检测;设计方案要和当前的试验平台相应;充分利用各种资源,尽量采用成熟与经典的电路。
1.2 设计思路
因为秒表的设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可以分为功能模块和控制模块两类。我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序划分为一个个较小的、功能相关而又相对独立的模块。
根据电子秒表的设计要求,主要设计一个计数系统、译码驱动、数码显示系统、控制系统。其主要核心技术在于产生秒表信号的计数脉冲与计数器之间的级联。
1.3工作原理
本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,包括显示程序,加减计数程序,快加快减程序,中断,延时程序等,并调试运行,硬件系统利用proteus强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
1.4 功能说明
开始按钮是用来开始进行计数的。停止按键用来暂停程序的运行,当按下暂停键时,程序停留在原地,等待再次按下暂停键,再次按下暂停键后,程序继续运行。计数按钮用来记录数据,每按下一次计数按钮,程序自动记录一个数据,并存放到指定内存单元中。复位按钮是用来对程序复位,每当程序出现死循环的时候,按下复位键即可跳出死循环,回到程序的开始。
这些功能分别用开始/暂停键、记录键、上翻键、下翻键以及复位键来实现。还有一个是清零键,用于对当前数码管的计数进行清零,但是对芯片内存单元保存的记录并不产生影响,这点事清零键与复位键的区别。
2 主要元器件介绍
2.1 AT89C51单片机
AT89C51单片机是低电压、高性能CMOS 8位微处理器,是一种带2k字节闪存可编程可擦除只读存储器。单片机的可擦除只读存储器可以反复擦除1000次,含128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个全双工串行通信口,片内振荡器及时钟电路。空闲时停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。引脚图见图2-1所示:
图2-1 AT89C51引脚图
VCC:供电电压。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数
据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.2 四位共阴数码管
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM 接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
从左下角开始逆时针一圈分别是1至12个引脚,12、9、8、6为数码管的公共端,a、b、c、d、e、f、g、dP分别为数码管的段引脚,这些段引脚分别对应11、7、4、2、、1、10、5、3这些位置,A1、A2、A3、A4分别表示数码管的四个位。
图2-2 四位共阴数码管