欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2225|回復: 0
打印 上一主題 下一主題
收起左側

基于51單片機的簡單交通燈設計

[復制鏈接]
跳轉到指定樓層
樓主
交通燈.rar (119.99 KB, 下載次數: 9)




部分程序  詳見附件
#define        uchar        unsigned char
#define        uint        unsigned int
#include        <reg52.h>
/*****定義控制位**********************/
sbit    Time_Show_LED2=P2^5;//Time_Show_LED2控制位
sbit    Time_Show_LED1=P2^4;//Time_Show_LED1控制位
sbit        EW_LED2=P2^3;        //EW_LED2控制位
sbit        EW_LED1=P2^2;        //EW_LED1控制位
sbit        SN_LED2=P2^1;        //SN_LED2控制位
sbit        SN_LED1=P2^0;        //SN_LED1控制位
sbit    SN_Yellow=P1^6;//SN黃燈
sbit    EW_Yellow=P1^2;//EW黃燈
sbit    EW_Red=P1^3;//EW紅燈
sbit    SN_Red=P1^7;//SN紅燈
sbit    EW_ManGreen=P3^0;//EW人行道綠燈
sbit    SN_ManGreen=P3^1;//SN人行道綠燈
sbit    Special_LED=P2^6;//交通正常指示燈
sbit    Busy_LED=P2^7;//交通繁忙指示燈
sbit    Nomor_Button=P3^5;//交通正常按鍵
sbit    Busy_Btton=P3^6;//交通繁忙按鍵
sbit    Special_Btton=P3^7;//交通特殊按鍵  
sbit    Add_Button=P3^3;//時間加
sbit    Reduces_Button=P3^4;//時間減
bit     Flag_SN_Yellow; //SN黃燈標志位
bit     Flag_EW_Yellow;//EW黃燈標志位
char        Time_EW;//東西方向倒計時單元
char        Time_SN;//南北方向倒計時單元
uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化賦值,正常模式
uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的變量
uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//1~~~~9段選碼
uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};//交通信號燈控制代碼
/**********************延時子程序************************/
void        Delay(uchar         a)
        {
                uchar        i;
                i=a;
                while(i--){;}
        }
/*****************顯示子函數**************************/
void        Display(void)
        {
                char h,l;
                h=Time_EW/10;
                l=Time_EW%10;
              P0=table[l];
                EW_LED2=1;
                Delay(2);
                EW_LED2=0;
            P0=table[h];
                EW_LED1=1;
                Delay(2);
                EW_LED1=0;

                h=Time_SN/10;
                l=Time_SN%10;
                P0=table[l];
                SN_LED2=1;
                Delay(2);
                SN_LED2=0;
            P0=table[h];
                SN_LED1=1;
                Delay(2);
                SN_LED1=0;
               

                h= EW1/10;
                l= EW1%10;
                P0=table[l];
                Time_Show_LED1=1;
                Delay(2);
        Time_Show_LED1=0;
                P0=table[h];
                Time_Show_LED2=1;
                Delay(2);
            Time_Show_LED2=0;
}
/**********************外部0中斷服務程序************************/

void        EXINT0(void)interrupt 0 using 1
        {
                EX0=0; //關中斷

if(Add_Button==0) //時間加
       {
            EW1+=5;
            SN1+=5;
              if(EW1>=100)
                           {
                             EW1=99;
                             SN1=79;
               }
            }
if(Reduces_Button==0) //時間減
       {

圖.png (147.14 KB, 下載次數: 93)

圖.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表