基于单片机的数字电子秒表设计与实现

0 下载量 122 浏览量 更新于2024-06-24 收藏 1.44MB DOC 举报
本篇文档是一份关于学士学位论文的详细设计说明书,主题是“基于单片机的数字电子秒表设计”。该设计属于计算机科学领域,专业背景是应用电子技术,具体针对的是应电08-2班的一名学生。设计目标是利用电子技术知识,设计一款可以计时1至99秒、具备直接置位和复位功能、通过按钮开关控制启动和停止、采用6V干电池供电的数字秒表。设计过程包括以下几个关键环节: 1. **电路设计方案与选择**:首先,学生需要查阅相关文献,如祝惠芳和徐忠山的《脉冲与数字电路》、邱寄帆和唐程山的《数字电子技术》等,来寻找合适的电路设计方案,并在第二到第三周进行初步筛选。 2. **单元电路设计**:设计过程中,会涉及到控制电路、脉冲产生电路以及计数译码显示单元。控制电路负责接收和处理按钮信号,脉冲产生电路用于时间的精确计数,而计数译码显示单元则将计数值转换为数码管上的数字显示。 - **计数器电路**:作为计数核心,它负责连续计数,当达到预设值后需要实现复位功能。 - **译码显示**:这部分涉及数字逻辑设计,将计数器产生的二进制代码转换成易于理解的数码管显示。 3. **电路实现与仿真**:在确定方案后,学生将在第六到第九周进行电路设计,包括绘制电路原理图,并可能进行电路仿真以验证设计的正确性,或者制作实物电路。 4. **设计说明书撰写**:整个设计过程的重要组成部分是撰写详细的设计说明书,记录设计思路、原理、步骤和实验结果,以便于他人理解和后续的维护。 5. **进度安排与时间管理**:设计任务按照明确的时间表进行,从查找资料到撰写报告,每个阶段都有明确的起止时间,确保项目的顺利进行。 6. **参考文献**:文档提供了丰富的参考文献,涵盖了电子技术基础、脉冲与数字电路、数字电子技术等多个方面的专业知识,为设计提供了理论支持。 这份文档展示了如何运用单片机技术进行实际的电子设备设计,不仅涉及硬件电路设计,还包括了软件编程和系统集成的技能,对学生来说是一次深入理解和实践电子工程的好机会。
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页。