基于51单片机的多功能秒表设计与实现

版权申诉
0 下载量 69 浏览量 更新于2024-02-22 3 收藏 530KB DOC 举报
us仿真结果……………………………………………………………14 5 结果与分析………………………………………………………………………15 5.1 系统功能测试……………………………………………………………15 5.2 真实环境测试……………………………………………………………15 6 总结与展望………………………………………………………………………16 参考文献……………………………………………………………………………17 本文介绍了一个基于单片机控制的多功能秒表系统的设计。该系统采用AT89C51单片机为中心器件,结合显示电路、电源电路、LED数码管以及键盘电路,能够实现四位LED显示,最大显示时间为9分59.9秒,每毫秒自动加1,具有一个开始暂停按键和一个复位按键。在概述部分,介绍了设计任务和设计要求。在系统总体方案及硬件设计部分,详细描述了系统总体方案和硬件电路设计。在软件设计部分,包括了软件设计概述、程序流程图和子程序模块设计。此外,还介绍了Proteus软件仿真结果。在结果与分析部分,对系统功能测试和真实环境测试进行了说明。最后在总结与展望部分进行了总结,并展望了未来的发展方向。 通过本文的介绍,可以了解到单片机在控制系统中的重要性和广泛应用。单片机具有体积小、功能强大、成本低、应用面广等优点,是现代科技发展的重要里程碑。本文介绍的基于单片机的多功能秒表系统,体积小、功耗最低、使用电池作为电源、硬件结构紧凑、软件设计灵活,具有很高的实用性和应用前景。 在今后的研究中,可以进一步完善系统的功能,提高系统的稳定性和可靠性,拓展系统的适用范围,使其更加符合实际应用的需求。同时,也可以探索更多单片机在控制系统中的应用,推动单片机技术在自动化智能控制领域的发展。 通过本文的介绍和总结,可以为相关领域的研究者和工程师提供一定的参考和借鉴,促进相关领域的学术和技术交流和发展。同时,也可以为单片机在控制系统中的应用提供一种新的设计思路和方法。
2023-02-27 上传
一、设计任务 (一)基本任务: 1. 应用AT89S51单片机设计单片机实现数字秒表(LED显示0--59秒)电路; 2. 选用2位LED数码显示,实时显示两位秒表,采用按键式实现秒表的走、停和清零。 3. 硬件设计:根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单 元电路必须有工作原理,器件的作用,分析和计算过程; 4. 软件设计:根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调 试并打印程序清单; 5.原理图设计:根据所确定的设计电路,利用Protel或Proteus等有关工具软件绘制 电路原理图、PCB板图、提供元器件清单; 二、设计原理 应用AT89S51单片机设计单片机实现数字秒表(LED显示秒)电路; 选用2位LED数码显示秒表,采用按键式实现 软时钟是利用单片机内部的定时器/计数器来实现的,它的处理过程如下:首先设定 单片机内部的一个定时器/计数器工作于定时方式,对机器周期计数形成基准时间(250 um),然后用系统中断(对250um计数4000次),合计延时一秒钟秒计59清零。然后通过 数码管把它们的内容在相应位置显示出来即可。 在具体处理时,定时器/计数器采用中断方式工作,对时钟的形成在中断服务程序中 实现。在主程序中只需对定时器/计数器初始化、调用显示子程序和控制子程序。 三、方案与论证 模块一:定时器中断服务子程序;可以调用中断来调用子程序。 模块二:主函数的设置 模块二:延时程序;可以有效的利用人们的暂留效应。 模块三:控制LED管的数字的加运算秒表开始加计数 四、设计内容 (一)系统框图和设计原理图 设计框图: 设计原理图: (二)软件设计流程图 五、总结 通过本次设计,对单片机的独立按键,LED的动态显示有了进一步的认识,并能基本掌握 和运用。 六、参考文献 《单片机实验指导书》 刘强 段纯爽主编 附录:设计源程序 #include<regx51.h> #define KEY P1_7 #define CON P2 #define DATA P0 #define unchar unsigned char #define unint unsigned int unchar second=0; unint count=4000; /*51实验箱共阳极笔段码(0123456789)*/ //unchar code table[]={0x84,0xf5,0x46,0x54,0x35,0x1c,0x0c,0xd5,0x04,0x14}; /*标准共阴极笔段码(0123456789)*/ unchar code table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39, 0x5e,0x79,0x71};//共阴极笔段码(标准) void delay(); void display(); void tmr0_int() interrupt 1 { count--; if(!count) { second++; count=4000; } } void main() { TMOD=0X02;//定时器0工作在方式2 TH0=0X06; TL0=0X06;//定时器0计数初值 IE=0X82;//开总中断和定时器0中断 TR0=1; while(1) { display(); } } void delay() { unchar a,b; for(a=4;a>0;a--) for(b=248;b>0;b--); } void display() { if(second>59) { second=0; } if(second>9) { CON=0XFE; DATA=table[second/10]; delay(); CON=0XFF; CON=0XFD; DATA=table[second%10]; delay(); CON=0XFF; } else { CON=0XFD; DATA=table[second%10]; } } ----------------------- 基于单片机的电子秒表设计全文共6页,当前为第1页。 基于单片机的电子秒表设计全文共6页,当前为第2页。 基于单片机的电子秒表设计全文共6页,当前为第3页。 基于单片机的电子秒表设计全文共6页,当前为第4页。 基于单片机的电子秒表设计全文共6页,当前为第5页。 基于单片机的电子秒表设计全文共6页,当前为第6页。