標(biāo)題: 智能交通燈控制系統(tǒng)單片機(jī)課程設(shè)計(jì)報(bào)告 [打印本頁]

作者: arcHuo    時(shí)間: 2018-11-19 16:28
標(biāo)題: 智能交通燈控制系統(tǒng)單片機(jī)課程設(shè)計(jì)報(bào)告
題目:智能交通燈控制系統(tǒng)設(shè)計(jì)     

摘要:交通燈在我們?nèi)粘I钪须S處可見,它在交通系統(tǒng)中處于至關(guān)重要的位置。交通燈的使用大大減少了交通繁忙路口的事故發(fā)生,給行人和車輛提供一個(gè)安全的交通環(huán)境,人們的生命和財(cái)產(chǎn)安全有了保障。本設(shè)計(jì)旨在模擬十字路口的交通燈,以AT89C52單片機(jī)為基礎(chǔ),結(jié)合按鍵和數(shù)碼管等元器件設(shè)計(jì)出一個(gè)簡單且完全的交通燈系統(tǒng)。

目錄
一、課程設(shè)計(jì)任務(wù)
1、設(shè)計(jì)目的
2、設(shè)計(jì)要求
二、設(shè)計(jì)總體方案
1、主要器件介紹
    1.1 AT89C52單片機(jī)              2
    1.2兩位共陰極數(shù)碼顯示管              3
    1.3紅綠燈              3
2、流程圖              4
3、硬件電路設(shè)計(jì)              4
3.1時(shí)鐘模塊              5
3.2開關(guān)控制模塊              5
3.3顯示輸出模塊              6
3.4蜂鳴器模塊              6
3.5復(fù)位電路模塊              7
三、模擬仿真結(jié)果              7
四、心得體會(huì)              10
參考文獻(xiàn)              11
附件1 源程序代碼              12
附件2 原理圖              22

一、課程設(shè)計(jì)任務(wù)1、設(shè)計(jì)目的

隨著經(jīng)濟(jì)的發(fā)展,城市現(xiàn)代化程度不斷提高,交通需求和交通量迅速增長,城市交通網(wǎng)絡(luò)中交通擁擠日益嚴(yán)重,道路運(yùn)輸所帶來的交通擁堵、交通事故和環(huán)境污染等負(fù)面效應(yīng)也日益突出,逐步成為經(jīng)濟(jì)和社會(huì)發(fā)展中的全球性公共問題。因此,研究基于智能集成的城市交通信號(hào)控制系統(tǒng)具有相當(dāng)?shù)膶W(xué)術(shù)價(jià)值和使用價(jià)值,使交通燈具有智能化的控制,未來的城市交通控制系統(tǒng)才能適應(yīng)城市交通的發(fā)展。

本次設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡易智能交通燈控制系統(tǒng),其核心思想就是根據(jù)兩個(gè)交叉方向的車流量、天氣狀況、是否是上下班高峰期等因素,能實(shí)現(xiàn)不同的紅綠燈切換時(shí)間,并且具有倒計(jì)時(shí)的功能。本次的課程設(shè)計(jì),是基于89C51單片機(jī)結(jié)合按鍵,數(shù)碼管,二極管采用C語言作為編程語言設(shè)計(jì)的一個(gè)簡易的交通燈控制系統(tǒng),具有紅綠燈計(jì)時(shí),緊急車強(qiáng)制通過,自定義時(shí)間,黃燈閃爍,聲音提示等功能。

2、設(shè)計(jì)要求

(1)設(shè)計(jì)一個(gè)十字路口的交通燈控制電路,要求南北方向和東西方向兩條交叉道路上的車輛交替運(yùn)行,每次通行時(shí)間都設(shè)30秒,時(shí)間可設(shè)置修改。

(2)在綠燈轉(zhuǎn)為紅燈時(shí),要求黃燈先亮5秒鐘,才能變換運(yùn)行車道,且黃燈亮?xí)r,要求每秒亮一次。

(3)有緊急車輛要求通過時(shí),系統(tǒng)要能禁止東西和南北兩條路上所有的車輛通行。

