- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简易秒表的设计
简易秒表的设计 1 设计意义及要求 1.1 简易秒表的设计意义 简易秒表的设计是在我们学习了单片机技术之后的一次检测。在已学内容的基础上熟练掌握,对未曾学习过的内容加以了解,从多个角度更加深刻理解和掌握单片机的理论与运用。通过本次设计,能够提高大家对自己电工电子设计的兴趣与了解,以更好的理解本专业,从而在今后的学习中打下一个很好的基础。 1.2 简易秒表的设计要求 1)利用单片机作为主控制器实现电子秒表,用4位LED数码管显示时间。 2)设置外部按键SB,当按键SB第一次按下时启动秒表开始计时;当第二次按下按键S1时秒表停止计时,当第三次按下按键S1时秒表回零;即用一个按键S1来控制秒表的启动、停止和回零功能。 2 简易秒表硬件电路设计 采用ATMEL公司生产的AT89C51单片机控制器,用4位共阴LED数码管显示时间,为了节省单片机的I/O资源,LED数码管采用动态显示方式,由P2口的低4位输出位选信号,P1口输出LED数码管的显示段码。用非门来提高P2口的驱动能力,使LED管达到合适的亮度。完成设计的仿真电路如图2-1所示。 图2-1 基于单片机控制的秒表仿真电路图 3 程序设计 采用主程序调用子程序的设计方法,主程序首先对定时器和有关寄存器及存储单元进行初始化,调用按键扫描子程序和显示子程序,判断计时时间是否到9分59秒。主程序设计流程图如图3-1所示。 图3-1 主程序设计流程图 3.1 定时初值的计算 按12MHz的时钟频率计算,其机器周期为1s,选用定时/计数器工作方式1,定时时间50ms。 计算初值如下: 计数值N=定时/计数器最大值M?定时/计数器初值X 则初值X=M?N 机器周期为TM=12×1/?osc=12×1/12×106=1s 采用定时器工作方式1,所以初值为 X=216?50ms/1us=15536=3CB0H 所以TH0=3CH,TL0=B0H 3.2 初始化 通过初始化设定定时器0工作方式为方式1,开放定时器0的中断及总中断,分别给存放毫秒、秒、分的计数单元3FH,40H,41H,42H清零。关闭定时/计数器T0。给存储按键次数的寄存器R1清零。 3.3 判断有无键按下,并进行按键处理 因为只有一个与P3.0相连的接独立式按键,所以用JB P3.0,KEYEND指令来读按键的状态。当P3.0=0时则有键按下,然后进行10ms的延时消抖,延时消抖后将存放按键次数的寄存器R7加1,接着判断R1中的值是多少?如果是1(表示第一次按键)则用SETB TR0指令启动定时器T0;如果是2则用CLR TR0指令关闭定时器T0;如果是3则将存放时间的3FH,40H,41H,42H单元及存放按键次数的R1清零。程序设计流程图如图3-2所示。 图3-2 按键确认程序设计流程图 3.4 显示子程序设计 显示子程序的主要作用是根据存放在3FH,40H,41H,42H单元的计数值查表找到跟计数值对应的段码,然后送到对应的LED数码管进行显示。程序设计流程图如图3-3所示。 图3-3 显示子程序流程图 3.5 中断子程序设计 本任务中定时器T0定时50ms,每到50ms,T0产生一次中断,进入中断服务程序。在中断服务程序中,首先将累加器A中内容压入堆栈,保护好现场,接着给T0重装初值。然后50ms计数单元加1,再判断计数单元是否加到2(即0.1s),若没有则中断返回;若加到了,则首先50ms计数单元清零,接着将毫秒的计数单元加1。 再判断毫秒计数单元是否到10(即1s),若没有则中断返回;若到了10,则将毫秒计数单元清零。然后将秒的个位计数单元加1,秒的个位计数单元加1后判断是否加到10,若不是则中断返回;若是则将秒的个位计数单元清零,然后秒的10位计数单元加1,再判断秒的10位计数单元是否到6,若不是则中断返回;若是则将秒的十位清零,分计数单元加1。程序设计流程图如图3-4所示。 图3-4 中断服务程序设计流程图 4 小结 本次能力拓展训练完成的简易秒表是以单片机(AT89C51)为核心,结合相关的元器件,再配以相应的软件,达到实现秒表的功能。通过这次能力拓展训练,我对单片机有了更深入的理解,对单片机的硬件设计、软件设计以及硬件电路的工作原理也都有了新一层的理解。这是我第一次编写单片机程序,通过把课本上的理论与生活中的实际问题结合起来,使我学到了很多东西。把程序拆分成几部分一一进行编写、调试,在编程中出现问题时,严格谨慎,仔细分析、调试,一定会从中发现错误,克服困难,同时也使我意识到了自己对于单片机方面的知识知道的太少了,对于书本上的很多知识还不能够灵活运用,还有很多需要学习的地方。 这次能力拓展训练使我感受到了理论与实际相结合的目的及其重要意义,不但使我对单片机有了更深
您可能关注的文档
最近下载
- 煤矿用防爆电气设备防爆检查标准-培训课件.pptx
- 半导体物理学(第8版)刘恩科课后习题答案解析.pdf
- 新媒体背景下信息技术的发展及其应用分析.pdf VIP
- 2025年中国便利店发展报告.pptx VIP
- 一种大吨位玄武岩纤维锚索整体张拉试验系统及试验方法.pdf VIP
- 教你正确清除已删除你的微信好友.doc VIP
- dyna中横向各向异性可破碎泡沫材料模型ansys培训session 16.pdf VIP
- 尼尔森IQ:2025年零售渠道变革-破局增长报告.pptx VIP
- 智能烟厂规划方案-必威体育精装版版.docx VIP
- 2024年全球智能手持影像设备市场发展白皮书.pdf VIP
文档评论(0)