找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14136|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

[求助]大俠們,誰幫我寫一個(gè)按一下LED燈就亮了,5秒鐘后停止的程序呀.

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:2283 發(fā)表于 2008-5-23 11:16 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
[求助]大俠們,誰幫我寫一個(gè)按一下P1.0 LED燈就亮了,5秒鐘后停止,再等10秒鐘后P1.1燈又亮的程序呀.xiangtianpin@163.com
[此貼子已經(jīng)被作者于2008-5-23 11:19:56編輯過]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:262 發(fā)表于 2008-5-23 13:44 | 只看該作者

setb p1^0

 

pUSH   04H                
        PUSH   05H            
        PUSH   06H                
        MOV    R4,#50             
DELAY5S_0:MOV  R5,#200                              
DELAY5S_1:MOV  R6,#245                              
        DJNZ   R6,$                         
        DJNZ   R5,DELAY5S_1
        DJNZ   R4,DELAY5S_0                         
        POP    06H                  
        POP    05H                  
        POP    04H                   
     

 

 

clr  p1^0

 

pUSH   04H                
        PUSH   05H            
        PUSH   06H                
        MOV    R4,#50             
DELAY5S_0:MOV  R5,#200                              
DELAY5S_1:MOV  R6,#245                              
        DJNZ   R6,$                         
        DJNZ   R5,DELAY5S_1
        DJNZ   R4,DELAY5S_0                         
        POP    06H                  
        POP    05H                  
        POP    04H                   
     

pUSH   04H                
        PUSH   05H            
        PUSH   06H                
        MOV    R4,#50             
DELAY5S_0:MOV  R5,#200                              
DELAY5S_1:MOV  R6,#245                              
        DJNZ   R6,$                         
        DJNZ   R5,DELAY5S_1
        DJNZ   R4,DELAY5S_0                         
        POP    06H                  
        POP    05H                  
        POP    04H                   
     

回復(fù)

使用道具 舉報(bào)

板凳
ID:1671 發(fā)表于 2008-5-24 22:21 | 只看該作者

ORG 0000H
LJMP MAIN
ORG 000B         ;定時(shí)器T0中斷程序入口地址
LJMP IST0
ORG 0030H
MAIN: JNB P3.0 NEXT    ;P3.0接開關(guān)
         LJMP MAIN
NEXT:CLR P1.0
         MOV 30H,#00H    ;用軟件計(jì)數(shù)器
         MOV 31H,#00H
         MOV TMOD,#01H    ;用定時(shí)器T0,并設(shè)置在方式1,在定時(shí)狀態(tài)。
         MOV TH0,#3CH     ;設(shè)置初值15536,讓定時(shí)器定時(shí)50000us。
         MOV TL0,#B0H
         SETB ET0        ;打開T0中斷。     
         SETB EA         ;打開中斷總開關(guān)。
        MOV TCON,#10H(或者:SETB TR0)     ;開啟定時(shí)。
LJMP $
IST0:PUSH ACC           ;中斷服務(wù)子程序。
         PUSH PSW
         INC 30H
         INC 31H
         MOV A,30H
         CJNE A,#100,NEXT1   ;讓其定時(shí)50000us X 100=5s。
          SETB P1.0            5s后P1.0滅。
          MOV 30H,#00H        
        MOV TH0,#3CH       ;重裝初值,需要繼續(xù)引起中斷。
         MOV TL0,#B0H
NEXT1:MOV A,31H               ;繼續(xù)定時(shí)。
      CJNE A,#200,LOOP1 ;定時(shí)10s后,P1.1亮。   
      CLR P1.1
      MOV 31H,#00H              
LOOP1:MOV TH0,#3CH       重裝初值。。
      MOV TL0,#B0H
       POP PSW
       POP  ACC
         RETI          中斷返回
        END
說明:此程序未在實(shí)驗(yàn)板上驗(yàn)證過,只提供一種思路。。。

 


       

回復(fù)

使用道具 舉報(bào)

地板
ID:3237 發(fā)表于 2008-7-11 19:57 | 只看該作者
怎么沒有用C寫的?用C寫更加簡單~~
回復(fù)

使用道具 舉報(bào)

5#
ID:3271 發(fā)表于 2008-7-12 16:28 | 只看該作者

#include <reg51.h>
sbit   led = P1^1;
sbit   key = P1^0;
unsigned char x,y;
void delay(void)
{
unsigned char i,j,k;
for(..;...;..)
for(..;...;..)
for(..;...;..);
}                     //延時(shí)1秒;

void main(void)
{
if(key==0)
{

led=0;
for(x=5;x>0;x--)    //點(diǎn)亮5秒;
{
delay();
}

led=1;                    //熄滅10s;

for(x=10;x>0;x--)

{

delay();

}
led=0;

}

}


 

回復(fù)

使用道具 舉報(bào)

6#
ID:3271 發(fā)表于 2008-7-12 16:29 | 只看該作者
多定義了一個(gè)Y,抱歉
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表