单片机课程设计基于89c51的LED数字秒表设计

上传人:汽*** 文档编号:558571471 上传时间:2023-09-19 格式:DOC 页数:19 大小:4.90MB
返回 下载 相关 举报
单片机课程设计基于89c51的LED数字秒表设计_第1页
第1页 / 共19页
单片机课程设计基于89c51的LED数字秒表设计_第2页
第2页 / 共19页
单片机课程设计基于89c51的LED数字秒表设计_第3页
第3页 / 共19页
单片机课程设计基于89c51的LED数字秒表设计_第4页
第4页 / 共19页
单片机课程设计基于89c51的LED数字秒表设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机课程设计基于89c51的LED数字秒表设计》由会员分享,可在线阅读,更多相关《单片机课程设计基于89c51的LED数字秒表设计(19页珍藏版)》请在金锄头文库上搜索。

1、单片机系统课程设计成绩评定表设计课题:基于89c51的LED数字秒表设计学院名称: 电气工程学院 专业班级:学生姓名:学号:指导教师:设计地点 :设计时间 :指导教师意见:成绩: 签名: 年 月 日单片机系统技术课程设计 课程设计名称:基于89c51的LED数字秒表设计专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间: 单片机系统 课程设计任务书学生姓名专业班级学号题目课题性质工程设计课题来源自拟指导教师主要内容(参数)利用89C51设计一个数字秒表,使其实现以下功能:1具有计时功能;2可通过按键设置,启动计时;3. 可以实现数据清零设置;4设置按键能够停止计时;5能够实现时间显

2、示。任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042伟福LAB6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,20064 黄艳玲,计算机接口

3、技术试验指导书,重庆大学出版社。审查意见系(教研室)主任签字: 年月日目 录1引言31.1研究背景31.2设计思想及基本功能42总体方案设计42.1方案选取42.2系统框图52.3总体方案设计53硬件电路设计53.1 89c51单片机的引脚及模块说明53.2晶体振荡电路63.3复位电路73.4按键电路73.5显示电路83.6引脚控制说明83.7绘制电路原理图94系统软件设计94.1程序流程图94.2秒表的初始化104.3按键扫描检测程序114.4开始计时114.5计时程序114.6显示程序114.7暂停计时114.8秒表清零124.9延时程序125总结14参考文献14附录一系统总原理图15附录

4、二主程序151引言1.1研究背景自20世纪末期以来,电子技术的发展日新月异。电子技术在各个领域的运用也越来越广泛,从而有力地推动了社会生产力的发展以及社会信息化程度的提高。其中,秒表计时器是工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。在各种现代体育竞技比赛中,秒表成为必不可少的工具之一。而随着运动员的水平的不断提高,他们之间的差距也在不断缩小。因此,在某些运动中对时间精度的要求就会越来越高,也就需要高精度的秒表来记录成绩,从而保障比赛的公平性。在历史上,钟表大致有三个演变阶段。首先是大时钟演变到小时钟、其次小时钟过

5、渡到袋表、再之袋表发展到腕表。再这三个阶段,每一次的改变都是和当时的技术水平和创造发明水平是息息相关的。本文则主要阐述了基于单片机89c51的LED数字秒表设计。使其能够利用定时器定时原理、各种电路来实现计时功能,按键有启动计时、数据清零、停止、时间显示的功能。1.2设计思想及基本功能本实验利用单片机的定时器/计数器定时和计数的原理,通过采用Proteus仿真软件来模拟实现。模拟AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计时的开启、暂停、继续、与复位。其中有三个数码管来显示数据,两个数码管显示秒(两位),另一个数码管显示十分之一秒,十分之一秒的数码管计数从09,满十进一后显

6、示秒得数码管的个位加一,并且十分之一秒显示清零重新从零计数。同理当个位满十进一后个位也清零重新计数,当计时超过范围(即超过99.9秒)后,所有数码管则会全部清零重新计数。采用按键控制秒表的“开始”、“暂停”、“复位”键,按下“开始”按键,则开始计时;按下“暂停”按键,则暂停计时;再次按下“开始”键,则继续计时;数码管显示当前计时值;按下“复位”键,则系统清零。2总体方案设计2.1方案选取在这次课程设计中,主程序主要是通过AT89C51和74LS373锁存器来控制的,从而为所用的中断程序的地址以及一些必要的标志提供赋值。其中在数字秒表的设计中运用了2个中断号和2个中断程序。AT89C51的TO端

7、口在工作方式1下由下降沿触发,然后产生方波脉冲,从而作为AT89C51的中断信号。复位电路2.2系统框图AT89C51晶体振荡电路显示电路按键控制电路图2-22.3总体方案设计这次实验所选用的实验器材主要包括开关计时以及显示,其中开关计时是与中断T0相连的,用定时器T0用来计时,同时它也是中断T0的申请中断信号,就是设计要求中来负责秒表的计时;而开关显示是与AT89C51上的P2.6口相连,即设计记下时间,当记录完成后,按下显示按钮,就会从最后一个人的顺序倒起来显示他们工作所用的时间(注意:先来后显示)。本次设计的核心思想是:在运行中断程序的时候,首先判断中断信号,然后再根据中断信号来产生脉冲

