單片機(jī)實訓(xùn)工作報告范文精選
單片機(jī)實訓(xùn)工作報告范文精選_單片機(jī)實訓(xùn)工作報告格式
在單片機(jī)實訓(xùn)教學(xué)過程中采用教師引導(dǎo),學(xué)生主導(dǎo) 的教學(xué)方式,讓學(xué)生掌握技巧,鼓勵學(xué)生獨(dú)立思考。單片機(jī)實訓(xùn)工作報告怎么寫?本文是學(xué)習(xí)啦小編為大家整理的單片機(jī)實訓(xùn)的報告范文,僅供參考。
單片機(jī)實訓(xùn)報告范文篇一
1.課程設(shè)計目的
1)鞏固單片機(jī)基礎(chǔ)知識,串聯(lián)知識點(diǎn)。
2)學(xué)會繪制PCB板,學(xué)會手工制板的一般方法。
3)使用Protel等EDA工具進(jìn)行單片機(jī)硬件系統(tǒng)設(shè)計的能力。
4)基于Keil IDE開發(fā)單片機(jī)應(yīng)用程序的能力。
5)寫技術(shù)報告和編制技術(shù)資料的能力。
6)獨(dú)立工作能力和創(chuàng)造力。
7)綜合運(yùn)用專業(yè)及基礎(chǔ)知識,解決實際工程技術(shù)問題的能力。
2.課程設(shè)計題目描述和要求
旋轉(zhuǎn)電子時鐘的設(shè)計與制作
實現(xiàn)的功能要求:(1)實現(xiàn)單片機(jī)最小系統(tǒng) ;(2)四只LED數(shù)碼管顯示當(dāng)前時分;(3) 每隔一秒鐘周邊的60只LED發(fā)光管旋轉(zhuǎn)一格,裝飾用的LED每隔一秒旋轉(zhuǎn)一次;(4) 實現(xiàn)整點(diǎn)報時;(5) 實現(xiàn)按鍵調(diào)整;(6) 停(掉)電保護(hù),年計時誤差小于30秒;(7) 其他功能。
3.課程設(shè)計報告內(nèi)容
3.1方案論證
3.1.1單片機(jī)定時器做電子時鐘
優(yōu)點(diǎn):考慮到單片機(jī)貨源充足、價格低廉,可軟硬件結(jié)合使用,能夠方便的實現(xiàn)系統(tǒng)的多功能性,故采用單片機(jī)作為本設(shè)計的硬件基礎(chǔ)。故其優(yōu)點(diǎn)是外圍電路簡單,只需要一個單片機(jī)最小系統(tǒng),和一個顯示模塊。
缺點(diǎn):定時不是很準(zhǔn)確,計時誤差較大,并且程序的編寫較繁瑣。
3.1.2數(shù)字電路做電子時鐘
優(yōu)點(diǎn):具有走時準(zhǔn)確、顯示直觀、無機(jī)械傳動裝置。與傳統(tǒng)的機(jī)械鐘先比,電子鐘具有更優(yōu)異的優(yōu)點(diǎn)。由于電子鐘采用數(shù)字集成電路的發(fā)展和采用了先進(jìn)的石英技術(shù),使電子鐘具有走時準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),電子鐘用于定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播及自動控制等各個領(lǐng)域。 缺點(diǎn):因為電子鐘畢竟是電子產(chǎn)品,電子產(chǎn)品都有輻射,不過電子鐘危害極低,對人體夠不成任何危害,不象手機(jī)的輻射那么大。
應(yīng)用:目前,在國內(nèi),電子鐘因數(shù)碼管數(shù)字顯示效用直接有效,所以大多運(yùn)用在城市的主要營業(yè)場所,以及車站、碼頭等公共場所。在對公共場所的電子鐘設(shè)定的時候,使用者還可根據(jù)周邊的氣候、溫度等對LCD屏進(jìn)行設(shè)置。同時,因為數(shù)碼管的顯示耗電量很省,所以能夠保持持續(xù)的工作效果。夜間在睡覺的時候,床頭如果放個帶投影功能的電子鐘,可以不用起床,直接讓時間顯示在天花板上,非常直觀與有效。現(xiàn)在生產(chǎn)的大部分汽車中,車內(nèi)前方儀表盤旁邊一般也都自帶電子鐘功能,采取藍(lán)色背景光板成像效果,非常清晰。
3.2 旋轉(zhuǎn)電子時鐘硬件電路,并簡要講述各部分的原理3.2.1 降壓部分
3.2.1 電源部分
5V電源可使用通用的78XX系列來構(gòu)成,也可以使用LDO來構(gòu)成,一般而言,目前LDO為主流,常用的LDO主要為REG1117-XX系列,該部分的電路可參考圖1,使用一個REG1117-5構(gòu)成5V電源。為了更好地了解系統(tǒng)電源的情況,一般會在電源的輸出端加入一個LED進(jìn)行電源的指示。
3.2.2 顯示部分
60燈旋轉(zhuǎn)的原理和數(shù)碼管顯示原理一模一樣。只不過把數(shù)碼管的段分別用單個二極管代替,形成了8個類似數(shù)碼管的控制結(jié)構(gòu)。
3.2.3 指示部分
為了能輸出用戶的相關(guān)信息,目前使用的有LCD和LED方法,本實訓(xùn)中學(xué)生可以從兩種方法中任選一個.
3.2.4 按鍵部分
本實訓(xùn)使用的是較為簡單的阻容復(fù)位電路。對于單片機(jī)這類微控制器而言,其本質(zhì)就是運(yùn)行用戶設(shè)定的程序,所以必須在基本硬件的基礎(chǔ)上加入一個下載線接口,用來下載用戶編寫的程序,由于STC單片機(jī)支持串行口下載,在做硬件的時候大家只需將單片機(jī)的P3.0和P3.1接排針形成預(yù)留接口,我們用下載線直接下載。用戶輸入信息使用的是獨(dú)立按鍵,本項目中因為要輸入調(diào)整和加減信息,所以僅使用了獨(dú)立按鍵.
4.電路原理圖
5.實訓(xùn)心得
吳軍新:我們經(jīng)過了一周的學(xué)習(xí)和制作后,終于完成了電子時鐘的基本功能。使我們更加地認(rèn)識到了動手能力和理論知識相結(jié)合的重要性。在這次的制作中,我們也深刻地認(rèn)識到我們的不足和自身理論知識的欠缺,所以從中遇到了很多困難,但是最后還是在老師以及組員的幫助下圓滿解決了困難,實現(xiàn)了整個系統(tǒng)的制作與最后的調(diào)試,相關(guān)指標(biāo)達(dá)到預(yù)期的效果,并且很好地完成了本課程要求的任務(wù)。
盧裕達(dá):這些日子我們收獲了許多東西,從零散的元器件到電子時鐘能夠?qū)崿F(xiàn)基本功能的整個過程,在設(shè)計過程中雖然遇到了一些的問題,但經(jīng)過一次又一次的討論,一遍又一遍的檢查我們終于找出了問題所在,也暴露了前期在這方面的知識欠缺和經(jīng)驗不足。通過此次項目的學(xué)習(xí)提高了我們自主學(xué)習(xí)的能力、動手操作的能力和團(tuán)結(jié)合作的能力。
通過這個課程,使我更加扎實的掌握了有關(guān)電子線路、單片機(jī)方面的知識。使我對自己的專業(yè)知識有了更為詳盡而深刻的了解,認(rèn)識到了許多我以前雖然看過但并沒有認(rèn)真的去了解的元器件的使用方法,從而更深的了解到了自己的不足,雖然我的基礎(chǔ)知識不夠扎實,但是我在此期間積累了許多寶貴的經(jīng)驗,這都是我以后走上工作崗位的巨大的財富。在次我要感謝我們的指導(dǎo)老師徐老師和香老師的耐心以及辛苦的指導(dǎo)。還有謝謝組員的包容和辛勤的勞動。
單片機(jī)實訓(xùn)報告范文篇二
前言
一周的單片機(jī)實訓(xùn)很快就結(jié)束咯,在這一周的時間里,我學(xué)到了很多關(guān)于單片機(jī)各方面的知識。老師在實訓(xùn)課中也教會咯我們很多關(guān)于單片機(jī)軟件編程與硬件設(shè)施的知識。
一周的實訓(xùn)中我們一共實訓(xùn)咯好幾個項目,通過這幾個項目的實訓(xùn),我們掌握咯一些單片機(jī)的匯編語言和硬件調(diào)試,達(dá)到了很好的效果。
一周時間實訓(xùn)過后,我把之前在課堂上不懂的知識點(diǎn),通過實際操作的練習(xí),我都搞明白咯。當(dāng)然在實訓(xùn)過程中也遇到咯很多問題,就是有時在調(diào)試方面不能調(diào)試成功,有時程序是沒有錯誤,但是就是調(diào)試不好,一直找原因也找不出是什么原因。
希望以后能夠擁有更多的實訓(xùn)時間和機(jī)會學(xué)習(xí)單片機(jī)。
實訓(xùn)任務(wù)一
一、實驗?zāi)康?/p>
熟悉Keil C51集成開發(fā)環(huán)境的使用方法
二、實驗設(shè)備及器件
IBM PC機(jī)
三、實驗內(nèi)容
按照本書的第2章的2.1節(jié)到2.4節(jié)內(nèi)容進(jìn)行Keil C51集成開發(fā)環(huán)境的安裝和使用練習(xí)。然后按照以下內(nèi)容建立文件并編譯產(chǎn)生HEX文件。
ORG 8000H
LJMP Main
ORG 80F0H
Main:
MOV R7,#0
LOOP:
MOV R6,#0
DJNZ R6,$
DJNZ R6,$
DJNZ R6,$
DJNZ R6,$
DJNZ R7,LOOP ;延時 一臺
CPL P1.0
CPL P1.1
CPL P1.2
CPL P1.3
CPL P1.4
CPL P1.5
CPL P1.6
CPL P1.7
SJMP Main
END ;P1.0取反 ;P1.1取反 ;P1.2取反 ;P1.3取反 ;P1.4取反 ;P1.5取反 ;P1.6取反 ;P1.7取反
通過該程序?qū)崿F(xiàn)八盞燈的同時亮和同時滅的功能,更好的掌握匯編指令。
4、實驗要求:熟練掌握結(jié)合DP-51PROC單片機(jī)綜合仿真實驗儀和Keil C51集成開發(fā)環(huán)境進(jìn)行仿真調(diào)試。如果還有時間,可以把本書的第2章的2.6節(jié)、2.7節(jié)內(nèi)容也看一下
5、實驗步驟:
(1)用40針排線把DP-51PROC實驗儀上的A1區(qū)J76接口和A2區(qū)J79接口相連,然后使用排線把A2區(qū)的J61接口與D1區(qū)的J52接口相連。
2、對DP-51PROC實驗儀上電,然后按照本書的第2章的2.5.1小節(jié)設(shè)置TKSMonitor51仿真器和使用軟件DPFlash把MON51監(jiān)控程序下載到TKSMonitor51仿真器。
3、關(guān)閉DPFlash軟件。把TKSMonitor51仿真器的工作模式選擇開關(guān)切換到RUN處,然后按一下復(fù)位鍵(RST),MON51程序就開始運(yùn)行了。此時,TKSMonitor51仿真器進(jìn)入調(diào)試狀態(tài)。
4、用戶使用Keil C51集成開發(fā)環(huán)境建立工程、編輯與編譯“實驗內(nèi)容”所列的程序。然后按照本書的第2章2.5.3節(jié)的第2點(diǎn)(軟件調(diào)試環(huán)境的設(shè)置)設(shè)置好,然后再編譯一次。
5、此時用戶就可以按照本書的第2章2.5.4節(jié)所講述的方法進(jìn)行仿真調(diào)試。如果用戶在退出仿真調(diào)試模式后想再次進(jìn)入仿真調(diào)試,可以先按一下TKSMonitor51仿真器的復(fù)位鍵(RST)。用戶可以在仿真調(diào)試環(huán)境下設(shè)置斷點(diǎn)、單步、全速運(yùn)行等。在調(diào)試過程中用戶可以看見D1區(qū)的LED的亮滅是由用戶程序來控制的。
實驗任務(wù)二:
一、實驗?zāi)康模豪脝纹瑱C(jī)的P1口作IO口,使用戶學(xué)會利用 P1口作為輸入和輸出口。
二、實驗設(shè)備及器件:
IBM PC機(jī) 一臺
一臺 DP-51PROC單片機(jī)綜合仿真實驗儀
三、實驗內(nèi)容
1.編寫一段程序,用P1口作為控制端口,使D1區(qū)的LED輪流亮。
四、實驗要求
學(xué)會使用單片機(jī)的P1口作IO口,如果有時間用戶也可以利用P3口作IO口來做該實驗
五、實驗步驟
1、用導(dǎo)線把A2區(qū)的J61接口與D1區(qū)的J52接口相連。原理如圖所示。
2、先編寫一個延時程序。
3、將LED輪流亮的程序編寫完整并調(diào)試運(yùn)行
六、實驗程序:
ORG 8000H
LJMP Main
ORG 8100H
Main:
MOV A,#0FFH
CLR C
MainLoop:
CALL Delay
RLC A
MOV P1,A ;把A的值輸出到P1口
SJMP MainLoop
Delay: ;延時
MOV R7,#0
LOOP:
第7 / 9頁
MOV R6,#0
DJNZ R6,$
DJNZ R6,$
DJNZ R6,$
DJNZ R7,LOOP
RET
END
七、實驗結(jié)果:通過調(diào)試成功之后,八盞燈依次向左點(diǎn)亮,實現(xiàn)流水燈程序的功能。
實訓(xùn)總結(jié)
通過這次實訓(xùn),使我們能夠?qū)W以致用,在實踐中進(jìn)一步掌握并鞏固我們的單片機(jī)理論知識。雖然在實訓(xùn)中遇到了不少難題與困惑,暴露出了不少問題和缺乏實踐的弱點(diǎn),但是在老師與同學(xué)們的幫助與指導(dǎo)下,我們最終解決與克服了一個個的困難與困惑,順利的完成了老師交給的實訓(xùn)任務(wù)。
通過幾天下來的實訓(xùn),感覺就是自己的知識實在是太淺了。在課本上學(xué)到的知識感覺自己都懂了,但在實際應(yīng)用中還是無從下手。所以我們不應(yīng)滿足于課本上的知識,只有通過不斷的實踐,才能夠真正掌握理論知識。雖然只有幾天的時光,但還是學(xué)了很多的東西,比之于平常的上課更覺得學(xué)到更多。所以,這對于我們還是一門很必要的課程。當(dāng)然,要真正學(xué)有所用,我們還要在實踐中去不斷提高,不斷完善。 其實剛開始還是不太喜歡實訓(xùn),也有點(diǎn)害怕的。但過后才覺得只有幾天的實訓(xùn)時間還是有點(diǎn)少,畢竟是剛開始對單片機(jī)進(jìn)行實際應(yīng)用,還是很陌生的。由于時間的倉促,自己的作品也遠(yuǎn)還沒達(dá)到完善的地步。
單片機(jī)實訓(xùn)報告范文篇三
一、概述:
設(shè)計制作產(chǎn)品的背景、目的、意義
1.設(shè)計背景
在大二的上半個學(xué)期我們開了一門叫《單片機(jī)技術(shù)與應(yīng)用》的課程,在期末考試之前有一個兩個星期的實訓(xùn),就是用平時所學(xué)的知識在自己的板子上實現(xiàn)一個功能,比如說:實現(xiàn)一個交通燈、萬年歷、密碼鎖或計算器等等,或者自己根據(jù)實際情況自己設(shè)計題目實現(xiàn)一個功能。設(shè)計當(dāng)中最多三個人一個小組,最少自備一臺電腦。不僅如此,我們還能把以前所學(xué)的數(shù)字電路、模擬電路、電路基礎(chǔ)、PCB等知識在這次實訓(xùn)過程中得到用用。在做中學(xué),在學(xué)中作。
2、設(shè)計目的
1. 通過本次課程設(shè)計進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理,鞏固和加深“單片機(jī)原理與應(yīng)用”課程的基本知識,掌握電子設(shè)計知識在實際中的簡單應(yīng)用。
2. 綜合運(yùn)用“單片機(jī)原理與應(yīng)用”課程和先修課程的理論及生產(chǎn)實際知識去分析和解決電子設(shè)計問題,進(jìn)行電子設(shè)計的訓(xùn)練。
3. 學(xué)習(xí)電子設(shè)計的一般方法,掌握AT89C52芯片以及簡單電子設(shè)計過程和運(yùn)行方式,培養(yǎng)正確的設(shè)計思想和分析問題、解決問題的能力,特別是總體設(shè)計能力。
4. 通過計算和繪制原理圖、布線圖和流程圖,學(xué)會運(yùn)用標(biāo)準(zhǔn)、規(guī)范、手冊、圖冊和查閱有關(guān)技術(shù)資料等,培養(yǎng)電子設(shè)計的基本技能。
5. 通過完成一個包括電路設(shè)計和程序開發(fā)的完整過程,了解開發(fā)單片機(jī)應(yīng)用系統(tǒng)全過程,為今后從事的工作打基礎(chǔ)。
3、設(shè)計意義:交通燈的控制系統(tǒng)對于維持城市交通穩(wěn)定有序的運(yùn)轉(zhuǎn)有著至關(guān)重要的作用??紤]到單片機(jī)具有物美價廉、功能強(qiáng)、使用方便靈活、可靠性高等特點(diǎn),本人擬采用AT89C52單片機(jī)來實現(xiàn)十字路口交通信號燈的模擬控制,通過模擬系統(tǒng)的設(shè)計來了解交通燈系統(tǒng)的工作原理和一些基本功能是如何通過單片機(jī)來實現(xiàn)的。
此次設(shè)計基于本人在校期間所學(xué)的有關(guān)單片機(jī)等相關(guān)知識,通過設(shè)計基于AT89C52單片機(jī)的交通燈控制系統(tǒng),將所學(xué)知識運(yùn)用到實踐中并得以深化,進(jìn)一步加強(qiáng)單片機(jī)知識的理解,掌握單片機(jī)的基本原理和各種基本功能的應(yīng)用,并且通過交通燈控制系統(tǒng)的設(shè)計可以進(jìn)一步認(rèn)識單片機(jī)在控制系統(tǒng)中的重要性。
設(shè)計制作產(chǎn)品的設(shè)計要求
1、在萬能板上組裝焊接一個十字交通模擬路口
2、利用學(xué)習(xí)板上的單片機(jī)最小系統(tǒng)、數(shù)碼管、按鍵等資源與組裝焊接的模擬路口組成簡易交通燈控制器硬件系統(tǒng)。
3、編寫軟件實現(xiàn)下表及下圖所示交通路口的相位規(guī)則,循環(huán)顯示交通信號指揮交通。
4、 數(shù)碼管倒計時顯示當(dāng)前相位剩余時間。
5、 時間控制基于定時器實現(xiàn)。
擴(kuò)展功能要求:
1、 在各路口綠燈變黃燈之前加上3秒鐘綠閃,即實現(xiàn)6相位。
2、 增加各方向綠時時間設(shè)定功能。
?、拧⒃黾釉O(shè)定鍵、增加鍵、減少鍵、確認(rèn)鍵
?、?、按下設(shè)定鍵進(jìn)入更改綠時狀態(tài),數(shù)碼管最左面的一位顯示0,右邊兩位顯示當(dāng)前東西方向綠時時間,再次按下設(shè)定鍵數(shù)碼管最左面的一位顯示1,右邊兩位顯示當(dāng)前南北方向綠時時間,依次循環(huán)。
?、?、在設(shè)定狀態(tài)下,按下增加按鍵和減少按鍵可以增加或減少當(dāng)前方向綠時時間,綠時時間范圍10-99秒。
⑷、調(diào)整好綠時時間后,按下確認(rèn)按鍵存儲并更新新的綠時設(shè)定。
設(shè)計文檔要求:
1、繪制系統(tǒng)原理圖及PCB圖。
2、編寫元器件清單
3、上交完整的源程序并對程序進(jìn)行注釋
4、完成電子產(chǎn)品設(shè)計及制作總結(jié)報告
分工情況、工作計劃及本人所總結(jié)工作
1、了解交通燈控制系統(tǒng)的各項功能要求
1. 根據(jù)功能要求設(shè)計不同設(shè)計方案并擇優(yōu)選擇
2. 選擇材料并根據(jù)所選設(shè)計方案進(jìn)行硬件電路的設(shè)計,包括主控制系統(tǒng)、通行燈輸出控制、時間顯示模塊、電源電路等
3. 根據(jù)功能要求進(jìn)行主要程序的設(shè)計,包括初始化程序、主程序、外中斷1中斷服務(wù)程序、定時中斷服務(wù)程序等
4. 使用PROTEUS軟件仿真,檢查是否實現(xiàn)所需功能并在系統(tǒng)上進(jìn)行調(diào)試以達(dá)到預(yù)期效果
本課題的基本內(nèi)容、重點(diǎn)及難
1、基本內(nèi)容:交通燈控制系統(tǒng)的功能要求;制定不同的設(shè)計方案并擇優(yōu)選擇;系統(tǒng)硬件電路的設(shè)計(包括主控制系統(tǒng)、通行燈輸出控制、時間顯示模塊、電源電路等);系統(tǒng)主要程序的設(shè)計(包括初始化程序、主程序、外中斷1中斷服務(wù)程序、定時中斷服務(wù)程序等);軟件仿真(使用PROTEUS軟件仿真)及系統(tǒng)運(yùn)行調(diào)試(檢查能否實現(xiàn)功能并改進(jìn))。
2、重點(diǎn):根據(jù)交通燈控制系統(tǒng)的功能要求制定出不同的設(shè)計方案并擇優(yōu)選擇;根據(jù)設(shè)計方案進(jìn)行硬件電路部分的設(shè)計(包括主控制系統(tǒng)、通行燈輸出控制、時間顯示模塊、電源電路等)。
3、難點(diǎn):根據(jù)交通燈控制系統(tǒng)的功能要求進(jìn)行主要程序的設(shè)計(包括初始化程序、主程序、外中斷1中斷服務(wù)程序、定時中斷服務(wù)程序等);使用PROTEUS軟件仿真并在系統(tǒng)上進(jìn)行調(diào)試。
二、正文:
實驗原理
1.基本原理
主體電路:交通燈自動控制模塊。這部分電路主要由80C51單片機(jī)的I/O端口、定時計數(shù)器、外部中斷擴(kuò)展等組成。
本設(shè)計先是從普通三色燈的指示開始進(jìn)行設(shè)計,用P0口作為輸出。程序的初始化是南北綠燈亮30秒,同時東西紅燈亮30秒;之后南北黃燈亮3秒,東西紅燈亮3秒;之后南北紅燈亮15秒,東西綠亮15秒;之后南北紅燈亮3秒,東西黃燈量3秒,之后重復(fù)執(zhí)行。倒計時用到定時器T0,用P2口作為LED的顯示。二位一體的LED重復(fù)執(zhí)行30秒、3秒、15秒的倒計時。作為突發(fā)事件的處理,本設(shè)計主要用到外部中斷EX0。用一模擬開關(guān)作為中斷信號。實際中可以接其它可以產(chǎn)生中斷信號的信號源。
2.芯片AT89C52
AT89C52是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。
AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。
主要功能特性:
• 兼容MCS51指令系統(tǒng)
• 8k可反復(fù)擦寫(>1000次)Flash ROM
• 32個雙向I/O口
• 256x8bit內(nèi)部RAM
• 3個16位可編程定時/計數(shù)器中斷
• 時鐘頻率0-24MHz
• 2個串行中斷
• 可編程UART串行通道
• 2個外部中斷源
• 共6個中斷源
• 2個讀寫中斷口線
• 3級加密位
• 低功耗空閑和掉電模式
• 軟件設(shè)置睡眠和喚醒功能
實驗流程圖
(一)實現(xiàn)方法
(1)在設(shè)計中利用軟件程序延時的方法來控制紅(綠)的亮的時間。考慮延時時間較長所以先用T0產(chǎn)生終端然后通過計數(shù)的方法來實現(xiàn)延時。利用P1口的P1.1、P1.2、P1.3作為紅綠燈控制端口。
(2)南北向的綠燈連在一塊,東西向的紅燈連在一塊,他們一塊與P1.1相連。同樣南北向的紅燈連在一塊,東西向的綠燈連在一塊,他們一塊與P1. 2相連,四個黃燈連在一塊與P1.3相連。
(二)流程圖
硬件設(shè)計
1.單片機(jī)的結(jié)構(gòu)
單片微機(jī)(Single-Chip Microcomputer)簡稱為單片機(jī)。它在一塊芯片上集中成了中央處理單元CPU、隨機(jī)存儲器RAM、只讀存儲器ROM、定時/計數(shù)和多功能輸入/輸出I/O口,如并行口I/O、串行口I/O和轉(zhuǎn)換A/D等。就其組成而言,一塊單片機(jī)就是一臺計算機(jī)。由于它具有體積小、功能強(qiáng)和價格便宜等優(yōu)點(diǎn),因而被廣泛地應(yīng)用于產(chǎn)品智能化和工業(yè)控制自動化上。
2.主要元器件選擇
(1). 開關(guān)管的選擇:BUTTON按鈕
(2). LED發(fā)光二極管 LED-RED, LED-YELLOW ,LDE-GREEN
(3). 二位一體數(shù)碼管 7SEG-MPX2-CAT-RED:數(shù)碼管(紅色)
(4). PN4249:驅(qū)動三極管
(5). AT89S51系列單片機(jī)
3.設(shè)計顯示部分
LED數(shù)碼顯示部分。LED數(shù)碼顯示部分由七段數(shù)碼顯示管組成。
發(fā)光二極管顯示原理:
發(fā)光二極管是采用砷化鎵、鎵鋁砷和磷化鎵等材料制成,其內(nèi)部結(jié)構(gòu)為一個PN結(jié),具有單向?qū)щ娦?。發(fā)光二極管在制作時,使用的材料不同,那么就可以發(fā)出不同顏色的光。
當(dāng)定時器定時為1秒,時程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數(shù)器賦初值 ,重新進(jìn)入循環(huán)。
軟件設(shè)計
1.單片機(jī)中斷系統(tǒng)基本結(jié)構(gòu)
中斷是一項重要的計算機(jī)技術(shù),是處理正常工作與緊急狀態(tài)的好辦法,是實現(xiàn)人機(jī)實時交互的重要途徑,在單片機(jī)應(yīng)用系統(tǒng)中,中斷技術(shù)得到了廣泛應(yīng)用。下面詳細(xì)介紹單片機(jī)中斷系統(tǒng)基本結(jié)構(gòu)、與中斷相關(guān)的特殊寄存器的設(shè)置及中斷應(yīng)用系統(tǒng)編程方法。
當(dāng)CPU查詢到系統(tǒng)有中斷請求時,如果系統(tǒng)處于中斷允許狀態(tài),CPU將停止當(dāng)前的工作,響應(yīng)中斷請求,轉(zhuǎn)向中斷服務(wù),中斷服務(wù)完成后,返回原程序繼續(xù)執(zhí)行當(dāng)前任務(wù),這叫單片機(jī)中斷。
8051系列單片機(jī)中斷系統(tǒng)結(jié)構(gòu)如圖3.7所示。能讓CPU產(chǎn)生中斷的信號源叫中斷源。8051單片機(jī)有NT0、INT1、T0、T1、TI、RI六個中斷源,但只有EX0、ET0、EX1、ET1、ES五個向量,
INT0、INT1:外部中斷源,由P3.2和P3.2引腳輸入。具有低電平和脈沖兩種觸發(fā)方式,在每個機(jī)器周期的S5P2采樣引腳信號,如有效則由硬件將它的中斷請求標(biāo)志IE置1,請求中斷。當(dāng)CPU響應(yīng)中斷時,由硬件復(fù)位。
T0、T1:定時/計數(shù)器中斷,當(dāng)定時/計數(shù)器產(chǎn)生溢出時,置位中斷請求標(biāo)志TF請求中斷處理。
RI、TI:串行中斷,RI是接收,TI為發(fā)送。單片機(jī)串行口接收到一個字符后RI置1,發(fā)送完一個字符TI置1。值得注意的是,RI、TI在響應(yīng)中斷后,必須由用指令將其復(fù)位。
中斷響應(yīng):
CPU在執(zhí)行程序的過程中,在每個機(jī)器周期的S5P2對中斷標(biāo)志位按中斷優(yōu)先級進(jìn)行查詢,一旦查詢到有中斷請求,CPU只要不在執(zhí)行同級或高級的中斷服務(wù)程序和當(dāng)前指令(RETI指令或訪問IE、IP的指令除外)執(zhí)行完畢兩種情況,則響應(yīng)中斷。如果當(dāng)前正在執(zhí)行的指令是RETI或訪問IE、IP的指令,則當(dāng)前指令執(zhí)行完畢后,CPU才可響應(yīng)中斷。中斷響應(yīng)時間可
以從中斷信號被查詢開始算起,中斷響應(yīng)時間在以下三種情況下,響應(yīng)時間還會更長:
?、?CPU正在執(zhí)行一個比要響應(yīng)的中斷源優(yōu)先級相等或更高的中斷源的中斷服務(wù)程序,此時須等到中斷服務(wù)程序執(zhí)行完畢才可中斷響應(yīng)。
?、?正在執(zhí)行的當(dāng)前指令不是在最后一個機(jī)器周期,只有指令執(zhí)行完后才響應(yīng)中斷。
?、?如果當(dāng)前執(zhí)行的是RETI或訪問IE、IP的指令,則當(dāng)前指令執(zhí)行完畢后,CPU需再執(zhí)行一條指令才可以中斷響應(yīng),因此附加等待響應(yīng)時間不會超過5個機(jī)器周期。
中斷入口:
單片機(jī)響應(yīng)中斷后,將轉(zhuǎn)向特定的入口進(jìn)行中斷服務(wù),從表中可以看出,兩相鄰中斷源的入口地址間隔為8個單元。這意味著如果要把中斷源對應(yīng)的中斷服務(wù)程序從入口地址開始存放,則程序的長度不能超過8個字節(jié),否則會影響到下一個中斷源的入口地址的使用。而通常的情況下,中斷服務(wù)程序的長度不止8個字節(jié),因此,常見的處理方法是:在入口地址處存放一條無條件轉(zhuǎn)移指令,通過這條轉(zhuǎn)移指令轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序入口,中斷服務(wù)程序以RETI為結(jié)束。
中斷請求的撤銷:
CPU響應(yīng)中斷請求,在中斷返回(RETI)之前,該中斷請求應(yīng)被撤除,否則會引發(fā)另一次中斷。
定時/計數(shù)器中斷請求撤銷:CPU在響應(yīng)中斷后,由硬件自動清除中斷請求標(biāo)志TF。 外部中斷請求撤銷:如果采用脈沖觸發(fā)方式,CPU在響應(yīng)中斷后,由硬件自動清除中斷請求標(biāo)志IE;對于電平觸發(fā)方式的外部中斷請求,中斷標(biāo)志的撤銷是自動的,由于造成中斷請求的低電平繼續(xù)存在,所以在響應(yīng)中斷后再次會產(chǎn)生中斷請求,為此響應(yīng)中斷后要撤銷外部信號。
2.每秒鐘的設(shè)定
延時方法可以有兩種一中是利用MCS-51內(nèi)部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。
3.計數(shù)器初值計算
定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通式: TC=M-C
C語言程序
#include"reg52.h" //宏包含MCS-52系列單片機(jī)的頭文件
#define uchar unsigned char
#define uint unsigned int
uchar code duanmatable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//數(shù)碼管段碼數(shù)組
uchar code weima[]={0x7f,0xbf,0xdf,0xef};//位碼數(shù)組
uchar code xiangwei[]={0xdb,30,0x7b,3,0xbd,15,0xb7,3}; //實現(xiàn)相位的切換,數(shù)碼管的倒計時與
交通燈的相位切換巧妙結(jié)合。
void delay (uint z); //延時程序聲明
uchar n50ms,greentime;
uchar xianshi[2]={10,10}; //顯示數(shù)組
void intital();
main()
{ intital();
while(1)
{
uchar i,j;
for(;greentime==0&&j<8;j+=2) //for語句判斷,通過j的變化送不同的值。
{
greentime=xiangwei[j+1]; //送顯相位對應(yīng)的時間
P0=xiangwei[j]; //相位段碼
}
if(j==8)
{
j=0;
}
xianshi[0]=greentime%10;//更新顯示數(shù)組
xianshi[1]=greentime/10; //更新顯示數(shù)組
if(n50ms>=20) //定時器精確延時
{ n50ms=0;
greentime-=1;
}
for(i=0;i<2;i++)//送顯示
{
P3=weima[i];
P2=duanmatable[xianshi[i]];
delay(5);
}
}
}
/*********延時子程序**********/
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=122;y>0;y--);
}
/********延時子程序結(jié)束*******/
void timer0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
n50ms++;
}
void intital()
{
TMOD|=0X01; //定時器1,方式0
TMOD&=0XF1;
TH0=(65536-50000)/256; //賦初值
TL0=(65536-50000)%256;
ET0=1; //開定時器中斷
EA=1; //開總中斷
TR0=1; //開總中斷
}
2、連線說明 三、結(jié)論: 硬件平臺:I51學(xué)習(xí)板。 1、硬件平臺及用到的資源 用到的資源:數(shù)碼管顯示、發(fā)光二極管等。 3.1設(shè)計制作過程中遇到的問題及如何解決的 交通燈電路圖簡易交通燈硬件接線說明 單片機(jī)P0.1-P0.3、P0.5-P0.7依次控制東西方向的綠紅黃,南北方向的綠紅黃。 在接線時總接反,有時候還接錯。在編程時,有時忘記生成機(jī)器碼,忘記保存。最大的問題就是編程了,我在網(wǎng)上也找了許多相關(guān)程序但是許多都看不懂,不過老師也給了一些程序數(shù)碼管顯示電路:段碼控制接口P8用8P杜邦線連接單片機(jī)P2口;位碼控制接口P9用4P杜邦線用4P杜邦線接單片機(jī)P3.4-P3.7。
不過還是都看不懂。前面一些問題在同學(xué)和老師的幫助下我都一一解決,但是在編程這一塊還存在很大問題。
3.2通過設(shè)計制作過程有哪些提高還有哪些不足及今后學(xué)習(xí)提高計劃
在這次的實訓(xùn)過程中我懂得了無論大事還是小事都應(yīng)該注意細(xì)節(jié),在硬件連接、keil開發(fā)平臺已經(jīng)熟練掌握。但是在c語言編程、pcb制圖、畫電路圖在今后的學(xué)習(xí)中應(yīng)該進(jìn)一步提高。 四、心得體會:
在實驗過程中,單片機(jī)作為核心控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大、多變。而且可以隨時的更新系統(tǒng),下載新的文件進(jìn)行不同狀態(tài)的切換,進(jìn)行不同狀態(tài)的組合。一開始感覺很好奇,于是產(chǎn)生濃厚興趣,夢想成為電子產(chǎn)品中的魔術(shù)師!
在一開始硬件連線的過程中從在問題:杜邦線不知道該往哪插,接線時順序總結(jié)反。在編程時有時忘記保存,有時忘記生成機(jī)器碼,編譯之后的錯誤很多。但是在設(shè)計和調(diào)試過程中,也發(fā)現(xiàn)一些問題,譬如紅綠燈的切換速度不夠,綠燈時而亮?xí)r而不亮,紅綠燈規(guī)則效率偏低等,亮度不夠是因為在焊接硬件時把排阻接錯了,應(yīng)該是排阻的阻值用的較大了。在焊接外接電路時沒按照老師的步驟走,最后導(dǎo)致接錯、焊錯。交通燈的外接電路雖然只有幾個電阻、三極管、發(fā)光二極管和幾個接線口以及一個接線板,但是到了自己的手里卻無從下手沒有頭緒,最后在同學(xué)的幫助下最后完成了焊接。
還有,老師說我的外接電路排版不是很好,例如電阻,因為我是用手折彎的,而不是用鑷子,所以這是我以后需要注意的地方。還有一個晶振焊接的不是很整齊,應(yīng)該從新焊一下,但因為我怕麻煩,也怕重焊后會影響美觀,所以就沒再去重試了。另外,由于畫PCB時,我漏畫了一條線,以至于轉(zhuǎn)化為板時那邊出了問題,后來我就得自己對照著PCB再用導(dǎo)線把遺漏的導(dǎo)線連接上,花了不少時間,增加了許多工作量,所以說這些都還需要我們在實踐中繼續(xù)加強(qiáng)改進(jìn),得到進(jìn)一步的完善。
這次課程設(shè)計,我發(fā)現(xiàn)單片機(jī)原理應(yīng)用性很強(qiáng),只在老師的課堂講解是遠(yuǎn)遠(yuǎn)不夠的,老師經(jīng)常說:“只有清華的學(xué)生用上課時間才能聽懂,而且課余時間不用練習(xí),就上課的時間就夠了?!碑?dāng)然我們不屬于他們其中的一部分,要想做到的話只有自己多下功夫勤于動手去做才有可能做到,才能不斷的發(fā)現(xiàn)自己的不足之處,從而有針對性的去學(xué)習(xí),去查資料。許多的余力和程序看似簡單,但真正去做才知道知識并沒有自己想的那樣扎實,就拿編程來說吧,有些程序看似好像懂了,但自己在keil軟件一編程就一塌糊涂、手忙腳亂、不知所措了,可想結(jié)果如何。
在此,從而懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)理論與實際結(jié)合起來,才能真正提高自己的動手能力與思考能力,樹立自己的工作信心。相信會對今后的學(xué)習(xí)工作和生活有非常重要的影響
在設(shè)計過程中我們還得到了老師的幫助與意見。在學(xué)習(xí)、實訓(xùn)過程中不是每個問題都能自己解決,向老師請教或向同學(xué)討論也是一個解決問題,讓自己更快進(jìn)步和增強(qiáng)學(xué)習(xí)能力很好的辦法。
在此,我還想多說幾句,就說說咱們的實訓(xùn)老師吧。在他的幫助下我學(xué)到了許多東西,最后完成了實訓(xùn)。此外,在實訓(xùn)期間還講一些激勵我們的話讓我們從迷茫中走出來,給我們導(dǎo)航指引方向,從而使我們得到進(jìn)步,勇往直前。在課余之時老師還講一些有關(guān)技能大賽的事情,有全國性的電子產(chǎn)品設(shè)計技能大賽、天津市的許多賽事等等,從而使我們從中了解許多有關(guān)大賽的信息。不僅如此,老師還經(jīng)常教育一些上課不認(rèn)真聽講、不做實訓(xùn)的同學(xué),這些都讓我深受感動、值得深思。
在最后,祝愿每個小組在這兩個星期的緊張學(xué)習(xí)中得到理想的成績,從中學(xué)到知識,為以后的工作學(xué)習(xí)中得到用處!
猜你喜歡: