课程设计 单片机 60秒秒表.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1任务及要求 1.1设计任务 学会用已经学过的单片机原理与应用的知识,来设计一个实用性的结构简单化的小型电子产品。编写一个程序,实现秒计时器从00—59计时的基本功能。利用Proteus工具来演示秒计时器的计时。 1.2设计要求 利用MCS-51系列单片机作为秒表的主控制器芯片,在单片机的P0端口和P2端口分别接两个共阴数码管,P0口驱动显示秒时间的十位,P2口驱动显示秒时间的个位。要求做到性能稳定,结构简单通俗易懂结构模块化从而做到节约成本。P0和P1口的作用。 (2)熟悉WAVE编译环境。 (3)熟练掌握汇编语言,调用延时程序。 2设计思想 2.1硬件设计 将单片机设计成控制器,在AT89C51的P0口和P2口都接7SEG-COM-CATHODE,P0口接上拉电阻,分别显示十位和个位数字。通过单片机实现控制00-59的计数,根据设计的要求,将0到59的数据除以10,分别取商和余数。并且当一秒钟到来时,计数单元加1,到达60时,则自动返回到0,从新秒计数。同时计数过程中调用延时程序。 3电路原理与电路图 3.1电路原理 编写程序对80C51芯片进行初始化,在编程过程中主要使用延迟程序来实现秒计时器的计时功能。用Proteus软件来实现秒计时器的仿真,其中将P0口和P1口分别作为高低位输出端口。 3.2电路原理图 图3.1电路原理图 4流程图与算法描述 4.1函数流程图 4.1.1实验系统流程图 图4.1.1 实验系统流程示意图 4.1.2延时程序流程图 图4.1.2 延时程序流程图 4.2 算法描述 根据设计的要求,利用单片机控制,实现秒计数并显示,具体设计如下: (1)将0到59的数据通过对10整除和对10求余,将数据的个位和十位分开。 DIV AB (2)加1计数 INC @R0 (3)延时程序 DELAY: MOV R5,#100 DELAY2: MOV R6,#20 DELAY1: MOV R7,#248 DJNZ R7,$ DJNZ R6,DELAY1 DJNZ R5,DELAY2 5仿真分析 程序采用汇编语言编写,并用protues软件编译。用学校的Proteus软件画电路图和进行仿真。编译通过以后,用Proteus软件进行仿真和调试,把 图5-1 运行的结果 6课程设计总结 6.1 设计体会 此次课程设计,我获益良多,在之前了解相关的单片机理论知识的基础上,通过自己的动手实践,理论与实践的结合使得对知识的理解更加深刻,并且慢慢学会培养自己的创新精神,感觉很有成就感,但同时我到自己在单片机方面还有很多不足设计过程中,花费了大量的时间和精力,同时得到老师和同学的帮助,,。设计不断调试程序和修改程序,提高了对单片机的应用能力,分析问题和解决问题的能力。在实践过程中老师给了很大的帮助和鼓励在设计时,因能力有限,没有充分利用所学的理论知识,如果适当的对该设计增加功能,并对程序进行改进,就可以既允分利用资源,还可以充分节约资源,更适应市场的需求。 参考文献 [1] 李泉溪.单片机原理与实例仿真[M].北京:北京航空航天大学出版社,2009 [2] 江世明.基于Protues的单片机应用技术[M].北京:电子工业出版社,2009 [3] 沈永林嵌入式单片机技术常东超C程序设计教程ORG 0 LJMP START ;启动指令 ORG 30H ;跳出中断入口 START: MOV P0,#0 ;将p0口清零 MOV P2,#0 ;将p2口清零 MOV @R0,#00 ;将值0赋给R0 NEXT: MOV A,@R0 ;实现P0口从零到5的变化,以及P2口从零到九的变化 MOV B,#10 DIV AB MOV DPTR,#TABLE ;建表 MOVC A,@A+DPTR ;将表的首地址传给累加器A MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A LCALL DELAY ;调用延时程序 INC @R0 MOV A,@R0 CJNE

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档