標題: 基于51單片機的交通燈論文+匯編程序代碼 [打印本頁]

作者: 成天翔    時間: 2017-5-16 18:25
標題: 基于51單片機的交通燈論文+匯編程序代碼


目錄
                                      
1前言    5
1.1該課程選題背景    5
1.2該課程選題現(xiàn)實意義    5
1.3單片機交通燈研究任務(wù)    5
2設(shè)計方案    6
2.1方案設(shè)計目的    6
2.2方案設(shè)計思路    6
2.3方案設(shè)計原理    7
3系統(tǒng)硬件設(shè)計    8
3.1 AT89C51芯片簡介    8
3.2 74LS47芯片簡介    11
3.3系統(tǒng)總框圖    12
3.4、交通燈硬件線路    12
3.5、系統(tǒng)工作原理    12
4.軟件設(shè)計    13
4.1每秒鐘的設(shè)定    13
4.2秒的方法    13
4.3相應(yīng)程序代碼    13
4.4、鍵盤顯示流程圖    14
4.5、 軟件延時    14
5 Proteus軟件仿真    15
5.1正常運行時狀態(tài)    15
5.2黃燈亮?xí)r狀態(tài)    16
5.3應(yīng)急情況下狀態(tài)    16
6 設(shè)計心得體會    17
附錄1:源程序代碼    18
附錄2:硬件連接圖    23
參考文獻    23
2.2設(shè)計思路
東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時間。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案如表1:
  
車道\時間
  
60s
3s
2s
35s
3s
  
東西道
  
綠燈
黃燈
紅燈
紅燈
紅燈
  
南北道
  
紅燈
紅燈
紅燈
綠燈
黃燈
                                  表1
表1說明:(1)當(dāng)東西道為綠燈,此道車輛通過,行人禁止通行。時間為60秒;南北方向為紅燈,此道車輛禁止通行,南北道行人可通過。
(2)當(dāng)東西方向為黃燈閃爍3秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換;南北方向為紅燈,此道車輛禁止通行,南北道行人可通過。
(3)當(dāng)東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;當(dāng)南北方向為紅燈,此道車輛禁止通行,南北道行人可通過。
(4)當(dāng)東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;東西道為綠燈,此道車輛通過,行人禁止通行。時間為35秒。
(5)當(dāng)東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;南北方向為黃燈閃爍3秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。
(6)此表可根據(jù)車流量動態(tài)設(shè)定紅綠燈初始值。


  
狀態(tài)
  
西
綠黃紅
綠黃紅
綠黃紅
綠黃紅
  
0
  
001
001
001
001
  
1
  
100
001
100
001
  
2
  
010
010
010
010
  
3
  
001
100
001
100
  
4
  
010
010
010
010


2、對于交通信號燈來說,應(yīng)該有東西南北共四組燈,但由于同一道上的兩組的信號燈的顯示情況是相同的,所以只要用兩組就行了,因此,采用單片機內(nèi)部的I/O口上的P1口中的6個引腳即可來控制6個信號燈。
3、通過編寫程序,實現(xiàn)對發(fā)光二極管的控制,來模擬交通信號燈的管理。每延時一段時間,燈的顯示情況都會按交通燈的顯示規(guī)律進行狀態(tài)轉(zhuǎn)換。
4、通過延時時間送顯,可以在原有的交通信號燈系統(tǒng)的基礎(chǔ)上,增添其倒計時間的顯示功能,實現(xiàn)其功能的擴展。
5、通過脈沖中斷編寫中斷程序,可實現(xiàn)中斷。


這是具體的匯編編程程序
ORG 0000H  
     LJMP MAIN
     ORG 0003H
     LJMP ZHD1
     ORG 000BH
     LJMP ZHD2
     ORG 0013H
     LJMP ZHD3
     ORG 1000H
MAIN:MOV TMOD,#01H
     MOV TL0,#0F0H
     MOV TH0,#0D8H
     SETB EA
     SETB ET0
     SETB TR0
     SETB EX0
     SETB EX1          1
     SETB IT0
     CLR IT1
     SETB PT0
