51单片机控制LED灯程序设计.doc
上传人:王子****青蛙 上传时间:2024-09-14 格式:DOC 页数:8 大小:19KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

51单片机控制LED灯程序设计.doc

51单片机控制LED灯程序设计.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

51单片机:LED灯亮灯灭程序设计1、功能说明:控制单片机P1端口输出,使P1、0位所接得LED点亮,其她7只灯熄灭。ﻫ程序:ﻫ01:MOVA,#11111110B;存入欲显示灯得位置数据02:MOVP1,A;点亮第一只灯ﻫ03:JMP$;保持当前得输出状态04:END;程序结束ﻫ2、功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。ﻫ程序:ﻫ01:START:MOVA,#00010010B;存入欲显示灯得位置数据02:MOVP1,A;点亮灯ﻫﻫ03:JMPSTART;重新设定显示值ﻫ04:END;程序结束ﻫﻫ3、功能说明:单片机P1端口接8只LED,每次点亮一只,向左移动点亮,重复循环。ﻫﻫ程序:ﻫﻫ01:START:MOVR0,#8;设左移8次ﻫﻫ02:MOVA,#11111110B;存入开始点亮灯位置ﻫ03:LOOP:MOVP1,A;传送到P1并输出ﻫ04:RLA;左移一位ﻫﻫ05:DJNZR0,LOOP;判断移动次数06:JMPSTART;重新设定显示值ﻫﻫ07:END;程序结束ﻫﻫ4、功能说明:单片机P1端口接8只LED,每次点亮一只,向右移动点亮,重复循环.ﻫ程序:ﻫ01:START:MOVR0,#8;设右移8次ﻫﻫ02:MOVA,#01111111B;存入开始点亮灯位置ﻫﻫ03:LOOP:MOVP1,A;传送到P1并输出04:ACALLDELAY;调延时子程序ﻫﻫ05:RRA;右移一位ﻫﻫ06:DJNZR0,LOOP;判断移动次数07:JMPSTART;重新设定显示值ﻫﻫ08:DELAY:MOVR5,#50;09:DLY1:MOVR6,#100;ﻫ10:DLY2:MOVR7,#100;ﻫﻫ11:DJNZR7,$;ﻫﻫ12:DJNZR6,DLY2;ﻫ13:DJNZR5,DLY1;14:RET;子程序返回ﻫ15:END;程序结束ﻫﻫ5、功能说明:单片机P1端口接8只LED,每次点亮一只,先把右边得第一只点亮,0、5秒后点亮右数得第二只灯,第一只熄灭,再过0、5秒点亮右数得第三只灯,第二只熄灭,…亮灯按此顺序由右向左移动。当亮灯移到左侧后,开始与上述反方向移动,即亮灯由左向右移动,重复循环。ﻫ程序:ﻫﻫ01:START:MOVR0,#8;设左移8次ﻫ02:MOVA,#0FEH;存入开始亮灯位置ﻫ03:LOOP:MOVP1,A;传送到P1并输出ﻫ04:ACALLDELAY;调延时子程序05:RLA;左移一位06:DJNZR0,LOOP;判断移动次数ﻫ07:MOVR1,#8;设右移8次ﻫ08;LOOP1:RRA;右移一位09:MOVP1,A;传送到P1并输出ﻫﻫ10:ACALLDELAY;调延时子程序ﻫ11:DJNZR1,LOOP1;判断移动次数12:JMPSTART;重新设定显示值ﻫ13:DELAY:MOVR5,#25;延时0、5秒子程序ﻫ14:DLY1:MOVR6,#100;ﻫﻫ15:DLY2:MOVR7,#100;ﻫ16:DJNZR7,$;ﻫﻫ17:DJNZR6,DLY2;ﻫﻫ18:DJNY1;ﻫﻫ19:RET;子程序返回ﻫﻫ20:END;ﻫﻫﻫ6、功能说明:单片机P1端口接8只LED,每次点亮两只,先从右边向左边移动点亮;再从左边向右边移动点亮,然后闪烁两次,重复循环。ﻫ程序:01:START:MOVR0,#7;设左移7次ﻫ02:MOVA,#0FCH;存入开始亮灯位置ﻫ03:LOOP:MOVP1,A;传送到P1并输出ﻫ04:ACALLDELAY;调延时子程序05:RLA;左移一位ﻫ06:DJNZR0,LOOP;判断移动次数ﻫ07:MOVR1,#7;设右移7次08:LOOP1:RRA;右移一位ﻫ09:MOVP1,A;传送到P1并输出ﻫﻫ10:ACALLDELAY;调延时子程序ﻫ11:DJNZR1,LOOP1;判断移动次数ﻫ12:MOVR2,#3;设置闪烁次数13:MOVA,#00H;设初始值14:LOOP2:MOVP1,A;P1端口灯亮15:ACALLDELAY;调用延时子程序ﻫﻫ16:CPLA;A取反值ﻫ17:DJNZR2,LOOP2;判断闪烁次数ﻫﻫ18:JMPSTART;重新设定显示值ﻫ19:DELAY:MOVR5,#25ﻫ20:DLY1:MOVR6,#10021:DLY2:MOVR7,#10022:DJNZR7,$ﻫ23:DJNZR6,DLY2ﻫ24:DJNZR5,DLY1ﻫﻫ25:RET;子程序返回ﻫ26:END;程序结束7、功能说明ﻫ单片机端口接八只LED,编程时利用取表得方法,使端口P1做单一灯得变化:先向左移2次,然后向右移2次,再闪烁4次,不断循环.ﻫ程序:ﻫﻫ01:START:MOVDPTR,#TABLE;存表ﻫﻫ02:LOOP:CLRA;A清零03:MOVCA,A+DP