找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2358|回復(fù): 6
收起左側(cè)

求助:一個(gè)小程序

[復(fù)制鏈接]
ID:65170 發(fā)表于 2014-8-19 08:32 | 顯示全部樓層 |閱讀模式
我是一個(gè)才入門一周的學(xué)員,現(xiàn)想用STC單片機(jī)控制2個(gè)LED燈,達(dá)到這樣的一個(gè)效果:單片機(jī)供電LED1點(diǎn)亮(點(diǎn)亮?xí)r間為5秒),5秒后熄滅,熄滅時(shí)間為2秒,2秒后接著LED2點(diǎn)亮,點(diǎn)亮?xí)r間為5秒,5秒后熄滅,熄滅時(shí)間2秒,2秒后LED1接著點(diǎn)亮循環(huán)下去。請求哪位師傅幫幫忙給我發(fā)一個(gè)程序,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:2318 發(fā)表于 2014-8-19 13:13 來自手機(jī) | 顯示全部樓層
你昨天不是提問,咨詢了一個(gè)類似的程序嗎?我看你今天問的這個(gè)程序和昨天那個(gè)非常相似
回復(fù)

使用道具 舉報(bào)

ID:2318 發(fā)表于 2014-8-19 13:13 來自手機(jī) | 顯示全部樓層
把那個(gè)程序稍微改動(dòng)一點(diǎn)點(diǎn)就能實(shí)現(xiàn)的
回復(fù)

使用道具 舉報(bào)

ID:63839 發(fā)表于 2014-8-19 17:39 | 顯示全部樓層
#include<stc12.h>                                 //頭文件
#define uint unsigned int                 //宏定義
#define uchar unsigned char                 //同上
sbit led1=P1^1;                                         //根據(jù)自己的實(shí)際修改I/O
sbit led2=P1^2;                                         //
void init();                                         //        中斷初始化函數(shù)
uchar num1,num2;                                 //       
void main()                                                 //        主函數(shù)
{                                                                 
        init();                                                 
        while(1)                                         
        {                                                                
                led1=0;                                         //        亮
                while(num1!=100);                 //        5秒
                num1=0;                                         //        歸零
                led1=1;                                         //        滅
                while(num1!=40);                 //        2秒
                num1=0;                                         //        歸零

                num2=0;
                led2=0;                                         //        同上
                while(num2!=100);                 //
                num2=0;                                         //
                led2=1;                                         //
                while(num2!=40);                 //
                num2=0;                                         //
        }
}
void init()                                                //
{
        TMOD=0x11;
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        EA=1;
        ET1=1;
        TR1=1;
}
void T1_time()interrupt 3                 //        50毫秒的
{
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        num1++;
        num2++;         
}
//我想要積分

評分

參與人數(shù) 2威望 +35 黑幣 +21 收起 理由
admin + 35 + 20
SHANGYU + 1 很給力!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:63839 發(fā)表于 2014-8-19 17:40 | 顯示全部樓層
經(jīng)測試ok
回復(fù)

使用道具 舉報(bào)

ID:19715 發(fā)表于 2014-8-19 18:42 | 顯示全部樓層
用witch()語句
#include<reg52.h>                                 //頭文件
#define uchar unsigned char                 //同上
sbit led1=P1^1;                                         //根據(jù)自己的實(shí)際修改I/O
sbit led2=P1^2;                                         //
void init();                                         //        中斷初始化函數(shù)
uchar num,sec;                                 //        
void main()                                                 //        主函數(shù)
{                                                                 
        init();                                                
        while(1)
                {
                        switch(sec)
                       {
                            case 0:         led1=0; led2=1;
                            break;
                                case 5:         led1=1; led2=1;
                                break;
                                case 5+2:        led1=1; led2=0;
                                break;
                                case 5+2+5:        led1=1; led2=1;
                                break;
                                case 5+2+5+2: sec=0;
                                break;
                                default:
                                break;
                                }         
                }                                         
}
void init()                                                //
{
        TMOD=0x11;
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        EA=1;
        ET1=1;
        TR1=1;
}
void T1_time()interrupt 3                 //        50毫秒的
{
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
                if(++num>=20)
                {
                 num=0;
                 sec++;
                }      
}

評分

參與人數(shù) 2威望 +20 黑幣 +21 收起 理由
admin + 20 + 20 很給力!
SHANGYU + 1 很給力!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:65170 發(fā)表于 2014-8-20 08:05 | 顯示全部樓層
非常感謝師傅們的幫助!我應(yīng)該好好認(rèn)真學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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