交通燈控制系統(tǒng)課程設(shè)計報告_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  1緒論1</b></p><p><b>  1.1設(shè)計背景1</b></p><p><b>  1.2設(shè)計要求1</b></p><p><b>  1.3設(shè)計思

2、路1</b></p><p><b>  2系統(tǒng)硬件設(shè)計2</b></p><p>  2.1 設(shè)計總框圖2</p><p>  2.2 各模塊功能2</p><p>  2.3 設(shè)計總電路圖8</p><p><b>  3系統(tǒng)軟件設(shè)計9</b>&l

3、t;/p><p>  3.1程序流程圖9</p><p><b>  3.2源程序10</b></p><p>  4系統(tǒng)仿真與調(diào)試13</p><p>  4.1 電路仿真13</p><p>  4.2 系統(tǒng)調(diào)試16</p><p><b>  5總結(jié)

4、17</b></p><p><b>  參考文獻(xiàn)18</b></p><p><b>  致 謝19</b></p><p><b>  1 緒論</b></p><p><b>  1.1設(shè)計背景</b></p>&l

5、t;p>  近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。</p><p>  十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。</p>&

6、lt;p><b>  1.2設(shè)計要求</b></p><p>  本系統(tǒng)采用8051系列單片機AT89C52為中心器件來設(shè)計交通燈控制器,實現(xiàn)了通過8051芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間顯示的功能;P0口連接交通燈循環(huán)點亮,本系統(tǒng)操作簡單、擴展功能強。</p><p><b>  1.3設(shè)計思路</b></p><p&

7、gt;  東西、南北兩干道交于一個十字路口,各個路口有一個交通燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時間。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案如表1.1。</p><p>  表1.1指示燈燃亮的方案</p><p>  表1.1說明: </p>&

8、lt;p>  當(dāng)東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通 過,行人通行。時間為10秒。 </p><p>  黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。</p><p>  當(dāng)東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。時間為10秒。</p><p>  這樣如上表

9、的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。</p><p><b>  2系統(tǒng)硬件設(shè)計</b></p><p><b>  2.1 設(shè)計總框圖</b></p><p>  設(shè)計總框圖見圖2.1:</p><p>  圖2.1 設(shè)計總框圖</p><p

10、>  2.2 各模塊功能</p><p>  2.2.1 AT89C52單片機的信號引腳說明及其功能</p><p> ?。?)AT89C52的信號引腳和內(nèi)部框圖</p><p>  AT89C52的引腳排列請參見圖2.2。</p><p>  圖2.2 AT89C52引腳。</p><p>  AT89C

11、52的內(nèi)部結(jié)構(gòu)框圖如下:</p><p><b>  圖2.3內(nèi)部結(jié)構(gòu)圖</b></p><p><b> ?、?信號引腳介紹</b></p><p>  P0.0 ~ P0.7: P0口8位雙向口線。</p><p>  P1.0 ~ P1.7 :P1口8位雙向口線。</p><

12、;p>  P2.0 ~ P2.7 :P2口8位雙向口線。</p><p>  P3.0 ~ P3.7 :P3口8位雙向口線。</p><p> ?。涸L問程序存儲控制信號。當(dāng)信號為低電平時,對ROM的讀操作限定在外部程序存儲器;而當(dāng)信號為高電平時,則對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。</p><p>  RST:復(fù)位信號。當(dāng)輸入的復(fù)

13、位信號延續(xù)2個機器周期以上高電平即為有效,用以完成單片機的復(fù)位初始化操作。</p><p>  XTAL1和XTAL2 :外接晶體引線端。當(dāng)使用芯片內(nèi)部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。</p><p><b> ?、赑3口的第二功能</b></p><p>  P3口的8條口線都定義有第二

14、功能,詳見表2.1。</p><p>  表2.1 P3口的第二功能</p><p> ?。?)分別介紹下P0、P1、P2、P3口</p><p><b>  ① P0口</b></p><p>  P0口的口線邏輯電路如圖2.4所示。</p><p>  圖2.4 P0口某位結(jié)構(gòu)</

15、p><p><b>  ② P1口</b></p><p>  P1口的口線邏輯電路見圖2.5。</p><p>  圖2.5 P1口某位結(jié)構(gòu)</p><p><b> ?、?P2口</b></p><p>  P2口的口線邏輯電路見圖2.6。</p><

16、p>  圖2.6 P2口某位結(jié)構(gòu)圖</p><p><b> ?、?P3口</b></p><p>  P3口的口線邏輯電路見圖2.7。</p><p>  圖2.7 P3口某位結(jié)構(gòu)</p><p> ?。?)時鐘電路與復(fù)位電路</p><p><b> ?、贂r鐘電路&l

