单片机课程设计基于单片机控制循环灯设计.docVIP

单片机课程设计基于单片机控制循环灯设计.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计基于单片机控制循环灯设计

单片机原理及系统课程设计 专 业: 电气工程及其自动化 班 级: 姓 名: 学 号: 指导教师: 评语: 平时(40) 修改(30) 报告(30) 总成绩 兰州交通大学自动化与电气工程学院 2012 年 7月 1日 1 引言 2 设计方案及原理 2.1 题目要求 在单片机的P1口接8个发光二极管,通过中断方式控制实现每个发光二极管指示灯闪烁10次,并依次循环。正常状态下,这8个灯(发光二极管)先按一定流速从左向右流动,再按一定流速从右往左流动(假设这8个灯依次从左向右接在P1.0-P1.7上)2.2 设计原理 单片机灯是现今人们最普及的方法本次设计用外接石英晶体振荡器作为8051的时钟电路,将P0.0-P0.7作为发光二极管的片选口,同时利用8051单片机的基本原理,来控制八个LED指示灯的依次往复循环闪烁10次。此次课设中设计框图如 图 设计框图3 硬件设计 此次芯片选用的片的外部时钟是用外接石英晶体振荡器来实现的,MCS-51系列单片机芯片外部,X1和X2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。发光二极管有共阳和共阴接法,此次设计选择了共阳接法,所以可通过给P0口输送低电平就可驱动发光二极管发光,输送高电平就可使发光二极管熄灭。 硬件原理图如图2所示。 图 硬件原理图4 软件设计 、、至发光二极管 (6) 执行RL(循环左移)指令,指向下一个二极管,重复第5步。 (7) 当8个发光二极管从左至右依次闪烁完毕后,给累加器A送07FH,执行第5步,使二极管从最右边开始闪烁。同时执行RR(循环右移)指令,当每个发光二极管闪烁完10后指向下一个二极管。 (8) 当从右至左循环结束后,又回到第(1)步,循环往复。 程序流程图如图3所示。 图3 程序流程图 5 总结8051单片机是Intel公司生产的除无片内ROM外其余特性与MCS-51单片机基本一样。8051单片机都采用40引脚的直插封装(DIP方式)在单片机的40条引脚中有2条专用于主电源的引脚2条外接晶体的引脚4条控制或与其它电源复用的引脚32条输入/输出(I/O)引脚。8051单片机的引脚除了电源、复位、时钟接入用户I/O口外其余管脚是为实现系统扩展而设置的P1.0-P1.7作为8段显示LED的段控码输入,当位控线输入高电平时对应的LED点亮。再利用单片机内部的定时器对每一个输出口的电平做时间控制,实现每一个接口出现循环的高低电平,从而实现对每一个接口所接灯的循环控制,使8盏灯各依次亮灭10次。 参考文献[1] 李刚民.陈盅平.单片机原理及使用技术.北京高等教育出版社.2005 [2] 李华.王思明.单片机应用及原理[M].兰州大学出版社[3] 李全利.单片机原理及应用技术.高等教育出版社.2001 [4] 丁爱民.单片机应用技术.北京理工大学出版社 附录附录一调试结果 ORG 0000H ;程序存放的起始地址 AJMP MAIN ;上电,转向主程序 ORG 0003H ;外部中断0入口地址 AJMP LOOP ;转向中断服务程序 ORG 0030H ;主程序 MAIN: SETB EX0 ;允许外部中断0中断 SETB IT0 ;选择边沿触发方式 SETB EA ;CPU开中断 MOV R0,#10 ;将闪烁次数10送入R0 MOV R2,#8 ;将灯的数量8送入R2 MOV A,#0FEH LOOP: MOV P1,A ;使最左边的一个二极管发光 LCALL DELAY ;调用延时1s的子程序 MOV P1,#0FFH

文档评论(0)

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

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

1亿VIP精品文档

相关文档