交通燈設(shè)計(jì)實(shí)驗(yàn)報(bào)告(硬件原理圖,程序)_第1頁
交通燈設(shè)計(jì)實(shí)驗(yàn)報(bào)告(硬件原理圖,程序)_第2頁
交通燈設(shè)計(jì)實(shí)驗(yàn)報(bào)告(硬件原理圖,程序)_第3頁
交通燈設(shè)計(jì)實(shí)驗(yàn)報(bào)告(硬件原理圖,程序)_第4頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、交通燈設(shè)計(jì)實(shí)驗(yàn)報(bào)告(硬件原理圖,程序) 交通燈信號燈自動(dòng)控制系統(tǒng) 交通燈原理圖 一、 系統(tǒng)得基本功能要求 (1) 以秒為計(jì)時(shí)單位,兩位數(shù)碼管以十進(jìn)制遞減計(jì)數(shù)形式作定時(shí)顯示,在遞減計(jì)數(shù)回零瞬間完成換燈操作。 (2) 通過鍵盤紅黃綠三色信號燈所亮?xí)r間在99 秒內(nèi)任意設(shè)定。 (3) 十字路口得通行起始狀態(tài)可人工設(shè)定,運(yùn)行中可通過人工干預(yù)使十字路口通行狀態(tài)固定于任何一種工作模式。 二、 設(shè)計(jì)思路及總體框圖,方案比較 u 硬件設(shè)計(jì) 1 1 、 系統(tǒng)總體框圖 2 、電路設(shè)計(jì) ( (1 ) 顯示模塊 倒計(jì)時(shí) 與 時(shí)鐘 stc 89 c52 單 單 片 片 機(jī) 機(jī) 鎖存器( 位選端) 倒計(jì)時(shí)顯示數(shù)鍵盤 鎖存器

2、( 段選端) 時(shí)間顯示數(shù)碼led 紅綠燈 復(fù)位電路 時(shí)鐘電路 p2 p1 p1 說明: 共陰極兩位數(shù)碼管用于倒計(jì)時(shí) ; 段選端由鎖存器控制,位選端用 p30 與 p1 控制 兩個(gè)四位共陰極數(shù)碼組成八位數(shù)碼管 用于時(shí)鐘顯示 段位選分別由兩個(gè)鎖存器控制 (2) ) 紅綠燈模塊 說明: 圖為兩方向得紅綠黃燈 ,分別接在 p口上,由 p0 口控制 51 系列單片機(jī)得 p口內(nèi)部沒有集成上拉電阻,加上拉就就是提高 驅(qū)動(dòng)能力,必須要通過上拉電阻接 v。上拉電阻一般接 1k 得。 ( (3) ) 鍵盤模塊 說明 p2 鍵控制功能說明: p2 ky0 綠燈位選擇 p5 ky黃燈位選擇 24 key2 加 1 操

3、作 p y3 減 1 操作 p22 key4 信號燈狀態(tài)固定 p ke5 信號燈狀態(tài)切換 key6 時(shí)鐘時(shí)分秒設(shè)置鍵 鍵盤加上拉電阻為了提高驅(qū)動(dòng)能力 、復(fù)位電路 : 4 、時(shí)鐘電路: 說明 :用 12m 晶振時(shí) 電容要選擇 3p u 軟件部分 、 主程序流程圖 2、 、 時(shí)鐘初值控制子程序 開始 時(shí)鐘初值設(shè)置子程序 綠燈初值設(shè)置子程 序 序 黃燈初值設(shè)置子程序 鐘 開時(shí)鐘 2 鐘 開時(shí)鐘 1, 倒計(jì)時(shí) 時(shí) 狀態(tài)固定 狀態(tài)選擇 3、 綠燈, 黃燈初值設(shè)置子程序 y 就是否有鍵盤按y 就是否按下時(shí)鐘時(shí)鐘鍵盤掃描 掃描加一, 減一鍵盤 各個(gè)位得加一, 減一 n n n 4、 時(shí)鐘控制與倒計(jì)時(shí)控制 時(shí)