17、t;/b></p><p>  時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各地信號之間的相互關(guān)系。單片機本身就如一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時序進(jìn)行工作。單片機的時鐘電路,如圖2.8所示。</p><p>  圖2.8 時鐘振蕩電路</p><p>  一般電容C1,C2

18、取30pF左右,晶體的振蕩頻率范圍是1.2MHz~12 MHz 。晶體振蕩頻率高, 則系統(tǒng)的時鐘頻率也高, 單片機運行速度也就快。MCS-51在通常應(yīng)用情況下,使用振蕩頻率為的6MHz或12MHz。</p><p><b>  ②單片機的復(fù)位電路</b></p><p>  單片機復(fù)位的條件是:必須使RST/VPD 或RST引腳(9)加上持續(xù)二個機器周期(即24個振蕩

19、周期)的高電平。單片機常見的復(fù)位電路如圖2.9(a)(b)所示。</p><p> ?。╝) 上電復(fù)位電路 (b) 按鍵復(fù)位電路</p><p>  圖2.9 單片機常見的復(fù)位電路</p><p>  圖2.9(a)為上電復(fù)位電路,它是利用電容充電來實現(xiàn)的。在接電瞬間,RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降

20、。</p><p>  圖2.9(b)為按鍵復(fù)位電路。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖2.9(b)中的RESET鍵,此時電源VCC經(jīng)電阻R1、R2分壓,在RST端產(chǎn)生一個復(fù)位高電平。</p><p> ?。?)單片機能夠運行的最基本配置是:</p><p>  ①配有為單片機提供時鐘信號的振蕩電路,如下圖2.10所示。</p><p

21、> ?、谂溆猩想姀?fù)位或按鍵復(fù)位電路。</p><p> ?、垡獙δ_進(jìn)行處理,選擇外部或內(nèi)部程序存儲器。</p><p> ?、芤獮閱纹瑱C提供一個穩(wěn)定的、滿足單片機工作電壓的工作電源。</p><p>  圖2.10單片機運行的基本配置</p><p>  2.2.2 交通燈電路的說明及其功能</p><p>

22、  交通燈用來顯示車輛通行狀況,下面以一個十字路口為例,說明一個交通燈的四種狀態(tài)見圖2.11。每個路口的信號的的轉(zhuǎn)換順序為:綠——>黃——>紅 ,綠燈表示允許通行,黃燈表示禁止通行,但已經(jīng)駛過安全線的車輛可以繼續(xù)通行,是綠燈過渡到紅燈提示燈。紅燈表示禁止通行。綠燈的時間為10秒,,紅時間為10秒,黃燈時間為5秒。</p><p>  圖2.11交通燈電路</p><p>  2

23、.2.3兩位數(shù)碼顯示管簡介</p><p> ?。?)在交通信號燈的正上方安裝一個可以顯示綠燈通行時間,紅燈等待時間的顯示電路,采用數(shù)碼管顯示電路是一種很好的方法。由于東往西方向和西往東方向顯示的時間相同,南往北方向和北往南方向顯示的時間也相同,兩位數(shù)碼管可以時間的時間為0-99秒完全滿足系統(tǒng)的要求。</p><p>  兩位數(shù)碼顯示管引腳圖如圖2.12。</p><p

24、>  圖2.12 兩位數(shù)碼顯示管引腳圖</p><p>  兩位數(shù)碼顯示器功能介紹:</p><p>  圖中引腳1、2、分別為數(shù)碼顯示選擇位,順序從左至右,低電平有效。引腳A、B、C、D、E、F、G表示的是七段字符,控制數(shù)碼管顯示,高電平有效。引腳DP表示的是小數(shù)點,高電平有效。</p><p>  2.3 設(shè)計總電路圖</p><p&

25、gt;  總電路圖如圖2.13</p><p>  圖2.13 總電路圖</p><p><b>  3系統(tǒng)軟件設(shè)計</b></p><p><b>  3.1程序流程圖</b></p><p>  3.1.1程序總流程圖</p><p><b>  如圖3.1所

26、示。</b></p><p>  圖3.1 程序總流程圖</p><p>  3.1.2 延時函數(shù)子程序流程圖</p><p>  開始 </p><p><b>  結(jié)束</b></p><p>  圖3.2延時函數(shù)子程序流程圖</p><p&

27、gt;<b>  3.2源程序</b></p><p>  #include<reg52.h></p><p>  #define uchar unsigned char //定義為uchar類型</p><p>  #define uint unsigned int //定義為uint類型</p><

