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

標(biāo)題: 交通信號(hào)燈控制電路的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)報(bào)告 PPT文檔下載 [打印本頁(yè)]

作者: 51黑dd    時(shí)間: 2016-4-7 02:40
標(biāo)題: 交通信號(hào)燈控制電路的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)報(bào)告 PPT文檔下載

全部資料下載(包含論文程序及單片機(jī)交通燈仿真文件,word ppt文檔)
交通燈.rar (818 KB, 下載次數(shù): 75)


課程設(shè)計(jì)報(bào)告

報(bào) 告 題 目 : 交通信號(hào)燈控制電路的設(shè)計(jì)        

作者所在系部:物理與電子科學(xué)學(xué)院

作者所在專業(yè):電子信息與科學(xué)技術(shù)專業(yè)

作者所在班級(jí): 電子三班

作 者 姓 名 :宋偉         201840620325     

張淼201840620342

吳剛201840620334

徐美炯201840620336      

完 成 時(shí) 間 :2010 12 19



課程設(shè)計(jì)任務(wù)書
課題名稱
交通信號(hào)燈控制電路的設(shè)計(jì)
完成時(shí)間

指導(dǎo)教師

職稱

學(xué)生姓名
宋偉、張淼、吳剛、徐美炯
班 級(jí)
電子三班
總體設(shè)計(jì)要求和技術(shù)要點(diǎn)
設(shè)計(jì)一個(gè)交通信號(hào)燈控制電路。要求:
1.產(chǎn)生以1秒為單位的計(jì)時(shí);
2.顯示通行時(shí)間和緩行時(shí)間;
3.控制顯示時(shí)間和緩行時(shí)間,使之能加減。
工作內(nèi)容及時(shí)間進(jìn)度安排
第15周:
1立題論證方案設(shè)計(jì)、熟悉軟件
2檢查設(shè)計(jì)結(jié)果,預(yù)答辯
第16周:
1 仿真實(shí)驗(yàn)
2 驗(yàn)收答辯
3完成設(shè)計(jì)報(bào)告ppt word文檔等
課程設(shè)計(jì)成果
1.與設(shè)計(jì)內(nèi)容對(duì)應(yīng)的軟件程序
2.課程設(shè)計(jì)報(bào)告書


內(nèi)     容     摘      要

隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問(wèn)題越來(lái)越引起人們的關(guān)注。人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門需要解決的重要問(wèn)題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。如何采用合適的控制方法,最大限度利用好耗費(fèi)巨資修建的城市高速道路,緩解主干道與匝道、城區(qū)同周邊地區(qū)的交通擁堵狀況,越來(lái)越成為交通運(yùn)輸管理和城市規(guī)劃部門亟待解決的主要問(wèn)題。為此,通過(guò)我應(yīng)用所學(xué)的知識(shí)設(shè)計(jì)了一套交通燈控制電路的方案。交通燈的控制系統(tǒng)主要由計(jì)時(shí)電路、主控電路、中斷電路、顯示電路組成。

目           錄

一、 概    述  ……… ……………………………………………………………3
二、方案設(shè)計(jì)
1、單片機(jī)AT89C52……………………………………………………………..3
2、數(shù)碼管顯示原理……………………………………………………………4~5
三、單元電路設(shè)計(jì)與源程序………………………………………………………5~11
四、總電路圖及元器件清單
1.總電路圖……………………………………………………………………12
2.元器件清單…………………………………………………………………12
五、使用說(shuō)明參考…………………………………………………………………..12
六、結(jié)論……………………………………………………………………………..12
七、心得體會(huì)………………………………………………………………………..13
八、參考文獻(xiàn)………………………………………………………………………..13
單片機(jī)完成交通信號(hào)燈的控制,該交通信號(hào)燈控制器由兩條干道匯合成十字路口,在每個(gè)入口處設(shè)置紅、綠、黃三色信號(hào)燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時(shí)間停在禁行線外。用紅、綠、黃發(fā)光二極管作信號(hào)燈。二、方案設(shè)計(jì)1.方案設(shè)計(jì)