4、鐘,倒計(jì)時(shí)初值通過鍵盤輸入 。 倒計(jì)時(shí)使用 2 52 單片機(jī) 內(nèi)部定時(shí)器 1 1 實(shí)現(xiàn)計(jì)數(shù),時(shí)鐘控制部分就是使用定時(shí)、計(jì)數(shù)器 實(shí)現(xiàn)計(jì)時(shí), , 以秒為基本單位在數(shù)碼管中顯示。時(shí)鐘部分: : 當(dāng)秒得 個(gè)位計(jì)時(shí)到了 10 ,則秒個(gè)位清 0 0 ,同時(shí)十位進(jìn)一, , 以此類推;倒 計(jì)時(shí)部分顯示就是則遞減顯示。此過程通過判斷語句實(shí)現(xiàn) 。 5 5、 、 、燈狀態(tài)控制 定閉關(guān),時(shí)下按鍵定固態(tài)狀。制控描掃盤鍵過通態(tài)狀得燈 燈得狀態(tài)通過鍵盤掃描控制。狀態(tài)固定鍵按下時(shí),關(guān)閉定 時(shí)器 1 1 ;再次按下此鍵時(shí),打開定時(shí)器。狀態(tài)選擇鍵按下時(shí),程 序跳至下一個(gè)狀態(tài) 得程序控制部分,從而實(shí)現(xiàn)狀態(tài)改變。 n n y y 掃

5、描綠燈鍵盤控制就是否鍵盤按掃描加一, 減一鍵 鍵盤就是否按相應(yīng)位加一或 三、 實(shí)現(xiàn)功能說明 基本功能: : (1)a 干道分別有兩組紅黃綠燈,各自得亮燈時(shí)間與狀態(tài)由鍵盤 控制。 () ) 兩位數(shù)碼管用于倒計(jì)時(shí), , 記錄各個(gè)燈得亮燈時(shí)間, , 定時(shí)時(shí)間由 鍵盤設(shè)定。 () ) 十字路口通行狀態(tài)可由鍵盤切換。 發(fā)揮部分功能: : (1 ) 由八位數(shù)碼管顯示,初試時(shí)間可由鍵盤設(shè)定,且在 05: 00 2 2 0 :00 黃燈閃爍顯示。 (2) 綠燈倒計(jì)時(shí)最后三秒與黃燈顯示時(shí)閃爍顯示(頻率 1hz) 。 (3 3 )人行道得紅綠燈配合車輛得紅綠燈同時(shí)工作。 四、 所用器件與功能 ( ( ) ) 共陰

6、數(shù)碼管 0 10 個(gè):8 8 個(gè)顯示時(shí)間,2 2 個(gè)顯示倒計(jì)時(shí)時(shí)間 ( ) 紅黃綠發(fā)光二極管個(gè) 4 4 個(gè): : 模擬十字路口信號燈 。令各 加個(gè)人行道上得紅燈與綠燈 (3 3 ) 7 7 3 hc573 鎖存器 2 2 個(gè):段碼與位選鎖存各一個(gè) ( 4) st 單片機(jī)一塊 按鍵 8 8 個(gè) m m 晶振一個(gè) 排線 排針 電阻 電容若干 五、 故障及問題分析 (1 1 )問題: 每次通電后都要在十八、十 十九口觸發(fā)一下才能正 常工作。 分析:晶振電路與單片機(jī)距離過遠(yuǎn),輸入噪聲很大 解決: 把晶振 電路 改在緊挨單片機(jī) 位置 就 可排除 干擾。 (2 2 ) 共陽數(shù)碼管需要接三極管放大驅(qū)動(dòng)電流,

7、 , 為節(jié)約成 本選用 共陰數(shù)碼管。 () 鍵盤掃描程序中加了按鍵前沿消抖延時(shí), , 但按鍵不夠靈敏 加了后延消抖后使得按鍵足夠靈敏. . (4 ) 在段鎖存器給各個(gè)數(shù)碼管送段碼時(shí)相互之間有影響, , 在顯 示函數(shù)中加消影程序解決相互之間得影響. . ( 5) 在第一次焊接時(shí)一次性焊接完,調(diào)試時(shí)無法檢查錯(cuò)誤,而 在第二次焊接時(shí)采用邊調(diào)試邊焊接得方法, , 加快速度, , 提 高了準(zhǔn)確度。 (6 6) )線邦杜 杜邦線 數(shù)碼管、鎖存器等接線比較多,用單根導(dǎo)線焊接 容易相互連接且不易檢查錯(cuò)誤,用杜邦線便于檢查與模塊 化調(diào)試。 六、 心得體會(huì) 本次設(shè)計(jì), , 我們花了不少時(shí)間 與精力, , 但收獲很

