单片机流水灯汇编程序设计
开发板上的8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。
程序A:
;用最直接的方式实现流水灯
ORG 0000H
START:MOV P1,#01111111B ;最下面的LED点亮
LCALL DELAY;延时1秒
MOV P1,#B ;最下面第二个的LED点亮
LCALL DELAY;延时1秒
MOV P1,#B ;最下面第三个的LED点亮 (以下省略)
LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY
MOV P1,#B ;完成第一次循环点亮,延时约秒
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 程序B:
;用移位方式实现流水灯
org 00h ;程序上电从00h开始
ajmp main ;跳转到主程序 org 0030h ;主程序起始地址
main:
mov a,#0feh ;给A赋值成
loop:
mov p1,a ;将A送到P1口,发光二极管低电平点亮
lcall delay ;调用延时子程序 rl a ;累加器A循环左移一位
ajmp loop ;重新送P1显示
delay:
mov r3,#20 ;最外层循环二十次
d1:
mov r4,#80 ;次外层循环八十次
d2:
mov r5,#250 ;最内层循环250次 djnz r5,$ ;总共延时2us*250*80*20=
djnz r4,d2 djnz r3,d1
ret end
51单片机经典流水灯程序,在51单片机的P2口接上8个发光二极管,产生流水灯的移动效果。 ORG 0 ;程序从0地址开始 START: MOV A,#0FEH ;让ACC的内容为
LOOP: MOV P2,A ;让P2口输出ACC的内容 RR A ;让ACC的内容左移 CALL DELAY ;调用延时子程序 LJMP LOOP ;跳到LOOP处执行 ;秒延时子程序(12MHz晶振)=================== DELAY: MOV R7,#200 ;R7寄存器加载200次数 D1: MOV R6,#250 ;R6寄存器加载250次数 DJNZ R6,$ ;本行执行R6次 DJNZ R7,D1 ;D1循环执行R7次 RET ;返回主程序 END ;结束程序
开关控制的单片机流水灯 汇编
在单片机控制下,用一个拨动开关K1,控制8个发光二极管L1-L8,发光的时间间隔为秒。 具体要求:
当拨动开关K1发出低电平(K1=0)时,L1-L8从两头向中间逐个点亮,当L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。
当拨动开关K1发出高电平(K1=1)时,中间的L4、L5点亮,然后点亮的灯向两边扩展,直到L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。 悬赏分:20 - 解决时间:2009-12-21 13:42 提问者: --------- 最佳答案:
;--------------------------------------------
下列程序,经过了编译、仿真,可以满足要求。 ;-------------------------------------------- ORG 0000H MOV R2, #0 M_LOOP:
MOV A, R2 INC R2
ANL A, #07H MOV C, MOV , C
MOV DPTR, #TAB MOVC A, @A + DPTR MOV P0, A CALL DL5KT SJMP M_LOOP
;-------------------------------------------- TAB:
DB 0xFF, 0xE7, 0xC3, 0x81, 0x00, 0x00, 0x00, 0x00 DB 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00 ;-------------------------------------------- DL5KT: mov R5, #10 MOV R6, #100 MOV R7, #250 DJNZ R7, $ DJNZ R6, $ - 4 DJNZ R5, $ - 8 RET
;-------------------------------------------- END
流水灯汇编程序
8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。
;用最直接的方式实现流水灯