根據(jù)設(shè)計(jì)的要求可知,系統(tǒng)的硬件原理框圖如下圖所示。


  系統(tǒng)硬件框圖

1、單片機(jī)可選用AT89C52,它與8052系列單片機(jī)全兼容,但其內(nèi)部帶有8KB的FLASH ROM,設(shè)計(jì)時(shí)無(wú)需外接程序存儲(chǔ)器,為設(shè)計(jì)和調(diào)試帶來(lái)極大的方便。南北向和東西向各采用2個(gè)數(shù)碼管計(jì)時(shí),同時(shí)需要對(duì)該方向的指示燈的點(diǎn)亮?xí)r間進(jìn)行倒計(jì)時(shí)。鍵盤系統(tǒng)可以根據(jù)系統(tǒng)的需要設(shè)置不同的鍵的個(gè)數(shù),可以選擇線式鍵盤,若單片機(jī)的IO口不夠用時(shí),可以考慮擴(kuò)展8255或8155滿足系統(tǒng)的要求。

  2、數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。

2. 軟件方案

根據(jù)設(shè)計(jì)要求,軟件由C語(yǔ)言完成。軟件設(shè)計(jì)可以分為以下幾個(gè)功能模塊:

主程序:初始化及鍵盤監(jiān)控。

計(jì)時(shí)程序模塊:為定時(shí)器的中斷服務(wù)子程序,完成50毫秒的定時(shí)中斷和1秒的定時(shí)時(shí)間。

顯示程序模塊:完成4個(gè)交通燈和6個(gè)LED數(shù)碼管的顯示驅(qū)動(dòng)。

中斷子程序:


程序流程圖:


三、單元電路設(shè)計(jì)與源程序

1、主控電路

  控制電路由P3^3—P3^7控制,其中P3^3控制開/停按鈕,P3^4、P3^5控制通行時(shí)間的加和減,P3^6、P3^7控制緩行時(shí)間的加和減;開/停的控制由標(biāo)志位flag控制,且flag的初始值置為0。通行時(shí)間和緩行時(shí)間的控制由jianpan函數(shù)控制(具體見源程序中的鍵盤函數(shù))。

2、顯示電路

顯示電路由單片機(jī)AT89C52的P1和P2兩個(gè)并行I/O接口控制,其中P1口控制顯示控制臺(tái)的時(shí)間以及車輛的通行時(shí)間和緩行時(shí)間,P2口控制十字路交通燈;在控制顯示時(shí),使用xianshi函數(shù)控制控制臺(tái)顯示的顯示時(shí)間,xianshi2函數(shù)控制顯示車輛的通行時(shí)間和緩行時(shí)間。

