單片機(jī)實(shí)訓(xùn)總結(jié)
總結(jié)是指對(duì)某一階段的工作、學(xué)習(xí)或思想中的經(jīng)驗(yàn)或情況加以總結(jié)和概括的書面材料,它可以使我們更有效率,我想我們需要寫一份總結(jié)了吧。但是卻發(fā)現(xiàn)不知道該寫些什么,下面是小編為大家收集的單片機(jī)實(shí)訓(xùn)總結(jié),歡迎大家分享。
單片機(jī)實(shí)訓(xùn)總結(jié)1
通過這一個(gè)學(xué)期的單片機(jī)學(xué)習(xí),我收獲了很多關(guān)于單片機(jī)的知識(shí),并且這些知識(shí)和日常的生活息息相關(guān)。了解了一些簡單程序的錄入,LED顯示器、鍵盤、和顯示器的應(yīng)用和原理。
LED顯示器:LED顯示器是由發(fā)光二管組成顯示字段的器件。通常的8段LED顯示器是由8個(gè)發(fā)光二極管組成,LED顯示器分共陽極和共陰極兩種。有段選碼和和位選碼。當(dāng)LED顯示器每段的平均電流位5MA時(shí),就有較滿意的亮度,一般選擇斷碼5-10MA電流;位線的電流應(yīng)選擇40-80MA。LED顯示器的顯示方式有動(dòng)態(tài)和靜態(tài)兩種。7289A芯片是具有SPI串行接口功能的顯示鍵盤控制芯片,它可同時(shí)取得8位共陰極數(shù)碼管和64個(gè)鍵的鍵盤矩陣。7289A的控制指令分為兩類:8位寬度的單字節(jié)指令和16位寬度雙字節(jié)指令;還有閃爍指令和消隱指令。7289A采用串行方式SPI總線與微處理器通信;7289A與AT89C52接口電路,在實(shí)際電路中無論接不接鍵盤,電路中連接到其各段上的8個(gè) 100千歐的下拉電阻均不可以省去,如果不接鍵盤而只接顯示器可以省去8個(gè)10千歐電阻,若僅接鍵盤而不接顯示器,可省去串入DP及SA-SG連線的8個(gè)220歐電阻,7289A還需要外接晶體振蕩電路。液晶顯示器簡稱LCD,其顯示原理是用經(jīng)過處后的液晶具有能改變光線傳輸方向的特性,達(dá)到顯示字符和圖形的'目的。最簡單的筆段式液晶顯示器類似于LCD顯示器,可以顯示簡單的字符和數(shù)字,而目前大量使用的是點(diǎn)陣式LCD顯示器,既可以顯示字符和數(shù)字也可以顯示漢字和圖形。如果把LCD顯示屏、背光可變電源、接口控制邏輯、驅(qū)動(dòng)集成芯片等部件構(gòu)成一個(gè)整體,是的與CPU接口十分方便。
鍵盤:鍵盤是最常見的計(jì)算機(jī)輸入設(shè)備,它廣泛應(yīng)用于微型計(jì)算機(jī)和各種終端設(shè)備上。計(jì)算機(jī)操作者通過鍵盤向計(jì)算機(jī)輸入各種指令、數(shù)據(jù),指揮計(jì)算機(jī)的工作。按照鍵盤的工作原理和按鍵方式的不同,可以劃分為四種:機(jī)械式鍵盤采用類似金屬接觸式開關(guān),工作原理是使觸點(diǎn)導(dǎo)通或斷開,具有工藝簡單、噪音大、易維護(hù)的特點(diǎn)。 塑料薄膜式鍵盤鍵盤內(nèi)部共分四層,實(shí)現(xiàn)了無機(jī)械磨損。其特點(diǎn)是低價(jià)格、低噪音和低成本,已占領(lǐng)市場(chǎng)絕大部分份額。 導(dǎo)電橡膠式鍵盤觸點(diǎn)的結(jié)構(gòu)是通過導(dǎo)電橡膠相連。鍵盤內(nèi)部有一層凸起帶電的導(dǎo)電橡膠,每個(gè)按鍵都對(duì)應(yīng)一個(gè)凸起,按下時(shí)把下面的觸點(diǎn)接通。這種類型鍵盤是市場(chǎng)由機(jī)械鍵盤向薄膜鍵盤的過渡產(chǎn)品。 無接點(diǎn)靜電電容式鍵盤使用類似電容式開關(guān)的原理,通過按鍵時(shí)改變電極間的距離引起電容容量改變從而驅(qū)動(dòng)編碼器。特點(diǎn)是無磨損且密封性較好。
按照按鍵方式的不同鍵盤可分為接觸式和無觸點(diǎn)式兩類。接觸式鍵盤就是我們通常所說的機(jī)械式鍵盤,它又分為普通觸點(diǎn)式和干簧式。普通觸點(diǎn)式的兩個(gè)觸點(diǎn)直接接觸,從而使電路閉合,產(chǎn)生信號(hào);而干簧式鍵盤則是在觸點(diǎn)間加裝磁鐵,當(dāng)鍵按下時(shí),依靠磁力使觸點(diǎn)接觸,電路閉合。與普通觸點(diǎn)式鍵盤相比,干簧式鍵盤具有響應(yīng)速度快、使用壽命長、觸點(diǎn)不易氧化等優(yōu)點(diǎn)。無觸點(diǎn)式鍵盤又分為電容式、霍爾式和觸摸式三種。其中電容式是我們最常用到的鍵盤類型,它的觸點(diǎn)之間并非直接接觸,而是當(dāng)按鍵按下時(shí),在觸點(diǎn)之間形成兩個(gè)串聯(lián)的平板電容,從而使脈沖信號(hào)通過,其效果與接觸式是等同的。電容式鍵盤擊鍵時(shí)無噪聲,響應(yīng)速度快,但是價(jià)格很高一些。
顯示器:按照顯示器的顯示管分類CRT、LCD。按顯示色彩分類單色顯示器、彩色顯示器。按大小分類通常有14寸、15寸、17寸和19寸,或者更大。顯示管的屏幕上涂有一層熒光粉,電子槍發(fā)射出的電子擊打在屏幕上,使被擊打位置的熒光粉發(fā)光,從而產(chǎn)生了圖像,每一個(gè)發(fā)光點(diǎn)又由“紅”“綠”“藍(lán)”三個(gè)小的發(fā)光點(diǎn)組成,這個(gè)發(fā)光點(diǎn)也就是一個(gè)象素。由于電子束是分為三條的,它們分別射向屏幕上的這三種不同的發(fā)光小點(diǎn),從而在屏幕上出現(xiàn)絢麗多彩的畫面。顯示器顯示畫面是由顯示卡來控制的。若仔細(xì)觀察顯示器上的文本或圖像是由點(diǎn)組成的,屏幕上點(diǎn)越多越密,則分辨率越高。
屏幕上相鄰兩個(gè)同色點(diǎn)的距離稱為點(diǎn)距,常見點(diǎn)距規(guī)格有0.31mm、0.28mm、0.25mm等。顯示器點(diǎn)距越小,在高分辨率下越容易取得清晰的顯示效果。電子束采用光柵掃描方式,從屏幕左上角一點(diǎn)開始,向右逐點(diǎn)進(jìn)行掃描,形成一條水平線;到達(dá)最右端后,又回到下一條水平線的左端,重復(fù)上面的過程;當(dāng)電子束完成右下角一點(diǎn)的掃描后,形成一幀。此后,電子束又回到左上方起點(diǎn),開始下一幀的掃描。這種方法也就是常說的逐行掃描顯示。而隔行掃描指電子束在掃描時(shí)每隔一行掃一線,完成一屏后再返回來掃描剩下的線,這與電視機(jī)的原理一樣。隔行掃描的顯示器比逐行掃描閃爍得更厲害,也會(huì)讓使用者的眼睛更疲勞。完成一幀所花時(shí)間的倒數(shù)叫垂直掃描頻率,也叫刷新頻率,比如60Hz、75Hz等。
通過這幾天的單片機(jī)的實(shí)訓(xùn),我在理論的基礎(chǔ)上更深刻的掌握了單片機(jī)的深層內(nèi)容及實(shí)際生活中的應(yīng)用,實(shí)訓(xùn)鍛煉了自己動(dòng)手能力和思維能力,還有在軟件方面的編程能力,讓我受益匪淺,同時(shí)也暴露出一些平時(shí)學(xué)習(xí)上的問題,讓我深刻反思。這些問題的發(fā)現(xiàn)將為我以后的學(xué)習(xí)和工作找明道路,查漏補(bǔ)缺為進(jìn)一步學(xué)習(xí)作好準(zhǔn)備。通過實(shí)訓(xùn),讓我懂得了如何編寫一些簡單的程序,學(xué)會(huì)了如何制作單片機(jī)應(yīng)用程序,并且可以在今后的日常生活中靈活運(yùn)用。
單片機(jī)實(shí)訓(xùn)總結(jié)2
單片機(jī)是一門應(yīng)用性和綜合性很強(qiáng)的學(xué)科,它綜合了電子技術(shù)中的模擬電路和數(shù)字電路方面的知識(shí),特別是數(shù)字電路,因?yàn)閿?shù)字電路在單片機(jī)里面的應(yīng)用很多。由于單片機(jī)涉及的知識(shí)很多,所以我們只能循序漸進(jìn)的學(xué)習(xí),逐步的積累,沒有什么捷徑可循。
在大二的時(shí)候,我就聽學(xué)長介紹過單片機(jī),當(dāng)時(shí)感覺很神奇,從此就對(duì)單片機(jī)特別感興趣,也感覺它特別有用。于是經(jīng)學(xué)長推薦,在大二上學(xué)期我利用學(xué)習(xí)之余在圖書館借書,學(xué)習(xí)了KILE和Proteus軟件,剛開始學(xué)習(xí)的時(shí)候,對(duì)單片機(jī)沒有什么認(rèn)識(shí),不知道什么是單片機(jī),更不知道它有什么作用。通過學(xué)習(xí)才大體知道了單片機(jī)的一些知識(shí)。由中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口、定時(shí)器/計(jì)數(shù)器以及串行通信接口等集成在一塊芯片上,構(gòu)成了一個(gè)單片微型計(jì)算機(jī),簡稱為單片機(jī)。也算給我正式學(xué)習(xí)單片機(jī)打下一個(gè)基礎(chǔ)。
在大二下學(xué)期,我購買了一套單片機(jī)學(xué)習(xí)開發(fā)板和郭天祥主編的《新概念51單片機(jī)C語言教程》,從此正式開啟我的單片機(jī)學(xué)習(xí)之路。在剛開始學(xué)時(shí),就完全模仿郭天祥主編的這本書再結(jié)合開發(fā)板一步一步的學(xué),從點(diǎn)亮一個(gè)發(fā)光二級(jí)管,流水燈,數(shù)碼管,定時(shí)器,中斷,矩陣鍵盤,AD、DA,串口通行,I2C總線等一步一步的深入學(xué)習(xí)。此時(shí),我雖然能看懂程序,一些簡單的程序可以自己編寫,但一些比較復(fù)雜的自己編不出來。在大二暑假,我發(fā)現(xiàn)了郭天祥主講的《十天學(xué)
會(huì)單片機(jī)》視屏,于是我堅(jiān)持天天看視屏,然后在自己根據(jù)視屏內(nèi)容結(jié)合開發(fā)板寫程序,調(diào)程序,就這樣學(xué)了一個(gè)暑假。通過這個(gè)視屏,我初步了解了單片機(jī)的`硬件結(jié)構(gòu),編程方法及調(diào)試方法(用KILE軟件調(diào)試和用開發(fā)板調(diào)試),寄存器的使用,學(xué)會(huì)了如何看芯片資料,初步開始利用芯片時(shí)序圖來編程?梢哉f這個(gè)視屏對(duì)我學(xué)習(xí)單片機(jī)有巨大的幫助,更夸張的說是這個(gè)視屏將我?guī)нM(jìn)了單片機(jī)的世界,讓我盡情的體驗(yàn)單片機(jī)帶給我的快樂!
在大三上學(xué)期,我有幸參加了教改班的單片機(jī)課程學(xué)習(xí)。我覺得鄧?yán)蠋煹慕虒W(xué)很有特點(diǎn),讓我們自己一個(gè)模塊、一個(gè)模塊的焊電路板,寫程序,調(diào)試,然后上講臺(tái)講。這樣不僅提高了我對(duì)單片機(jī)的進(jìn)一步學(xué)習(xí),更鍛煉了我在公眾面前的表達(dá)能力。我覺得大學(xué)的教育就應(yīng)當(dāng)如此,應(yīng)該多注重學(xué)生的實(shí)際動(dòng)手操作能力,只有自己親自動(dòng)手做了,才能體會(huì)到其中的艱辛,當(dāng)然還伴隨著眾多的樂趣。在經(jīng)過大三一學(xué)期的學(xué)習(xí),我的單片機(jī)水平有了質(zhì)的飛躍。首先焊電路板,從單片機(jī)最小系統(tǒng)、電源、流水燈開始,第一次自己通過模電上學(xué)的一個(gè)電源的構(gòu)成知識(shí)做了一個(gè)電源,知道了用HC573鎖存器對(duì)流水燈的作用以及上拉電阻的用法。其次焊數(shù)碼管,數(shù)碼管有共陰共陽之分,焊電路板以及寫程序都有區(qū)別。接著焊了鍵盤、串口通信、液晶、AD、DA、I2C總線24C02芯片、時(shí)鐘芯片DS1302、DS12C887、溫度傳感芯片18B20以及其他模塊。通過焊電路,現(xiàn)在對(duì)單片機(jī)各個(gè)模塊的硬件設(shè)計(jì)了如指掌,通過軟件調(diào)試,我已經(jīng)基本掌握用芯片資料時(shí)序圖和寄存器編程。最后階段我用了一個(gè)多月的時(shí)間做了三個(gè)時(shí)鐘,下面以我做的三個(gè)時(shí)鐘為例講一下感受:
1:用定時(shí)器中斷、24C02芯片、按鍵和1602液晶做了一個(gè)年、月、日、星期、時(shí)、份、秒都可調(diào)的時(shí)鐘,充分利用24C02掉電保護(hù)的特點(diǎn),當(dāng)關(guān)閉電源后再次打開,時(shí)鐘會(huì)從上次停止的時(shí)間繼續(xù)走。在做這個(gè)時(shí)鐘時(shí),要注意24C02的時(shí)序圖以及寄存器的初始化。并且要注意寫完時(shí)鐘后,首次使用24C02,時(shí)鐘可能是亂碼,只需要用按鍵的加減鍵將其調(diào)為可讀的時(shí)鐘后,以后上電數(shù)據(jù)就可以正常走。
2:用DS1302、18B20和液晶做了一個(gè)不可調(diào)節(jié)的時(shí)鐘。設(shè)計(jì)這個(gè)芯片的初衷是學(xué)習(xí)DS1302和18B20這兩個(gè)芯片,于是我寫程序?qū)崿F(xiàn)了一個(gè)時(shí)鐘從設(shè)定的初值時(shí)間開始走,并且顯示溫度。在設(shè)計(jì)中,一定要對(duì)DS1302寄存器初始化后他才能正常工作,在對(duì)照18B20芯片手冊(cè)寫程序時(shí),我充分體驗(yàn)到了鄧?yán)蠋熣f的一句話“硬件設(shè)計(jì)簡單,軟件必然是復(fù)雜的”。在對(duì)18B20寫程序時(shí),遇到了很多麻煩,都是時(shí)序的問題。
3:用DS12C887、按鍵和液晶做了一個(gè)年、月、日、星期、時(shí)、份、秒可調(diào)節(jié)的時(shí)鐘。由于DS12C887內(nèi)部自帶晶振和可充電鋰電池,上電后自動(dòng)充電,所以這個(gè)時(shí)鐘掉電后內(nèi)部時(shí)鐘繼續(xù)走,。在寫這個(gè)時(shí)鐘時(shí),DS12C887一直用不起來,開始是由于時(shí)序不對(duì),后來表不走,最后發(fā)現(xiàn)內(nèi)部晶振沒起振,是因?yàn)閷?duì)其內(nèi)部寄存器的初始化不對(duì)?傊谟龅礁鞣N奇怪的現(xiàn)象后不斷調(diào)試,最終將三個(gè)時(shí)鐘調(diào)出來了。
寫完這三個(gè)時(shí)鐘,我收獲挺大的,現(xiàn)在可以比較熟練地利用時(shí)序圖寫程序,也對(duì)單片機(jī)的定時(shí)、中斷有了進(jìn)一步的了解,可以說這是我單片機(jī)學(xué)習(xí)的又一大提高。
有時(shí)候單片機(jī)的學(xué)習(xí)很單調(diào),比如檢查電路,程序怎么也寫不對(duì),這些問題檢查好多遍也沒解決,有些知識(shí)學(xué)起來很抽象,不容易理解,只能慢慢適應(yīng),一邊學(xué)習(xí)理論知識(shí),一邊編寫程序,將程序刷入單片機(jī)進(jìn)行耐心的調(diào)試,通過這種方式才能更快速的學(xué)習(xí)單片機(jī)。同時(shí)也會(huì)從學(xué)習(xí)中體會(huì)成功的喜悅。
總之,在一學(xué)期的學(xué)習(xí)中,從硬件,軟件,調(diào)試,演講等各個(gè)方面都有了很大的收獲。
單片機(jī)實(shí)訓(xùn)總結(jié)3
一 實(shí)習(xí)目的
1. 通過對(duì)單片機(jī)小系統(tǒng)的設(shè)計(jì)、焊接、裝配,掌握電路原理圖及電子線路的基本焊接裝配工藝、規(guī)范及注意事項(xiàng);
2. 通過對(duì)系統(tǒng)板的測(cè)試,了解系統(tǒng)板的工作原理及性能,掌握元器件及系統(tǒng)故障的排除方法;
3. 掌握程序編制及調(diào)試方法,完成系統(tǒng)初始化、存儲(chǔ)器操作、端口操作、鍵盤顯示等程序的編制及調(diào)試(匯編語言、C語言均可);
4. 通過單片機(jī)系統(tǒng)的組裝,調(diào)試以及程序編制、調(diào)試及運(yùn)行,與理論及實(shí)驗(yàn)的有機(jī)結(jié)合和指導(dǎo)教師的補(bǔ)充介紹,使學(xué)生掌握控制系統(tǒng)的工作原理、開發(fā)方法和操作方法。
5. 培養(yǎng)學(xué)生解決實(shí)際問題的能力,提高對(duì)理論知識(shí)的感性認(rèn)識(shí)。
二 實(shí)習(xí)意義
通過本實(shí)習(xí)不但可以掌握單片機(jī)軟、硬件的綜合調(diào)試方法,而且可以熟練掌握電路原理圖,激發(fā)對(duì)單片機(jī)智能性的探索精神,提高學(xué)生的綜合素質(zhì),培養(yǎng)學(xué)生應(yīng)用單片機(jī)實(shí)現(xiàn)對(duì)工業(yè)控制系統(tǒng)的設(shè)計(jì)、開發(fā)與調(diào)試的能力。在制作學(xué)習(xí)過程中,不但可以掌握軟、硬件的綜合調(diào)試方法,而且可以使學(xué)生對(duì)單片機(jī)智能性產(chǎn)生強(qiáng)烈的欲望。達(dá)到最大限度地掌握微機(jī)應(yīng)用技術(shù),軟件及接口設(shè)計(jì)和數(shù)據(jù)采集與處理的技能,培養(yǎng)電綜合實(shí)踐素質(zhì)的目的。
三 系統(tǒng)基本組成及工作原理
1 系統(tǒng)基本組成
系統(tǒng)以單片機(jī)STC89C52作為控制核心,各部分基本組成框圖如圖1所示。
流水燈部分由單片機(jī)、鍵盤模塊等組成;
四位數(shù)碼顯示,編程實(shí)現(xiàn)30秒倒計(jì)時(shí)部分由單片機(jī)、鍵盤模塊、液晶顯示模塊等組成;
按鍵功能部分通過按鍵控制流水燈部分、四位數(shù)碼顯示部分;
電子鐘部分由單片機(jī)、鍵盤模塊、液晶顯示模塊等組成;
使用功能鍵實(shí)現(xiàn)相應(yīng)的功能組合部分通過流水燈部分、30秒倒計(jì)時(shí)部分實(shí)現(xiàn);
模數(shù)轉(zhuǎn)換部分由單片機(jī)、ADC0809轉(zhuǎn)換模塊、鍵盤模塊、液晶顯示模塊等組成。
2 系統(tǒng)工作原理
本設(shè)計(jì)采用STC89C52RC單片機(jī)作為本系統(tǒng)的控制模塊。單片機(jī)可把由ADC0809及單片機(jī)中的數(shù)據(jù)利用軟件來進(jìn)行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊,實(shí)現(xiàn)阻值大小的顯示。以數(shù)碼管顯示為顯示模塊,把單片機(jī)傳來的數(shù)據(jù)顯示出來。在顯示電路中,主要靠按鍵來實(shí)現(xiàn)各種顯示要求的選擇與切換。
對(duì)于模數(shù)轉(zhuǎn)換部分,單片機(jī)89C51通過P0口的I/O線向ADC0809發(fā)送鎖存地址以及復(fù)位、啟動(dòng)轉(zhuǎn)換等信號(hào),并查詢轉(zhuǎn)換狀態(tài)。 ADC0809啟動(dòng)轉(zhuǎn)換后,將0-8個(gè)通道一次輸入的電壓信號(hào)轉(zhuǎn)換成相應(yīng)的數(shù)字量,供89c51讀取使用,并且將EOC置1供單片機(jī)查詢轉(zhuǎn)換狀態(tài)。而滑動(dòng)變阻器負(fù)責(zé)將阻值信號(hào)轉(zhuǎn)換成電壓信號(hào),再送到ADC0809的八個(gè)通道。當(dāng)單片機(jī)查詢到轉(zhuǎn)換結(jié)束后依次讀取數(shù)據(jù)并按照現(xiàn)實(shí)的需要進(jìn)行二進(jìn)制轉(zhuǎn)BCD碼等處理最后控制顯示電路顯示出數(shù)字。 其實(shí)現(xiàn)方式是:ADC0809轉(zhuǎn)換來自3通道的阻值變化信號(hào)。80c51的P2口與ADC0809的輸出相連用于讀取轉(zhuǎn)換結(jié)果,同時(shí)P0.0-P0.6作控制總線,向ADC0809發(fā)送鎖存、啟動(dòng)等控制信息,并查詢EOC狀態(tài)。ALE經(jīng)分頻后給ADC0809提供時(shí)鐘信號(hào)。P3.0和P3.1口用于向顯示電路輸出段碼,P3.2-P3.7用于數(shù)碼管的位選。
四 系統(tǒng)硬件設(shè)計(jì)
結(jié)合本設(shè)計(jì)的要求和技術(shù)指標(biāo),通過對(duì)系統(tǒng)大致程序量的估計(jì)和系統(tǒng)工作的估計(jì),考慮價(jià)格因素。選定AT89C51單片機(jī)作為系統(tǒng)的主要控制芯片,8位模擬轉(zhuǎn)換器ADC0809進(jìn)行阻值轉(zhuǎn)換。 逐次比較法A/D轉(zhuǎn)換器是目前種類最多、應(yīng)用最廣的A/D轉(zhuǎn)換器,其原理即“逐位比較”,其過程類似于用砝碼在天平上稱物體重量。它由N位寄存器、A/D轉(zhuǎn)換器、比較器和控制邏輯等部分組成,N位寄存器代表N位二進(jìn)制碼。目前應(yīng)用最廣的逐次比較法A/D轉(zhuǎn)換器有ADC0809。它是一種8路模擬輸入8位數(shù)字輸出的逐次比較法A/D轉(zhuǎn)換器件。其主要性能指標(biāo)和特性如下:
分表率:8位
轉(zhuǎn)換時(shí)間:取決于芯片時(shí)鐘頻率,轉(zhuǎn)換一次時(shí)間位64個(gè)時(shí)鐘周期
單一電源:+5v
模擬輸入電壓范圍:單極性0-+5v;雙極性-5v-+5v
具有可控三態(tài)輸出鎖存器
啟動(dòng)轉(zhuǎn)換控制位脈沖式,上升沿使內(nèi)部所有寄存器清零,下降沿使A/D轉(zhuǎn)換開始。
通過以上性能比較,我們不難看出ADC0809滿足本設(shè)計(jì)的要求,所以本設(shè)計(jì)采用ADC0809作為A/D轉(zhuǎn)換器
1 按鍵電路設(shè)計(jì)
利用單片機(jī)的P1口擴(kuò)展一個(gè)8位鍵盤。
2 晶振與復(fù)位電路設(shè)計(jì)
本設(shè)計(jì)采用的是上電復(fù)位的形式,如圖3.3所示,上電順進(jìn)RST獲得高電平,隨著電容器C的充電,RST引腳上的高電平將逐漸下降,只要高電平能保持復(fù)位所需要的兩個(gè)機(jī)器周期以上時(shí)間,單片機(jī)就能實(shí)現(xiàn)復(fù)位操作。 晶振電路為單片機(jī)提供工作所需要的時(shí)鐘信號(hào)。震蕩頻率越高,系統(tǒng)時(shí)鐘頻率也越高,單片機(jī)運(yùn)行的速度就越快。其電路如圖3.4所示。89C51的XTAL1和XTAL2兩個(gè)引腳跨接晶體振蕩器和微調(diào)電容C1、C2形成反饋電路,就構(gòu)成了穩(wěn)定的自激振蕩器,本設(shè)計(jì)的震蕩器頻率為12MHZ。
3 下載電路設(shè)計(jì)
4 流水燈模塊設(shè)計(jì)
5 模數(shù)轉(zhuǎn)換模塊設(shè)計(jì)
6 顯示電路設(shè)計(jì)
本設(shè)計(jì)采用六位數(shù)碼管。本系統(tǒng)采用共陽極動(dòng)態(tài)掃描的方式連接。數(shù)碼管的段碼數(shù)據(jù)由89C51的P3.0-P3.1口送出,89C51的P3.2-P3.7輸出位選通信號(hào),只有被選中的那位數(shù)碼管才會(huì)顯示段碼
7 整體電路設(shè)計(jì)
五 系統(tǒng)軟件設(shè)計(jì)
1主程序設(shè)計(jì)
主程序采用分支結(jié)構(gòu),以狀態(tài)號(hào)標(biāo)識(shí)系統(tǒng)所處的狀態(tài)。在上電初始化后即進(jìn)入狀態(tài)號(hào)的輪詢掃描,狀態(tài)號(hào)的值決定了分支程序的入口。其中分支程序分別為:AD轉(zhuǎn)換模塊(狀態(tài)號(hào)為0),數(shù)字模塊狀態(tài)號(hào)為1),倒計(jì)時(shí)模塊(狀態(tài)號(hào)為2),電子鐘模塊(狀態(tài)號(hào)為3),功能組合模塊(狀態(tài)號(hào)為4),流水燈模塊(狀態(tài)號(hào)為5)。
2 功能子程序設(shè)計(jì)
2.1 流水燈模塊
流水燈模塊利用單片機(jī)的P3口,通過給P3口的各位送低電平,相應(yīng)的實(shí)現(xiàn)流水燈有規(guī)律的.點(diǎn)亮。
2.2 30秒倒計(jì)時(shí)模塊
30秒倒計(jì)時(shí)模塊利用單片機(jī)的P3.0與P3.1口送相應(yīng)的段控?cái)?shù)據(jù),P3.2-P3.7口送相應(yīng)的位控?cái)?shù)據(jù)。通過程序?qū)崿F(xiàn)30秒倒計(jì)時(shí)。
2.3 數(shù)字加減模塊
利用數(shù)碼管實(shí)現(xiàn)數(shù)字顯示,通過加一鍵或者是減一鍵實(shí)現(xiàn)數(shù)字變量的加一或者減一,進(jìn)而實(shí)現(xiàn)利用數(shù)碼管顯示加一鍵、減一鍵功能。
2.4 電子鐘模塊
利用數(shù)碼管實(shí)現(xiàn)時(shí)間顯示,通過加一鍵或者是減一鍵實(shí)現(xiàn)小時(shí)變量或者是分鐘變量的加一,從而實(shí)現(xiàn)調(diào)時(shí)功能。
2.5 模數(shù)轉(zhuǎn)換模塊
對(duì)于模數(shù)轉(zhuǎn)換部分,單片機(jī)89C51通過P0口的I/O線向ADC0809發(fā)送鎖存地址以及復(fù)位、啟動(dòng)轉(zhuǎn)換等信號(hào),并查詢轉(zhuǎn)換狀態(tài)。 ADC0809啟動(dòng)轉(zhuǎn)換后,將0-8個(gè)通道一次輸入的電壓信號(hào)轉(zhuǎn)換成相應(yīng)的數(shù)字量,供89c51讀取使用,并且將EOC置1供單片機(jī)查詢轉(zhuǎn)換狀態(tài)。而滑動(dòng)變阻器負(fù)責(zé)將阻值信號(hào)轉(zhuǎn)換成電壓信號(hào),再送到ADC0809的八個(gè)通道。當(dāng)單片機(jī)查詢到轉(zhuǎn)換結(jié)束后依次讀取數(shù)據(jù)并按照現(xiàn)實(shí)的需要進(jìn)行二進(jìn)制轉(zhuǎn)BCD碼等處理最后控制顯示電路顯示出數(shù)字。 其實(shí)現(xiàn)方式是:ADC0809轉(zhuǎn)換來自3通道的阻值變化信號(hào)。80c51的P2口與ADC0809的輸出相連用于讀取轉(zhuǎn)換結(jié)果,同時(shí)P0.0-P0.6作控制總線,向ADC0809發(fā)送鎖存、啟動(dòng)等控制信息,并查詢EOC狀態(tài)。ALE經(jīng)分頻后給ADC0809提供時(shí)鐘信號(hào)。P3.0和P3.1口用于向顯示電路輸出段碼,P3.2-P3.7用于數(shù)碼管的位選。
六 實(shí)習(xí)總結(jié)、體會(huì)
本次單片機(jī)實(shí)習(xí)我們一共完成了個(gè)模塊的程序設(shè)計(jì),包括:led顯示模塊、數(shù)碼管顯示模塊和鍵盤模塊。分別實(shí)現(xiàn)了流水燈的循環(huán)點(diǎn)亮控制、數(shù)碼管的靜態(tài)和動(dòng)態(tài)計(jì)數(shù)顯示,還有矩陣鍵盤按鍵控制數(shù)碼管顯示的程序設(shè)計(jì)。然后我們分別用protues系統(tǒng)仿真軟件對(duì)各個(gè)模塊進(jìn)行了模擬仿真,用keil軟件編制了匯編語言程序,驗(yàn)證了我們所設(shè)計(jì)的程序。 這次實(shí)習(xí)還使我理解了編寫程序的一些技巧。單片機(jī)應(yīng)用系統(tǒng)一般由包含多個(gè)模塊的主程序和由各種子程序組成。每一模塊都要完成一個(gè)明確的任務(wù),實(shí)現(xiàn)某個(gè)具體的功能,如計(jì)算、接受、發(fā)送、延時(shí)、顯示等。采用模塊化程序設(shè)計(jì)方法,就是將這些具體功能程序進(jìn)行獨(dú)立設(shè)計(jì)和分別調(diào)試,最后將這些模塊程序裝配成整體程序并進(jìn)行聯(lián)合調(diào)試。模塊化程序設(shè)計(jì)方法的優(yōu)點(diǎn):一個(gè)模塊可以為多個(gè)程序所共享;單個(gè)功能明確的程序模塊的設(shè)計(jì)和調(diào)試比較方便,容易完成;利用已經(jīng)編好的成熟模塊,將大大縮短開發(fā)程序的時(shí)間,降低開發(fā)成本。采用循環(huán)結(jié)構(gòu)和子程序結(jié)構(gòu)可以使程序的容量大大減少,提高程序的效率,節(jié)省內(nèi)存。對(duì)于多重循環(huán),要注意各重循環(huán)的初值和循環(huán)結(jié)束的條件,避免出現(xiàn)程序無休止循環(huán)的“死循環(huán)”現(xiàn)象; 通過這次的實(shí)習(xí)我發(fā)現(xiàn),只有理論水平提高了,才能夠?qū)⒄n本知識(shí)與實(shí)踐相結(jié)合,理論知識(shí)服務(wù)于教學(xué)實(shí)踐,以增強(qiáng)自己的動(dòng)手能力。這次實(shí)習(xí)十分有意義,這次實(shí)習(xí)我們知道了理論和實(shí)踐的距離,也知道了理論和實(shí)踐相結(jié)合的重要性。 回顧起此次課程設(shè)計(jì),感覺受益匪淺,從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,學(xué)到很多很多的課堂理論中沒學(xué)到過的東西,不僅對(duì)鍵盤的識(shí)別技術(shù)這一章節(jié)的知識(shí)點(diǎn)有了深刻的認(rèn)識(shí),而且對(duì)這學(xué)期開設(shè)的單片機(jī)這門課程有了更全面的了解,尤其是在學(xué)習(xí)使用proteus軟件片編程和仿真時(shí)收獲良多。通過這次單片機(jī)課程設(shè)計(jì),還使我懂得了實(shí)踐的重要性。同時(shí)在程序調(diào)試的過程中提高自己的發(fā)現(xiàn)問題、解決問題、實(shí)際動(dòng)手和獨(dú)立思考的能力。 這次課程設(shè)計(jì)能順利的完成,除了我們的努力外,當(dāng)然也離不開指導(dǎo)老師申老師的辛勤指導(dǎo),致使我在設(shè)計(jì)的過程中學(xué)到了很多實(shí)用性的知識(shí)。同時(shí),對(duì)給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師表示忠心的感謝!
單片機(jī)實(shí)訓(xùn)總結(jié)4
通過今次單片機(jī)實(shí)訓(xùn),使我對(duì)單片機(jī)的認(rèn)識(shí)有了更深刻的理解。系統(tǒng)以51單片機(jī)為核心部件,利用匯編軟件編程,通過鍵盤控制和數(shù)碼管顯示實(shí)現(xiàn)了基本時(shí)鐘顯示功能、時(shí)間調(diào)節(jié)功能,能實(shí)現(xiàn)本設(shè)計(jì)題目的基本要求和發(fā)揮部分。
由于時(shí)間有限和本身知識(shí)水平的限制,本系統(tǒng)還存在一些不夠完善的地方,要作為實(shí)際應(yīng)用還有一些具體細(xì)節(jié)問題需要解決。例如:不能實(shí)現(xiàn)只用兩個(gè)按鍵來控制時(shí)鐘時(shí)間,還不能實(shí)現(xiàn)鬧鐘等擴(kuò)展功能。
踉踉蹌蹌地忙碌了兩周,我的時(shí)鐘程序終于編譯成功。當(dāng)看著自己的程序,自己成天相伴的系統(tǒng)能夠健康的運(yùn)行,真是莫大的幸福和欣慰。我相信其中的`酸甜苦辣最終都會(huì)化為甜美的甘泉。
但在這次實(shí)訓(xùn)中同時(shí)使我對(duì)匯編語言有了更深的認(rèn)識(shí)。當(dāng)我第一次接觸匯編語言就感覺很難,特別是今次實(shí)訓(xùn)要用到匯編語言,盡管困難重重,可我們還是克服了。這次的實(shí)訓(xùn)使培養(yǎng)了我們嚴(yán)肅認(rèn)真的做事作風(fēng),增強(qiáng)了我們之間的團(tuán)隊(duì)合作能力,使我們認(rèn)識(shí)到了團(tuán)隊(duì)合作精神的重要性。
這次實(shí)訓(xùn)的經(jīng)歷也會(huì)使我終身受益,我感受到這次實(shí)訓(xùn)是要真真正正用心去做的一件事情,是真正的自己學(xué)習(xí)的過程和研究的過程,沒有學(xué)習(xí)就不可能有研究的能力,沒有自己的研究,就不會(huì)有所突破。希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)中激勵(lì)我繼續(xù)進(jìn)步。
單片機(jī)實(shí)訓(xùn)總結(jié)5
《單片機(jī)》這門課程我已經(jīng)學(xué)了一個(gè)學(xué)期了,在這一個(gè)學(xué)期的學(xué)習(xí)過程中,我一開始不怎么懂得編程,但慢慢的我現(xiàn)在已經(jīng)不僅會(huì)讀程序還會(huì)寫程序了。真為自己一個(gè)學(xué)期來努力學(xué)到的單片機(jī)知識(shí)只是而感到高興。
怎么學(xué)單片機(jī)?也常看到有人說學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會(huì)有快慢之分,但我感覺最重的就是學(xué)習(xí)方法。一個(gè)好的學(xué)習(xí)方法,能讓你事半功倍,這里說說我學(xué)習(xí)單片機(jī)的經(jīng)歷和方法。 我覺得學(xué)習(xí)單片機(jī)首先要懂得C語言,因?yàn)閱纹瑱C(jī)大多說都是靠程序來實(shí)現(xiàn)的,如果看不懂程序或則不懂的編程是很難學(xué)會(huì)單片機(jī)的。學(xué)習(xí)單片機(jī)首先要明白一個(gè)程序是怎么走的,要完全懂得程序每一個(gè)步驟的意思。其次要懂得每一條指令的意思,不能盲目地去靠背指令,這是記得不牢靠的,最主要的還是靠了解。學(xué)習(xí)單片機(jī)最主要的對(duì)89C51芯片內(nèi)部結(jié)構(gòu)有全方面的,只要了解了89C51才能知道單片機(jī)實(shí)現(xiàn)什么樣的功能和作用,才能對(duì)單片機(jī)有更深一步的了解。 通過一個(gè)學(xué)期《單片機(jī)》這門課程的學(xué)習(xí),我也從中有了不少心得和體會(huì)想和大家分享一下。
萬事開頭難、要勇敢邁出第一步。開始的時(shí)候,不要老是給自己找借口,不要說單片機(jī)的程序全是英文,自己看不懂。遇到困難要一件件攻克,不懂指令就要勤奮看書,不懂程序就先學(xué)它,這方面網(wǎng)上教程很多,隨便找找看一下,做幾次就懂了。然后可以參考別的人程序,抄過來也無所謂,寫一個(gè)最簡單的,讓它運(yùn)行起來,先培養(yǎng)一下自己的感覺,知道寫程序是怎么一回事,無論寫大程序還是小程序,要做的工序不會(huì)差多少。然后建個(gè)程序,加入項(xiàng)目中,再寫代碼、編譯、運(yùn)行。必須熟悉這一套工序。個(gè)人認(rèn)為,一塊學(xué)習(xí)板還是必要的,寫好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多,仿真器就看個(gè)人需要了。單片機(jī)是注重理論和實(shí)踐的,光看書不動(dòng)手,是學(xué)不會(huì)的。 知識(shí)點(diǎn)用到才學(xué),不用的暫時(shí)丟一邊。厚厚的一本書,看著人頭都暈了,學(xué)了后面的,前面的估計(jì)也快忘光了,所以,最好結(jié)合實(shí)際程序,用到的時(shí)候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識(shí),專心把流水燈學(xué)好就是了,這是把整本書化整為零,一小點(diǎn)一小點(diǎn)的啃。 程序不要光看不寫,一定要自己寫一次。最開始的時(shí)候,什么都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達(dá)到什么目的,運(yùn)行后有什么后果?疵靼琢酥,就要自己寫一次,你會(huì)發(fā)現(xiàn),原來看明白別人的程序很容易,但到自己寫的時(shí)候卻一句也寫不出來,這就是差距。當(dāng)你自己能寫出來的時(shí)候,說明你就真的懂了。
必須學(xué)會(huì)掌握調(diào)試程序的方法。不少人寫程序,把代碼寫好了,然后一運(yùn)行,不是自己想要的結(jié)果,就暈了,然后跑到論壇上發(fā)個(gè)帖子,把程序一貼,問:為什么我的程序不能正常運(yùn)行?然后就等別人來給自己分析。這是一種很不好的行為,應(yīng)該自己學(xué)會(huì)發(fā)現(xiàn)問題和學(xué)會(huì)如何解決問題。這就需要學(xué)習(xí)調(diào)試程序的方法,比如KEIL里,可以下斷點(diǎn)啦,查看寄存器內(nèi)容等等,這些都是調(diào)試程序的手段,當(dāng)你發(fā)現(xiàn)你寫的程序運(yùn)行結(jié)果和你想象中不一樣的時(shí)候,你可以單步,也可以下斷點(diǎn),然后跟蹤,查看各相關(guān)寄存器內(nèi)容,看看程序運(yùn)行過中是不是有什么偏差,找出影響結(jié)果的地方,改正過來。這一個(gè)過程非常重要,通過程序的排錯(cuò),你可以學(xué)到的知識(shí)是書上得不到的。
找到解決問題思路比找到代碼更重要。我們用單片機(jī)來控制周邊器件,達(dá)到我們想到的目的,這是一個(gè)題目,而如何寫出一個(gè)程序,來控制器件按你想要的結(jié)果去運(yùn)作,這個(gè)就是解題的思路。要寫程序,就得先找到解決問題的思路,你學(xué)會(huì)找出這個(gè)解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復(fù)制到自己的程序中,可以說,這不是一種學(xué)習(xí)的態(tài)度,無助于你編程水平的提高。我?guī)缀醪辉趺纯慈思业拇a,多數(shù)時(shí)候是看別人的思路,有方框圖最好,沒有的話文字說明也可以。要從代碼中看出別人處理問題的思路,是相當(dāng)困難的,特別是大型的程序,看起來是非常的累人。所以現(xiàn)在我也明白了,以前讀書時(shí)說的程序流程圖很重要,現(xiàn)在算是知道了。當(dāng)你知道一個(gè)問題怎么去解決了,那么剩下的只是你安排代碼去完成,這就已經(jīng)不是什么問題了。
開動(dòng)腦筋,運(yùn)用多種方法,不斷優(yōu)化自己的程序。想想用各種不同方法來實(shí)現(xiàn)同一功能。這是一個(gè)練習(xí)和提高的過程,一個(gè)問題,你解決了,那么你再想想,能不能換種寫法,也可以實(shí)現(xiàn)同一功能,或者說,你寫出來的代碼,能不能再精簡一點(diǎn),讓程序執(zhí)行效率更高,這個(gè)過程,就是一個(gè)進(jìn)步的'過程。很多知識(shí)和經(jīng)驗(yàn)的獲得,并不是直接寫在書讓你看就可以得到的,需要自己去實(shí)踐,開動(dòng)腦筋,經(jīng)驗(yàn)才能得到積累,編程水平才能有所提高。
看別人的程序,學(xué)習(xí)人家的思路。這個(gè)在學(xué)習(xí)初期是很有用,通過看別人的程序,特別是老師寫出的具有一定水平的程序,可以使自己編程水平得到迅速的提高。同時(shí),也可以結(jié)合別人的編程手法,與自己的想法融合在一起,寫出更高水平的程序,從中得到進(jìn)步。但要注意,切忌將學(xué)習(xí)變成抄襲,更不是抄襲完了就認(rèn)為自己學(xué)會(huì)了,這樣做只會(huì)使你退步。
嘗試編寫一下綜合應(yīng)用的程序。從流水燈學(xué)起,到動(dòng)態(tài)掃描,再到中斷,那么,你可以試試寫一下時(shí)鐘這種綜合性應(yīng)用的程序,不要小看時(shí)鐘,要寫好它不是一件容易的事情,它包括了單片機(jī)大部分的知識(shí),比如有按鍵(IO讀取)、動(dòng)態(tài)掃描(IO輸出)、中斷等,如何協(xié)調(diào)好各功能模塊正常工作,才是編程者需要學(xué)習(xí)的地方,當(dāng)你單獨(dú)寫一個(gè)功能的時(shí)候,比如按鍵讀取,你可能感覺很容易,因?yàn)槟愕某绦蚴裁匆膊蛔觯皇亲x按鍵。但把它和其它功能混合在一起,如何在整個(gè)程序運(yùn)行中使每一部分都正常工作,這就不是寫一個(gè)按鍵讀取這么容易的事情,功能模塊之間有可能會(huì)互相影響,比如你需要讓數(shù)碼管既能顯示,又要去處理按鍵讀取,怎么使這兩部分都正常工作,這就是一個(gè)協(xié)調(diào)過程。當(dāng)你有了這個(gè)處理協(xié)調(diào)能力,你就算是入門了。
著重于培養(yǎng)解決問題的能力,而不是具體看自己編寫了多少程序或者做過什么!皩W(xué)單片機(jī)重點(diǎn)在于學(xué)習(xí)解決問題的思路,而不是局限于具體的芯片類型和語言”這一直是我的座右銘,是我學(xué)單片機(jī)學(xué)習(xí)單片機(jī)之后感悟出來的。真正的能力不是你曾經(jīng)編寫過多少個(gè)可以實(shí)現(xiàn)的程序,而應(yīng)該是:“遇到?jīng)]有解決過的問題,能利用自己已學(xué)的知識(shí),迅速找到解決問題的方法。”這個(gè)才是能力。
面對(duì)一個(gè)新程序時(shí),多自己開動(dòng)腦筋,不要急于找別人的程序。有不少人面對(duì)一個(gè)新程序時(shí),第一步想到的就是網(wǎng)上找別人寫過的程序,然后抄一段,自己再寫幾句,湊在一起就完成任務(wù),這雖然可能是省時(shí)間,但絕對(duì)不利你的學(xué)習(xí)。當(dāng)你接到一個(gè)程序時(shí),應(yīng)該先自己構(gòu)思一下整個(gè)程序的架構(gòu),想想如何來完成。有可能的話,畫一個(gè)流程圖,簡單的可以畫在腦子里,對(duì)程序中用到的數(shù)據(jù)、變量有一個(gè)初步的安排,然后自己動(dòng)手去寫,遇到實(shí)在沒辦法解決的地方,再去請(qǐng)教老師或同學(xué),或看別人是怎么處理的,這樣首先起碼你自己動(dòng)過腦想過,自己有自己的思路。如果你一開始就看別人的程序,你的思維就會(huì)受限在別人的思維里,自己想再創(chuàng)新就更難了,這樣你自己永遠(yuǎn)也沒辦法提高,因?yàn)槟闶亲咴趧e人的影子里。
學(xué)會(huì)提問題。一般來說,學(xué)習(xí)過程中,你遇上的問題,多數(shù)人也有遇上的,所以如果有什么不懂,你可以去問老師。我覺得學(xué)習(xí)單片機(jī)最主要的要多提問,對(duì)于一個(gè)自己不是太懂的程序,自己一定要多提問幾遍,這樣不但有利于加深自己的印象還能從中學(xué)到不少別人的方法。
經(jīng)過一個(gè)學(xué)期我對(duì)《單片機(jī)》這門課程的學(xué)習(xí),不僅讓我懂得了很多程序的編寫,還讓我學(xué)到了很多對(duì)自己有用的學(xué)習(xí)方法?偨Y(jié)這個(gè)學(xué)期來的我自己的學(xué)習(xí)情況,我覺得自己對(duì)編程進(jìn)步了不少,懂得運(yùn)用正確的學(xué)習(xí)方法學(xué)習(xí)單片機(jī)程序,不再去死記硬背指令了。所以我覺得學(xué)習(xí)要不斷總結(jié)學(xué)習(xí)方法,才能讓自己學(xué)習(xí)不斷進(jìn)步。
【單片機(jī)實(shí)訓(xùn)總結(jié)】相關(guān)文章:
單片機(jī)實(shí)訓(xùn)總結(jié)3篇06-12
單片機(jī)實(shí)訓(xùn)總結(jié)(精選6篇)03-25
單片機(jī)實(shí)訓(xùn)總結(jié)(精選14篇)04-19
單片機(jī)實(shí)訓(xùn)的心得體會(huì)11-10
單片機(jī)實(shí)訓(xùn)心得體會(huì)06-10
單片機(jī)的實(shí)訓(xùn)心得體會(huì)04-01
實(shí)訓(xùn)總結(jié)10-28
實(shí)訓(xùn)的總結(jié)02-04