8、大: ( ) 這次設(shè)計(jì)時(shí)間很長,期間,我們自學(xué)了單片機(jī)教程, , eil 2 、p p ot us 、 pro e e 9 9 e e 等軟件,自學(xué)能力達(dá) 到很大得提高 () ) 本次設(shè)計(jì)過程中, , 我們充分體會(huì)到了團(tuán)體合作得重要 性。通過我們?nèi)齻€(gè)人得合理分工,設(shè)計(jì)過程完成得比 較成功 ( 3) 通過本次設(shè)計(jì),我們學(xué)到了對復(fù)雜程序模塊化得編程 方法與對其進(jìn)行檢查與修改方法。 (4 4 )本次設(shè)計(jì)過程中,我們得動(dòng)手能力得到很大得提高, , 例如說焊接技術(shù)、對電路板得總體規(guī)劃,等等. . 七、 參考資料 單片機(jī)原理與應(yīng)用及1 51 程序設(shè)計(jì) 清華大學(xué)大學(xué)出版社 附:軟件程序 / / * * *

9、* * 實(shí)驗(yàn)板上完整程序 i i clude' eg 2 2 、h h fine u t uns gned int # # ef n n uc ar s s gn d d char cha aa , b,cc , dd,ee,ff , a3,co 32 , con31; u u har tem , ye,shi1 ,s s i2 , ge2,shi , ge,fla; ; int b,c= ,d ,m=1,t; u u n n n n , n2 ; i i p p 0_3 p0 3 3 ; / / a a 干道黃燈 sbi p0 2 2 p p 2 ; a /a 干道紅燈 sb t 0

10、_4= ; ;/ a /a 干道綠燈 sbit p p _6=p06; b /b 干道黃燈 sbit p0 7=p0 ; ;/ b /b 干道紅燈 bit 0_5= 05 ; b /b 干道綠燈 bit la=p ; sbit du a=p 1 ; s s it p _2=p ; sbi p p _3= 3 ; u u h h r ata ti e e ate13 0 0 0 ,0x00 ,0 0 0 0 ; /顯示緩沖區(qū)兩位數(shù)字 ucha ata time at 23 = = 0 0 00,0x 0, 00 ;/ /顯示緩沖區(qū)兩位數(shù)字 uc ar d d ta timedat 3 3 = =

11、 0x00, x0 , x00, , 0x00 ,0x00,0x 0 0 , 0x 0 ;/ / 顯示緩沖區(qū)兩位數(shù)字 c c r ode we 8 0 , 0xfd,0 fb,0x 7 7 ,xef,0xdf,0xbf,0 7f ; / 位掃描 sbi ke p2 ; / / 綠燈控制 鍵 s s it k k 1 1 p p 5; / 黃燈控制鍵 b b key2=p ; / /鍵一加 加一鍵 sbi key =p 3; / 減一鍵 sbit k 4=p22 ; / / 保存狀態(tài) sbi key 21; ;/ / 狀態(tài)改變 sb t k y6=p20; / / 時(shí)鐘控制鍵 u u har a