3、源程序

  1. #include
  2. #define uint unsigned  int
  3. #define uchar unsigned char
  4. #define n  5 //
  5. uchar qian,bai, shi,ge,aa;
  6. uchar flag=0,n1,n2,b,c,d; //標(biāo)志位及變量
  7. sbit k0=P0^0;//數(shù)碼管顯示位定義
  8. sbit k1=P0^1;
  9. sbit k2=P0^2;
  10. sbit k3=P0^3;
  11. sbit k4=P0^4;
  12. sbit k5=P0^5;
  13. sbit k6=P0^6;
  14. sbit k7=P0^7;
  15. sbit kai=P3^3; //鍵盤控制位定義
  16. sbit jia1=P3^4;
  17. sbit jian1=P3^5;
  18. sbit jia2=P3^6;
  19. sbit jian2=P3^7;
  20. uchar code table[]={
  21. 0x3f,0x06,0x5b,0x4f,
  22. 0x66,0x6d,0x7d,0x07,
  23. 0x7f,0x6f,0x77,0x7c,
  24. 0x39,0x5e,0x79,0x71};//數(shù)碼管顯示代碼
  25. void xianshi();        //十字路口數(shù)碼管顯示函數(shù)
  26. void xianshi2();//控制臺(tái)數(shù)碼管顯示函數(shù)
  27. void jianpan();        //鍵盤檢測(cè)函數(shù)
  28. void delay(uint z) //延時(shí)函數(shù)
  29. {        
  30.         uint i,j;
  31.         for(i=z;i>0;i--)
  32.         for(j=110;j>0;j--);
  33. }

  34. void init()        //定時(shí)器0初始化,變量初始化函數(shù)
  35. {        b=0;
  36.     c=0;
  37.         d=0;
  38.         n1=0;
  39.         n2=0;
  40.     P1=0;
  41.         P2=0;
  42.         TMOD=0x01;
  43.         TH0=(65536-50000)/256;         
  44.         TL0=(65536-50000)%256;
  45.         EA=1;
  46.         ET0=1;
  47. }
  48. void main()
  49. {
  50.         init();
  51.         while(1)
  52.                 {           
  53.                            jianpan();//檢測(cè)鍵盤
  54.                          if(flag==0)//交通燈處于設(shè)置狀態(tài)標(biāo)志位flag=0
  55.                          P2=0x09;//四路紅燈全亮
  56.                          if(flag==1)//檢測(cè)交通燈處于運(yùn)行狀態(tài)標(biāo)志位flag=1進(jìn)入交通顯示循環(huán)
  57.                          {
  58.                           if(n1<10)//檢查通行時(shí)間設(shè)置是否合理,不合理則自動(dòng)設(shè)置
  59.                           {n1=30,n2=5;}
  60.                           if(b==0&&c==0)
  61.                           {b=n1;d=n1-n2;c=1;P2=0x21;}
  62.                       if(d==0&&c==1)
  63.                       {d=n2;c=2; P2=0x11;}
  64.                           if(d==0&&c==2)
  65.                           {b=n1-n2,d=n1;c=3;P2=0x0c;}
  66.                       if(b==0&&c==3)
  67.                       {b=n2;c=0; P2=0x0a;}                        
  68.                       xianshi();//十字路口顯示        
  69.                          }
  70.                          xianshi2();//控制臺(tái)顯示
  71.          }
  72. }                 
  73. void time0 () interrupt  1
  74. {        
  75.         TH0=(65536-50000)/256;
  76.         TL0=(65536-50000)%256;
  77.         aa++;
  78.          if(aa==20)//檢測(cè)1S鐘
  79.           {        aa=0;
  80.                 --d;//數(shù)碼管顯示減一
  81.                 --b;
  82.            }
  83. }
  84. void jianpan() //鍵盤檢查函數(shù)
  85. {  if(kai==0)//檢測(cè)開始鍵按下
  86.         {delay(5);                  
  87.          if(kai==0)
  88.          flag++;
  89.          if(flag>2)//設(shè)置開始鍵2種狀態(tài)
  90.          flag=0;         
  91.          while(!kai)//鍵盤松手檢測(cè)
  92.          xianshi();//顯示路口數(shù)碼管
  93.         }
  94.         if(flag==1)//檢測(cè)開始鍵按下flag=1,打開定時(shí)器                  
  95.          TR0=1;
  96.         if(flag==2)//檢測(cè)開始鍵按下flag=0,重新初始化系統(tǒng)
  97.         {TR0=0;n1=0;n2=0;flag=0;b=0;c=0;d=0;}
  98.   if(jia1==0&&flag==0)//檢測(cè)通行+鍵按下且flag=0(交通燈處于設(shè)置狀態(tài))
  99.    {
  100.     delay(5);                  
  101.          if(jia1==0&&flag==0)
  102.          {n1++;}//通行時(shí)間+1s
  103.          if(n1>99)//檢測(cè)通信時(shí)間最大時(shí)長(zhǎng)99s
  104.          n1=n2+1;//重置通行時(shí)間且大于緩行時(shí)間
  105.          while(!jia1)
  106.          xianshi2();
  107.    }
  108.   if(jian1==0&&n1>n2&&flag==0)//檢測(cè)通行-鍵按下且通行時(shí)間大于緩行時(shí)間且flag=0(交通燈處于設(shè)置狀態(tài))
  109.    {
  110.     delay(5);                  
  111.          if(jian1==0&&n1>n2&&flag==0)
  112.          {n1--;}//通行時(shí)間減一
  113.          if(n1==n2)
  114.          n1=99;
  115.          while(!jian1)
  116.          xianshi2();
  117.    }
  118.   if(jia2==0&&n2<n1&&flag==0) 檢測(cè)緩行+鍵按下且緩行時(shí)間小于通行時(shí)間且flag="0(交通燈處于設(shè)置狀態(tài))
  119.    {
  120.     delay(5);                  
  121.          if(jia2==0&&n2<n1&&flag==0)
  122.          {n2++;}//緩行時(shí)間+1s
  123.          if(n2==n1)
  124.          n2=1;
  125.          while(!jia2)
  126.          xianshi2();
  127.    }
  128.   if(jian2==0&&flag==0)//檢測(cè)緩行-鍵按下且flag=0(交通燈處于設(shè)置狀態(tài))
  129.    {
  130.     delay(5);                  
  131.          if(jian2==0&&flag==0)
  132.          {n2--;}//緩行時(shí)間-1s
  133.          if(n2==0)
  134.          n2=n1-1;
  135.          while(!jian2)
  136.          xianshi2();
  137.    }
  138. }
  139. void xianshi()//路口數(shù)碼管顯示函數(shù)
  140. {                shi=b/10;
  141.         ge=b%10;
  142.                 qian=d/10;
  143.                 bai=d%10;
  144.             k0=0;
  145.                 P1=table[shi];
  146.                 delay(n);
  147.                 k0=1;
  148.                 k1=0;
  149.                 P1=table[ge];
  150.                 delay(n);
  151.                 k1=1;
  152.                 k2=0;
  153.                 P1=table[qian];
  154.                 delay(n);
  155.                 k2=1;
  156.                 k3=0;
  157.                 P1=table[bai];
  158.                 delay(n);
  159.                 k3=1;
  160.                 xianshi2();
  161. }
  162. void xianshi2()        //控制臺(tái)數(shù)碼管顯示函數(shù)
  163. {        
  164.             k4=0;
  165.                 P1=table[n1/10];
  166.                 delay(n);
  167.                 k4=1;
  168.                 k5=0;
  169.                 P1=table[n1%10];
  170.                 delay(n);
  171.                 k5=1;
  172.                 k6=0;
  173.                 P1=table[n2/10];
  174.                 delay(n);
  175.                 k6=1;
  176.                 k7=0;
  177.                 P1=table[n2%10];
  178.                 delay(n);
  179.                 k7=1;
  180. }
