- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机(发光二极管的循环闪亮)
运用proteus软件进行仿真,设计一个单片机应用系统,要求至少要有I/O扩展。编写相应程序仿真出结果。另加上文档说明,设计的内容,功能及思路。
发光二极管的循环闪亮
一.设计任务
如下图所示,AT89C51扩展I/O接口芯片8255A端口A的PA0-PA7接8个发光二极管D1- D8。编写程序使8个二极管循环闪亮。
二.设计内容
实现发光二极管的循环闪亮。
三.设计思路
1.根据题目要求设计出程序;
2.在proteus中设计硬件,设计出要仿真的电路图;
3.在proteus中把设计好的程序加载到单片机芯片上;
4.运行仿真,看结果
四.硬件设计
1.系统硬件连线
单片机的P0.0~P0.7接在8255的数据端的D0~D7上,把8255A端口A的PA0- PA7连接8个发光二极管。
2.Proteus仿真图
五.软件设计
1.流程图
2汇编源程序
ORG 0000H
LJMP START
ORG 1000H
START:MOV A,#80H ;设置控制字
MOV DPTR,#0300H ;给控制端口地址:0300H
MOVX @DPTR,A ;将控制字写到控制端口的控制寄存器中
LOOP:MOV A,#00H ;将A中的设置为00H
MOV DPTR,#0000H ;将PA端口地址给DPTR
MOVX @DPTR,A ;将A中内容传送到PA,点亮发光二极管
LCALL DELAY ;延时
MOV A,#0FFH
MOVX @DPTR,A
LCALL DELAY ;延时
SJMP LOOP 循环跳转
DELAY:MOV R7,#1DH ;延时0.4秒
DL1:MOV R6,#46H
DL0:MOV R5,#61H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
END
循环
#0FFH→A,将A中的数据读到PA口,八个发光二极管熄灭,并延时
#00H→A,将A中的数据读到PA口,点亮八个发光二极管,并延时
8255初始化
开始
文档评论(0)