单片机控制led灯亮灭汇编语音(单片机控制led灯点亮汇编)
汇编语言 单片机 一个开关控制一盏LED的亮灭
ORG 0000H ;复位启动
AJMP START ;
;主控程序========================
START: SETB P1.7 ;P17 = 1
LOOP: JB P3.2,LOOP ;没有按键
LCALL DELAY ;延时消抖
JB P3.2,LOOP ;确认按键
CPL P1.7 ;取反
JB P3.2,LOOP ;检测按键
LCALL DELAY ;延时
LJMP LOOP ;死循环
;
DELAY: MOV R7,#0 ;延时子程序
MOV R6,#0
MOV R5,#128
;
LOOP1: DJNZ R7,KJYS ;延时约20毫秒
DJNZ R6,KJYS
DJNZ R5,KJYS
RET ;延时间到返回
END ;结束
延时子程序数据可能因不同系统时钟需要调整。
[img]单片机led左移然后右移循环亮灭的汇编语言
单片机led左移然后右移循环亮灭的汇编语言
电路与程序如下:
本程序,经过硬件检验,完全符合题目要求。
51单片机用汇编语言实现八个LED的全亮全灭
;以89c51单片机为例,假定用P1控制LED:IO_LED EQU P1;led_0 BIT P1.0;led_1 BIT P1.1;led_2 BIT P1.2;led_3 BIT P1.3;led_4 BIT P1.4;led_5 BIT P1.5;led_6 BIT P1.6;led_7 BIT P1.7; ;定义开关LED的数据,假定LED正极一端接电源,另一端通过限流电阻接I/O端口: DATA_CloseLED EQU 11111111B;DATA_OpenLED EQU 00000000B;ORG 0000HAJMP MAINORG 0030H;-----------------------;延时0.5秒程序(注:此延时函数摘自STC-ISP)DELAY500MS:;@12.000MHzPUSH 30HPUSH 31HPUSH 32HMOV 30H,#4MOV 31H,#205MOV 32H,#180NEXT:DJNZ 32H,NEXTDJNZ 31H,NEXTDJNZ 30H,NEXTPOP 32HPOP 31HPOP 30HRET;-----------------------;下面是主程序MAIN:MOV IO_LED,#DATA_CloseLED;同时关闭8个LEDLCALLDELAY500MS;延时0.5秒MOV IO_LED,#DATA_OpenLED;同时打开8个LEDLCALLDELAY500MS;延时0.5秒LJMP MAIN;循环END;上面程序演示了8个LED间隔0.5秒同时亮和灭的变化。51单片机用汇编语言实现八个LED的全亮全灭
关于单片机控制led灯亮灭汇编语音和单片机控制led灯点亮汇编的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~