復(fù)制代碼




四、總電路圖及元器件清單

1.總電路圖

總電路圖

2.元器件清單

      元件名稱

          數(shù)量(個(gè))

單片機(jī)AT89C52

1

交通燈

4

LED數(shù)碼顯示

6

按鈕

5

線阻

1

五、使用說(shuō)明參考書

在使用此交通燈設(shè)計(jì)時(shí),開/停按鈕控制交通燈的運(yùn)行,在停的狀態(tài)下,十字路交通燈全部為禁止通行的狀態(tài),此時(shí)控制臺(tái)可以設(shè)置通行時(shí)間和緩行時(shí)間,設(shè)置完成后,按下開/停按鈕,交通燈開始正常運(yùn)行。

、結(jié)論

通過(guò)為期兩周的課程設(shè)計(jì),我們應(yīng)用所學(xué)數(shù)字電子技術(shù)順利得完成了交通燈控制器的設(shè)計(jì)。期間,我們查閱了相關(guān)書籍,學(xué)到了很多知識(shí),并利用它們?cè)O(shè)計(jì)了符合設(shè)計(jì)要求的信號(hào)產(chǎn)生器、計(jì)數(shù)器、控制電路等。不僅鞏固了課堂知識(shí),而且有效的和實(shí)際結(jié)合在了一起,擴(kuò)展了所學(xué)知識(shí)和見識(shí)。
在設(shè)計(jì)過(guò)程中遇到不少問(wèn)題,如相關(guān)元件運(yùn)用條件不熟、接口不對(duì)應(yīng)等問(wèn)題,感覺到書本知識(shí)與實(shí)際問(wèn)題及需要結(jié)合的難處,但也激發(fā)了我這方面的興趣,提高了理論結(jié)合實(shí)際的意識(shí)。