二、設(shè)計(jì)總體方案1、主要器件介紹1.1 AT89C52單片機(jī)

本系統(tǒng)的課程設(shè)計(jì)選用MCS-51系列單片機(jī)作為整個(gè)系統(tǒng)的控制核心。AT89C52(如圖1)是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。

  AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。鑒于以上的優(yōu)點(diǎn)本系統(tǒng)采用AT8952作為主控芯片,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制。

圖1  AT89C52單片機(jī)

1.2 兩位共陰極數(shù)碼顯示管

在紅綠燈與數(shù)碼管的顯示上,本系統(tǒng)采用兩位的7段兩位共陰極數(shù)碼管,可顯示00-99范圍,對(duì)于交通燈的倒計(jì)時(shí),已經(jīng)完全滿足需求。

P0輸入到數(shù)碼管為高電平是才能顯示,數(shù)碼管顯示通過控制其中的8個(gè)發(fā)光二極管來控制顯示,abcdefg用于控制數(shù)字顯示,dp用于控制小數(shù)點(diǎn),例如:輸出為0X3f即00111111時(shí)abcdef都顯示,此時(shí)整個(gè)數(shù)碼管顯示0。1,2端口用于動(dòng)態(tài)顯示時(shí)控制需要輸出到那個(gè)數(shù)碼管。

圖2 共陰極數(shù)碼顯示管

1.3 紅綠燈

              紅綠燈控制由P2端口控制,輸出高電平時(shí)就會(huì)時(shí)某一個(gè)發(fā)光二極管發(fā)亮,P2.1-P2.3控制東西方向,P2.4-P2.6控制南北方向,從而模擬紅綠燈的效果例如,輸出為P2 = 0Xc3時(shí)東西為綠燈,南北為黃燈。

圖3 紅綠燈設(shè)計(jì)圖

2、流程圖

圖4 設(shè)計(jì)流程圖


3、硬件電路設(shè)計(jì)

本系統(tǒng)的設(shè)計(jì)主要分為兩大部分,單片機(jī)最小系統(tǒng)模塊和顯示模塊。

單片機(jī)最小系統(tǒng)模塊的電路設(shè)計(jì)比較簡單,主要由時(shí)鐘電路、復(fù)位電路組成。此外,本系統(tǒng)添加了三個(gè)輸入按鍵,主要實(shí)現(xiàn)三個(gè)功能:東西通行、南北通行、禁止通行。

顯示電路采用七段共陰極數(shù)碼管顯示,南北方向的數(shù)碼管的段選端分別與P0端口的P0.0-P0.7相連,位選端分別與P1.2和P1.3相連;東西方向數(shù)碼關(guān)的段選端也與P2端口的P0.0-P0.7相連,位選端分別與P1.0和P1.1相連。

交通燈采用的是發(fā)光二極管,南北方向的紅黃綠等分別與P2.6、P2.5和P2.4相連:東西方向的紅黃綠燈分別與P2.3、P2.2和P2.1相連。

本系統(tǒng)的軟件設(shè)計(jì)主要分為五大模塊:時(shí)鐘模塊、開關(guān)控制模塊、顯示輸出模塊、蜂鳴器模塊、紅綠燈與數(shù)碼管模塊。

2.1時(shí)鐘模塊

MCS-51單片機(jī)芯片內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。當(dāng)使用內(nèi)部震蕩電路時(shí),XTAL1和XTAL2引腳外接石英晶體和微調(diào)電容,C2,C3大小一般為30pF,采用12M的晶振。時(shí)鐘模塊電路圖如圖5。

圖5 時(shí)鐘模塊電路圖

2.2開關(guān)控制模塊

在這個(gè)模塊中,主要用到了兩個(gè)外部中斷INT0和INT1,用于控制南北或東西強(qiáng)制通行,其他的5個(gè)開關(guān)在程序中定義。開關(guān)模塊電路圖如圖6。

圖6 開關(guān)模塊電路圖

2.3顯示輸出模塊

