找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求大佬們給一個簡單的80c51交通燈的代碼(單行道的就行)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:254795 發(fā)表于 2017-11-28 17:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
江湖救急,謝謝大佬們
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:162360 發(fā)表于 2017-11-28 19:04 | 只看該作者
/*
*Ä£Äa½»í¨μÆ*
*/
#include <reg51.h>
typedef unsigned char uint8;
typedef unsigned int uint16;

void delay(uint16 x)
{
        uint16 i,j;
        for(i = x; i > 0; i --)
                for(j = 114; j > 0; j --);               
}

#define    RED_EW_ON()        P0 &= ~0x01                        //¶«Î÷·½ÏòÖ¸ê¾μÆ¿a
#define YELLOW_EW_ON()        P0 &= ~0x02
#define  GREEN_EW_ON()        P0 &= ~0x04

#define    RED_EW_OFF()        P0 |=  0x01                        //¶«Î÷·½ÏòÖ¸ê¾μÆ1Ø
#define YELLOW_EW_OFF()        P0 |=  0x02
#define  GREEN_EW_OFF()        P0 |=  0x04

#define  RED_SN_ON()        P0 &= ~0x08                        //Äϱ±·½ÏòÖ¸ê¾μÆ¿a  0000100 1111011
#define YELLOW_SN_ON()        P0 &= ~0x10
#define GREEN_SN_ON()        P0 &= ~0x20

#define  RED_SN_OFF()        P0 |=  0x08                        //Äϱ±·½ÏòÖ¸ê¾μÆ1Ø
#define YELLOW_SN_OFF()        P0 |=  0x10
#define GREEN_SN_OFF()        P0 |=  0x20               

#define YELLOW_EW_BLINK() P0 ^= 0x02                        //¶«Î÷·½Ïò»ÆμÆéá˸
#define YELLOW_SN_BLINK() P0 ^= 0x10                        //Äϱ±·½Ïò»ÆμÆéá˸

uint8 Flash_Count = 0, Operation_Type = 1;                        //éá˸′Îêy£¬2ù×÷ààDí±äá¿

void Traffic_Light()                                                                //½»í¨μÆÇD»»×ó3ìDò
{
        switch (Operation_Type)
        {
                case 1://¶«Î÷·½ÏòÂìμÆóëÄϱ±·½ÏòoìμÆáá
                                RED_EW_OFF(); YELLOW_EW_OFF(); GREEN_EW_ON();
                            RED_SN_ON(); YELLOW_SN_OFF(); GREEN_SN_OFF();
                                delay(2000);                                                                //Ñóê±
                                Operation_Type = 2;                                                        //ÏÂò»¸ö2ù×÷
                                break;

                case 2://¶«Î÷·½Ïò»ÆμÆ¿aê¼éá˸£¬ÂìμÆ1رÕ
                                delay(120);
                                YELLOW_EW_BLINK();
                                GREEN_EW_OFF();
                                //éá˸5′Î
                                if( ++Flash_Count != 10) return;
                                Flash_Count = 0;
                                Operation_Type = 3;                                                        //ÏÂò»¸ö2ù×÷
                                break;

                case 3://¶«Î÷·½ÏòoìμÆóëÄϱ±·½ÏòÂìμÆáá
                                RED_EW_ON();  YELLOW_EW_OFF(); GREEN_EW_OFF();
                                RED_SN_OFF(); YELLOW_SN_OFF(); GREEN_SN_ON();
                           //Äϱ±·½ÏòÂìμÆááèô¸éÃëoóÇD»»
                           delay(2000);
                           Operation_Type = 4;                                                        //ÏÂò»¸ö2ù×÷
                           break;

                case 4://Äϱ±·½ÏòoìμÆ¿aê¼éá˸
                           delay(120);
                           YELLOW_SN_BLINK();
                           GREEN_SN_OFF();
                           //éá˸5′Î
                           if( ++ Flash_Count != 10) return;
                           Flash_Count = 0;
                           Operation_Type = 1;                                                        //»Øμ½μúò»ÖÖ2ù×÷
        }                  
}

//Ö÷3ìDò
int main()
{
        while(1) Traffic_Light();
}
回復(fù)

使用道具 舉報

板凳
ID:254795 發(fā)表于 2017-11-29 13:33 | 只看該作者

有不用c語言的不,就像這種的 ,急用 ,謝謝大佬ORG 0000H
AJMP MAIN
ORG 0023H
AJMP A1
ORG 0030H
MAIN: MOV SCON,#40H
MOV TMOD,#20H
MOV TH1,#0EEH
MOV TL1,#0EEH
SETB TR1
MOV PCON,#00H

SETB ES
SETB EA
MOV A,#00001111B
d1:
MOV SBUF,A
MOV P1,A


LJMP $

A1:
PUSH ACC
PUSH PSW
CLR TI
MOV SBUF,A
LCALL DE

POP PSW
POP ACC
RETI

DE:
MOV R4,#0FFH
AA1:MOV R5,#0FFH
AA:NOP
NOP
DJNZ R5,AA
DJNZ R4,AA1
RET
END
回復(fù)

使用道具 舉報

地板
ID:254795 發(fā)表于 2017-11-29 13:35 | 只看該作者
匯編語言的有嘛?
回復(fù)

使用道具 舉報

5#
ID:107559 發(fā)表于 2017-11-29 22:30 | 只看該作者
你可以先把上述程序變異,然后通過OD反匯編就好。不過庫貌似不通用。
回復(fù)

使用道具 舉報

6#
ID:254795 發(fā)表于 2018-1-6 08:46 | 只看該作者
jblbin2008 發(fā)表于 2017-11-29 22:30
你可以先把上述程序變異,然后通過OD反匯編就好。不過庫貌似不通用。

能幫我編一下嘛,真的急用 ,謝謝
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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