版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)系統(tǒng)課程設(shè)計(jì)報(bào)告 專 業(yè): 網(wǎng)絡(luò)工程1班 學(xué) 生 姓 名: 學(xué) 號(hào): 完成日期:2011年10月28日131 設(shè)計(jì)任務(wù)和性能指標(biāo)1.1設(shè)計(jì)任務(wù)南北東西利用單片機(jī)完成交通信號(hào)燈控制器的設(shè)計(jì),該交通信號(hào)燈控制器由一條主干道和一條支干道匯合成十字路口,在每個(gè)入口處設(shè)置紅、綠、黃三色信號(hào)燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時(shí)間停在禁行線外。用紅、綠、黃發(fā)光二極管作信號(hào)燈。如圖上圖所示。設(shè)東西向?yàn)橹鞲傻?,南北為支干道?.2性能指標(biāo)(1)處于常允許通行的狀態(tài),支干道有車來(lái)時(shí)才允許通行。主干道亮綠燈時(shí),支干道亮紅燈;支干道亮綠燈時(shí),主干道亮紅燈。(2)干道均有車時(shí),兩者交替允
2、許通行,主干道每次放行60秒,支干道每次放行40秒,設(shè)立60秒、40秒計(jì)時(shí)、顯示電路。(3)綠燈亮到紅燈亮的轉(zhuǎn)換過(guò)程中,要亮5秒黃燈作為過(guò)渡。黃燈亮?xí)r,原紅燈按1hz的頻率閃爍。(4)支干道通行時(shí)間及黃燈亮的時(shí)間均可在099秒內(nèi)任意設(shè)置。2 設(shè)計(jì)方案2.1任務(wù)分析模擬交通燈控制器就是使用單片機(jī)來(lái)控制一些led 和數(shù)碼管,模擬真實(shí)交通燈的功能。紅、黃、綠交替閃亮,利用數(shù)碼管倒計(jì)數(shù)顯示間隔等,用于管理十字路口的車輛及行人交通,計(jì)時(shí)牌顯示路口通行轉(zhuǎn)換剩余時(shí)間等2.2方案設(shè)計(jì)根據(jù)設(shè)計(jì)的要求可知,系統(tǒng)的硬件原理框圖如下圖所示。 系統(tǒng)硬件框圖單片機(jī)可選用at89c52,它與8052系列單片機(jī)全兼容,但其內(nèi)
3、部帶有4kb的flash rom,設(shè)計(jì)時(shí)無(wú)需外接程序存儲(chǔ)器,為設(shè)計(jì)和調(diào)試帶來(lái)極大的方便。南北向和東西向各采用2個(gè)數(shù)碼管計(jì)時(shí),同時(shí)需要對(duì)該方向的指示燈的點(diǎn)亮?xí)r間進(jìn)行倒計(jì)時(shí)。鍵盤(pán)系統(tǒng)可以根據(jù)系統(tǒng)的需要設(shè)置不同的鍵的個(gè)數(shù),可以選擇線式鍵盤(pán)或矩陣式鍵盤(pán),若單片機(jī)的io口不夠用時(shí),可以考慮擴(kuò)展8255或8155滿足系統(tǒng)的要求。2. 軟件方案 根據(jù)設(shè)計(jì)要求,程序框圖如圖1所示。軟件可由匯編語(yǔ)言完成,也可由c語(yǔ)言完成。軟件設(shè)計(jì)可以分為以下幾個(gè)功能模塊:主程序:初始化及鍵盤(pán)監(jiān)控。計(jì)時(shí)程序模塊:為定時(shí)器的中斷服務(wù)子程序,完成0.1秒(或其他時(shí)間)和1秒的時(shí)間定時(shí)。 顯示程序模塊:完成60個(gè)發(fā)光二極管(實(shí)際上只需
4、驅(qū)動(dòng)30個(gè))和8個(gè)led數(shù)碼管的顯示驅(qū)動(dòng)。調(diào)用正常運(yùn)行子程序調(diào)用緊急狀態(tài)子程序判斷當(dāng)前狀態(tài)初始化開(kāi)始 程序流程圖3 系統(tǒng)硬件設(shè)計(jì)3.1單片機(jī)的最小系統(tǒng)atmel公司生產(chǎn)的at89c52單片機(jī)它是硬件電路的核心部分,時(shí)鐘電路晶振使用12mhz,復(fù)位電路采取按鍵復(fù)位方式。具體連接圖3.1和圖3.2。單片機(jī)系統(tǒng)的時(shí)鐘電路單片機(jī)系統(tǒng)的復(fù)位電路3.2電源電路設(shè)計(jì) 電源用5v直流變壓器直接供電。3.3數(shù)碼管顯示電路 顯示電路采用8個(gè)共陰數(shù)碼管,p1口作為數(shù)碼管的輸入,p3.4、p3.5、p3.6 p3.7分別作為東西南北四路數(shù)碼管的位選端。 數(shù)碼管顯示電路3.4信號(hào)燈控制電路 應(yīng)急電路4 系統(tǒng)軟件設(shè)計(jì)開(kāi)始
5、4.1 主程序設(shè)計(jì) 參數(shù)初始化顯示子程序中斷處理緊急中斷子程序系統(tǒng)程序流程圖 5 調(diào)試及性能分析5.1 調(diào)試分析5.1.1 軟件調(diào)試 軟件調(diào)試主要是利用proteus仿真軟件完成電路的搭建,運(yùn)行以發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤及時(shí)改正。5.1.2 硬件調(diào)試硬件調(diào)試主要是檢測(cè)硬件電路是否有短路、斷路、虛焊等。具體步驟及測(cè)試結(jié)果如下:(1)檢查電源與地線是否全部連接上,用萬(wàn)用表對(duì)照電路原理圖測(cè)試各導(dǎo)線是否完全連接,對(duì)未連接的進(jìn)行修復(fù)。(2)參照原理圖,檢查各個(gè)器件之間的連接是否連接正確,是否存在虛焊,經(jīng)測(cè)試,各連接不存在問(wèn)題。(3)以上兩項(xiàng)檢查并修復(fù)完后,給該硬件電路上電,電源指示燈點(diǎn)亮。5.1.3 系統(tǒng)功能調(diào)
6、試 通過(guò)軟件仿真顯示,系統(tǒng)基本能完成要求,由于設(shè)計(jì)思路出現(xiàn)問(wèn)題,鍵盤(pán)沒(méi)有正確的做出來(lái),沒(méi)有鍵盤(pán)電路,緊急情況也可以通過(guò)一個(gè)按鈕來(lái)采取相關(guān)的動(dòng)作。 6 心得體會(huì) 這次單片機(jī)課程設(shè)計(jì)歷時(shí)兩個(gè)星期的時(shí)間,在這次設(shè)計(jì)過(guò)程里我體驗(yàn)了從設(shè)計(jì)、畫(huà)板、編程、焊板到調(diào)試的整個(gè)過(guò)程。 對(duì)于交通燈這個(gè)題目,由于以前學(xué)單片機(jī)這個(gè)課程時(shí),做過(guò)類似相關(guān)的實(shí)驗(yàn),覺(jué)得這個(gè)比較簡(jiǎn)單而且做出的東西也比較直觀,在確定題目之后,查閱了大量的資料,初步完成了電路設(shè)計(jì)方案。 接著就是畫(huà)電路板,這個(gè)軟件的應(yīng)用學(xué)過(guò)了,但是學(xué)的時(shí)候感覺(jué)很簡(jiǎn)單,但是到了具體設(shè)計(jì)的時(shí)候,問(wèn)題不斷的出來(lái),比如有的器件庫(kù)里面沒(méi)有封裝,要自己花封裝,這時(shí)候就很容易出問(wèn)
7、題,比如焊盤(pán)的大小,有的器件上焊盤(pán)大小不一樣,有個(gè)別大的是用來(lái)固定的,這個(gè)很容易被忽略。 接下來(lái)就是程序的設(shè)計(jì)了,雖然感覺(jué)交通燈程序沒(méi)什么難的,就是數(shù)碼管倒計(jì)時(shí)顯示加幾個(gè)閃爍的二極管就完事,但是也許是起初想的太簡(jiǎn)單,設(shè)計(jì)時(shí)到了細(xì)節(jié)處,也出了不少問(wèn)題,而且很難被檢查出來(lái),但是最后經(jīng)過(guò)不斷努力,還是寫(xiě)出來(lái)正確的代碼。 通過(guò)這次課設(shè),對(duì)以前學(xué)過(guò)的知識(shí)進(jìn)行了鞏固,加深了理解,提高了應(yīng)用的能力,而且提高了我們的發(fā)現(xiàn)、分析、解決問(wèn)題的能力。經(jīng)歷了從最初的設(shè)計(jì)到最后做出產(chǎn)品的開(kāi)發(fā)過(guò)程,提高了對(duì)專業(yè)的認(rèn)識(shí)及興趣,對(duì)于我來(lái)說(shuō),對(duì)以后就業(yè)有及其重大的影響。參考文獻(xiàn)1 徐維祥.單片微型機(jī)原理及應(yīng)用 大連理工大學(xué)出版
8、社,2006.122 胡漢才.單片機(jī)原理與接口技術(shù)m.北京: 清華大學(xué)大學(xué)出版社,2004.1-505.3 閆勝利.altium designer 6.中文版使用教程電子工業(yè)出版社2007.64 李泉溪.單片機(jī)原理附錄1 系統(tǒng)原理圖附錄2 系統(tǒng)仿真圖附錄3 程序清單;-;程序?qū)崿F(xiàn)功能;西南北路口直行與轉(zhuǎn)彎交替通行,數(shù)碼管顯示直行通行倒計(jì)時(shí),紅綠黃燈顯示包括人行道在內(nèi)的道路交通狀態(tài)。;某一方向道路擁擠時(shí),可以人工控制調(diào)節(jié)東西南北方向通行時(shí)間。;緊急情況時(shí),各路口交通燈顯示紅燈,數(shù)碼管保持?jǐn)?shù)據(jù)不變。;工作寄存器及存儲(chǔ)單元分配;1.工作寄存器;r2設(shè)置為定時(shí)器定時(shí)中斷次數(shù),r6、r7用于延時(shí)程序中的
9、寄存器;2.片內(nèi)存儲(chǔ)單元;30h、31h作為兩組數(shù)碼管顯示數(shù)據(jù)存儲(chǔ)單元;32h、33h作為交通燈初始狀態(tài)存儲(chǔ)單元;40h、41h作為交通燈顯示數(shù)據(jù)存儲(chǔ)單元;3.標(biāo)志位;00h:南北通行標(biāo)志位 ; 01h:東西通行標(biāo)志位;02h:緊急事件標(biāo)志位 ;-snf equ 00h ;南北通行標(biāo)志位ewf equ 01h ;東西通行標(biāo)志位urf equ 02h ;緊急事件標(biāo)志位org 0000hljmp main ;上電轉(zhuǎn)主程序org 000bh ;定時(shí)中斷入口ljmp dszd org 0003h ;緊急中斷入口ljmp urzdorg 0030h main: lcall init ;調(diào)用初始化子程序l
10、oop: lcall dis ;循環(huán)執(zhí)行顯示子程序 ajmp loop;/初始化程序init: setb snf setb ewf setb urf mov r2,#20 ;定時(shí)器中斷20次為1s mov tmod,#01h ;初始化定時(shí)器 mov tl0,#0b0h mov th0,#3ch setb ea ;開(kāi)定時(shí)中斷與緊急中斷 setb et0 setb tr0 setb ex0 setb it0 ;設(shè)置中斷程控方式 mov dptr,#tab ;數(shù)值首地址放入dptr中 mov 40h,#40 ;東南西北通行時(shí)間設(shè)置 mov 41h,#40 mov 30h,#40 ;通行時(shí)間初始化 m
11、ov 31h,#60 mov p0,#4ch ;初始化時(shí)南北通行并把交通燈狀態(tài)分別放在32h和33h中 mov 32h,#4ch mov p2,#15h mov 33h,#15h ret;/顯示子程序dis: mov p3,#0dfh ;選中南北方向的十位數(shù)碼管 mov a,30h ;把顯示數(shù)據(jù)送人數(shù)碼管顯示 mov b,#10 div ab movc a,a+dptr mov p1,a ; lcall d1ms mov p3,#0efh ;選中南北方向的個(gè)位數(shù)碼管 mov a,b ;送入數(shù)碼管顯示 movc a,a+dptr mov p1,a lcall d1ms mov p3,#7fh ;
12、選中第東西方向的十位數(shù)碼管 mov a,31h ;送入數(shù)碼管顯示 mov b,#10 div ab movc a,a+dptr mov p1,a lcall d1ms mov p3,#0bfh ;選中第東西方向的個(gè)位數(shù)碼管 mov a,b movc a,a+dptr mov p1,a lcall d1ms setb p3.0 setb p3.1 jnb p3.0,dis_s ;查詢是否第一個(gè)按鍵按下 jnb p3.1,dis_e ;查詢是否第二個(gè)按鍵按下 ajmp dis_r ;沒(méi)有鍵按下則返回dis_s:lcall d5ms ;按鍵去抖 jnb p3.0,dis_sn ajmp dis_r
13、dis_sn:mov 40h,#50 ;對(duì)通行時(shí)間從新分配,南北通行時(shí)間加長(zhǎng) mov 41h,#30 ajmp dis_rdis_e:lcall d5ms ;按鍵去抖 jnb p3.1,dis_ew ajmp dis_rdis_ew:mov 40h,#30 ;東西通行時(shí)間加長(zhǎng) mov 41h,#50dis_r:ret ;/定時(shí)中斷處理程序ds_c: ljmp ds_r ;接力跳轉(zhuǎn)dszd: push acc ;保護(hù)現(xiàn)場(chǎng) push psw clr tr0 ;關(guān)定時(shí)器及中斷標(biāo)志位并重新賦值 clr tf0 mov tl0,#0b0h mov th0,#3ch djnz r2,ds_c ;判斷1m時(shí)
14、間是否到達(dá) mov r2,#20 ;到達(dá)重新賦值 dec 30h ;南北方向通行時(shí)間減一 mov a,30h ;把減一后的時(shí)間送入顯示存儲(chǔ)單元;南北通行到達(dá)最后4秒時(shí)黃燈閃爍ds_10:cjne a,#4,ds_11 ;如果通行時(shí)間剩余4秒 jnb snf,ds_11 ;判斷是否是南北通行 mov p0,#8ah mov 32h, #8ah ;把交通燈狀態(tài)存入存儲(chǔ)單元(后面類似)ds_11:cjne a,#3,ds_12 ;不是剩余3秒,返回 jnb snf,ds_12 ;不是南北通行時(shí)間,返回 mov p0,#88h mov 32h, #88hds_12:cjne a,#2,ds_13 jn
15、b snf,ds_13 mov p0,#8ah mov 32h, #8ah ds_13:cjne a,#1,ds_14 jnb snf,ds_14 mov p0,#88h mov 32h, #88h;-ds_14:jnz ds_ne ;通行時(shí)間沒(méi)有結(jié)束轉(zhuǎn)向改變東西方向的數(shù)碼管 cpl snf ;如果通行時(shí)間結(jié)束則對(duì)標(biāo)志位取反 jnb snf,ds_1 ;判斷是否南北通行 mov 30h,40h ;是,點(diǎn)亮相應(yīng)的交通燈 mov p0,#4ch mov 32h,#4ch ;存儲(chǔ)交通燈狀態(tài) mov p2,#15h mov 33h, #15h ;存儲(chǔ)交通燈狀態(tài)ds_ne:dec 31h ;東西方向通行
16、時(shí)間減一 mov a,31h ;把通行剩余時(shí)間送入顯示存儲(chǔ)單元;東西方向通行時(shí)間剩余4秒鐘黃燈閃爍(程序注釋與南北方向類似 略)ds_20:cjne a,#4,ds_21 jb ewf,ds_21 mov p0,#51h mov 32h, #51hds_21:cjne a,#3,ds_22 jb ewf,ds_22 mov p0,#41h mov 32h, #41hds_22:cjne a,#2,ds_23 jb ewf,ds_23 mov p0,#51h mov 32h, #51hds_23:cjne a,#1,ds_24 jb ewf,ds_24 mov p0,#41h mov 32h,
17、#41h;-ds_24:jnz ds_r ;東西方向時(shí)間沒(méi)有結(jié)束,返回 cpl ewf ;對(duì)通行狀態(tài)取反 jnb ewf,ds_2 ;東西方向通行時(shí)間到來(lái),跳轉(zhuǎn) mov 31h,#80 ;東西方向通行結(jié)束,重新顯示時(shí)間 mov p0,#89h ;點(diǎn)亮相應(yīng)的交通燈 mov 32h, #89h mov p2,#29h mov 33h, #29h ajmp ds_r ds_1: mov 30h,#80 ;南北通行時(shí)間結(jié)束,重新對(duì)顯示存儲(chǔ)單元賦值 mov p0,#89h ;執(zhí)行轉(zhuǎn)彎狀態(tài)1 mov 32h, #89h mov p2,#26h mov 33h, #26h ajmp ds_ne ds_2: mov 31h,41h ;東西方向開(kāi)始通行,賦值予顯示存儲(chǔ)單元 mov p0,#61h ;點(diǎn)亮相應(yīng)的交通燈 mov 32h, #61h mov p2,#15h mov 33h, #15hds_r: setb tr0 pop psw ;恢復(fù)現(xiàn)場(chǎng) pop acc reti;/緊急中斷處理程序urzd: push acc ;保護(hù)現(xiàn)場(chǎng) push psw clr ie0 ;清除中斷標(biāo)志位 clr tr0 ;關(guān)定時(shí)器 cpl urf ;緊急事件標(biāo)志位 jb urf,ur_con ;緊急結(jié)束;跳轉(zhuǎn) mov p0,#
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度排水設(shè)施保險(xiǎn)合同4篇
- 二零二五版飯店蔬菜肉類產(chǎn)地直供合作合同2篇
- 二零二五年度全新科技項(xiàng)目居間合作費(fèi)合同模板下載2篇
- 二零二五年度內(nèi)蒙古肉牛產(chǎn)業(yè)鏈人才培養(yǎng)與引進(jìn)合同
- 2025年度汽車銷售促銷活動(dòng)執(zhí)行合同模板
- 二零二五年度學(xué)校室內(nèi)外體育設(shè)施一體化采購(gòu)合同范本3篇
- 2025年度民間借貸合同監(jiān)督與委托管理服務(wù)合同4篇
- 2025年度面粉加工企業(yè)二零二五年度綠色有機(jī)面粉采購(gòu)合同4篇
- 2025年度新能源汽車抵押擔(dān)保服務(wù)合同
- 二零二五年度公共綠地養(yǎng)護(hù)管理合同范本3篇
- 廣東省茂名市電白區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末質(zhì)量監(jiān)測(cè)生物學(xué)試卷(含答案)
- 2024版?zhèn)€人私有房屋購(gòu)買(mǎi)合同
- 2024爆炸物運(yùn)輸安全保障協(xié)議版B版
- 2025年度軍人軍事秘密保護(hù)保密協(xié)議與信息安全風(fēng)險(xiǎn)評(píng)估合同3篇
- 《食品與食品》課件
- 讀書(shū)分享會(huì)《白夜行》
- 光伏工程施工組織設(shè)計(jì)
- DB4101-T 121-2024 類家庭社會(huì)工作服務(wù)規(guī)范
- 化學(xué)纖維的鑒別與測(cè)試方法考核試卷
- 2024-2025學(xué)年全國(guó)中學(xué)生天文知識(shí)競(jìng)賽考試題庫(kù)(含答案)
- 自動(dòng)駕駛汽車道路交通安全性探討研究論文
評(píng)論
0/150
提交評(píng)論