久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

簡單交通燈的程序,求大佬幫助

[復制鏈接]
跳轉到指定樓層
樓主
求大佬指點

J9E8]F{`RMGF78)QKI2@SOA.png (74.68 KB, 下載次數: 59)

J9E8]F{`RMGF78)QKI2@SOA.png

WSW[4PWKN(MH`(00[YBM@4Y.png (53.46 KB, 下載次數: 58)

WSW[4PWKN(MH`(00[YBM@4Y.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:415846 發表于 2018-10-26 15:31 | 只看該作者
interrupt關鍵詞寫錯
回復

使用道具 舉報

板凳
ID:406596 發表于 2018-10-26 15:38 | 只看該作者
你這個查起來很麻煩,首先你先看下你的變量定義有沒有漏,再看你的函數有沒有聲明,還有就是標點有沒有錯。最后說一點,這種查錯的,就算有人幫你查,你這個程序只發這一點,別人也幫你查不了。
回復

使用道具 舉報

地板
ID:415866 發表于 2018-10-26 16:11 | 只看該作者
回復加黑幣嗎
回復

使用道具 舉報

5#
ID:330198 發表于 2018-10-26 16:45 | 只看該作者
你interrupt拼寫錯誤
回復

使用道具 舉報

6#
ID:415890 發表于 2018-10-26 17:23 | 只看該作者
#include <reg52.h>

sbit LED_R1=P0^0;
sbit LED_Y1=P0^1; //橫向路燈
sbit LED_G1=P0^2;

sbit LED_R2=P0^3;
sbit LED_Y2=P0^4;//縱向路燈
sbit LED_G2=P0^5;

void delayms(unsigned int t);

void delay(unsigned char t);

void main()
{
while(1)
{
  unsigned char i;
  LED_G1=0;
  LED_R2=0;

  LED_Y1=1;
  LED_R1=1;

  LED_Y2=1;
  LED_G2=1;

  delayms(500);

  LED_R2=0;

  LED_G1=1;
  LED_Y2=1;
  LED_G2=1;

  for(i=0;i<8;i++)
  {
   delayms(150);
   LED_Y1=!LED_Y1;
  }

  LED_G2=0;
  LED_R1=0;

  LED_Y1=1;
  LED_R2=1;

  LED_Y2=1;
  LED_G1=1;

  delayms(500);

  LED_R1=0;
  LED_Y1=1;
  LED_G1=1;

  LED_R2=1;
  LED_G2=1;
  
  for(i=0;i<8;i++)
  {
   delayms(150);
   LED_Y2=!LED_Y2;
  }


}



}

void delay(unsigned char t)
{
while(t--);
}

void delayms(unsigned int t)
{
while(t--)
{
  delay(245);
  delay(245);
}
}
回復

使用道具 舉報

7#
ID:415890 發表于 2018-10-26 17:24 | 只看該作者
不知道能不能幫到你
回復

使用道具 舉報

8#
ID:415890 發表于 2018-10-26 17:25 | 只看該作者
是51的
回復

使用道具 舉報

9#
ID:415890 發表于 2018-10-26 17:32 | 只看該作者
  1. /*****************************************************
  2.        十字路口交通燈控制 C 程序

  3. ******************************************************/

  4. #define        uchar        unsigned char
  5. #define        uint        unsigned int
  6. #include        <reg52.h>
  7. /*****定義控制位**********************/
  8. sbit    Time_Show_LED2=P2^5;//Time_Show_LED2控制位
  9. sbit    Time_Show_LED1=P2^4;//Time_Show_LED1控制位
  10. sbit        EW_LED2=P2^3;        //EW_LED2控制位
  11. sbit        EW_LED1=P2^2;        //EW_LED1控制位
  12. sbit        SN_LED2=P2^1;        //SN_LED2控制位
  13. sbit        SN_LED1=P2^0;        //SN_LED1控制位
  14. sbit    SN_Yellow=P1^6;//SN黃燈
  15. sbit    EW_Yellow=P1^2;//EW黃燈
  16. sbit    EW_Red=P1^3;//EW紅燈
  17. sbit    SN_Red=P1^7;//SN紅燈
  18. sbit    EW_ManGreen=P3^0;//EW人行道綠燈
  19. sbit    SN_ManGreen=P3^1;//SN人行道綠燈
  20. sbit    Special_LED=P2^6;//交通正常指示燈
  21. sbit    Busy_LED=P2^7;//交通繁忙指示燈
  22. sbit    Nomor_Button=P3^5;//交通正常按鍵
  23. sbit    Busy_Btton=P3^6;//交通繁忙按鍵
  24. sbit    Special_Btton=P3^7;//交通特殊按鍵  
  25. sbit    Add_Button=P3^3;//時間加
  26. sbit    Reduces_Button=P3^4;//時間減
  27. bit     Flag_SN_Yellow; //SN黃燈標志位
  28. bit     Flag_EW_Yellow;//EW黃燈標志位
  29. char        Time_EW;//東西方向倒計時單元
  30. char        Time_SN;//南北方向倒計時單元
  31. uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化賦值,正常模式
  32. uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的變量
  33. uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//1~~~~9段選碼
  34. uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};//交通信號燈控制代碼
  35. /**********************延時子程序************************/
  36. void        Delay(uchar         a)
  37.         {
  38.                 uchar        i;
  39.                 i=a;
  40.                 while(i--){;}
  41.         }
  42. /*****************顯示子函數**************************/
  43. void        Display(void)
  44.         {
  45.                 char h,l;
  46.                 h=Time_EW/10;
  47.                 l=Time_EW%10;
  48.               P0=table[l];
  49.                 EW_LED2=1;
  50.                 Delay(2);
  51.                 EW_LED2=0;
  52.             P0=table[h];
  53.                 EW_LED1=1;
  54.                 Delay(2);
  55.                 EW_LED1=0;

  56.                 h=Time_SN/10;
  57.                 l=Time_SN%10;
  58.                 P0=table[l];
  59.                 SN_LED2=1;
  60.                 Delay(2);
  61.                 SN_LED2=0;
  62.             P0=table[h];
  63.                 SN_LED1=1;
  64.                 Delay(2);
  65.                 SN_LED1=0;
  66.                

  67.                 h= EW1/10;
  68.                 l= EW1%10;
  69.                 P0=table[l];
  70.                 Time_Show_LED1=1;
  71.                 Delay(2);
  72.         Time_Show_LED1=0;
  73.                 P0=table[h];
  74.                 Time_Show_LED2=1;
  75.                 Delay(2);
  76.             Time_Show_LED2=0;
  77. }
  78. /**********************外部0中斷服務程序************************/

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

  82. if(Add_Button==0) //時間加
  83.        {
  84.             EW1+=5;
  85.             SN1+=5;
  86.               if(EW1>=100)
  87.                            {
  88.                              EW1=99;
  89.                              SN1=79;
  90.                }
  91.             }
  92. if(Reduces_Button==0) //時間減
  93.        {
  94.             EW1-=5;
  95.             SN1-=5;
  96.             if(EW1<=40)
  97.               {
  98.                              EW1=40;
  99.                  SN1=20;
  100.                }
  101.                                
  102.                     }

  103. if(Nomor_Button==0)//測試按鍵是否按下,按下為正常狀態
  104.         {
  105.             EW1=60;
  106.             SN1=40;
  107.                         EWL1=19;
  108.                         SNL1=19;
  109.                         Busy_LED=0;//關繁忙信號燈
  110.                         Special_LED =0;//關特殊信號燈
  111.             }
  112. if(Busy_Btton==0) //測試按鍵是否按下,按下為繁忙狀態
  113.         {
  114.                     EW1=45;
  115.             SN1=30;
  116.                         EWL1=14;
  117.                         SNL1=14;
  118.                         Special_LED=0;//關特殊信號燈
  119.                         Busy_LED=1;//開繁忙信號燈
  120.                
  121.         }
  122. if(Special_Btton==0)//測試按鍵是否按下,按下為特殊狀態
  123.         {
  124.                     EW1=75;
  125.             SN1=55;
  126.                         EWL1=19;
  127.                         SNL1=19;
  128.                         Busy_LED=0;//關繁忙信號燈
  129.                     Special_LED =1;//開特殊信號燈
  130.                   
  131.             }                                       
  132.                 EX0=1;//開中斷
  133.         }
  134. /**********************T0中斷服務程序*******************/
  135.         void timer0(void)interrupt 1 using 1
  136. {
  137.         static uchar count;
  138.         TH0=(65536-50000)/256;
  139.         TL0=(65536-50000)%256;
  140.         count++;
  141.        
  142.         if(count==10)
  143.         {
  144.           if(Flag_SN_Yellow==1) //測試南北黃燈標志位
  145.           {SN_Yellow=~SN_Yellow;}
  146.           if(Flag_EW_Yellow==1)  //測試東西黃燈標志位
  147.           {EW_Yellow=~EW_Yellow;}
  148.         }
  149.         if(count==20)
  150.         {
  151.         Time_EW--;
  152.         Time_SN--;
  153.         if(Flag_SN_Yellow==1)//測試南北黃燈標志位
  154.             {SN_Yellow=~SN_Yellow;}
  155.         if(Flag_EW_Yellow==1)//測試東西黃燈標志位
  156.             {EW_Yellow=~EW_Yellow;}
  157.         count=0;
  158.         }
  159.        
  160. }
  161. /*********************主程序開始**********************/
  162. void        main(void)

  163. {
  164.         Busy_LED=0;
  165.         Special_LED=0;
  166.         IT0=1;        //INT0負跳變觸發       
  167.     TMOD=0x01;//定時器工作于方式1
  168.         TH0=(65536-50000)/256;//定時器賦初值
  169.         TL0=(65536-50000)%256;
  170.         EA=1; //CPU開中斷總允許
  171.         ET0=1;//開定時中斷
  172.         EX0=1;//開外部INTO中斷
  173.     TR0=1;//啟動定時

  174.      while(1)

  175. {                                /*******S0狀態**********/
  176.                                 EW_ManGreen=0;        //EW人行道禁止
  177.                     SN_ManGreen=1;//SN人行道通行
  178.                 Flag_EW_Yellow=0;           //EW關黃燈顯示信號
  179.                                 Time_EW=EW;       
  180.                                 Time_SN=SN;               
  181.                                 while(Time_SN>=5)
  182.                             {P1=S[0];         //SN通行,EW紅燈
  183.                          Display();}
  184.                                 /*******S1狀態**********/
  185.                             P1=0x00;
  186.                                 while(Time_SN>=0)
  187.                            {Flag_SN_Yellow=1;         //SN開黃燈信號位
  188.                             EW_Red=1;      //SN黃燈亮,等待左拐信號,EW紅燈
  189.                          
  190.                              Display();
  191.                                 }
  192.                                 /*******S2狀態**********/
  193.                             Flag_SN_Yellow=0; //SN關黃燈顯示信號
  194.                                 Time_SN=SNL;
  195.                                 while(Time_SN>=5)
  196.                                 {P1=S[2];//SN左拐綠燈亮,EW紅燈
  197.                                  Display();}

  198.                           /*******S3狀態**********/
  199.                                 P1=0x00;
  200.                                 while(Time_SN>=0)
  201.                            {Flag_SN_Yellow=1;        //SN開黃燈信號位
  202.                             EW_Red=1;      //SN黃燈亮,等待停止信號,EW紅燈
  203.                                   
  204.                             Display();}


  205.                            /***********賦值**********/
  206.                                 EW=EW1;
  207.                                 SN=SN1;
  208.                                 EWL=EWL1;
  209.                                 SNL=SNL1;


  210.                                 /*******S4狀態**********/
  211.                                 EW_ManGreen=~EW_ManGreen;//EW人行道通行
  212.                     SN_ManGreen=~SN_ManGreen;//SN人行道禁止
  213.                                 Flag_SN_Yellow=0;  //SN關黃燈顯示信號
  214.                                 Time_EW=SN;
  215.                                 Time_SN=EW;
  216.                             while(Time_EW>=5)
  217.                             {P1=S[4];         //EW通行,SN紅燈
  218.                                  Display();}
  219.                                 /*******S5狀態**********/
  220.                                 P1=0X00;
  221.                                 while(Time_EW>=0)
  222.                            {Flag_EW_Yellow=1;//EW開黃燈信號位
  223.                             SN_Red=1;//EW黃燈亮,等待左拐信號,SN紅燈       
  224.                             Display();}
  225.                                 /*******S6狀態**********/
  226.                                 Flag_EW_Yellow=0;            //EW關黃燈顯示信號
  227.                                 Time_EW=EWL;
  228.                                 while(Time_EW>=5)
  229.                                 {P1=S[6];//EW左拐綠燈亮,SN紅燈
  230.                                  Display();}

  231.                                 /*******S7狀態**********/
  232.                                 P1=0X00;
  233.                                 while(Time_EW>=0)
  234.                            {Flag_EW_Yellow=1; //EN開黃燈信號位
  235.                             SN_Red=1;//EW黃燈亮,等待停止信號,SN紅燈       
  236.                             Display();}
  237.                        
  238.                                     /***********賦值**********/
  239.                             EW=EW1;
  240.                                 SN=SN1;
  241.                                 EWL=EWL1;
  242.                                 SNL=SNL1;
  243.                         }

  244.         }
復制代碼
回復

使用道具 舉報

10#
ID:415837 發表于 2018-10-31 12:11 | 只看該作者
13522424188 發表于 2018-10-26 17:23
#include

sbit LED_R1=P0^0;

謝謝,多謝大佬
回復

使用道具 舉報

11#
ID:415837 發表于 2018-10-31 12:11 | 只看該作者
guibaishu 發表于 2018-10-26 15:31
interrupt關鍵詞寫錯

謝謝,謝謝,背后發現了
回復

使用道具 舉報

12#
ID:418452 發表于 2018-10-31 12:29 | 只看該作者

#include <reg52.h>

sbit LED_R1=P0^0;
sbit LED_Y1=P0^1; //橫向路燈
sbit LED_G1=P0^2;

sbit LED_R2=P0^3;
sbit LED_Y2=P0^4;//縱向路燈
sbit LED_G2=P0^5;

void delayms(unsigned int t);

void delay(unsigned char t);

void main()
{
while(1)
{
  unsigned char i;
  LED_G1=0;
  LED_R2=0;

  LED_Y1=1;
  LED_R1=1;

  LED_Y2=1;
  LED_G2=1;

  delayms(500);

  LED_R2=0;

  LED_G1=1;
  LED_Y2=1;
  LED_G2=1;

  for(i=0;i<8;i++)
  {
   delayms(150);
   LED_Y1=!LED_Y1;
  }

  LED_G2=0;
  LED_R1=0;

  LED_Y1=1;
  LED_R2=1;

  LED_Y2=1;
  LED_G1=1;

  delayms(500);

  LED_R1=0;
  LED_Y1=1;
  LED_G1=1;

  LED_R2=1;
  LED_G2=1;
  
  for(i=0;i<8;i++)
  {
   delayms(150);
   LED_Y2=!LED_Y2;
  }


}



}

void delay(unsigned char t)
{
while(t--);
}

void delayms(unsigned int t)
{
while(t--)
{
  delay(245);
  delay(245);
}
}
回復

使用道具 舉報

13#
ID:410571 發表于 2018-10-31 17:12 | 只看該作者
#include <reg52.h>

sbit LED_R1=P0^0;
sbit LED_Y1=P0^1; //橫向路燈
sbit LED_G1=P0^2;

sbit LED_R2=P0^3;
sbit LED_Y2=P0^4;//縱向路燈
sbit LED_G2=P0^5;

void delayms(unsigned int t);

void delay(unsigned char t);

void main()
{
while(1)
{
  unsigned char i;
  LED_G1=0;
  LED_R2=0;

  LED_Y1=1;
  LED_R1=1;

  LED_Y2=1;
  LED_G2=1;

  delayms(500);

  LED_R2=0;

  LED_G1=1;
  LED_Y2=1;
  LED_G2=1;

  for(i=0;i<8;i++)
  {
   delayms(150);
   LED_Y1=!LED_Y1;
  }

  LED_G2=0;
  LED_R1=0;

  LED_Y1=1;
  LED_R2=1;

  LED_Y2=1;
  LED_G1=1;

  delayms(500);

  LED_R1=0;
  LED_Y1=1;
  LED_G1=1;

  LED_R2=1;
  LED_G2=1;
  
  for(i=0;i<8;i++)
  {
   delayms(150);
   LED_Y2=!LED_Y2;
  }


}



}

void delay(unsigned char t)
{
while(t--);
}

void delayms(unsigned int t)
{
while(t--)
{
  delay(245);
  delay(245);
}
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级免费a| 一区免费看| 日本在线网址 | 日韩午夜场 | 美国黄色一级片 | 日韩精品一区二区三区在线观看 | 久久伊人一区二区 | aaa在线观看| 免费看欧美一级片 | 99精品久久久久 | 日韩中文字幕在线观看 | 国产午夜精品一区二区三区嫩草 | 久久av一区二区三区 | 国产免费观看一级国产 | 中文字幕在线视频网站 | 精品国产乱码久久久久久蜜柚 | 中文字幕亚洲国产 | 久久乐国产精品 | 成人免费一区二区三区视频网站 | 蜜桃av一区二区三区 | 日韩无 | 精品国产1区2区3区 一区二区手机在线 | 国产精品久久久久久妇女6080 | 日韩国产精品一区二区三区 | 午夜影院在线观看 | 一区二区三区国产精品 | 亚洲国产精品久久久久婷婷老年 | 亚洲成人一级片 | 久草青青草 | 日本一二三区在线观看 | 亚洲视频精品在线 | 在线观看你懂的网站 | 日韩精品在线观看视频 | 成人免费大片黄在线播放 | 自拍偷拍av | 天天av网| 日韩不卡在线 | 亚洲成人av | 91最新在线视频 | 青草福利 | 三级黄视频在线观看 |