CYCLE:MOV R0,#60
     MOV R1,#65
     MOV R2,#25
LOOP1:SETB P3.4
      MOV P1,#01H
      SETB P1.7
      SETB P1.4
      LCALL DISPLAY
      DJNZ R2,LOOP1
      MOV R2,#25
      DEC R1
      DJNZ R0,LOOP1
      MOV R0,#3
LOOP2:MOV P1,#01H
      SETB P1.7
      SETB P1.3
LLJ:  LCALL DISPLAY
      CPL P1.3
      DJNZ R2,LLJ
      DEC R1
      MOV R2,#25
      DJNZ R0,LOOP2
      MOV R0,#40
LOOP3:MOV P1,#01H
      SETB P1.7
      SETB P1.2
      LCALL DISPLAY
      DJNZ R2,LOOP3
      MOV R2,#25
      DEC R0
      DJNZ R1,LOOP3
      MOV R1,#35;
LOOP4:MOV P1,#01H
      SETB P1.5
      SETB P1.2
      LCALL DISPLAY
      DJNZ R2,LOOP4
      MOV R2,#25
      DEC R0
      DJNZ R1,LOOP4
      MOV R1,#3
LOOP5:MOV P1,#01H
      SETB P1.6
      SETB P1.2
LLJ1: LCALL DISPLAY
      CPL P1.6
      DJNZ R2,LLJ1
      MOV R2,#25
      DEC R0
      DJNZ R1,LOOP5
      LJMP CYCLE
ZHD1: LCALL DISPLAY
      JB P3.6,Q2
      INC R1
      INC R0
      CJNE R1,#99,TIAO2
      MOV R1,#00H
TIAO2:CJNE R0,#99,TIAO3
      MOV R0,#00H
TIAO3:LCALL DISPLAY                                          
      LCALL DISPLAY
      LCALL DISPLAY
      LCALL DISPLAY
      LCALL DISPLAY
      LCALL DISPLAY
      JNB P1.0,Z2
Q2:   JB P3.7,WAIT1
      DEC R1
      DEC R0
      CJNE R1,#00H,TIAO
      MOV R1,#99
TIAO: CJNE R0,#00H,TIAO1
      MOV R0,#99
TIAO1:LCALL DISPLAY
      LCALL DISPLAY
      LCALL DISPLAY
      LCALL DISPLAY
      LCALL DISPLAY
      LCALL DISPLAY
WAIT1:JNB P1.0,Z2
WAIT: LJMP ZHD1
Z2:   RETI
ZHD2: MOV TL0,#0F0H
      MOV TH0,#0D8H
      CLR P3.4
      RETI
ZHD3:MOV P1,#85H
     MOV P0,#30H
     MOV P2,#30H
     JNB P3.3,ZHD3
     RETI
DISPLAY:MOV A,R0
        MOV B,#10
        DIV AB
        ADD A,#10H
        MOV P0,A
TI0:    JNB P3.4,TT
        SJMP TI0
TT:     SETB P3.4
        MOV A,B
        ADD A,#20H
        MOV P0,A
TI1:    JNB P3.4,TT1
        SJMP TI1
TT1:    SETB P3.4
        MOV A,R1
        MOV B,#10
        DIV AB
        ADD A,#10H
        MOV P2,A
TI2:    JNB P3.4,TT2
        SJMP TI2
TT2:    SETB P3.4
        MOV A,B
        ADD A,#20H

…………限于本文篇幅 余下代碼請從51黑下載附件…………


完整論文下載(word格式 可編輯):
基于51單片機匯編語言設(shè)計的交通燈.doc (339.27 KB, 下載次數(shù): 156)


作者: hxylhw99    時間: 2018-12-5 19:50
執(zhí)行著執(zhí)行著突然停了是怎么回事呀
作者: 答案先生    時間: 2020-6-20 09:28
這個有PROTEUS仿真文件嗎?





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