找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)LED模擬交通燈Proteus仿真代碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit RED_A=P0^0;
  5. sbit YELLOW_A=P0^1;
  6. sbit GREEN_A=P0^2;
  7. sbit RED_B=P0^3;
  8. sbit YELLOW_B=P0^4;
  9. sbit GREEN_B=P0^5;

  10. uchar Flash_Count = 0;
  11. Operation_Type = 1;

  12. void DelayMS(uint x)
  13. {
  14.         uchar t;
  15.         while(x--)
  16.         {
  17.                  for(t=120;t>0;t--);
  18.         }
  19. }

  20. void Traffic_lignt()
  21. {
  22.         switch(Operation_Type)
  23.         {
  24.                  case 1:
  25.                         RED_A=1;YELLOW_A=1;GREEN_A=0;
  26.                         RED_B=0;YELLOW_B=1;GREEN_B=1;
  27.                         DelayMS(2000);
  28.                         Operation_Type = 2;
  29.                         break;
  30.                 case 2:
  31.                         DelayMS(200);
  32.                         YELLOW_A=~YELLOW_A;
  33.                         if(++Flash_Count !=10)
  34.                                 return;
  35.                         Flash_Count=0;
  36.                         Operation_Type = 3;
  37.                         break;
  38.                 case 3:
  39.                         RED_A=0;YELLOW_A=1;GREEN_A=1;
  40.                         RED_B=1;YELLOW_B=1;GREEN_B=0;
  41.                         DelayMS(2000);
  42.                         Operation_Type = 4;
  43.                         break;      
  44.                 case 4:
  45.                         DelayMS(200);
  46.                         YELLOW_B=~YELLOW_B;
  47.                         if(++Flash_Count !=10)
  48.                                 return;
  49.                         Flash_Count=0;
  50.                         Operation_Type = 1;
  51.                         break;      
  52.         }
  53. }

  54. void main()
  55. {
  56.         while(1)
  57.         {
  58.                  Traffic_lignt();      
  59.         }
  60. }
復(fù)制代碼

Keil代碼與Proteus仿真下載: LED模擬交通燈.7z (44.43 KB, 下載次數(shù): 62)

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1086350 發(fā)表于 2023-7-1 10:51 | 只看該作者
請(qǐng)問(wèn)這個(gè)需要分時(shí)控制嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:1083556 發(fā)表于 2023-7-23 12:12 | 只看該作者
非常感謝,很需要這方面的資料,,,,
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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