28、;p>  uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,</p><p>  0x90};//數(shù)碼管顯示0~9 </p><p><b>  bit t=1;</b></p><p>  uchar time_Count; //進(jìn)行計時</p&g

29、t;<p>  uchar ge,shi; //要顯示的個位和十位</p><p>  void delay(uchar z) //一個延時函數(shù)</p><p><b>  {</b></p><p>  uchar a,b;</p><p>  for(a=0;a<150;a++)<

30、/p><p><b>  {</b></p><p>  for(b=0;b<z;b++);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Init_Timer()//定時器的初始化&

31、lt;/p><p><b>  {</b></p><p>  TMOD=0x01;</p><p>  TH0=(65536-5000)/256;</p><p>  TL0=(65536-5000)%256;</p><p><b>  ET0=1;</b></p>

32、;<p><b>  TR0=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p><p>  void Seg_Disp()//將個位十位分別顯示在數(shù)碼管上面</p><p><b>  {

33、</b></p><p><b>  P2=0xfe;</b></p><p>  P0=table[ge];</p><p>  delay(1);</p><p><b>  P2=0xfd;</b></p><p>  P0=table[shi];<

34、;/p><p><b>  delay(1);</b></p><p><b>  }</b></p><p>  void main()//程序運行的主函數(shù)</p><p><b>  { </b></p><p><b>  SP=0x

35、6f;</b></p><p><b>  P0=0xff;</b></p><p><b>  P2=0xff;</b></p><p>  Init_Timer();</p><p><b>  while(1)</b></p><p>

36、<b>  {</b></p><p>  Seg_Disp();</p><p>  if(time_Count==200)</p><p><b>  {</b></p><p>  time_Count=0;</p><p><b>  ge++;</

37、b></p><p><b>  if(t)</b></p><p><b>  {</b></p><p>  if(ge==10)</p><p><b>  {</b></p><p><b>  ge=0;</b>&l

38、t;/p><p><b>  shi++;</b></p><p>  if(shi==1)</p><p><b>  {</b></p><p><b>  shi=0;</b></p><p><b>  t=0; </b>

39、</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>

40、</p><p><b>  if(ge==6)</b></p><p><b>  {</b></p><p><b>  ge=0;</b></p><p>  t=1; </p><p><b>  }</b>&l

41、t;/p><p>  } </p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void timer0() interrupt 1 usin

42、g 1 //定時器0的操作計時</p><p><b>  {</b></p><p>  TH0=(65536-5000)/256;</p><p>  TL0=(65536-5000)%256;</p><p>  time_Count++;</p><p><b>  }

43、 </b></p><p><b>  4 系統(tǒng)仿真與調(diào)試</b></p><p><b>  4.1 電路仿真</b></p><p>  PROTEUS嵌入式系統(tǒng)仿真軟件在設(shè)計時已經(jīng)注意到和單片機各種編譯程序的整合了,如它可以和Keil ,Wave6000等編譯模擬軟件結(jié)合使用。具體步驟如下:</p&

44、gt;<p> ?。?)首先運行PROTEUS VSM 的ISIS,選擇Source→Define Code Generation Tool 菜單項。</p><p>  在Tool下拉列表框中選擇代碼生成工具,在這一示例中,電路中的微處理器為8051系列單片機,因此選擇ASEM51, 單擊Browse按鈕,選取Wave6000的安裝路徑。單擊OK按鈕,結(jié)束代碼生成工具的定義。</p>

45、<p>  選擇Source→Add/Remove Source File 菜單項,將出現(xiàn)Add/Remove Source Code Files對話框。</p><p>  在Code Generation Tool 選項區(qū),單擊下三角按鈕,選擇ASEM51工具。</p><p><b>  單擊New按鈕。</b></p><p&g

46、t;  電路圖繪制完成后, 再添加AT89C52 的應(yīng)用程序。將鼠標(biāo)移至AT89C51 上, 單擊鼠標(biāo)右鍵使之處于選中狀態(tài), 在該器件上單擊左鍵, 打開如圖11所示的對話框。在 Program File 欄添加用C語言編寫的程序文件 ,給AT89C52輸入晶振頻率,此處默認(rèn)為12MHZ, 單擊OK 按鈕完成程序添加工作, 下面就可以進(jìn)行系統(tǒng)仿真了。單擊主界面下方的按鈕開始系統(tǒng)仿真。PROTEUS VSM 所進(jìn)行的是一種交互式仿真, 在仿

47、真進(jìn)行中可以對各控制按鈕、開關(guān)等進(jìn)行操作, 系統(tǒng)對輸入的響應(yīng)會被真實的反映出來。在這個例子里, 開始仿真后,開關(guān),按鈕通過鼠標(biāo)單擊來改變狀態(tài),所改變狀態(tài)的狀態(tài)會在LED和數(shù)碼管顯示出來。由于篇幅所限, 以上僅舉一例簡單介紹了PROTEUS VSM 的使用, 但其強大的系統(tǒng)仿真功能已經(jīng)得到體現(xiàn), 用在單片機系統(tǒng)設(shè)計的教學(xué)方面, 能起到良好的教學(xué)效果。</p><p>  其仿真結(jié)果如圖下圖所示</p>

48、<p>  圖4.1.1 南北通行,東西禁止</p><p>  圖4.1.2 東西、南北都禁止通行</p><p>  圖4.1.3 東西通行,南北禁止</p><p><b>  4.2 系統(tǒng)調(diào)試</b></p><p>  接系統(tǒng)仿真圖接線,為了連線方便,實驗時,部分線路采用了代號來代替連線。

49、</p><p>  進(jìn)行運行,通過觀察數(shù)碼管的顯示是否符合要求,如果不符合,則再調(diào)試。直至滿足要求。</p><p><b>  總結(jié)</b></p><p>  經(jīng)過這一段時間的辛勤工作,終于完成了自己的課程。在本次的課程中我主要完成了以下的工作:</p><p> ?。?)完成了系統(tǒng)硬件電路設(shè)計。單片機主控制電路設(shè)

50、計。</p><p> ?。?)掌握了電子系統(tǒng)設(shè)計的流程,熟悉了一些硬件電路以及軟件編程方法。</p><p> ?。?)理解了最單片機的各部分組成及特性。</p><p> ?。?)熟練使用了各種計算機輔助設(shè)計工具完成設(shè)計,充分掌握了這些工具的使用。</p><p> ?。?)學(xué)會了C語言進(jìn)行加載的過程.更進(jìn)一步加深了對PROTEUS軟件的

