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

     找回密碼
     立即注冊

    QQ登錄

    只需一步,快速開始

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

    交通信號燈控制電路的設計 單片機課程設計報告 PPT文檔下載

    [復制鏈接]
    跳轉到指定樓層
    樓主

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


    課程設計報告

    報 告 題 目 : 交通信號燈控制電路的設計        

    作者所在系部:物理與電子科學學院

    作者所在專業:電子信息與科學技術專業

    作者所在班級: 電子三班

    作 者 姓 名 :宋偉         201840620325     

    張淼201840620342

    吳剛201840620334

    徐美炯201840620336      

    完 成 時 間 :2010 12 19



    課程設計任務書
    課題名稱
    交通信號燈控制電路的設計
    完成時間

    指導教師

    職稱

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


    內     容     摘      要

    隨著社會經濟的發展,城市交通問題越來越引起人們的關注。人、車、路三者關系的協調,已成為交通管理部門需要解決的重要問題之一。城市交通控制系統是用于城市交通數據監測、交通信號燈控制與交通疏導的計算機綜合管理系統,它是現代城市交通監控指揮系統中最重要的組成部分。如何采用合適的控制方法,最大限度利用好耗費巨資修建的城市高速道路,緩解主干道與匝道、城區同周邊地區的交通擁堵狀況,越來越成為交通運輸管理和城市規劃部門亟待解決的主要問題。為此,通過我應用所學的知識設計了一套交通燈控制電路的方案。交通燈的控制系統主要由計時電路、主控電路、中斷電路、顯示電路組成。

    目           錄

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

    根據設計的要求可知,系統的硬件原理框圖如下圖所示。


      系統硬件框圖

    1、單片機可選用AT89C52,它與8052系列單片機全兼容,但其內部帶有8KB的FLASH ROM,設計時無需外接程序存儲器,為設計和調試帶來極大的方便。南北向和東西向各采用2個數碼管計時,同時需要對該方向的指示燈的點亮時間進行倒計時。鍵盤系統可以根據系統的需要設置不同的鍵的個數,可以選擇線式鍵盤,若單片機的IO口不夠用時,可以考慮擴展8255或8155滿足系統的要求。

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

    2. 軟件方案

    根據設計要求,軟件由C語言完成。軟件設計可以分為以下幾個功能模塊:

    主程序:初始化及鍵盤監控。

    計時程序模塊:為定時器的中斷服務子程序,完成50毫秒的定時中斷和1秒的定時時間。

    顯示程序模塊:完成4個交通燈和6個LED數碼管的顯示驅動。

    中斷子程序:


    程序流程圖:


    三、單元電路設計與源程序

    1、主控電路

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

    2、顯示電路

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

    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; //標志位及變量
    7. sbit k0=P0^0;//數碼管顯示位定義
    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};//數碼管顯示代碼
    25. void xianshi();        //十字路口數碼管顯示函數
    26. void xianshi2();//控制臺數碼管顯示函數
    27. void jianpan();        //鍵盤檢測函數
    28. void delay(uint z) //延時函數
    29. {        
    30.         uint i,j;
    31.         for(i=z;i>0;i--)
    32.         for(j=110;j>0;j--);
    33. }

    34. void init()        //定時器0初始化,變量初始化函數
    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();//檢測鍵盤
    54.                          if(flag==0)//交通燈處于設置狀態標志位flag=0
    55.                          P2=0x09;//四路紅燈全亮
    56.                          if(flag==1)//檢測交通燈處于運行狀態標志位flag=1進入交通顯示循環
    57.                          {
    58.                           if(n1<10)//檢查通行時間設置是否合理,不合理則自動設置
    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();//控制臺顯示
    71.          }
    72. }                 
    73. void time0 () interrupt  1
    74. {        
    75.         TH0=(65536-50000)/256;
    76.         TL0=(65536-50000)%256;
    77.         aa++;
    78.          if(aa==20)//檢測1S鐘
    79.           {        aa=0;
    80.                 --d;//數碼管顯示減一
    81.                 --b;
    82.            }
    83. }
    84. void jianpan() //鍵盤檢查函數
    85. {  if(kai==0)//檢測開始鍵按下
    86.         {delay(5);                  
    87.          if(kai==0)
    88.          flag++;
    89.          if(flag>2)//設置開始鍵2種狀態
    90.          flag=0;         
    91.          while(!kai)//鍵盤松手檢測
    92.          xianshi();//顯示路口數碼管
    93.         }
    94.         if(flag==1)//檢測開始鍵按下flag=1,打開定時器                  
    95.          TR0=1;
    96.         if(flag==2)//檢測開始鍵按下flag=0,重新初始化系統
    97.         {TR0=0;n1=0;n2=0;flag=0;b=0;c=0;d=0;}
    98.   if(jia1==0&&flag==0)//檢測通行+鍵按下且flag=0(交通燈處于設置狀態)
    99.    {
    100.     delay(5);                  
    101.          if(jia1==0&&flag==0)
    102.          {n1++;}//通行時間+1s
    103.          if(n1>99)//檢測通信時間最大時長99s
    104.          n1=n2+1;//重置通行時間且大于緩行時間
    105.          while(!jia1)
    106.          xianshi2();
    107.    }
    108.   if(jian1==0&&n1>n2&&flag==0)//檢測通行-鍵按下且通行時間大于緩行時間且flag=0(交通燈處于設置狀態)
    109.    {
    110.     delay(5);                  
    111.          if(jian1==0&&n1>n2&&flag==0)
    112.          {n1--;}//通行時間減一
    113.          if(n1==n2)
    114.          n1=99;
    115.          while(!jian1)
    116.          xianshi2();
    117.    }
    118.   if(jia2==0&&n2<n1&&flag==0) 檢測緩行+鍵按下且緩行時間小于通行時間且flag="0(交通燈處于設置狀態)
    119.    {
    120.     delay(5);                  
    121.          if(jia2==0&&n2<n1&&flag==0)
    122.          {n2++;}//緩行時間+1s
    123.          if(n2==n1)
    124.          n2=1;
    125.          while(!jia2)
    126.          xianshi2();
    127.    }
    128.   if(jian2==0&&flag==0)//檢測緩行-鍵按下且flag=0(交通燈處于設置狀態)
    129.    {
    130.     delay(5);                  
    131.          if(jian2==0&&flag==0)
    132.          {n2--;}//緩行時間-1s
    133.          if(n2==0)
    134.          n2=n1-1;
    135.          while(!jian2)
    136.          xianshi2();
    137.    }
    138. }
    139. void xianshi()//路口數碼管顯示函數
    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()        //控制臺數碼管顯示函數
    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. }
    復制代碼




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

    1.總電路圖

    總電路圖

    2.元器件清單

          元件名稱

              數量(個)

    單片機AT89C52

    1

    交通燈

    4

    LED數碼顯示

    6

    按鈕

    5

    線阻

    1

    五、使用說明參考書

    在使用此交通燈設計時,開/停按鈕控制交通燈的運行,在停的狀態下,十字路交通燈全部為禁止通行的狀態,此時控制臺可以設置通行時間和緩行時間,設置完成后,按下開/停按鈕,交通燈開始正常運行。

    、結論

    通過為期兩周的課程設計,我們應用所學數字電子技術順利得完成了交通燈控制器的設計。期間,我們查閱了相關書籍,學到了很多知識,并利用它們設計了符合設計要求的信號產生器、計數器、控制電路等。不僅鞏固了課堂知識,而且有效的和實際結合在了一起,擴展了所學知識和見識。
    在設計過程中遇到不少問題,如相關元件運用條件不熟、接口不對應等問題,感覺到書本知識與實際問題及需要結合的難處,但也激發了我這方面的興趣,提高了理論結合實際的意識。

    、心得體會

    由于課本上的知識太多,平時課間的學習并不能很好的理解和運用各個元件的功能,所以在這次課程設計過程中,我了解了很多元件的功能,并且對于其在電路中的使用有了更多的認識。有一點是在設計過程中,經常會遇到這樣那樣的情況,就是心里想老著這樣的接法可以行得通,但實際接上電路,總是實現不了,而又一下找不出問題所在,只有在查了書上有關這方面的解釋后才有所進展,因此耗費在這上面的時間很多?傮w感覺是:通過這次課程設計,加強了我們動手、思考和解決問題的能力。

    、參考文獻

    丁元杰  《單片微機原理及應用》 ;第三版;機械工業出版社出版社

    譚浩強  《C程序設計》     ;第三版; 清華大學出版社


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

    使用道具 舉報

    無效樓層,該帖已經被刪除
    板凳
    ID:125378 發表于 2016-8-12 15:50 | 只看該作者
    求分享
    回復

    使用道具 舉報

    地板
    ID:306001 發表于 2018-4-11 17:11 | 只看該作者
    ,這是大學時候和同學一起做的課程設計,被誰上傳了
    回復

    使用道具 舉報

    5#
    ID:309914 發表于 2018-4-18 00:19 | 只看該作者
    不錯,感謝分享
    回復

    使用道具 舉報

    6#
    ID:309914 發表于 2018-4-18 10:04 | 只看該作者
    還不錯的說。
    回復

    使用道具 舉報

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

    本版積分規則

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

    Powered by 單片機教程網

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