秒表时钟-单片机课件

上传人:风*** 文档编号:242808443 上传时间:2024-09-04 格式:PPTX 页数:25 大小:326.61KB
返回 下载 相关 举报
秒表时钟-单片机课件_第1页
第1页 / 共25页
秒表时钟-单片机课件_第2页
第2页 / 共25页
秒表时钟-单片机课件_第3页
第3页 / 共25页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2015/6/23,#,基于,AT89S51,单片机的秒表设计,第十一组,组长:,韩润泽,组员:,黄磊 刘轩宇 何维 杨俊生 王顺志,基于AT89S51单片机的秒表设计,1,AT89S51,单片机简介,单片机最小系统,无论对单片机初学人员还是开发人员都具有十分重要的意义,可以利用最小系统进行编程实现工业控制。其灵活的硬件电路的设计和软件的设计,使单片机得到了广泛的应用,单片机最小系统结构可谓是具有可编程硬件的一个缩影,对我们学习和研究微机系统具有重大意义。单片机最小系统电路板在单片机开发市场和大学生电子设计方面十分流行。本次课程设计包括,AT89S51,单片机最小系统(包括复位和时钟电路)及供电系统、,LED,数码管显示电路。采用,AT89S51,单片机实现数字秒表的设计。主要以,AT89S51,单片机为核心,采用,4,位,LED,数码管显示以及外部中断电路来实现数字秒表的基本功能。本文简单介绍了其系统组成,重点讨论了其硬软件的实现过程,并对其计时精度进行了确定,使其达到,1,秒,并能实现,0,60,秒的计时。利用,Protel,电路设计软件进行原理图设计,,PCB,布线,最后通过对硬件系统的仿真观察其实际运行情况,给我们以直观的认识。借此巩固单片机应用、模拟电路、数字电路课程及学会工程软件,protel,的使用,AT89S51单片机简介 单片机最小系统,无论对单,2,随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,人对它的认识也逐步加深。秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。其中启,/,停开关的使用方法与传统的机械计时器相同,即按一下启,/,停开关,启动计时器开始计时,再按一下启,/,停开关计时终止。而复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时应立即终止,并对计时器清零。本设计就是利用所学到的电子元器件将脉冲源用数码管显示出来,以制成简易的秒表。秒表是由单片机的,P0,口和,P2,口分别控制两个数码管使数码管工作,循环显示从,00,59,。同时用一个开关控制数码管的启动与停止,另外加上一个复位电路使其能正常复位,通常还使用石英晶体振荡器电路构成整个秒表的结构电路。,随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,人,3,方案设计,1.1,硬件选择以及电路的设计应遵循的原则:,(1),在性价比满足应用系统要求的基础上,选择更可靠、更熟悉的单片机,缩短研制周期。,(2),尽可能选择较成熟的典型应用电路,以提高系统的可靠性。,(3),单片机内部的资源与外部扩展资源应在满足应用系统设计要求的基础上留有余地,为进一步升级和扩展其功能提供方便。,(4),应充分结合软件方案统筹考虑硬件结构,通常硬件功能较完善,其相应的软件就简单,但硬件成本较高;而硬件功能略低,其相应的软件就复杂。实际中应尽量以软件替代硬件来降低成本。,(5),整个系统的相关器件应尽可能做到性能匹配,如电平、速度的匹配等。,(6),充分考虑整个系统的抗干扰设计,如选择具有抗干扰设计的单片机并充分筛选芯片与器件,在电路中采取隔离和屏蔽措施等。,方案设计1.1 硬件选择以及电路的设计应遵循的原则:,4,1.2,秒表计时器的原理图,利用单片机作为主控电路,选用四位共阳极的数码管作为显示电路以及位控制和控制开关来组成硬件电路。其基本原理图,AT89S51,单片机,控制开关,四位数码管,位控制,1.2 秒表计时器的原理图 控制开关四位数码管位控制,5,在硬件电路中,利用,AT89S51,单片机的定时器作精确的定时,利用数码管对其进行显示;控制按钮利用外部中断,0,使其实现启动、外部中断,1,使其实现暂停的功能,设置中断为边沿触发方式,,P0,口输出段码数据,,P2.0,P2.1,连上译码器作为位选;计时器采用,T0,中断实现,定时溢出中断周期为,20ms,,当溢出中断后向,CPU,发出溢出中断请求,每发出,5,次中断请求就对,20ms,位(即最后一位)加一。,在硬件电路中,利用AT89S51单片机的定时器作精确的定时,,6,硬件的选择以及设计,本设计在选取单片机时,在充分查阅资料并对各种单片机有一个初步了解的基础上选用了,ATMEL,公司的,AT89S51,。,AT89S51,是一种低功耗、高性能,CMOS8,位微控制器,具有,8K,在系统可编程,Flash,存储器。与工业,80C51,产品指令和引脚完全兼容。片上,Flash,允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的,8,位,CPU,和在系统可编程,Flash,,使得,AT89S51,为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。,AT89S51,具有以下标准功能:,8k,字节,Flash,,,256,字节,RAM,,,32,位,I/O,口线,,p0,口定时器,,2,个数据指针,三个,16,位定时器,/,计数器,一个,6,向量,2,级中断结构,全双工串行口,片内晶振及时钟电路。另外,它支持,2,种软件可选择节电模式。空闲模式下,,CPU,停止工作,允许,RAM,、定时器,/,计数器、串口、中断继续工作。掉电保护方式下,,RAM,内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。,AT89S51,单片机采用,40,脚的,DIP,封装,其引脚图如下所示:,硬件的选择以及设计本设计在选取单片机时,在充分查阅资料并对各,7,P1.0 VCC,P1.1 P0.0,P1.2 P0.1,P1.3 P0.2,P1.4 P0.3,P1.5 P0.4,P1.6 P0.5,P1.7 P0.6,RST/VPD P0.7,P3.0 RXD EA/VPP,P3.1TXD ALE/PROG,P3.2 INT0 PSEN,P3.3INT1 P2.7,P3.4 T0 P2.6,P3.5 T1 P2.5,P3.6 WR P2.4,P3.7 RD P2.3,P2.2,XTAL2,XTAL1 P2.1,VSS P2.0,P1.0 VCC,8,显示电路选择以及设计,对于数字显示电路而言,通常采用,LCD,显示或,LED,显示。对于一般的段式,LCD,,需要专门的驱动电路,而且可视性差;对于具有驱动电路和单片机接口的,LCD,显示模块,一般多采用并行接口,对单片机的接口要求较高,占用资源多;另外,,AT89S51,单片机本身没有专门的,LCD,驱动接口。而,LED,数码管作为一种主动显示器件,具有结构简单、亮度高、响应速度快、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或者远距离操作。因此在本设计中,我们采用,7,段数码管作为显示介质。,数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用四位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂,所以采用动态显示。,动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常各位数码管的段选线相应并联在一起,由一个,8,位的,I/O,口控制;各位的公共阴极位选线由另外的,I/O,口线控制。动态方式显示时,各数码管轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管并送出相应的段码,在另一时刻选通另一数码管,并送出相应的段码,依次规律循环,即可以使各位数码管显示将要显示的字符,虽然这些字符是在不同时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。,显示电路选择以及设计对于数字显示电路而言,通常采用LCD显,9,显示电路如图,AT89S51,段,驱,动,位驱动,四位数码管,显示电路如图段位驱动,10,系统总体电路的设计,系统采用,AT89S51,单片机为主电路的核心部分,各个电路均与单片机相连,由单片机统筹协调各个电路的运行工作。,开始键和暂停键使用了外部中断,所以需要连到单片机的,P3.2,和,P3.3,引脚上,这两个,I/O,口的第二功能是单片机的外部中断,0,端口和外部中断,1,端口。,显示电路由四位数码管组成,采用动态显示方式,因此有,8,位段控制和,4,位位控制,,8,位段控制接,P0,口,,P0.0P0.7,分别控制数码管的,a b c d e f g dp,显示,位控制接在,P2.0,和,P2.1,两个口,再通过一个,2,4,译码器实现位控制。,系统总体电路的设计系统采用AT89S51单片机为主电路的核,11,系统总体电路图,系统总体电路图,12,系统总体电路,PCB,图,系统总体电路PCB图,13,软件设计,本系统程序主要模块由主程序、定时中断服务程序、外部中断,0,服务程序和外部中断,1,服务程序组成。其中主程序是整个程序的主体。可以对各个中断程序进行调用。协调各个子程序之间的关系。主程序主要是设置定时器的工作模式,对定时器赋初值,开总中断、两个外部中断以及定时器溢出中断。并设置外部中断为脉冲边沿触发方式。,软件设计本系统程序主要模块由主程序、定时中断服务程序、外部,14,中断程序设计,中断是通过硬件来改变,CPU,的运行方向的。计算机在执行程序的过程中,当出现,CPU,以外的某种情况时,由服务对象向,CPU,发出中断请求信号,要求,CPU,暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。 中断之后所执行的相应的处理程序通常称之为中断服务或中断处理子程序,原来正常运行的程序称为主程序。调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定,因为中断的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。本方案中用到了三个中断:外部中断,0,、外部中断,1,和定时器,T0,溢出中断。按,CPU,在响应中断时的处理顺序,先处理高级中断,后处理低级中断,若有多个同级中断时,则应按自然优先顺序处理。,中断程序设计中断是通过硬件来改变CPU的运行方向的。计算机,15,(,1,)外部中断,0,服务程序,外部中断,0,服务程序结合外部,P1.0,键实现数字秒表的启动功能。启动定时器,T0,,,TR0=1,外部中断,1,入口,启动定时器,T0,,,TR0=1,中断返回,(1)外部中断0服务程序外部中断1入口启动定时器T0,TR0,16,(,2,)外部中断,1,服务程序,外部中断,1,服务程序结合外部,P1.0,键实现数字秒表的停止功能。,外部中断,1,入口,停止计时,,TR1=0,中断返回,(2)外部中断1服务程序外部中断1入口停止计时,TR1=0中,17,(3),定时器,T0,中断服务程序,当,T0,溢出后,向,CPU,发出中断请求信号。,CPU,跳转到定时中断程序执行,具体流程图如图,T0,中断,T0,中断,保护现场,加,20ms,处理,恢复现场,中断返回,(3) 定时器T0中断服务程序T0中断保护现场加20ms处理,18,系统调试,(1),输入源程序,打开,keil,软件,输入源程序,输入时应以英文方式输入字母和符号,且中文注释前要加分号。,(2),对源程序进行编译和纠错,根据自动编译提供的错误信息逐条纠正错误,直至编译信息提示“错误,(0),”,编译结束。,(3),确定调试方案,在调试程序前一定要认真分析源程序,明确各功能程序运行的预期结果。然后结合源程序应达到的结果,确定出如何通过某些关键参数和实验现象检验程序运行结果正确与否。,(4),调试程序,调试程序时首先要明确程序的具体功能,对程序做认真分析。程序运行后,观察有无显示,时钟是否工作,运行结果是否正确。若运行结果不正确,首先应根据程序运行的实际现象分析判断哪些因素可引起相关故障,再通过调试方法逐一认证和排除。通过反复调试,发现并排除软件与硬件存在的各类问题,以满足系统设计的预期目的。在编译调试通过以后,生成,hex,文件以待仿真之用。,系统调试(1) 输入源程序,19,程序清单,:,#include /,包含,51,单片机寄存器定义的头文件,unsigned char code Tab11=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;,/,数码管显示,0,9,的段码表,unsigned char int_time; /,记录中断次数,unsigned char second; /,储存秒,/*,函数功能:快速动态扫描延时,延时约,0.6,毫秒,*/,void delay(void),unsigned char i;,for(i=0;i200;i+),;,/*,函数功能:显示秒,入口参数:,k,出口参数:无,*/,程序清单:#include / 包,20,void DisplaySecond(unsigned char k),P2=0xfd; /P2.1,引脚输出低电平,P0=Tabk/10; /,显示十位,delay();,delay();,delay();,delay();,delay();,delay();,delay();,delay();,P2=0xf7; /P2.0,引脚输出低电平,P0=Tabk%10; /,显示个位,delay();,delay();,void DisplaySecond(unsigned ch,21,delay();,delay();,delay();,delay();,delay();,delay();,P2=0xff; /,关闭所有数码管,P0=0xff; /,显示个位,delay();,delay();,delay();,delay();,delay();,delay();,delay();,delay();,void main(void) /,主函数,delay();,22,TMOD=0x01; /,使用定时器,T0,TH0=(65536-46083)/256; /,将定时器计时时间设定为,46083,1.085,微秒,/=50000,微秒,=50,毫秒,TL0=(65536-46083)%256;,EA=1; /,开启总中断,ET0=1; /,定时器,T0,中断允许,TR0=1; /,启动定时器,T0,开始运行,int_time=0; /,中断次数初始化,second=0; /,秒初始化,while(1),DisplaySecond(second);/,调用秒的显示子程序,/*,/,函数功能:定时器,T0,的中断服务程序,/*,TMOD=0x01; /,23,void interserve(void ) interrupt 1 using 1,TR0=0; /,关闭定时器,T0,int_time +; /,每来一次中断,中断次数,int_time,自加,1,if(int_time=20) /,够,20,次中断,即,1,秒钟进行一次检测结果采样,int_time=0; /,中断次数清,0,second+; /,秒加,1,if(second=60),second =0; /,秒等于,60,就返回,0,TH0=(65536-46083)/256; /,重新给计数器,T0,赋初值,TL0=(65536-46083)%256;,TR0=1; /,启动定时器,T0,void interserve(void ) interru,24, ,秒表时钟-单片机课件,25,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!