找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18804|回復(fù): 14
收起左側(cè)

單片機交通燈課程設(shè)計下載 含程序 流程圖 電路圖

  [復(fù)制鏈接]
ID:115111 發(fā)表于 2016-5-16 02:02 | 顯示全部樓層 |閱讀模式

基于51單片機的交通燈課程設(shè)計的全部資料下載: 單片機交通燈課程設(shè)計.zip (38.62 KB, 下載次數(shù): 158)

1、任務(wù)要求

1 項目名稱
2 功能描述(如果有,需要注明技術(shù)指標)
3 交通燈硬件實現(xiàn)方案(一般為框圖+原理圖,本項目簡單,直接給原理圖)
4 軟件流程圖(可做分級流程圖)
5 代碼清單(有必要的注釋)
6 本項目相關(guān)技術(shù)還可以應(yīng)用在什么系統(tǒng)中(如洗衣機清洗過程的控制)
7 遇到的主要問題及解決方法(包括解決方案 和 獲得方案的方法、過程)
8 本次工程的主要收獲(技術(shù)上的、個人能力、調(diào)試手段、資料查尋及閱讀、小組合作等等均可)
9 小組成員的分工
10 對綜合訓(xùn)練的評價和建議
11 對課程的評價和建議

2、任務(wù)分析與設(shè)計思路

2.1 設(shè)計思路
本次設(shè)計的題目是“紅綠燈設(shè)計”。目前我們接觸到的交通燈都位于十字路口,而且一般簡單的交通燈為東西方向各三盞燈,南北各三盞燈,一共十二盞燈。東西方向的燈一致,南北方向的燈一致,故只需要按東西為一組,南北為一組,兩組交錯亮滅來設(shè)計控制系統(tǒng)即可達到交通燈系統(tǒng)的控制目的。

2.2方案的設(shè)計

  我們根據(jù)一般普通交通燈的變化規(guī)律,要求:東西紅燈亮,南北綠燈亮,通行25秒,然后南北綠燈閃爍5秒后南北黃燈閃爍5秒;南北紅燈亮,東西綠燈亮,通行25秒,然后東西綠燈閃爍后東西黃燈閃爍,然后再回到東西紅燈進入循環(huán)。

3、總設(shè)計

3.1功能求說明

我們用I/O接線口的P1.0到P1.7來控制交通燈以及一個復(fù)位裝置。P1.3接一個應(yīng)急按鈕,按下第一次放開,南北方向綠燈一直亮,東西方向紅燈一直亮,按下放開第二次,南北綠燈閃3秒黃燈亮2秒后變紅燈,東西方向變?yōu)榫G燈,之后沿著之前的設(shè)置一直循環(huán)。

具體情況如下:

P1.0                               東西紅燈
P1.1                               東西綠燈
P1.2                               東西黃燈
P1.3                               應(yīng)急控制
P1.4
P1.5                               南北紅燈
P1.6                               南北綠燈
P1.7                               南北黃燈

3.2硬件方案設(shè)計   

0.png


3.3軟件方案設(shè)計

  1.本次單片機交通燈課程設(shè)計的程序流程圖如下:
0.png 1.png

2單片機交通燈電路圖


3.2單片機交通燈代碼清單:

org 0000h
ljmp main
org 000bh
ljmp inti0
org 0030h
main:mov tmod,#01h
     mov ie,#82h
  mov th0,#4ch
  mov tl0,#00h
  mov sp,#60h
  mov 31h,#30  ;東西綠燈初值30秒
  mov 32h,#30  ;南北紅燈初值30秒
  clr 4fh  ;清標志位
  clr p1.1 ;開東西綠燈
  clr p1.5 ;開南北紅燈
  setb tr0 ;啟動T0
loop:lcall key   ;調(diào)用應(yīng)急按鍵判斷
     ljmp loop