51、學(xué)習(xí)。</p><p>  通過本次的課程設(shè)計,受益匪淺,充分意識到自己所學(xué)的東西還是非常有限的,不過通過設(shè)計,還是學(xué)到了一些書本上沒有學(xué)到的東西,為自己以后的學(xué)習(xí)奠定了一定的基礎(chǔ)。在撰寫本文的過程中,深切地體會到當(dāng)今科技技術(shù)飛速的發(fā)展,特別是單片機的發(fā)展使得許多技術(shù)難題迎刃而解,作者堅信,隨著科學(xué)技術(shù)的不斷發(fā)展,單片機技術(shù)的應(yīng)用將是前途無量。</p><p>  由于本設(shè)計涉及到的知識面

52、比較廣,再加上本人在相關(guān)領(lǐng)域知識的缺乏,所以本設(shè)計的性能指標(biāo)還是有待改善的,然而,模擬仿真證明了本設(shè)計的設(shè)計思想和設(shè)計方法是現(xiàn)實可行的。</p><p>  由于作者水平有限,文中難免有不妥或錯誤之處,懇請各位老師、同學(xué)批評指正。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 張迎新,等.單片機初級教程[M].北京:

53、北京航空航天大學(xué)出版社,2000.</p><p>  [2] 王幸之,等.AT89系列單片機原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004.</p><p>  [3] 何立民.單片機高級教程[M].北京:北京航空航天大學(xué)出版社,2000.</p><p>  [4] Atmel Corporation. Microcontroller Data B

54、ook.2004.</p><p>  [5] 李維偍,郭強. 液晶顯示應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2000.</p><p><b>  致 謝</b></p><p>  本本課題的工作是在許老師的親切關(guān)懷和精心指導(dǎo)下完成的,在此對他的關(guān)心、指導(dǎo)和教誨表示衷心的感謝!</p><p>  作者在此期間的工

55、作自始至終都是在許老師全面、具體的指導(dǎo)下進(jìn)行的,許老師在論文選題方面的遠(yuǎn)見卓識以及在完成課題和論文期間富有啟發(fā)性的建議是本文工作得以順利完成的根本保證。他高尚的品德、嚴(yán)謹(jǐn)?shù)膶W(xué)風(fēng)、一絲不茍的工作態(tài)度、孜孜不倦的工作精神和對科學(xué)真理的執(zhí)著追求使我終生受益,這將為我今后的學(xué)習(xí)和工作打下堅實的基礎(chǔ)。</p><p>  感謝我的學(xué)友張靜、鄧海飛等人對我的關(guān)心和幫助。他們的關(guān)懷是我克服困難,勇往直前的巨大動力。</p

溫馨提示

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

評論

0/150

提交評論