8、来确定是否执行中断服务程序,待中断结束后返回原程序,继续执行原程序。3硬件电路设计3.1 89c51单片机的引脚及模块说明89C51作为89系列单片机中的典型代表,其基本模块主要是由CPU、ROM、RAM、I/O口、中断系统、定时/计数器、串行口、振荡器、总线控制等几个部分组成。1CPU:89C51是8位CPU,而且89C51内部还包含有1个位处理器2R0M:包含4KB的片内程序存储器,用于存放开发以及调试完成的程序3RAM:256B的片内数据存储器,虽然容量小,但作用很大。4I/O口:即P0-P3口,共4个口包含32条双向且可位寻址的I/O口线。5中断系统:总共有5个中断源,其中3个内部中断

9、和2个外部中断。6定时/计数器:即2个16位的可编程定时/计数器。7串行口:全双工通用异步接收器/发送器8振荡器:由外接晶振以及内部时钟振荡器来为CPU提供时钟信号。9总线控制:对外提供若干条控制总线,以便于系统扩展。另附上引脚图:如图2图3-13.2晶体振荡电路89C51单片机内部的振荡电路是一个增益反相放大器,其中引线XYAL1和XTAL2分别为反相放大器的输入和内部时钟电路输入和来自反相放大器的输出,该反相放大器可以配置为片内振荡器。然而单片机内部虽然有震荡电路,但要形成时钟,外部还需要附加电路。其中石晶振荡以及陶瓷振荡均可采用,有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时

10、钟信号的脉宽没有任何要求,但是必须要保证脉冲的高低电平要求的宽度。本次选用的是89c51单片机12MHZ的内部振荡方式,电路图如下图3所示。其中C1、C2主要起稳定振荡频率以及快速起振的作用。图3-23.3复位电路单片机系统主要采用上电自动复位和手动按键复位两种方式实现系统的复位操作。其中上电复位要求接通电源后,能够自动实现复位操作。手动复位则要求在接通电源后,如果在单片机运行期间发生死机,可以用按钮开关操作使单片机复位。本次设计采用上电复位,再使单片机复位时还能使单片机的外设同时复位,而且当程序出现错误时,可以随时使电路复位。电路图如下图4所示:图3-33.4按键电路当按下按键后,对应的引脚

11、就会被拉低,再经过扫描后,则会获得键值,然后执行键功能程序。当按下不同的按键时,单片机就会执行不同的功能程序。电路图如下图5所示:图3-43.5显示电路本次设计采用3个LED数码管。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)ag,另一个为小数点发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。在用数码管显示时,有静态和动态两种选择,这次设计采用了LED动态显示,并用P0、P1、 P2口驱动显示。为了保护各段LED不被损坏,还需外加限流电阻。但由于P0口没有上拉电阻,因此在P0口还需要外接上拉电阻才能输出高电平,这里我们会使用8

12、个4.7k的电阻作为上拉电阻。电路图如下图6所示:图3-53.6引脚控制说明P0口:P0.07、P1口:P1.07、P2口 P2.07对应三个数码管的a、b、c、d、e、f、g段和小数点位;P0用来控制数码管十位的显示,P2用来控制数码管个位的显示,P1则控制小数点后一位的显示,P3.2、P3.3、P3.4分别接按键用来实现控制。3.7绘制电路原理图利用Proteus软件画出主电路图如下图7:图3-74系统软件设计4.1程序流程图本次系统的软件部分主要包括:主函数、初始化函数、显示函数、定时器0中断服务函数、外部中断0中断服务函数、拆数函数等。工作流程包括:秒表的初始化、按键检测程序、开始计时

13、、计时程序、显示程序、暂停计时、秒表清零、延时程序等8个部分。系统程序流程图如下图8所示:图4-14.2秒表的初始化首先根据程序流程图进行秒表的初始化。第一步:将I/O口P3全写一,为秒表的控制输入做好准备;第二步:将数码管全部置零,使它处于秒表计时的初始状态;第三步:将工作寄存器R0至R2以及30H初始化,留待后面的计时程序备用;第四步:将定时器0置于工作方式1,并为其装入计时预置数D8FE(因为程序运行过程中占用的时间会导致一定误差,此为经实物测试之后的修正值),即将定时器定为每10ms溢出;第五步:开总中断允许和定时器0中断允许。等初始化完成后,就开始进入之后的按键扫描程序。4.3按键扫

14、描检测程序轮流检测开始计时(P3.2)、暂停计时(P3.3)、秒表清零(P3.4)三个按键。若发现有一个按键出现低电平(可能被按下),则延时10ms(调用延时子程序DELAY),延时完成后,若发现低电平消失,则说明该按键实际上未被按下,此时转回按键检测处继续检测;若发现仍然是低电平,则说明此键确实被按下了,此时就跳转至相应的程序标号处,执行相应的功能。4.4开始计时若确认“开始计时”键被按下,则跳转至程序标号“RUN”处,将定时器0计时允许控制位TR0置位,则定时器开始运行。此动作完成后,返回按键检测程序,等待操作者的下一次指令。4.5计时程序定时器0计时至10ms,溢出,引发中断,程序跳转至定时器0中断服务程序入口000BH处执行。程序跳转至中断服务程序TIME0。由于秒表的最小计时单位是0.1s,即100ms,因此需加入软件计时,使定时器0溢出10次之后才改变数码管的显示状态。因此每来一次中断就将30H中的数加1,若30H中的数没有到10,则给定时器0重新装入预置数,之后中断返回并继续等待中断;到10了,才进入显示程序,改变数码管的显示状态,执行完毕之后中断返回并继续等待中断。4.6显示

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号