第一篇:51單片機實訓報告
“51單片機”精簡開發(fā)板的組裝及調(diào)試實訓報告
為期一周的單片機實習已經(jīng)結(jié)束了。通過此次實訓,讓我們掌握了單片機基本原理的基礎、單片機的編程知識以及初步掌握單片機應用系統(tǒng)開發(fā)實用技術(shù),了解“51”單片機精簡開發(fā)板的焊接方法。同時培養(yǎng)我們理論與實踐相結(jié)合的能力,提高分析問題和解決問題的能力,增強學生獨立工作能力;培養(yǎng)了我們團結(jié)合作、共同探討、共同前進的精神與嚴謹?shù)目茖W作風。
此次實訓主要有以下幾個方面:
一、實訓目的
1.了解“51”精簡開發(fā)板的工作原理及其結(jié)構(gòu)。2.了解復雜電子產(chǎn)品生產(chǎn)制造的全過程。
3.熟練掌握電子元器件的焊接方法及技巧,訓練動手能力,培養(yǎng)工程實踐概念。4.能運用51單片機進行簡單的單片機應用系統(tǒng)的硬件設計。5.掌握單片機應用系統(tǒng)的硬件、軟件調(diào)試方法
二、實驗原理
流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應用系統(tǒng),即為由發(fā)光二極管、晶振、復位、電源等電路和必要的硬件組成的單個單片機。
它的電氣性能指標:輸入電壓:DC4.5~6V,典型值為5V。可用干電池組供電,也可用直流穩(wěn)壓電源供電。如圖所示:
本流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應用系統(tǒng),即為由發(fā)光二極管、晶振、復位、電源等電路和必要的硬件組成的單個單片機。
三、硬件組成
1、晶振電路部分
單片機系統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會不能工作;假如振蕩器運行不規(guī)律,系統(tǒng)執(zhí)行程序的時候就會出現(xiàn)時間上的誤差,這在通信中會體現(xiàn)的很明顯:電路將無法通信。他是由一個晶振和兩個瓷片電容組成的,x1和x2分別接單片機的x1和x2,晶振的瓷片電容是沒有正負的,注意兩個瓷片電容相連的那端一定要接地。
2、復位端、復位電路
給單片機一個復位信號(一個一定時間的低電平)使程序從頭開始執(zhí)行;一般有兩中復位方式:上電復位,在系統(tǒng)一上電時利用電容兩端電壓不能突變的原理給系統(tǒng)一個短時的低電平;手動復位,同過按鈕接通低電平給系統(tǒng)復位,時如果手按著一直不放,系統(tǒng)將一直復位,不能正常。當要對晶體重置時,只要對此引腳電平提升至高電平并保持兩個及其周期以上的時間便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器內(nèi)容均被設成已知狀態(tài)。
如圖所示,只要按此開關(guān)就能完成LED和開關(guān)的重置。
3、發(fā)光二極管電路
LED發(fā)光二極管依次接P1口,利用共陽極接線,只要P1口由高電平變?yōu)榈碗娖絃ED燈即點亮。
四、安裝、焊接及調(diào)試 ⑴安裝步驟
1.檢查元器件的數(shù)量、質(zhì)量和規(guī)格,詳細閱讀硬件說明部分,并將元件對號入座,對于有極性的元器件要注意安裝方向,確保一次性焊接成功。
2.先焊接低矮、耐熱的元件,比如電阻,再對高一些的元件進行焊接,比如芯片座、排阻等,以此類推,最后焊接高大的元件。⑵焊接部分
1.檢查印刷電路裸板電源正負端、各相鄰焊點是否短路。
2.檢測元器件質(zhì)量,電容、接插件是否短路,按鍵通斷狀態(tài)是否正確。3.集成電路一定焊接插座,確定好插座空間安裝位置。4.焊接時特別要注意錫不能太多,否則易發(fā)生焊點短路。5.電烙鐵焊接時間不要過長,以免燙壞焊點。⑶調(diào)試部分 1.硬件調(diào)試
拿到電路板后,首先要檢查加工質(zhì)量,并確保沒有任何方面的錯誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測其數(shù)值,看是否與所用相同;完成焊接后,應先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬用表的探針放到單片機接電源的引腳上檢測一下,看是否符合要求。
進行串口測試。接上單片機電源和串口線,打開電源開關(guān),電源指示燈D0亮,使用STC89C系列單片機,其本身自帶了一個測試程序,上電之后D1~D8便會兩個兩個的燈亮的閃爍。或者自己下載一個程序,如果串口正常,如不成功,就應該好好檢查焊點及串口線。2.流水燈程序調(diào)試
將電路板串口連接電腦,把程序燒入STC89C52系統(tǒng)。用USB接口連接電腦,為單片機提供電源。電源接入口,程序開始運行。LED燈開始輪流閃爍,閃爍間隔大概為0.5S。點擊復位電路,單片機復位,LED燈從第一盞燈開始又循環(huán)亮起。3.C語言程序 #include
1.接好電池盒,電源這是燈不亮。這些是因為電源插座存在虛焊現(xiàn)象,接觸不良。遇到這種情況的時候應該及時檢查和修復虛焊點。
2.出現(xiàn)不能正常下載程序。這是因為電路板電源沒有正常接通或者下載線焊接組裝有誤、電池電壓低、芯片MAX232不正常工作或管腳虛焊。應該去檢查電源是否正常接通,并且更正正確。
3.下載程序不能正常完成流水燈功能。這是因為電池電壓低或者發(fā)光二極管損壞或者管腳虛焊、電阻R1開路或管腳虛焊。解決這樣的方法是更換電池或者修復焊點。
五、結(jié)論
通過這次實習讓我們可以在實踐中檢驗我們所學的單片機知識,更好的融會貫通,并在實踐中發(fā)現(xiàn)問題,解決問題。這次設計的流水燈由于比較簡單,遇到的問題都不是很困難,我們通過互相之間的交流、查閱書籍以及通過互聯(lián)網(wǎng)所搜所需的資料都能夠比較好的解決。
這次所調(diào)試的流水燈系統(tǒng)缺點是程序輸入采用串口輸入,燒入程序比較復雜。電路比較簡單,所實現(xiàn)的功能只有流水燈,時間閃爍的控制需要修改程序才能實現(xiàn)。如果需要改進的,可以增加一個時間設置來設這流水燈的閃爍時間,或者通過流水燈排列的形狀不同可以做成花樣流水燈。
下圖為本次實訓結(jié)果展示圖:
電路板焊接圖
電路板實現(xiàn)流水燈圖
這次的實踐動手操作,主要在細心。在焊板子之前老師給我們詳細的講述了關(guān)于我們將要實訓的內(nèi)容。深刻的講解了關(guān)于單片機的一些基礎的知識。也給我們講了關(guān)于焊接時應該注意的一些細節(jié)。還有實訓時應該注意的一些事情以及我們最后的驗收過程。對于這些我們每個人都認真的學習虛心聽講。先焊接矮的元件,否則高元件會擋住,使矮元件不好焊接。也要注意擺放芯片座的順序,否則會導致焊接反。而且,通過這次的訓練,我也認識了更多的元件,接觸到了具有實際意義的產(chǎn)品。當自己的焊接結(jié)果成功時,那種愉悅是難以言表的。手上拿著自己焊過的電路板,看著它閃爍的燈,突然覺得心里好安慰。這幾天做得這些努力都是值得的。我們以前看著別人做這些東西各種高端,現(xiàn)在自己也可以動手做一個屬于自己的板子。這不僅是對自己能力上的肯定也是對自己這幾天來的一個交代吧。希望今后會有更多的實踐動手實驗,我一定會珍惜每一次的實訓機會,不斷地鍛煉自己的實踐提高動手能力,讓自己更好的適應這個快速發(fā)展的社會。
第二篇:單片機實訓報告范文
四川電子機械職業(yè)技術(shù)學院
單片機原理及應用
實 訓報告1
班級:應電14.2班 姓名:劉華利 學號:140302058 指導教師:向兵
四川電子機械職業(yè)技術(shù)學院
摘要:
《單片機應用系統(tǒng)設計項目化教程》這本書根據(jù)教育部新的教學改革要求和企業(yè)崗位技能需求,以高技能應用型人才專業(yè)能力培養(yǎng)為目標,結(jié)合作者多年的教學經(jīng)驗與課程改革成果進行編寫。全書通過6個典型項目任務,著重介紹單片機基本原理及應用系統(tǒng)的設計方法與技巧,包括流水燈控制系統(tǒng)設計、簡易數(shù)字時鐘設計、數(shù)字電壓表設計、低頻信號發(fā)生器設計、數(shù)據(jù)存儲及回放系統(tǒng)設計和窗簾智能控制系統(tǒng)設計等。本書采用“理實一體、項目化教學”模式進行內(nèi)容編排,將單片機原理及應用系統(tǒng)設計的相關(guān)知識點融入項目中進行講解,易教易學,效果良好。
目錄
摘要········································ 2 目錄········································ 2 實訓名稱···································· 3 實訓地點···································· 3 實訓時間···································· 3 實訓目的···································· 3 實訓項目···································· 3 項目1·······································3 項目2·······································4 項目3·······································5 項目4·······································6 實訓總結(jié)····································· 7
四川電子機械職業(yè)技術(shù)學院
實訓名稱:單片機原理及應用 實訓地點:行政樓523 實訓時間:2016.6.27—6.30 實訓目的:1、2、3、4、5、6、7、掌握結(jié)構(gòu)化程序設計的基本方法,基本掌握面向?qū)ο蟪绦蛟O計的基本思路和方法。
掌握C的基本概念和基礎知識。
通過訓練能夠讀懂較為復雜的C語言源程序并具備基本C語言程序設計的能力。
熟練掌握各種常用類的定義繼承文件的應用,為更好的理解面向?qū)ο蟠蛳赂玫幕A。
掌握面向?qū)ο蟮幕驹恚岣邔W生綜合程序設計的能力。
培養(yǎng)自己獨立解決問題,找資料的能力。同學之間相互幫助、相互交流、相互合作的團隊精神。
通過實訓檢查自己學習上的不足,達到熟練掌握C語言的基本知識和技能。
實訓項目: 項目1 點亮一個LED,每隔一定時間循環(huán)熄滅、點亮…
設計思路:端口送高電平,led熄滅,延時1s,端口送低電平,led點亮,延時1s,就這樣一直循環(huán)。
程序
#include
L2 = 1;
while(Ms--)
DelayMs(1000);
{
L2 = 0;
for(i = 0;i < 114;i+
DelayMs(1000);+);} } }
四川電子機械職業(yè)技術(shù)學院
原理圖
項目2 點亮一個LED,讓它每隔一定時間循環(huán)左移(課使用delay函數(shù)進行延時)
設計思路:在項目1的的基礎上,用dalay函數(shù)進行延時,用<<來表示左移,添加一個左移的函數(shù)。通俗一點的講的話,就如天天天同一些人排隊領(lǐng)東西,領(lǐng)完了返回隊位繼續(xù)排(當然一只是這幾個人排)。
程序
#include } while(1){ for(i=0;i<7;i++){ delay(100); LED=(LED<<1)|0x01;P3=LED;} } 四川電子機械職業(yè)技術(shù)學院 原理圖 項目3 將任務二中delay延時改用定時器延時,且延時一秒 設計思路:在項目2的的基礎上,用定時器來進行延時,首先設置定時器工作方式 也就是TMOD,在設置TH0/1,TL0/1的初值,也就是定時時間的設置,然后設置中斷允許,并開中斷。用中斷來控制。 程序 #include { TH0=(65536-50000)/256;TL0=(65536-50000)%256;j++;if(j==5){ j=0; P1=~(0x01< if(++i==8)i=0; } } 四川電子機械職業(yè)技術(shù)學院 原理圖 項目4 四位數(shù)碼管并排顯示,從左到右依次為分、秒十位、秒各位、0.1秒,相當于移動可計時9分59.9秒,使用一個按鍵,當按鍵第一次按下,啟動秒表,第二次按下,停止,第三次按下,清零。(數(shù)碼管可選共陰極、共陽極,至于對應數(shù)字的段選可參考教材) 設計思路:用delay函數(shù)來進行延時,用內(nèi)部中斷來控制T1,用外部中斷來實現(xiàn)計數(shù)、暫停、清零這三個功能。 程序 #include uintx,y; for(x=100;x>0;x--) for(y=z;y>0;y--);} void dihplay(){ P1=0xfd; 四川電子機械職業(yè)技術(shù)學院 P0=Tab[xiao%10]; delay(1); } void display(){ P1=0xfb;P0=Tab[miao/10];delay(1); P1=0xfe;P0=Tab[miao%10];dp=0;delay(1);} void dimplay(){ P1=0xf7;P0=Tab[fen%10];dp=0;delay(1);} void main(){ EA = 1;EX0 = 1;IT0 = 1; ET0=1;TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=0;xiao=0;miao=0;fen=0; while(1) { display();delay(1);dimplay();delay(1);dihplay();delay(1); } } void timer0()interrupt 1 { xiao++; if(xiao==10) { xiao=0;miao++; if(miao==59) { miao=0; fen++; if(fen==10) { fen=0; } } } } void ex0_int0()interrupt 0 { swnum++;if(swnum == 1){ TR0= 1;} if(swnum == 2){ TR0 = 0;} if(swnum == 3){ xiao = 0; miao = 0; fen = 0; swnum=0;} } 四川電子機械職業(yè)技術(shù)學院 原理圖 實訓總結(jié): 通過今次單片機實訓,使我對單片機的認識有了更深刻的理解。系統(tǒng)以51單片機為核心部件,利用C語言編程,通過對led燈控制到用數(shù)碼管實現(xiàn)秒表功能、中斷控制功能,能實現(xiàn)本設計題目的基本要求和發(fā)揮部分。由于時間有限和本身知識水平的限制,本系統(tǒng)還存在一些不夠完善的地方,要作為實際應用還有一些具體細節(jié)問題需要解決。 踉踉蹌蹌地忙碌了一周,我的程序終于編譯成功。當看著自己的程序,自己成天相伴的系統(tǒng)能夠健康的運行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最終都會化為甜美的甘泉。 但在這次實訓中同時使我對C語言有了更深的認識。當我第一次接觸C語言就感覺很難,特別是今次實訓要用到C語言,盡管困難重重,可我們還是克服了。這次的實訓使培養(yǎng)了我們嚴肅認真的做事作風,增強了我們之間的團隊合作能力,使我們認識到了團隊合作精神的重要性。 這次實訓的經(jīng)歷也會使我終身受益,我感受到這次實訓是要真真正正用心去做的一件事情,是真正的自己學習的過程和研究的過程,沒有學習就不可能有研究的能力,沒有自己的研究,就不會有所突破。希望這次的經(jīng)歷能讓我在以后學習中激勵我繼續(xù)進步。 單片機原理及應用 實訓報告 班級: 學號: 姓名: 指導教師: 實訓總成績: 一、節(jié)日彩燈設計 題目:8位邏輯電平模塊上的LED小燈從左向右呈現(xiàn)“鞭甩”的實驗現(xiàn)象,狀態(tài)間隔為0.25秒;按鍵1開始,按鍵2結(jié)束。 原理圖 程序代碼: #include 單片機原理及應用實訓報告 管及驅(qū)動電路的連接,從而構(gòu)成一個完整的硬件電路。然后通過對單片機的ROM進行編程,實現(xiàn)對彩燈閃爍的控制。 二、定時器實現(xiàn)流水燈 題目:利用定時器/計數(shù)器T0產(chǎn)生2秒鐘的定時,每當2秒定時到來時,更換指示燈點亮,依次循環(huán)點亮。 原理圖 程序代碼 #include 50000)% 256;TH0 =(65536 單片機原理及應用實訓報告 程序代碼 #include 單片機原理及應用實訓報告 實訓總結(jié) 通過本次單片機實訓使得我更深層次的學習單片機原理與應用技術(shù)這門專業(yè)課程,同時對KEIL軟件進行復習。這次實訓是我看到了我最薄弱的一點那就是編程,對于編程有很大的困難。對以往學習過的編程知識沒有好好掌握,特別是編程這方便的知識很薄弱。學習過的知識在實際應用中仿佛是冰山一角,完全不夠用,需要通過查閱很多資料才能解決到碰到的相關(guān)問題。而且實訓中出現(xiàn)的問題都是實際應用出比較典型的問題。這次實訓還讓我深刻的體會了結(jié)構(gòu)化程序設計的優(yōu)勢,讓我懂得當我們要進行一個復雜的程序設計時應該先將其分解為多個不同的功能模塊再分別編程實現(xiàn),這樣做不僅降低了編程的難度,也容易讓編程者思路更加清晰,避免出現(xiàn)不必要的錯誤。在做仿真時,仿真圖正確也不一定就是說明一定正確。 目錄 一 方案設計說明:............................................................................................2 二 硬件設計說明:............................................................................................4 (一)電路圖:..........................................................................................4(二)單片機AT89S51的I/O口分配使用情況........................................4 (三)元器件的參數(shù)及規(guī)格:....................................................................5 三 軟件設計說明:............................................................................................6 (一)軟件設計思路及流程圖:................................................................6 (二)程序的總體框架結(jié)構(gòu)說明:............................................................8 (三)重要程序段的功能,作用及思路簡介:........................................8 四 制作調(diào)試說明:..........................................................................................13 (一)程序調(diào)試過程:..............................................................................13 (二)硬件調(diào)試:......................................................................................13 五 電路實拍:.....................................................................................................14 六 總結(jié)心得體會:..........................................................................................15 七 參考文獻:.....................................................................................................16 一 方案設計說明: 設計方案之前,得先分解設計任務。本次的設計任務是籃球記分牌,據(jù)常識,籃球記分牌應有分別給兩隊加分,減分,能交換顯示分數(shù)。在進行設計之前,應自己提出幾個問題,待問題回答之后。基本功、的設計方案就出來了。在設計之前我提出了一下幾個問題: a:硬件部分如何控制給A對B對加分,場地交換的時候又是如何實現(xiàn)分數(shù)顯示交換的?應該如何連接硬件,在硬件上設置控制端,控制端與單片機各引腳之間的連。 b:單片機只有一個CPU,如何實現(xiàn)即要掃描按鍵,又要顯示比分。數(shù)碼管工作的本質(zhì)是將要顯示的數(shù)據(jù)的字型碼送給他,如何采集到變化的分數(shù)送給數(shù)碼管。用查表嗎? c:加分與倒計時在程序中最本質(zhì)的東西是什么,如何用程序來說明這樣的事件,各事件之間又是如何聯(lián)系的。 雖然這些問題看似很普通,似乎在設計過程中都要面對這樣的問題,何不事先就解決這些問題呢,在逐一回答這些問題的同時,該任務的設計方案已見雛形。以下就是該方案的詳細內(nèi)容以及我問題的答案。 系統(tǒng)原理圖如下圖一所示: LED數(shù)碼顯示管外部按鍵AT89S51驅(qū)動電路 3 二 硬件設計說明: (一)電路圖: (二)單片機AT89S51的I/O口分配使用情況 圖中P3.0,P3.1,P3.2,P3.3分別是加一分、加兩分、加三分、減一分。P3.4與P3.5口是外部中斷,其中斷服務程序的功能是實現(xiàn)比分交換的切換顯示和加分減分切換。電路中選擇共陽極的數(shù)碼管,可以省去輸入端的驅(qū)動電路,使電路更簡潔。P0口作為字形碼的輸出口,與數(shù)碼管的八只管教相連。 (三)元器件的參數(shù)及規(guī)格: 主要元器件有單片機芯片AT89S51,共陽極數(shù)碼管,9012PNP三極管。其中單片機承載程序,實現(xiàn)電路功能,三極管起開關(guān)及驅(qū)動數(shù)碼管顯示作用。數(shù)碼管顯示比分。 三 軟件設計說明: 程序的總體思路是主程序一直在掃描按鍵,比分顯示,比分交換,加減分隊伍切換都在中斷服務程序中完成。其具體內(nèi)容如下所示。 (一)軟件設計思路及流程圖: 中斷程序流程圖(如:圖一) 程序初始化,給存儲器賦初值按鍵掃描程序,掃描到由按鍵控制的中斷就執(zhí)行其對應程序外部中斷1,加減外部中斷0,A、B分隊伍切換中斷程序兩隊比分切換圖一 按鍵掃描程序流程圖(如:圖二)按鍵掃描入口,檢測軟件標志位F0,為1調(diào)用分數(shù)顯示程序程序,為0調(diào)用加減分切換程序,同時掃描按鍵是掃描P3.0,并去抖,是否有鍵按下加一分否是掃描P3.1,并去抖,是否有鍵按下加兩分否是掃描P3.2,并去抖,是否有鍵按下加三分否是掃描P3.3,并去抖,是否有按鍵按下減一分否按鍵掃描程序結(jié)束圖二 分數(shù)顯示程序流程圖(如:圖三) 將A對B對的分數(shù)首先進行BCD碼轉(zhuǎn)換,再保存到相對應的寄存器中把各分數(shù)分別賦給寄存器A,查表送往要顯示的數(shù)碼管由P2口的位狀態(tài)控制子程序調(diào)用結(jié)束,返回主程序,RET 圖三 其中時間顯示的子程序流程圖與分數(shù)的大同小異,此處就不再一一列出。 (二)程序的總體框架結(jié)構(gòu)說明: 程序包含按鍵掃描程序,不斷地掃描按鍵,一旦有控制中斷的按鍵按下,就執(zhí)行中斷程序,交換比分。中斷服務程序,INT_0交換A對與B對的總分,INT_1改變軟件標志位就可以切換加減分隊伍,同時掃描按鍵。 (三)重要程序段的功能,作用及思路簡介: 按鍵掃描程序是本程序中最重要的程序段,其連接了所有的子程序,子程序的調(diào)用都是在其中完成。下面就對該程序段的功能,作用及編寫思路做詳細說明。各部分關(guān)鍵程序 按鍵控制程序 org 0060h ajcx: jnb p3.0,s0 jnb p3.1,s1 jnb p3.2,s2 jnb p3.3,s3 jnb p3.4,s4 jnb p3.5,sz5 ljmp ajcx sz5: ljmp s5 s0: lcall del jb p3.0,s01 ljmp ajcx s01: jnb p1.0,s02 mov a,30h inc a mov 30h,a ljmp tzcx s02: mov a,31h inc a mov 31h,a ljmp tzcx s1: lcall del jb p3.1,s11 ljmp ajcx s11: jnb p1.0,s12 mov a,30h add a,#02h mov 30h,a ljmp tzcx s12: mov a,31h add a,#02h mov 31h,a ljmp tzcx s2: lcall del jb p3.2,s21 ljmp ajcx s21: jnb p1.0,s22 mov a,30h add a,#03h mov 30h,a ljmp tzcx s22: mov a,31h add a,#03h mov 31h,a ljmp tzcx s3: lcall del jb p3.3,s31 ljmp ajcx s31: jnb p1.0,s32 mov a,30h dec a mov 30h,a ljmp tzcx s32: mov a,31h dec a mov 31h,a ljmp tzcx s4: lcall del jb p3.4,s41 ljmp ajcx s41: push 30h push 31h pop 30h pop 31h lcall jscx ljmp ajcx s5: lcall del jb p3.5,s51 ljmp ajcx s51: cpl p1.0 cpl p1.1 ljmp ajcx 加分程序: org 0120h tzcx: lcall jscx ljmp ajcx org 0130h del: mov tl1,#00h mov th1,#0bh setb tr1 jnb tf1,$ mov tl1,#00h mov th1,#0bh clr tf1 ret 加減分隊伍切換程序: org 0150h dscx: mov th0,#0fch mov tl0,#18h mov a,r2 rl a mov r2,a cjne r2,#11h,d1 mov r1,#32h lcall jscx reti d1: cjne r2,#22h,d2 mov r1,#33h lcall jscx reti d2: cjne r2,#44h,d3 mov r1,#34h lcall jscx reti d3: mov r1,#35h lcall jscx reti 比分切換程序: org 0190h jscx: mov a,30h mov b,#0ah div ab mov 33h,b mov 32h,a mov a,31h mov b,#0ah div ab mov 35h,b mov 34h,a mov p2,r2 mov dptr,#tab mov a,@r1 movc a,@a+dptr mov p0,a ret org 0220h tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h db 80h,90h end 12 四 制作調(diào)試說明: (一)程序調(diào)試過程: 程序調(diào)試我花了兩天的時間,此程序雖然不復雜,由于我平時學習的不夠深入,也沒用心學。對于我這樣的基礎來說調(diào)試過程真的很痛苦。剛開始調(diào)試時程序有兩處讓我感覺很亂,按鍵掃描程序中的中斷程序如何調(diào)用。當寄存A對或B對的分數(shù)累加到99的時候,就清零,但還沒有累加到99的時候,程序應該跳往何處執(zhí)行,我最初的是跳了繼續(xù)累加。在仿真中的現(xiàn)象就是分數(shù)一直顯示99,加不了。我真的是太大意了,調(diào)試的時候不踏實。 (二)硬件調(diào)試: 此次的硬件焊接很成功,電路布局很清晰,雖然在調(diào)試時也發(fā)現(xiàn)錯誤,但用萬用表很容易就檢測出來了,其中有幾根線的皮包線熔了,肉眼看不到。重新整理電路后,功能明顯成功。至此,本次的單片機課程設計圓滿結(jié)束。 五 電路實拍: 電路板正面: 電路板背面: 六 總結(jié)心得體會: 通過這一次的單片機實訓,讓我對單片機這一門知識有了更深的認識,更鍛煉了我獨立解決問題獨立思考的能力,在電路設計和程序設計的過程中我們遇到了很多問題和困難,但通過大家的討論和老師的指點之后,一切的問題都一一被解決,但單片機的學習并不是那么的簡單,在最后也是最關(guān)鍵的程序調(diào)試的過程中,我們又遇到了很多更難的更棘手的問題,電路焊接完好也會出現(xiàn)諸多類似于不實現(xiàn)功能或是出現(xiàn)混亂顯示的情況,真的很讓人頭疼,但,大家都還是咬牙堅持了下來,最后很多電路雖然依舊還是沒能實現(xiàn)功能,但我們努力頑強克服重重困難的精神,是大家有目共睹的,就算是失敗了,也依舊是很值得的一次經(jīng)歷.,與此同時,也有很多同學試驗成功,看著大家臉上洋溢的笑容,大家無論失敗成功都從這次的實訓中學到了很多很多的東西 七 參考文獻: 胡健 主編 《單片機原理及接口技術(shù)》 張大明 主編 《單片機控制實訓指導及綜合應用實例》李勛、林廣艷《單片機微型計算機大學讀本》 機械工程出版社 機械工業(yè)出版社 北京航空航天大學出版社16 滄州職業(yè)技術(shù)學院單片機實訓報告 原理圖 滄州職業(yè)技術(shù)學院單片機實訓報告 雙位數(shù)碼管顯示控制程序及說明 START: MOV R0,#0;清零 MOV DPTR,#TABLE;指定查表起始地址 LOOP: ACALL DISPLAY;調(diào)用子程序DISPLAY INC R0;R0加1 CJNE R0,#100,LOOP JMP START DISPLAY: MOV A,R0 MOV B,#10 DIV AB MOV 20H,A MOV 21H,B MOV R3,#50;LOOP1: MOV A,21H ACALL CHANG CLR P2.4;ACALL DLY SETB P2.4 MOV A,20H ACALL CHANG CLR P2.5;ACALL DLY SETB p2.5 DJNZ R3,LOOP1 RET CHANG: MOVC A,@A+DPTR MOV P0,A;RET;R0未到100則轉(zhuǎn)換;跳轉(zhuǎn) ;把R0里的數(shù)據(jù)送入A;把10送入B;a b相除;十位送入20H;個位送入21H 把50送入R3;取個位數(shù) ;調(diào)用子程序CHANG 開個位顯示;調(diào)用子程序DLY;關(guān)閉個位顯示;取十位數(shù) ;調(diào)用子程序CHANG 開十位顯示;調(diào)用子程序DLY;關(guān)閉十位顯示;循環(huán)50次;子程序返回;查表 查表結(jié)果送入P0;子程序返回 滄州職業(yè)技術(shù)學院單片機實訓報告 DLY: MOV R6,#20;典型延時子程序延時 D1: MOV R7,#248;10ms DJNZ R7,$ DJNZ R6,D1 RET TABLE: DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H,82H DB 0F8H,80H,90H END ;表數(shù)據(jù)共陽極數(shù)碼管顯示代碼 滄州職業(yè)技術(shù)學院單片機實訓報告 心得體會 為期一周的單片機實訓結(jié)束了,真是讓我受益匪淺啊!學到了很多東西,不管怎么樣,先感謝學校給我的這么多機會,真正的學到了東西。 隨著電子技術(shù)的發(fā)展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來了根本性的變化,我們就學習了單片機這門課程,感覺是有點難。也不知道整個學習過程是怎么過來得,可是時間不等人。不過在學習中,我才發(fā)現(xiàn)學習單片機不僅僅需要軟件的知識,還需要硬件的知識。我買了一個單片機在實踐中就是一個活生生的例子,沒有相應的硬件知識,我連單片機怎么和電腦相連都不知道,我為我當初的想法感到羞愧。單片機是一門很好的學問,需要我去鉆研它。 不過在學習中,我才發(fā)現(xiàn)學習單片機不僅僅需要軟件的知識,還需要硬件的知識。我買了一個單片機在實踐中就是一個活生生的例子,沒有相應的硬件知識,我連單片機怎么和電腦相連都不知道,我為我當初的想法感到羞愧。單片機是一門很好的學問,需要我去鉆研它。 說起課程設計,我認為最重要的就是做好設計的預習,認真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不茍的去聽去想,因為只有都明白了,做起設計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設計,到頭來一點收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。 滄州職業(yè)技術(shù)學院單片機實訓報告 在全組人竭盡全力,老師的精心指導下,程序基本編寫成功,這是我們共同努力的結(jié)果,在享受我們成果之時,不得不感慨單片機的重要性與高難度性,所以為期一周的單片機課程設計沒有浪費我我們學到了很多知識,也讓我們對單片機有了更深一步的了解,雖然最后結(jié)果是出來了,可這與老師的精心指導是分不開的她引導我們的思路,本來一竅不通的我們經(jīng)過老師的點撥基本上通了,所以老師是功不可沒的。 總而言之,單片機課程設計對于我們有很大的幫助,我們從中受益匪淺。 參考文獻 [1]李廣弟等 單片機基礎[M] 北京航空航天出版社,2001.[2]王東峰等 單片機C語言應用100例[M] 電子工業(yè)出版社,2009.[3]陳海宴 51單片機原理及應用[M] 北京航空航天大學出版社,2010.[4]劉守義等 單片機技術(shù)基礎[M] 西安電子科技大學出版社,2007.[5]鐘富昭等 8051單片機典型模塊設計與應用[M] 人民郵電出版社,2007.[6]李平等 單片機入門與開發(fā)[M] 機械工業(yè)出版社,2008.[7]李全利 遲榮強編著 單片機原理及接口技術(shù) 高等教育出版社,2004 [8] 樓然苗等 51系列單片機設計實例 北京航空航天出版社,2003 [9]唐俊翟等 單片機原理及應用 冶金工業(yè)出版社,2003 5 滄州職業(yè)技術(shù)學院單片機實訓報告 [10]劉瑞新等 單片機原理及應用教程 機械工業(yè)出版社,2003第三篇:單片機實訓報告
第四篇:單片機實訓報告
第五篇:單片機實訓報告