inti0:push psw
      clr ea
   mov th0,#4ch
   mov tl0,#00h
   inc 35h
   mov a,35h
   cjne a,#20,out  ;判1秒是否到時
   mov 35h,#00
   jb 4fh,yi   ;判別標志位
   dec 31h ;東西時間每秒減1
   dec 32h ;南北時間每秒減1
   mov a,31h
   cjne a,#05,out ;判是否到25秒
   setb p1.1   ;東西綠燈閃滅3秒
  lcall del500ms
  clr p1.1
  lcall del500ms
  setb p1.1
  lcall del500ms
  clr p1.1
  lcall del500ms
  setb p1.1
     lcall del500ms
  clr p1.1
  lcall del500ms
  setb p1.1   ;滅東西綠燈
  sjmp er
out:setb ea
    pop psw
reti
  er:clr p1.2  ;東西黃燈亮2秒
  mov 33h,#4   ;延時2秒
loop1:lcall del500ms
      djnz 33h,loop1
   setb p1.2   ;2秒后滅東西黃燈
   clr p2.1
   mov 31h,#20   ;東西時間賦20秒初值
      mov 32h,#20 ;南北時間賦20秒初值
   setb 4fh
   setb p1.5  ;關(guān)南北紅燈
   clr p1.0  ;點亮東西紅燈
      clr p1.6  ;點亮南北綠燈
   sjmp out
   yi:dec 31h ;東西時間每秒減1
   dec 32h ;南北時間每秒減1
   mov a,31h
   cjne a,#5,out  ;判是否到15秒
   setb p2.7    ;
   setb p1.6  ;南北綠燈閃滅3秒
  lcall del500ms
  clr p1.6
  lcall del500ms
  setb p1.6
  lcall del500ms
  clr p1.6
  lcall del500ms
  setb p1.6
     lcall del500ms
  clr p1.6
  lcall del500ms
   setb p1.6    ;關(guān)南北綠燈
   clr p1.7   ;南北黃燈亮2秒
  mov 34h,#4   ;延時2秒
loop2:lcall del500ms
      djnz 34h,loop2
   setb p1.7   ;2秒后滅南北黃燈
   clr p2.7 ;
   mov 31h,#30 ;東西時間重賦30秒初值
   mov 32h,#30 ;南北時間重賦30秒初值
   clr p1.1    ;點亮東西綠燈
   clr p1.5    ;點亮南北紅燈
   setb p1.0    ;關(guān)東西紅燈
   clr 4fh
   ljmp out
table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h   ;0-9數(shù)字
del1ms:mov r7,#10   ;1ms延時子程序
d1:mov r6,#50
   djnz r6,$
   djnz r7,d1
   ret
del500ms:mov r5,#5  ;500ms延時子程序
del3:mov r4,#200
del4:mov r3,#250
     djnz r3,$
  djnz r4,del4
  djnz r5,del3
  ret
key:jb p1.3,keyout
    jnb p1.3,$
clr ea
inc 36h
mov a,36h
cjne a,#2,key4
mov 36h,#00
   setb p1.6   ;東西綠燈閃滅3秒
  lcall del500ms
  clr p1.6
  lcall del500ms
  setb p1.6
  lcall del500ms
  clr p1.6
  lcall del500ms
  setb p1.6
     lcall del500ms
  clr p1.6
  lcall del500ms
  setb p1.6   ;滅東西綠燈
  clr p1.7  ;東西黃燈亮2秒
  mov 33h,#4   ;延時2秒
loop3:lcall del500ms
      djnz 33h,loop3
   setb p1.7   ;2秒后滅東西黃燈
   setb p1.0   ;關(guān)東西紅燈
   setb p1.6  ;關(guān)南北綠燈
   clr p1.1  ;開西綠燈
   clr p1.5  ;開南北紅燈
   setb ea
   sjmp keyout
key4:clr p1.6 ;開南北綠燈
     clr p1.0   ;開東西紅燈
  setb p1.1
  setb p1.2
  setb p1.3
  setb p1.4
  setb p1.5
  setb p1.7
keyout:ret
end


4、課題相關(guān)問題
1.本次單片機課程設(shè)計的項目相關(guān)技術(shù)
   ①電飯煲的煮飯過程的控制
   ②電冰箱冷藏與冷凍的調(diào)節(jié)過程
   ③空調(diào)的自動調(diào)溫過程
   ④門口的自動控制車輛通行的欄桿
   ⑤時鐘的自動報時系統(tǒng)
