51单片机秒表计时(protues)[精彩]
51单片机秒表计时器
目录
摘要 (3)
一、实训目的 (3)
二、实训设备与器件 (3)
(1)实验设备 (3)
(2)实训器件 (3)
三、实训步骤与要求 (4)
(1)要求 (4)
(2)方法 (4)
(3)实训线路分析 (4)
(4)软件设计 (4)
(5)程序编制 (4)
四、硬件系统设计 (4)
五、软件系统设计 (5)
六、系统调试 (9)
七、实训总结与分析 (10)
八、参考资料: (11)
九、附录 (12)
摘要:
秒表是由单片机的P0口和P2口分别控制两个数码管,使数码管工作,循环显示从00—59。同时,用一个开关控制数码管的启动与停止,另外加上一个复位电路,使其能正常复位,通常还使用石英晶体振荡器电路构成整个秒表的结构电路。
一、目的
(1)利用单片机定时器中断和定时器计数方式实现秒定时。
(2)通过LED显示程序的调整,熟悉单片机与LED的接口技术,熟悉LED动态显示的控制过程。
(3)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。
(4)进一步学习单片机开发系统的整个流程。
二、元件
(1)实训设备:单片机开发系统、微机、万用表、电烙铁等。
(2)实训器件:
名称数量
7段数码管  2
电阻10k      1写个人简历
电阻1k    8
一年级数学试卷分析
键盘开关  1
电容10微法  1
最伤感的个性签名
电容30皮法  2
晶振12M      1
交流技巧
89C51      1
万能板      1
导线若干
三、步骤
(1)要求:利用实训电路板,以2位LED右边1位显示个位,左边1位显示十位,实现秒表计时显示。以一个按键开关实现启动、停止、清零等功能。
(2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器0方式1计数,实现00--59计数。
(3)实验线路分析:采用实训电路板,其原理图参见附录。两个7段LED 数码管分别由单片机的P0口和P2口控制,使数码管显示从00—59的字样。用一个开关控制数码管的启动与停止,另外加上一个复位电路,使其能正常复位。另外在加上一个晶体振荡电路就够成了整个秒表的电路。
(4)软件设计:软件整体设计思路是主程序进行初始化,以按键开关按下的次数确定定时器的启动与否,LED通过中断的方式进行显示。后二者间的联系是:按键按下,则定时器开始计时,中断后在LED上显示,不断循环;按键第二次按下时,定时器停止计时,LED不显示;按键第三次按下时,返回到初始状态重新开始。秒定时采用定时器T0中断方式进行,60秒计数由定时器0采用方式1完成,中断及计数的开启与关闭受控于按键处理程序。由上述设计思路可设计出软件流程图如图7.1所示。
你牛什么牛(5)程序编制:编程时第一次按键为“启动”,第二次按键为“停止”,第三次按键为“清零”,因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,。2位LED显示的数据由显示缓冲区30H~31H单元中的数据决定。
四、设计
硬件电路的设计应从两个方面予以考虑。一是根据应用系统总体设计的参数范围、测控速度与精度等技术指标要求选择单片机。不同系列单片机或同一系列不同型号单片机芯片内部提供的资源状况各不相同,如ROM、RAM容量,定时/计数器、I/O接口、中断系统等硬件配置,应选择性价比最适合的单片机型。二是在已选定单片机型号的基础上,根据应用系统的功能要求扩展单片机外部设备的配置,如键盘、打印机、A/D、D/A、报警电路、驱动电路及通用/专用I/O接口等。
硬件电路的设计原则如下:
(1)在性价比满足应用系统要求的基础上,选择更可靠、更熟悉的单片机,缩短研制周期。
(2)尽可能选择较成熟的典型应用电路,以提高系统的可靠性。
(3)单片机内部的资源与外部扩展资源应在满足应用系统设计要求的基础上留有余地,为进一步升级和扩展其功能提供方便。
(4)应充分结合软件方案统筹考虑硬件结构,通常硬件功能较完善,其相应的软件就简单,但硬件成本较高;而硬件功能略低,其相应的软件就复杂。实际中应尽量以软件替代硬件来降低成本。
(5)整个系统的相关器件应尽可能做到性能匹配,如电平、速度的匹配等。
(6)充分考虑整个系统的抗干扰设计,如选择具有抗干扰设计的单片机并充分筛选芯片与器件,在电路中采取隔离和屏蔽措施等。
根据以上设计原则,选择较熟悉的MCS-51系列单片机中具有内部程序存储器的89C51单片机;为实现LED数码显示和键盘控制,直接将开关键盘接到单片机的P3.7口,是单片机直接控制开关,
其中:按第一次,定时器启动,即数码管开始显示数。按第二次,定时器停止,即数码管上显示的数停止,显示当前的秒数。按第三次,使数码管上的数复位。
五、软件系统设计
待硬件电路接线完成后,通常可先编写简单的测试程序对硬件电路进行测
和平精英名字试,排除硬件电路设计中存在的错误。然后根据设计任务的要求确定系统程序的整体结构,尽可能采用模块化程序设计的方法,将任务划分为相对独立的功能模块,明确各模块的功能、时间顺序和相互关系,如系统管理、数据与信息采集、报警处理、误差处理、标度变换、数据处理、输出控制等;列出详细的资源划分表,确定各模块的出口和入口状态;建立必要的数学模型,正确描述出系统中输入和输出间的数学关系;画出各程序模块的详细流程图;根据流程图逐一编写程序;最后将各个模块连接成完整的程序。
(1)软件设计的基本原则。
①程序整体结构清晰、简洁、流程合理,主程序尽可能简单明了。
②各种功能的实现应采用模块化、子程序化,以便于编制、阅读、连接、移植、修改和调试。
③对各子程序的入口、出口条件,占用的资源要明确,以便于分析、调试和共享。
④程序存储区、数据存储区、寄存器区、位寻址区、堆栈区应规划合理,做到既节约资源又不会发生相互间的冲突。
⑤运行状态标志化管理,对各功能程序的运行结果、操作状态应设置状态标志,以便查询和实现运行控制。
⑥运用软件或软硬件相结合等方法抑制干扰,提高系统的抗干扰能力。
⑦必要时可结合硬件采取加密措施。
(2)资源分配:选用定时/计数器T0,定时方式1工作,每隔50ms溢出中断一次。
(3) 软件流程框图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。