怎么用MS-51单片机语言编写跑马灯程序

来源:百度知道 编辑:UC知道 时间:2024/05/05 19:10:02
要用单片机语言,不是汇编语言.

单片机语言??

汇编的:
;p1口八个灯作跑马灯。

org 0000h
ajmp start
org 0030h
start:
mov a,#0ffh ;
clr c ;
mov r2,#08h ;循环八次。
loop: rlc a ;带进位左移。
mov p2,a ;输出到P1口。
call delay ;延时一段时间
djnz r2,loop ;反复循环
mov r2,#07h ;再往回循环。
loop1:
rrc a ;带进位右移
mov p2,a ;输出到P1口。
call delay ;延时一段时间
djnz r2,loop1 ;反复循环
jmp start ;重新开始

delay:
mov r3,#20 ;延时子程序
d1: mov r4,#200
d2: mov r5,#248
djnz r5,$
djnz r4,d2
ret

end

C语言的:

//例程:LED流水灯

#include<reg51.h>
#include <intrins.h>

void delayms(unsigned char ms)
// 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}

main()
{
unsigned char LED;
LED = 0xfe;
P0 = LED;

while(1)
{
delayms(250);