惠州学院 课程设计(论文)
题 目 名 称 基于单片机的秒表系统设计 课 程 名 称 单片机及嵌入式系统
学 生 姓 名 学 号 系 、专 业 电子科学系 10电子信息工程
指 导 教 师
2012年12月31日
目录
1 课题内容要求及目的???????????…………………………………1 1.1课题内容?????????????????????????????1 1.2课题要求?????????????????????????????1 1.3 课题目的?????????????????????????????1 2 硬件设计??????????????????????????????2 2.1 AT89C51单片机简介???????????????????????2 2.2设计思路?????????????????????????????2 2.3硬件电路设计???????????????????????????3 3软件设计??????????????????????????????5 3.1程序设计??????????????????????????5 3.2源程序??????????????????????????????6 4系统调试与仿真??????????????????????????11 4.1 proteus简介??????????????????????????11 4.2仿真调试?????????????????????????????12 5总结??????????????????????????????13 参考文献??????????????????????????????14
1 课题内容要求及目的
1.1课题内容
用AT89C51设计一个秒表,该秒表课可显示0.0~59.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。
本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计位!其中有三位数码管用来显示数据,显示秒(两位)和十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。计秒数码管采用三位的数码管,当计数超过范围是所有数码管全部清零重新计数。
1.2课题要求
本课题是基于单片机的秒表系统设计,它的具体要求有以下几点:
(1)用单片机AT89C51实现; (2)以0.1秒为最小单位进行显示;
(3)秒表量程为0.0-59.9秒,用 LED显示; (4)有清零、开始、停止功能、每到一秒有声音提示;
1.3课题目的
通过课程设计,进一步熟悉和掌握AT89C51单片机的结构及工作原理,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。通过完成一个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全过程,通过此综合训练,为以后毕业设计打下一定的基础。
(1)通过本次课程设计加深对单片机课程的全面认识。 (2)掌握定时器、外部中断的设置和编程。
(3)该实验通过单片机的软件延时设计,设计简单的计时器系统,能正确的计时。
(4)通过本次课程设计能够对程序进行编辑,校验。
1
2.硬件设计
2.1 AT89C51单片机简介
AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储
器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与89C51引脚和指令系统完全兼容。引脚分别如图2.1所示。
图2.1 单片机引脚分布图
图2.1所示的单片机是引脚双列直插封装方式,电源引脚40脚与接地脚20。
P0口作输入口使用时,应先向口锁存器写入1。P1口是一个带有内部上拉电阻的8
位双向I/O端口。P1的输出缓存可驱动4个TTL输入。P2口是一个带有内部上拉电阻的8位双向I/O端口。P3口也是一个带有内部上拉电阻的8位双向I/O端口,
P3端口还用于一些复用功能。 2.2设计思路
这次的试验要求进行计时并且在数码管上显示时间,先要基本了解硬件内在结构,确定用p2并行端口进行数码管控制输入,使用P1.6,P1.5,P1.4进行选择0.1
秒位,秒位,十位秒位,以P3.0为开始控制,P3.1为停止控制,P3.2为清零控制。 本次实验设计的基本思路是要求借助AT89C51单片机做出一个0-59.9s的秒表从十位秒到0.1位秒数这些计时的位数是存在一个内嵌的结构,就是0.1秒位满足条
2
件然后进行跳位使秒位加一的过程,当0.1s到0.9s时该位自动清零并且秒位加一,秒位达到9时也自动清零并向十秒位加一。当计数超过范围是所有数码管全部清零重新计数。其次开始控制,停止控制,清零控制等功能,我们采用蜂鸣器进行提示,该信号由P1.0输出由7406非门与外加电源驱动,通过一个延时子程序加以控制。最后就是根据硬件的条件进行编程,要求软硬件相互兼容。这也是设计的关键之处。因此需查阅相关书籍。
2.3硬件电路设计
(1)时钟电路与复位电路
利用12分频的晶振的一个机器周期为一微妙,通过循环延时产生0.1秒的延时,晶振电路原理及单片机复位电路图如图2.2所示。
图2.2 时钟与复位电路图
单片机的时钟信号用来提供单片机内各种微操作的时间基准,89C51片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,89C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。
3

