八路LED跑马灯实验

    现在让我们开始做第一个实验:八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了,在焊接前要看仔细哦~~~

    

    下面我们来完成软件编程设计,这里我们没有采用高深的编程技巧,而是用了最笨、最直接的向端口送数的办法来实现,一来程序比较简单,没必要玩深沉,而且初学者看起来直观易懂。

ORG 0000H
START:MOV P1,#01111111B;最下面的LED点亮
LCALL DELAY;延时1秒
MOV P1,#10111111B;最下面第二个的LED点亮
LCALL DELAY;延时1秒
MOV P1,#11011111B;最下面第三个的LED点亮 (以下省略)
LCALL DELAY
MOV P1,#11101111B
LCALL DELAY
MOV P1,#11110111B
LCALL DELAY
MOV P1,#11111011B
LCALL DELAY
MOV P1,#11111101B
LCALL DELAY
MOV P1,#11111110B
LCALL DELAY
MOV P1,#11111111B;完成第一次循环点亮,延时约0.25秒
AJMP START;反复循环

;延时子程序,12M晶振延时约250毫秒
DELAY:
MOV R4,#2
L3: MOV R2 ,#250
L1: MOV R3 ,#250
L2: DJNZ R3 ,L2
DJNZ R2 ,L1
DJNZ R4 ,L3
RET

END

点击这里可以下载单片机实验开发板配套的程序

如何精确计算延时子程序的执行时间?

    汇编语言的一大优势就是能够精确控制程序的执行时间,这在编写一些对时序要求严格的外围器件驱动时由为重要!

下一篇文章:LED数码管动态驱动

    备注:如果不需要AT89S51实验开发板中的12伏电源变压器,价格可以降低10元

点击查看详细品种!

银行帐号及邮购需知    立即进入订货系统!    查看全部邮购清单

邮局汇款地址:邮编226200 江苏省启东市江海中路511号水晶苑 A1 谢刚 收

电话/传真: 小灵通: 联系人:谢刚

电子信箱:

电子制作实验室网站主页 http:www.xie-gang.com