51单片机中如何用汇编语言编写流水灯
流水灯就是51单片机控制led灯依次点亮的控制方式。具体程序如下:
ORG0000H;复位启动
AJMPSTART;
ORG001BH;T1中断
AJMPT1INT;
;定义变量========================
YSJSEQU30H;延时计数器
LEDEQU31H;LED控制缓冲器
;主程序==========================
START:MOVLED,#0FEH;初始化数据
MOVYSJS,#0;
MOVTMOD,#10H;定时器1工作于方式1,16位定时器
MOVTL1,#0B0H;设置定时初值
MOVTH1,#3CH;定时时间=50mS
SETBET1;使能定时器1中断
SETBTR1;启动定时器1
SETBEA;开总中断
MOVP1,LED;初始化流水灯
LOOP:JMPLOOP;循环等待中断
T1INT:PUSHPSW;定时器1中断程序
PUSHACC;保护现场
MOVTH1,#3CH;定时时间=50mS
MOVTL1,#0B0H;
INCYSJS;
PUSHACC;保护ACC
MOVA,YSJI;
CJNEA,#2,QT1;50mS*2=100mS
MOVP1,LED;
MOVA,LED;
RLA;累加器A的值循环左移1位
MOVLED,A;
MOVYSJS,#0;
QT1:POPACC;恢复现场
POPPSW;
RETI;返回主程序
END;汇编程序结束
扩展资料:
实现流水灯的三个方法:
第一种,总线方法实现流水灯。这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,加上延时函数,即可控制每个LED灯的亮灭。
第二种,移位方法实现流水灯采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。
第三种,库函数实现流水灯。利用左移函数进行。
单片机流水灯程序
程序如下:
#include
sbitled1=P2^0;
sbitled2=P2^1;
sbitled3=P2^2;
sbitled4=P2^3。
让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。
从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期。
无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用。