- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目二:8位流水灯单片机控制
项目二:8位流水灯的单片机控制; 项目目标
通过单片机控制8个发光二极管的顺序点亮,学会使用MCS-51单片机芯片的P1口进行输出控制,进一步学习汇编程序的分析方法,并能熟练运用RR、RL等基本指令。; 项目任务
要求应用AT89C51芯片,控制8个发光二极管的有序亮灭,呈现流水灯的效果。设计单片机控制电路并编程实现此功能。
项目分析
利用单片机P1口连接8个发光二极管,利用各引脚输出电位的变化,控制发光二极管的亮灭。P1口各引脚的电位变化可以通过指令来控制,为了清楚地分辨发光二极管的点亮和熄灭,在P1口输出信号由一种状态向另一种状态变化时,编写延时程序实现一定的时间间隔。;项目预备知识:循环移位指令;RL A
RR A
RLC A
RRC A;例:;CLR A 将累加器A中的数据清零
CPL A 将累加器A中的数据取反 ; 在项目一和项目二中,为了能清晰的分辨出蜂鸣器的鸣叫和发光二极管的变化,我们进行了延时程序的编写。CPU执行完延时程序耗费的时间即是我们所要延时的时间,通常可以利用时钟频率、指令周期结合寄存器中的数据进行延时时间的计算。
延时程序如下:
DELAY:MOV R7,#10 ;1μS
D0:MOV R6,#100 ; 1μS
D1:MOV R5,#200 ; 1μS
D2:DJNZ R5,D2 ; 2μS
DJNZ R6,D1 ; 2μS
DJNZ R7,D0 ; 2μS
RET; 采用12MHz的晶振,则一个机器周期是1μS,“MOV R7,#10”是一条单周期指令,执行1次需要1μS(关于指令的执行周期可以查附录二)。“DJNZ R5,D2”是双机器周期指令,执行1次需要2×1=2μS。计算第1层循环(D2 )的时间:
200×2μS=400μS
第2层循环(D1 )的时间:
(1+400+2)×100=40300μS
第3层循环(D0 )的时间:
(1+40300+2)×10=403 030μS≈0.4S; (一)设计思路
在AT89C51单片机芯片及基本外围电路组成的单片机最小系统基础上,利用P1口的8个引脚控制8个发光二极管。由于发光二极管具有普通二极管的共性----单向导电性,因此只要在其两极间加上合适的正向电压,发光二极管即可点亮;将电压撤除或加反向电压,发光二极管即熄灭。根据发光二极管的特性,结合单片机P1口的输出信号,即可实现流水灯的控制效果。;(二)电路设计1、P1口结构及流水灯电路;P1.0—P1.7: 准双向I/O口(内置了上拉电阻);(1)P1.0—P1.7作为输出口【输出1】;2;2; 发光二极管的连接方法:若将它们的阴极连接在一起,阳极信号受控制,即构成共阴极接法,如图a所示;若将它们的阳极连接在一起,阴极信号受控制,则构成共阳极接法,如图b所示。由于P1口引脚输出高电位时电压大约是5V,为保证发光二极管的可靠工作,必须在发光二极管和单片机输出引脚间连接一只限流电阻。
本项目选用硅型普通发光二极管,限流电阻取220Ω。 ;综合以上的分析,得到下图所示电路原理图。;(三)材料表 从原理图可以得到实现本项目所需的元器件。元器件的选择应该合理,以满足功能要求为原则,否则会造成资源的浪费。;二、 控制程序的编写(一)绘制程序流程图 本控制使用简单程序设计中的顺序结构形式实现,程序结构流程图如
文档评论(0)