、心得體會(huì)

由于課本上的知識(shí)太多,平時(shí)課間的學(xué)習(xí)并不能很好的理解和運(yùn)用各個(gè)元件的功能,所以在這次課程設(shè)計(jì)過(guò)程中,我了解了很多元件的功能,并且對(duì)于其在電路中的使用有了更多的認(rèn)識(shí)。有一點(diǎn)是在設(shè)計(jì)過(guò)程中,經(jīng)常會(huì)遇到這樣那樣的情況,就是心里想老著這樣的接法可以行得通,但實(shí)際接上電路,總是實(shí)現(xiàn)不了,而又一下找不出問(wèn)題所在,只有在查了書上有關(guān)這方面的解釋后才有所進(jìn)展,因此耗費(fèi)在這上面的時(shí)間很多。總體感覺是:通過(guò)這次課程設(shè)計(jì),加強(qiáng)了我們動(dòng)手、思考和解決問(wèn)題的能力。

、參考文獻(xiàn)

丁元杰  《單片微機(jī)原理及應(yīng)用》 ;第三版;機(jī)械工業(yè)出版社出版社

譚浩強(qiáng)  《C程序設(shè)計(jì)》     ;第三版; 清華大學(xué)出版社



作者: 王杰    時(shí)間: 2016-8-12 15:50
求分享
作者: 徐軒昂    時(shí)間: 2018-4-11 17:11
,這是大學(xué)時(shí)候和同學(xué)一起做的課程設(shè)計(jì),被誰(shuí)上傳了
作者: 削個(gè)椰子皮    時(shí)間: 2018-4-18 00:19
不錯(cuò),感謝分享

作者: 削個(gè)椰子皮    時(shí)間: 2018-4-18 10:04
還不錯(cuò)的說(shuō)。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久高清 | 少妇一级淫片免费播放 | 日本三级网站在线观看 | 91在线导航 | 最新中文字幕在线 | 久久久久久网站 | 天天射天天操天天干 | 日韩1区2区 | 成人免费视频网站在线看 | 国产精品亚洲一区 | 欧美一级淫片免费视频黄 | 午夜免费网站 | 中文字幕不卡在线观看 | 五月婷婷丁香婷婷 | 黄色一级电影免费观看 | 欧美成人精品一区二区男人看 | 久草视频网站 | 国内精品一区二区 | 久久综合久久自在自线精品自 | 亚洲免费观看 | 99视频在线免费观看 | 日本黄色一级片视频 | 国产日韩欧美一区二区 | 欧美视频网 | 天天影视网天天综合色在线播放 | 国产成人免费视频网站高清观看视频 | 成人性视频在线播放 | 91色网站| аⅴ资源新版在线天堂 | 日韩在线xx| 久久久久久久久久久高潮一区二区 | 中文字幕一区在线观看视频 | 免费看淫片 | 亚洲国产二区 | 国产精品日本一区二区在线播放 | 日韩精品成人 | 91国内精精品久久久久久婷婷 | 亚洲视频在线免费 | 国产三区在线观看视频 | 黄色毛片黄色毛片 | 97免费视频在线观看 |