12、 a c c n n =0x0 ; ; u u har dat n=0x00; uc r co e ta le 0x3f, x06 , 0x5b , 0x4 , , 6 6 , 0x6 , 0x7d , 0x , 0 0 7f ,0 0 f f , 0x4 ; ; o o d di play( c c ar shi , ucha ) ) ; vo d d dis y3(uc ar aa , ch r , ch cc,uchar dd, c c ar ee , har f) ; vo d y(uint z ); vo d n n t() ; key can1( ) ; ; ke sc n n (

13、) ; ke s s an3 ( ) ; voi mai () ) tini init () ) ;/ / 初始化子程序 ihw whi e e (1 1 ) /* * * * * * * * * * * * * * * * * 鍵盤掃描控制程序 f(c n= ye= 0 0 ) syek keys an3() ; alpsid displa 3(a , bb,c , , , , e e ,); ; 3noc(fi if(con3 = = ye=0) )/ / 調(diào)用鍵盤掃描程序 keyscan (); s i1 n1 ; ge1= 1%10;ds s lay( hi1 ,g g 1); i i

14、 ( ( on= co 3= ) ) k k y y ca 2();s i i 2 2 10;ge2 2 2 10 ;ispl ay(shi ,ge2) ; (( ( n n =3 y y = = 0 0 ) |( e e c n=0 ) d d splay(0,0) ; 0p p0 0xf ;de (1 ); ; / * * * * * * * * * 保存當(dāng)前狀態(tài) fi if ( key4 = = ) ) (yaled delay( ); ; w w le(k y4=0 ) ; ; led del ( 2) ; ;+d d+; f(d%2 ) tr0= ;/ / 關(guān)閉計(jì)數(shù)器,下面f lse

15、 if 語句不執(zhí)行, , 直接到 delay () ) 顯示語句 le el e r0=1 ; / / * * * * * * * * * * 狀態(tài)改變,進(jìn)入下一個(gè)狀態(tài) if( ey5= 0 0 ) lay ( 12); w w i i e( ey5 =0 ) ; el (1 ) ) ; ;m m ; c+ ; ( c% ) t mp n2; le el e temp=n ; / * * * * * * * * * 狀態(tài)選擇 fi if ( t5 t 23) f(a1 /10=0 ) p0_3=0 ; p0 6=0; l l e 0_3=1 ; p0_6=1 ; 1(yaled delay(1

16、 ); e e e e if (m m 4= 1 1 ) p0_ =1;p0 =1; pmet(fi if(temp 3 3) )p p _4 0 0 ; se if(a /1 =0)p04 4 0 0 ; else p0_4=1; a /a 綠燈 p p _7=0; / 紅燈 d d ay (); lse f f ( m% =2 ) 0_4 1; fi if ( a1 1 1 =0)p0 3 3 0 0 ; e e s s p0 3=1 ; /a黃燈 ;0=7_0p p0_7=0; / / b b 紅燈 d d lay (); esle else f f (m m 4 4 =3 ) p0_3

17、=1;p0_ = = ; 0 0 2 2 0; a /a 紅燈 ( ( emp3)p0 5=0; ; f eif ( a1/ 0 0= = )p0_ =0 ; el e e p0_ = = ; b /b 綠燈 ed de ay ( 1) ; sle els if(m% = ) ) 0_ ; ; p p _2= ; a /a 紅燈 (fi if( 1 1 10=0 ) 0_6=0; else 0_6= ; b b 黃燈 aled dela (1 1 ); * * * * * * * * * * * * * * * * * * * * * * 倒計(jì)時(shí) f f ( con e e =3) rt tr

18、 1 1 ; fi if (b b != = ) temp=n1; / / 只有當(dāng)掃描到有輸入時(shí) p temp 才等于 n, 否則為自減后得值 hi= m m ; e=temp% 0 0 ; if (1 1 =2 ) a a 0; em ; f f ( emp = =- - ) ) c+ ; / 進(jìn)入下一個(gè)狀態(tài), , 賦倒計(jì)時(shí)起始值 m+ ; / / 進(jìn)入下一個(gè)狀態(tài), , 賦燈得狀態(tài) f(c%2 ) te p=n2; esle else temp=n1 ; i i ay ( shi ,g g ) ) ; b=0; vo d delay (u u nt ) int ,; of fo ( x=z

19、; x0;x- - ) of fo (y= 10;y 0 0 ; ); oid display(uchar shi,uc a a ge) 1=0 00; wela= ; ; p3_2=1; dula=1; p1=t bl sh ; ;0=alud dula=0; p3_3=0 ; delay(1 ); ; 3p p3 3=1 ; du =1 ; at=1p p1=ta le ge ; dula 0 0 ; p p _2 0 0 ; el y y (); _ _ = = ; ; vo d dis y3(ucha a a ,uchar bb,u ha cc,uc r d d ,u har e ,u

20、c ar f f ) p p _2= ; p3_ =1; x0=1p p1=0x f f ; wel 1 1 ; p p w w ; ; ;0=alew wela=0; p p =0x0 ; ud du a a 1 1 ; t=1p p1=t ble a; lud dul =0; elay(1 ); d d l l 1; p p =ta le b b ; 0=alud dula=0 ; 1p p1 f f ; ; 1=alew wela=1 ; p1= i i ; ; ;0=alew wela=0; d d l l y y (1 1 ); d d la=1 ; p p =table 10 ;

21、alud dula 0 0 ; =1p p1= xff ; 1=alew wela=1 ; =1p p1= ei 5 5 ; wel l =0 ; delay(1 ); ; dula= ; p1=tabl cc ; ; dula=0; 1=0x f; ew we a a ; p1= e e 4; 0=alew wela=0 ; ela (1 1 ); ula= ; =1p p1= b b ed ; 0=alud dula=0 ; 0xf ; ; a= ; w=1p p1=w i3 ; ew we =0 ; ed de ay ( 1) ; u u =1; p1= ble1 ; 0=alud du

22、la=0 ; 1p p1 =0xff ; w w a= ; p1 w w i i 2 ; e e a=0; de ay () ) ; lud dul =1 ; p1 tab eee ; ; ud du a=0; 1p p1 0xf ; ; wela= ; ; p p = w i i 1 ; we =0; elay( ) ) ; ula=1; =1p p1= a a e e ff ; ul 0; =1p p1= 0 0 ff ; 1=alew wela=1 ; p p =w i ; 0=alew wela=0 ; la ( 1) ; voi in it () ) a=0; du =0 ; h1

23、( ( 55 6 6 5 5 00)/256; =(65536- -5 5 00 ) ) 25 ; mod 0x 1 1; ;e e =1 ; et1=1;tr =0 ; th0= ( 655 5 5 0 0 0 0 ) 256 ; (=0lt tl0=( 3 3 ) ) 256; 0te et0 1;tr0=0; / * * * * * * * * * * * * 綠燈鍵盤掃描程序 ey can1( ) if ( ey0= ) /b /b ; d d la (1 1 ); hile (e e 0= 0) ; d d lay (2 2 ); ; con+ ; /b ; i i ( ( n n

24、! =0) /con=1| 2 2 時(shí)得加一運(yùn)算 fi if ( ke =0 ) d d l l y(12 ); 2yek(elihw while(key2 0) ; del y y ( 12) ; it ti e e ate on+ ; (i i ( ti edate1 con 9 9 ) time ate con = = ; ; s s i1=timedate1 ; g g = = imed te1 2 2 ; ; s s y y ( hi1 , ge ); 1= 0*s i1+ e1; i i ( con! 0 0 ) /con=1 | | 時(shí)得減一運(yùn)算 k(fi if(k y3 ) )

25、 el ( 12 ); w w ile(key = = 0 0 ) ; ; 1(yaled delay(1 ); mit tim d d te con - -; ; (timedate1 con 5 5 ) ) i i edate con =9; emit=1ihs shi1=time ate1 ; 1 1 time ate12 ; ; yalpsid display (h h , e1); ihs*01=1n n1=10*shi + + 1 1 ; / * * * * * * * * * 黃燈控制鍵掃描 key can2 () f f (1 1 =0) b b 0 0 ; delay ( 1

26、2); l l ( ( 1=0 ) ; ; aled dela ( 12 ); +ey ye+ ; ; + ; f(ye ! =0) /c n=1 2 2 時(shí)得加一運(yùn)算 ( ( key2= 0) delay ( 12); while ( key2= 0) ; lay( ); ; 2etademit timedate2 e e + + ; f f (t t m m da e2ye 9) imedat 2 e= 0; shi2= imedate ; mit=2eg ge2=tim d d t t 2 ; ; id di play (h h , ge2) ; 2n n2 0*shi2+ ; ; if

27、(y ?。?/con=1 2 2 時(shí)得減一運(yùn)算 fi if ( key3= ) ) yaled delay ( 12 ); ; w w il ( key3= ) ; ; aled dela (2 2 ); it ti edate2ye ; fi if ( ti eda e2 ye=255) i i e e ate2 e 9; s s 2=t med te21; t=2eg ge2=t medate22; ; d d splay(shi , ge ); ; n n =1 shi +ge ; ; void tim r0 () i i rr pt 1 t t 0= ( 65 5000 )/ 5 5

28、; ; t t 0= ( 65 36- - 500 0)%2 ; ; a a + + ; ; / * * * * * * * * 時(shí)鐘控制鍵掃描程序 k k s s an () ) i i ( key6 = = ) lay (); ; w w i i e e (k k y6=0) ; lay ( 12 ); con3+; tr1 0; (i i ( con3=5)tr0=1 ; con3 0; if (c c n n ! =0 ) / / on=1 2 2 時(shí)得加一運(yùn)算 fi if (y y =0) ela (); ile (e e =0 ) ; e e y y ( 12 ); demit t

29、imed te3 c c n3 +; i i ( con3 1) on31=2; ls (c c n3=2 ) on31= ; i esle else i ( ( o o 3 3 =3)con31=5 ; el if ( con3= )c n3 9 9 ; fi if ( ti edate3 on3 c c n3 )i i ed te3 o o 3=0 ; ( ( ti eda 3 e3 = ti eda 3 e3 2 2 = = 4 4) ) timed e3 2=0 ; med te31 0; i i (co ! =0 ) if ( y3=0) el () ) ; hil (e e =0 ) ; ; del y( 2 2 ); i i edate3 c c n3 ; ; fi if ( con3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論