排插是因?yàn)镻0口是準(zhǔn)雙向口,即是開漏輸出的,當(dāng)P0口作為并行口使用時(shí),只能輸出低電平,不能輸出高電平,需要接一個(gè)上拉電阻才能輸出高電平,輸出是采用動(dòng)態(tài)輸出P1.0,P1.1,P1.2,P1.3用與控制輸出選擇。顯示模塊電路圖如圖7。

圖7 開關(guān)模塊電路圖

2.4蜂鳴器模塊

P3.7用于蜂鳴器輸出,蜂鳴器一端接地,當(dāng)P3.7口輸出高電平時(shí),蜂鳴器就會(huì)響聲。蜂鳴器模塊電路圖如圖8。

圖8 蜂鳴器模塊電路圖

2.5復(fù)位電路模塊

使用Vcc為電容充電,當(dāng)按下開關(guān)時(shí)電容,當(dāng)持續(xù)輸出2us時(shí)即可reset單片機(jī)。復(fù)位電路模塊如圖9。

圖9 復(fù)位電路模塊電路圖

三、模擬仿真結(jié)果

(1)南北正常通行仿真結(jié)果如圖 10。

圖10 南北正常通行

(2)東西正常通行仿真結(jié)果如圖 11。

圖11 東西正常通行

(3)交通燈跳轉(zhuǎn)黃燈仿真結(jié)果如圖 12。

圖12 交通燈跳轉(zhuǎn)黃燈

(4)外部中斷南北通行仿真結(jié)果如圖13。

圖13 南北通行

(5)外部中斷東西通行仿真結(jié)果如圖14。

圖14 東西通行


(6)緊急情況仿真結(jié)果如圖15。

圖15 緊急車

4、心得體會(huì)

這次交通燈的制作是我學(xué)會(huì)了不少的東西,首先是proteus和keil的使用。單片機(jī)程序的編寫和原理圖的仿真都是在這兩個(gè)軟件的運(yùn)行下才可以進(jìn)行的。這個(gè)實(shí)驗(yàn)最重要的是讓我對(duì)51系列的單片機(jī)有了更深層次的了解,這一學(xué)期開始接觸單片機(jī)的時(shí)候覺得這是一門極其高深的課程,老師講的什么基本完全不懂,課后看仍舊是一頭霧水。通過交通燈的學(xué)習(xí)和制作,對(duì)單片機(jī)有了初步的了解,知道了它的組成、工作原理等等。

在軟件編寫這一塊,開始時(shí)遇到了很大的難題,因?yàn)閮砂傩械某绦,哪怕有一個(gè)錯(cuò)誤,修改起來也不是十分方便。時(shí)常沒有心思去尋找和改正錯(cuò)誤,所以軟件這一塊花了很大的一部分時(shí)間。幾次調(diào)試后總算出現(xiàn)“0 warning”和“0 error”的字樣。

除了學(xué)會(huì)很多東西以為,也發(fā)現(xiàn)了自己的不足。由于自己在這一方面只是的短缺,所以很多問題都需要查閱資料或者向別的同學(xué)請(qǐng)教。比如說proteus和keil的使用方法,都是看著別人操作幾遍之后才慢慢學(xué)會(huì)。另外,由于時(shí)間問題,沒能做到真正的實(shí)物實(shí)現(xiàn),沒有接觸到焊接工作,這一點(diǎn)是十分遺憾的,相信如果做了實(shí)物實(shí)現(xiàn),可能還會(huì)遇到更多的問題,學(xué)習(xí)到更多的實(shí)踐知識(shí)。

慶幸設(shè)計(jì)模擬結(jié)果是成功的,模擬出了交通燈的功能,各個(gè)按鍵的功能也和模擬時(shí)一致,看著數(shù)字的跳動(dòng)自己信息也感到十分開心。雖然想過在這個(gè)交通燈里加入一些額外的功能,但終究由于自己知識(shí)的局限性而放棄,有點(diǎn)遺憾,不過能夠?qū)W到東西就好。此次試驗(yàn)增長了自己的單片機(jī)知識(shí)外也讓我知道實(shí)踐和理論學(xué)習(xí)的差別。實(shí)踐過程中學(xué)到的知識(shí)自己記得會(huì)更加牢固一些,不容易忘記?偟膩碚f,單片機(jī)的制作讓我收獲不小。


