如何让51单片机在3秒内让灯闪3次然后停止,程序步最少的

如题所述

 

LED1               BIT            P1.7

                       ORG          0000H

                       LJMP         MAIN

                       ORG         0100H

MAIN:              MOV         R7,#3                ;设置控制小灯 闪亮的循环次数为3

 LL1:               CLR          LED1                 ;LED小灯 亮

                       LCALL      YS500MS           ;延时500毫秒

                       SETB        LED1                 ;LED小灯 灭

                       LCALL      YS500MS           ;延时500毫秒

                       DJNZ         R7, LL1             ;闪亮的循环次数减1,不为0,转LL1继续循环

 LLEDN:          SJMP        LLEDN               

 

YS500MS:       MOV         R6,#15       ;延时0.5秒子程序

YSLL1:           MOV          R5,#200

YSLL2:           DJNZ          R5, YSLL2

                       DJNZ         R6,  YSLL1

                       RET

            如果满意   请替俺选择:满意回答 

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-16
#include<reg51.h>
unsigned char num;
sbit led=P1^0;
void main()
{
TH0 =(65535-50000)/256;
TL0 =(65535-50000)%256;
TMOD=TMOD|0X10;//16位模式
TR0=1;//定时器0的启动控制位,1:启动定时器 0:停止定时器
ET0=1; //定时器0中断使能位
EA =1; //打开总中断
while(1);
}
void Timing_count0() interrupt 1
{
TH0 =(65535-50000)/256;
TL0 =(65535-50000)%256;
num++;
if(num>=60)
{num=0;led=!led;}
}本回答被网友采纳
第2个回答  2012-07-30
定时器 3秒后 关定时器
第3个回答  2012-07-28
用定时器写···