您的位置 首页 厂商

单片机实验三:跑马灯实验

前面做了二极管的点亮与熄灭和二极管闪烁试验,在这基础上再来做一个跑马灯试验。所用到的器件也是试验板上的八只二极管,要让它们一个个的…

前面做了二极管的点亮与平息和二极管闪耀实验,在这基础上再来做一个跑马灯实验。所用到的器材也是实验板上的八只二极管,要让它们一个个的轮番循环点亮,需求该变P1口的值,即先送入11111110B给P1口,让榜首只二级管点亮,因为程序执行时间很短(微秒级),所以咱们需求它亮一段时间,便是所说的延时;然后再送入11111101B给P1口即第二只点亮,其它都是平息的,延时,再让第三只点亮。就这样不断的循环,这就成 跑马灯了。程序如下:

榜首种:

ORG 1000H

LJMP BEGIN

BEGIN: MOV A,#11111110B ;低电平对应的发光二极管亮

MOV P1,A ;将值送到P1口,榜首只点亮

LCALL DL ;调用延时

MOV A,#11111101B

MOV P1,A ;第二只点亮

LCALL DL ;调用延时

MOV A,#11111011B

MOV P1,A ;第三只点亮

LCALL DL ;调用延时

MOV A,#11110111B

MOV P1,A ;第四只点亮

LCALL DL ;调用延时

MOV A,#11101111B

MOV P1,A ;第五只点亮

LCALL DL ;调用延时

MOV A,#11011111B

MOV P1,A ;第六只点亮

LCALL DL ;调用延时

MOV A,#10111111B

MOV P1,A ;第七只点亮

LCALL DL ;调用延时

MOV A,#01111111B

MOV P1,A ;第八只点亮

LCALL DL ;调用延时

LJMP BEGIN ;循环

DL: MOV R7,#0A3H ;延时程序

DL1: MOV R6,#0FFH

DL2: DJNZ R6,DL2

DJNZ R7,DL1

RET

END

第二种:

ORG 0100H

LJMP BEGIN

BEGIN: MOV A,#11111110B

LOOP: MOV P1,A

MOV R5,#2

DEL0: MOV R6,#250

DEL1: MOV R7,#250

DEL2: DJNZ R7,DEL2

DJNZ R6,DEL1

DJNZ R5,DEL0

RRC A ;循环右移一位点亮下一个发光二极管

LJMP LOOP ;循环

END
两种差异在于第二种使用了RRC指令,这说明编程序要充分利用指令,这样功率才高。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/252466.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部