2.遇到的主要問題及解決方法
   ①剛開始什么都不懂,程序怎么設(shè)計,代碼怎么寫,一片 空白無從下手。后來通過網(wǎng)上查閱知識,模仿別人設(shè)計的工程琢磨學(xué)習(xí),找到門路。
   ②電腦軟件的使用不熟悉,以及keil3無法將asm文件生成hex文件,以及后來在 proteus軟件中找不到所需的元件。后來我們通過下載keil4解決了生不成hex文件的問題,通過百度找到一個“常用工具檢索表”,通過檢索表在proteus中找到相應(yīng)的元件。
   ③代碼看不懂不會寫,不斷的百度搜索了解匯編語言怎么寫 怎么用。

   3.本次工程的主要收獲
在這次工程的設(shè)計中,首先基本學(xué)會了keil和proteus的使用,明白其各自的功能和作用,然后了解匯編語言,掌握了一些簡單的匯編語言。


小組成員的分工
     :負責(zé)查找資料,代碼.
     :負責(zé)畫圖和查找工具。
     :負責(zé)說明文檔的編寫。
         注:其余我們共同商量處理
對綜合訓(xùn)練的評價和建議
        這樣的綜合訓(xùn)練更加有效率比起單單的考試,這樣我們所學(xué)的東西才能夠真正的使用在實際生活中,而不是停留在試卷上,我們也不會成為那種高才低能的學(xué)生。
    6.對課程的評價和建議
教學(xué)速度快容量多,一節(jié)學(xué)了很多東西,有點兒吸收不過來,關(guān)鍵是課時短,希望學(xué)校能把這門課程的學(xué)時延伸些,這樣學(xué)的東西更加堅實,將來在生活中工作中更能得心應(yīng)手。

評分

參與人數(shù) 1黑幣 +2 收起 理由
imweinan + 2 很給力!

查看全部評分

回復(fù)

使用道具 舉報

ID:151184 發(fā)表于 2016-11-30 11:50 | 顯示全部樓層
試試怎么樣
回復(fù)

使用道具 舉報

ID:244756 發(fā)表于 2017-10-31 22:33 | 顯示全部樓層
這個應(yīng)該不錯
回復(fù)

使用道具 舉報

ID:244921 發(fā)表于 2017-11-1 17:45 | 顯示全部樓層
匯編!
回復(fù)

使用道具 舉報

ID:248160 發(fā)表于 2017-11-10 18:41 | 顯示全部樓層
很給力
回復(fù)

使用道具 舉報

ID:254169 發(fā)表于 2017-12-1 10:28 | 顯示全部樓層
剛好學(xué)習(xí)到,借來使用下了 ,
回復(fù)

使用道具 舉報

ID:349027 發(fā)表于 2018-6-10 21:49 | 顯示全部樓層
很給力
回復(fù)

使用道具 舉報

ID:357617 發(fā)表于 2018-6-24 10:41 | 顯示全部樓層
怎么沒有LCD交通燈的課設(shè)啊
回復(fù)

使用道具 舉報

ID:582866 發(fā)表于 2019-7-12 11:42 | 顯示全部樓層
給力加油給力
回復(fù)

使用道具 舉報

ID:693950 發(fā)表于 2020-2-19 17:01 | 顯示全部樓層
不錯,下次能用c語言的的話更好一點
回復(fù)

使用道具 舉報

ID:716942 發(fā)表于 2020-4-8 12:23 | 顯示全部樓層
感謝樓主分享
回復(fù)

使用道具 舉報

ID:647443 發(fā)表于 2020-5-10 14:43 | 顯示全部樓層
你是用哪個版本的仿真?我的開不了
回復(fù)

使用道具 舉報

ID:647443 發(fā)表于 2020-5-10 14:48 | 顯示全部樓層
能不能發(fā)一份連線圖給我,謝謝
回復(fù)

使用道具 舉報

ID:943968 發(fā)表于 2021-6-24 14:41 | 顯示全部樓層
請問有仿真電路的截圖嗎,可以發(fā)給我一份嗎??
回復(fù)

使用道具 舉報

ID:1001054 發(fā)表于 2022-3-12 10:02 | 顯示全部樓層
可以 匯編
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表