单片机 课程设计广告灯单片机 课程设计广告灯.doc

单片机 课程设计广告灯单片机 课程设计广告灯.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机 课程设计广告灯单片机 课程设计广告灯

广告灯 一、问题的提出 用八个发光二极管代替广告灯,实现广告灯的循环以及花样变化! 二、总体设计 1、分析问题的功能 将P1 口的8个引脚分别接8位发光二极管0,1,2,3,4,5,6,7。通过控制P1口的输出,实现每隔0.5s接在P1 口的8个发光二极管从右依次点亮0,1,2,3,4,5,6,7,然后从左依次熄灭7,6,5,4,3,2,1,0,然后8个发光二极管全部点亮,闪烁3 次;接着,每隔0.5s接在P1 口的8个发光二极管从左依次点亮7,6,5,4,3,2,1,0,然后从右依次熄灭0,1,2,3,4,5,6,7,然后8个发光二极管全部点亮,闪烁3 次;接着8个二极管从左轮流点亮0,1,2,3,4,5,6,7,然后8个二极管从右轮流点亮7,6,5,4,3,2,1,0,然后8个发光二极管全部点亮,闪烁5 次,之后全灭;如此反复循环。 循环过程中通过中断加入一些广告灯的花样变化。 2、系统总体结构设计 1)硬件设计:8031单片机,DP-51PROC综合仿真实验仪,P1口,定时器0,外部中断1等。 2)软件设计:各功能模块详见程序清单后注释。 三、详细设计: 1、硬件详细设计: 时间间隔 可采用软件延时或定时器定时,软件延时:8031时钟频率11.0592MHz,延时0.5S,P1口输出。 采用定时器0定时延时: ORG 800BH LJMP TOS 定时器0赋定时初值: MOV TH0,#4CH MOV TL0,#00H 电路图: 定时中断子程序: TOS: MOV TH0,#4CH MOV TL0,#00H INC R0 CJNE R0,#10,LL MOV R0,#00H …… …… RETI 外部中断子程序: INT1S: PUSH ACC …… …… POP ACC RETI 2、软件详细设计: 软件延时: DELAY: MOV 31H,#0 MOV 32H,#0 LOOP2: DJNZ 32H,$ DJNZ 32H,$ DJNZ 32H,$ DJNZ 32H,$ DJNZ 31H,LOOP2 RET 逐个点亮: NEXT1:MOV P1,A CLR C RLC A INC R1 SJMP NEXT 逐个熄灭: NEXT3:MOV P1,A SETB C RRC A INC R2 SJMP NEXT 循环点亮: NEXT13:MOV P1,A RL A INC R7 SJMP NEXT 闪烁: NEXT11:MOV P1,A CPL A INC R6 SJMP NEXT 花样变换: 见外部中断1子程序。 3、设计中的主要困难及解决方案 1).通过一个定时器来定时延时,将多个循环过程串联起来,需要解决各个循环之间的衔接问题。本实验中通过借用计数器(R0~R7,20H,30H等)来实现查询等待,通过D1:CJNE R1,#8,D1语句巧妙的把多个循环串联在一起! 2)。通过外部中断实现广告灯的花样变化,需借助软件延时!外部中断通过硬件连线、边沿触发实现! 外部中断的花样变化为本实验的又一亮点! 四、程序清单 1.流程图 2.程序清单 ORG 8000H LJMP MAIN ORG 800BH ;定时器0入口地址 LJMP TOS ORG 8013H ;外部中断1入口地址 LJMP INT1S MAIN:MOV SP,#60H ;主

您可能关注的文档

文档评论(0)

cduutang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档