附件2 原理圖


  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int

  4. uchar data buf[4];
  5. uchar data sec_dx = 20;//東西數(shù)默認(rèn)
  6. uchar data sec_nb = 30;//南北默認(rèn)值
  7. uchar data set_timedx = 20;
  8. uchar data set_timenb = 30;
  9. int n;
  10. uchar data b;//定時(shí)器中斷次數(shù)
  11. sbit  k1 = P1 ^ 6;//++
  12. sbit  k2 = P1 ^ 7; //--
  13. sbit  k3 = P2 ^ 7;  //確定
  14. sbit  k4 = P3 ^ 0; //切換方向
  15. sbit  k5 = P3 ^ 1; //緊急車
  16. sbit Yellow_nb = P2 ^ 5;        //南北黃燈標(biāo)志
  17. sbit Yellow_dx = P2 ^ 2;        //東西黃燈標(biāo)志
  18. sbit Green_nb = P2 ^ 4;
  19. sbit Green_dx = P2 ^ 1;
  20. sbit Red_nb = P2 ^ 6;
  21. sbit Red_dx = P2 ^ 3;
  22. sbit Buzz = P3 ^ 7;
  23. bit Buzzer_Indicate;
  24. bit time = 0;//燈狀態(tài)循環(huán)標(biāo)志
  25. bit   set = 1;//調(diào)時(shí)方向切換鍵標(biāo)志
  26. uchar code table[11] = {          //共陰極字型碼
  27.         0x3f,  //--0
  28.         0x06,  //--1
  29.         0x5b,  //--2
  30.         0x4f,  //--3
  31.         0x66,  //--4
  32.         0x6d,  //--5
  33.         0x7d,  //--6
  34.         0x07,  //--7
  35.         0x7f,  //--8
  36.         0x6f,  //--9
  37.         0x00   //--NULL
  38. };

  39. //函數(shù)的聲明部分
  40. void delay(int ms);//延時(shí)子程序
  41. void key();//按鍵掃描子程序
  42. void key_to1();//鍵處理子程序
  43. void key_to2();
  44. void key_to3();
  45. void display();//顯示子程序
  46. void logo();   //開機(jī)LOGO
  47. void Buzzer();
  48. //主程序
  49. void main()
  50. {
  51.            TMOD = 0X01;
  52.         /*TH0 = 0XD8;
  53.         TL0 = 0XF0;*/
  54.         TH0 = 0X3C; //1101 1000   50ms
  55.         TL0 = 0XB0;
  56.         EA = 1;
  57.         ET0 = 1;
  58.         TR0 = 1;        //開始
  59.         EX0 = 1;        //外部中斷0請(qǐng)求標(biāo)志 允許
  60.         EX1 = 1;
  61.         logo();
  62.         P2 = 0Xc3;// 開始默認(rèn)狀態(tài),東西綠燈,南北黃燈
  63.         sec_nb = sec_dx + 5;
  64.         while (1)
  65.         {
  66.                 key(); //調(diào)用按鍵掃描程序
  67.                 display(); //調(diào)用顯示程序
  68.                 //Buzzer();
  69.         }
  70. }
  71. //函數(shù)的定義部分
  72. void key()        //按鍵掃描子程序
  73. {
  74.         if (k1 != 1)
  75.         {
  76.                 delay(10);
  77.                 if (k1 != 1)
  78.                 {
  79.                         while (k1 != 1)
  80.                         {
  81.                                 key_to1(); //時(shí)間增加
  82.                                 for (n = 0; n < 40; n++)
  83.                                 {
  84.                                         display();
  85.                                 }
  86.                         }
  87.                 }
  88.         }
  89.         if (k2 != 1)
  90.         {
  91.                 delay(10);
  92.                 if (k2 != 1)
  93.                 {
  94.                         while (k2 != 1)
  95.                         {
  96.                                 key_to2(); //時(shí)間減少
  97.                                 for (n = 0; n < 40; n++)
  98.                                 {
  99.                                         display();
  100.                                 }
  101.                         }
  102.                 }
  103.         }
  104.         if (k3 != 1)
  105.         {
  106.                 TR0 = 1;   //啟動(dòng)定時(shí)器
  107.                 Buzzer_Indicate = 0;
  108.                 sec_nb = set_timenb;        //從中斷回復(fù),仍顯示設(shè)置過的數(shù)值
  109.                 sec_dx = set_timedx;
  110.                 if (time == 0)
  111.                 {
  112.                         P2 = 0X99; sec_nb = sec_dx + 5;
  113.                 }
  114.                 else { P2 = 0xC3; sec_dx = sec_nb + 5; }
  115.         }
  116.         if (k4 != 1)
  117.         {
  118.                 //切換方向
  119.                 delay(5);
  120.                 if (k4 != 1)
  121.                 {
  122.                         while (k4 != 1);
  123.                         set = !set;
  124.                 }
  125.         }
  126.         if (k5 != 1)
  127.         {
  128.                 delay(5);
  129.                 if (k5 != 1)
  130.                 {
  131.                         while (k5 != 1)
  132.                                 //緊急車
  133.                                 key_to3();
  134.                 }
  135.         }
  136. }
  137. void display() //顯示子程序
  138. {
  139.         buf[1] = sec_dx / 10; //第1位 東西秒十位
  140.         buf[2] = sec_dx % 10; //第2位 東西秒個(gè)位
  141.         buf[3] = sec_nb / 10; //第3位 南北秒十位
  142.         buf[0] = sec_nb % 10; //第4位 南北秒個(gè)位               
  143.         P1 = 0xff;                                    // 初始燈為滅的
  144.         P0 = 0x00;
  145.         P1 = 0xfe;                                     //片選LCD1
  146.         P0 = table[buf[1]];
  147.         delay(1);
  148.         P1 = 0xff;
  149.         P0 = 0x00;
  150.         P1 = 0xfd;                              //片選LCD2
  151.         P0 = table[buf[2]];
  152.         delay(1);
  153.         P1 = 0xff;
  154.         P0 = 0x00;
  155.         P1 = 0Xfb;                  //片選LCD3
  156. P0 = table[buf[3]];
  157. delay(1);
  158. P1 = 0xff;
  159. P0 = 0x00;
  160. P1 = 0Xf7;
  161. P0 = table[buf[0]];                  //片選LCD4        
  162. delay(1);
  163. }
  164. void time0(void) interrupt 1 using 1  //定時(shí)中斷 定時(shí)器0 子程序
  165. {
  166.         Buzz = 1;
  167.         b++;
  168.         if (b == 20)                          // 定時(shí)器中斷次數(shù)
  169.         {
  170.                      Buzz = 0;
  171.                      b = 0;
  172.                      sec_dx--;
  173.                      sec_nb--;
  174.                      if (sec_nb <= 5 && time == 0)  //東西黃燈閃               
  175.                      {
  176.                              Green_dx = 0; Yellow_dx = !Yellow_dx;
  177.                      }
  178.                      if (sec_dx <= 5 && time == 1)  //南北黃燈閃               
  179.                      {
  180.                              Green_nb = 0; Yellow_nb = !Yellow_nb;
  181.                      }
  182.                      if (sec_dx == 0 && sec_nb == 5)
  183.                              sec_dx = 5;
  184.                      if (sec_nb == 0 && sec_dx == 5)
  185.                              sec_nb = 5;
  186.                      if (time == 0 && sec_nb == 0)
  187.                      {
  188. P2 = 0x99; time = !time; sec_nb = set_timenb; sec_dx = set_timenb + 5;
  189.                      }
  190.                      if (time == 1 && sec_dx == 0)
  191.                      {
  192. P2 = 0Xc3; time = !time; sec_dx = set_timedx; sec_nb = set_timedx + 5;
  193.                      }
  194.         }
  195. }
  196. void key_to1()        //鍵盤處理子程序之+
  197. {
  198.         TR0 = 0;               //關(guān)定時(shí)器        
  199.              if (set == 0)
  200.                 set_timenb++;    //南北加1S
  201.         else
  202.                 set_timedx++;    //東西加1S
  203.         if (set_timenb == 100)
  204.                 set_timenb = 1;
  205.         if (set_timedx == 100)
  206.                 set_timedx = 1;   //加到100置1
  207.         sec_nb = set_timenb;         //設(shè)置的數(shù)值賦給東西南北
  208.         sec_dx = set_timedx;
  209. }
  210. void key_to2()           //鍵盤處理子程序之-
  211. {
  212.         TR0 = 0;         //關(guān)定時(shí)器        
  213.             if (set == 0)
  214.                 set_timenb--;  //南北減1S
  215.         else
  216.                 set_timedx--;  //東西減1S
  217.             if (set_timenb == 0)
  218.                 set_timenb = 99;
  219.         if (set_timedx == 0)
  220.                 set_timedx = 99;   //減到1重置99
  221.         sec_nb = set_timenb;         //設(shè)置的數(shù)值賦給東西南北
  222.         sec_dx = set_timedx;
  223. }
  224. void key_to3()   //鍵盤處理之緊急車通行
  225. {
  226.         TR0 = 0;
  227.         P2 = 0Xc9;
  228.         sec_dx = 00;
  229.         sec_nb = 00;
  230.         Buzzer_Indicate = 1;
  231. }
  232. void int0(void) interrupt 0 using 1         //只允許東西通行 外部中斷0 INT
  233. {
  234.         TR0 = 0;
  235.         P2 = 0Xc3;
  236.         Buzzer_Indicate = 0;
  237.         sec_dx = 00;
  238.             sec_nb = 00;
  239. }

  240. void int1(void) interrupt 2 using 1                   //只允許南北通行 外部中斷1 INT
  241. {
  242.              TR0 = 0;
  243.         P2 = 0X99;        //控制紅綠燈
  244.         Buzzer_Indicate = 0;
  245.         sec_nb = 00;
  246.         sec_dx = 00;
  247. }
  248. void logo()//開機(jī)的Logo  "- - - -"
  249. {
  250.              for (n = 0; n < 50; n++)
  251.         {
  252.                 P0 = 0x40;
  253.                 P1 = 0xfe;
  254.                 delay(1);
  255.                 P1 = 0xfd;
  256.                 delay(1);
  257.                 P1 = 0Xfb;
  258.                 delay(1);
  259.                 P1 = 0Xf7;
  260.                 delay(1);
  261.                 P1 = 0xff;
  262.         }
  263. }
  264. void Buzzer()        //蜂鳴器
  265. {
  266.         if (Buzzer_Indicate == 1)
  267.                      Buzz = !Buzz;
  268.              else Buzz = 0;
  269. }
  270. void delay(int ms)                //延時(shí)子程序
  271. {
  272.         uint j, k;
  273.              for (j = 0; j < ms; j++)
  274.                      for (k = 0; k < 124; k++);
  275. }


復(fù)制代碼

完整的Word格式文檔51黑下載地址:
智能交通燈控制系統(tǒng)設(shè)計(jì)報(bào)告.docx (467.52 KB, 下載次數(shù): 124)



作者: xinstar    時(shí)間: 2018-11-25 22:44
請(qǐng)問一下,如果我想用c51單片機(jī)去給這個(gè)裝置,做一個(gè)檢測各個(gè)燈的狀態(tài)和目前某路燈還剩多少秒,應(yīng)該怎么做。
作者: 小老板很錢    時(shí)間: 2018-11-28 15:27
請(qǐng)問樓主可以發(fā)布一下proteus仿真圖嗎

作者: dilidili    時(shí)間: 2020-12-29 11:00
請(qǐng)問 紅綠燈中間那個(gè)東西南北的圓盤 是哪個(gè)元器件啊





作者: 12111111    時(shí)間: 2023-12-28 14:45
你好, 請(qǐng)問樓主可以發(fā)布一下proteus仿真圖嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1