第一篇:單片機(jī)實(shí)訓(xùn)報(bào)告
目錄
一 方案設(shè)計(jì)說明:............................................................................................2 二 硬件設(shè)計(jì)說明:............................................................................................4
(一)電路圖:..........................................................................................4(二)單片機(jī)AT89S51的I/O口分配使用情況........................................4
(三)元器件的參數(shù)及規(guī)格:....................................................................5 三 軟件設(shè)計(jì)說明:............................................................................................6
(一)軟件設(shè)計(jì)思路及流程圖:................................................................6
(二)程序的總體框架結(jié)構(gòu)說明:............................................................8
(三)重要程序段的功能,作用及思路簡介:........................................8 四 制作調(diào)試說明:..........................................................................................13
(一)程序調(diào)試過程:..............................................................................13
(二)硬件調(diào)試:......................................................................................13 五 電路實(shí)拍:.....................................................................................................14 六 總結(jié)心得體會:..........................................................................................15 七 參考文獻(xiàn):.....................................................................................................16
一 方案設(shè)計(jì)說明:
設(shè)計(jì)方案之前,得先分解設(shè)計(jì)任務(wù)。本次的設(shè)計(jì)任務(wù)是籃球記分牌,據(jù)常識,籃球記分牌應(yīng)有分別給兩隊(duì)加分,減分,能交換顯示分?jǐn)?shù)。在進(jìn)行設(shè)計(jì)之前,應(yīng)自己提出幾個問題,待問題回答之后。基本功、的設(shè)計(jì)方案就出來了。在設(shè)計(jì)之前我提出了一下幾個問題:
a:硬件部分如何控制給A對B對加分,場地交換的時候又是如何實(shí)現(xiàn)分?jǐn)?shù)顯示交換的?應(yīng)該如何連接硬件,在硬件上設(shè)置控制端,控制端與單片機(jī)各引腳之間的連。
b:單片機(jī)只有一個CPU,如何實(shí)現(xiàn)即要掃描按鍵,又要顯示比分。數(shù)碼管工作的本質(zhì)是將要顯示的數(shù)據(jù)的字型碼送給他,如何采集到變化的分?jǐn)?shù)送給數(shù)碼管。用查表嗎?
c:加分與倒計(jì)時在程序中最本質(zhì)的東西是什么,如何用程序來說明這樣的事件,各事件之間又是如何聯(lián)系的。
雖然這些問題看似很普通,似乎在設(shè)計(jì)過程中都要面對這樣的問題,何不事先就解決這些問題呢,在逐一回答這些問題的同時,該任務(wù)的設(shè)計(jì)方案已見雛形。以下就是該方案的詳細(xì)內(nèi)容以及我問題的答案。
系統(tǒng)原理圖如下圖一所示:
LED數(shù)碼顯示管外部按鍵AT89S51驅(qū)動電路 3
二 硬件設(shè)計(jì)說明:
(一)電路圖:
(二)單片機(jī)AT89S51的I/O口分配使用情況
圖中P3.0,P3.1,P3.2,P3.3分別是加一分、加兩分、加三分、減一分。P3.4與P3.5口是外部中斷,其中斷服務(wù)程序的功能是實(shí)現(xiàn)比分交換的切換顯示和加分減分切換。電路中選擇共陽極的數(shù)碼管,可以省去輸入端的驅(qū)動電路,使電路更簡潔。P0口作為字形碼的輸出口,與數(shù)碼管的八只管教相連。
(三)元器件的參數(shù)及規(guī)格:
主要元器件有單片機(jī)芯片AT89S51,共陽極數(shù)碼管,9012PNP三極管。其中單片機(jī)承載程序,實(shí)現(xiàn)電路功能,三極管起開關(guān)及驅(qū)動數(shù)碼管顯示作用。數(shù)碼管顯示比分。
三 軟件設(shè)計(jì)說明:
程序的總體思路是主程序一直在掃描按鍵,比分顯示,比分交換,加減分隊(duì)伍切換都在中斷服務(wù)程序中完成。其具體內(nèi)容如下所示。
(一)軟件設(shè)計(jì)思路及流程圖:
中斷程序流程圖(如:圖一)
程序初始化,給存儲器賦初值按鍵掃描程序,掃描到由按鍵控制的中斷就執(zhí)行其對應(yīng)程序外部中斷1,加減外部中斷0,A、B分隊(duì)伍切換中斷程序兩隊(duì)比分切換圖一
按鍵掃描程序流程圖(如:圖二)按鍵掃描入口,檢測軟件標(biāo)志位F0,為1調(diào)用分?jǐn)?shù)顯示程序程序,為0調(diào)用加減分切換程序,同時掃描按鍵是掃描P3.0,并去抖,是否有鍵按下加一分否是掃描P3.1,并去抖,是否有鍵按下加兩分否是掃描P3.2,并去抖,是否有鍵按下加三分否是掃描P3.3,并去抖,是否有按鍵按下減一分否按鍵掃描程序結(jié)束圖二
分?jǐn)?shù)顯示程序流程圖(如:圖三)
將A對B對的分?jǐn)?shù)首先進(jìn)行BCD碼轉(zhuǎn)換,再保存到相對應(yīng)的寄存器中把各分?jǐn)?shù)分別賦給寄存器A,查表送往要顯示的數(shù)碼管由P2口的位狀態(tài)控制子程序調(diào)用結(jié)束,返回主程序,RET 圖三
其中時間顯示的子程序流程圖與分?jǐn)?shù)的大同小異,此處就不再一一列出。
(二)程序的總體框架結(jié)構(gòu)說明:
程序包含按鍵掃描程序,不斷地掃描按鍵,一旦有控制中斷的按鍵按下,就執(zhí)行中斷程序,交換比分。中斷服務(wù)程序,INT_0交換A對與B對的總分,INT_1改變軟件標(biāo)志位就可以切換加減分隊(duì)伍,同時掃描按鍵。
(三)重要程序段的功能,作用及思路簡介:
按鍵掃描程序是本程序中最重要的程序段,其連接了所有的子程序,子程序的調(diào)用都是在其中完成。下面就對該程序段的功能,作用及編寫思路做詳細(xì)說明。各部分關(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 加減分隊(duì)伍切換程序: 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)試我花了兩天的時間,此程序雖然不復(fù)雜,由于我平時學(xué)習(xí)的不夠深入,也沒用心學(xué)。對于我這樣的基礎(chǔ)來說調(diào)試過程真的很痛苦。剛開始調(diào)試時程序有兩處讓我感覺很亂,按鍵掃描程序中的中斷程序如何調(diào)用。當(dāng)寄存A對或B對的分?jǐn)?shù)累加到99的時候,就清零,但還沒有累加到99的時候,程序應(yīng)該跳往何處執(zhí)行,我最初的是跳了繼續(xù)累加。在仿真中的現(xiàn)象就是分?jǐn)?shù)一直顯示99,加不了。我真的是太大意了,調(diào)試的時候不踏實(shí)。
(二)硬件調(diào)試:
此次的硬件焊接很成功,電路布局很清晰,雖然在調(diào)試時也發(fā)現(xiàn)錯誤,但用萬用表很容易就檢測出來了,其中有幾根線的皮包線熔了,肉眼看不到。重新整理電路后,功能明顯成功。至此,本次的單片機(jī)課程設(shè)計(jì)圓滿結(jié)束。
五 電路實(shí)拍: 電路板正面:
電路板背面:
六 總結(jié)心得體會:
通過這一次的單片機(jī)實(shí)訓(xùn),讓我對單片機(jī)這一門知識有了更深的認(rèn)識,更鍛煉了我獨(dú)立解決問題獨(dú)立思考的能力,在電路設(shè)計(jì)和程序設(shè)計(jì)的過程中我們遇到了很多問題和困難,但通過大家的討論和老師的指點(diǎn)之后,一切的問題都一一被解決,但單片機(jī)的學(xué)習(xí)并不是那么的簡單,在最后也是最關(guān)鍵的程序調(diào)試的過程中,我們又遇到了很多更難的更棘手的問題,電路焊接完好也會出現(xiàn)諸多類似于不實(shí)現(xiàn)功能或是出現(xiàn)混亂顯示的情況,真的很讓人頭疼,但,大家都還是咬牙堅(jiān)持了下來,最后很多電路雖然依舊還是沒能實(shí)現(xiàn)功能,但我們努力頑強(qiáng)克服重重困難的精神,是大家有目共睹的,就算是失敗了,也依舊是很值得的一次經(jīng)歷.,與此同時,也有很多同學(xué)試驗(yàn)成功,看著大家臉上洋溢的笑容,大家無論失敗成功都從這次的實(shí)訓(xùn)中學(xué)到了很多很多的東西
七 參考文獻(xiàn): 胡健
主編 《單片機(jī)原理及接口技術(shù)》
張大明 主編 《單片機(jī)控制實(shí)訓(xùn)指導(dǎo)及綜合應(yīng)用實(shí)例》李勛、林廣艷《單片機(jī)微型計(jì)算機(jī)大學(xué)讀本》
機(jī)械工程出版社 機(jī)械工業(yè)出版社
北京航空航天大學(xué)出版社16
第二篇:單片機(jī)實(shí)訓(xùn)報(bào)告范文
四川電子機(jī)械職業(yè)技術(shù)學(xué)院
單片機(jī)原理及應(yīng)用
實(shí) 訓(xùn)報(bào)告1
班級:應(yīng)電14.2班 姓名:劉華利 學(xué)號:140302058 指導(dǎo)教師:向兵
四川電子機(jī)械職業(yè)技術(shù)學(xué)院
摘要:
《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)項(xiàng)目化教程》這本書根據(jù)教育部新的教學(xué)改革要求和企業(yè)崗位技能需求,以高技能應(yīng)用型人才專業(yè)能力培養(yǎng)為目標(biāo),結(jié)合作者多年的教學(xué)經(jīng)驗(yàn)與課程改革成果進(jìn)行編寫。全書通過6個典型項(xiàng)目任務(wù),著重介紹單片機(jī)基本原理及應(yīng)用系統(tǒng)的設(shè)計(jì)方法與技巧,包括流水燈控制系統(tǒng)設(shè)計(jì)、簡易數(shù)字時鐘設(shè)計(jì)、數(shù)字電壓表設(shè)計(jì)、低頻信號發(fā)生器設(shè)計(jì)、數(shù)據(jù)存儲及回放系統(tǒng)設(shè)計(jì)和窗簾智能控制系統(tǒng)設(shè)計(jì)等。本書采用“理實(shí)一體、項(xiàng)目化教學(xué)”模式進(jìn)行內(nèi)容編排,將單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)的相關(guān)知識點(diǎn)融入項(xiàng)目中進(jìn)行講解,易教易學(xué),效果良好。
目錄
摘要········································ 2 目錄········································ 2 實(shí)訓(xùn)名稱···································· 3 實(shí)訓(xùn)地點(diǎn)···································· 3 實(shí)訓(xùn)時間···································· 3 實(shí)訓(xùn)目的···································· 3 實(shí)訓(xùn)項(xiàng)目···································· 3 項(xiàng)目1·······································3 項(xiàng)目2·······································4 項(xiàng)目3·······································5 項(xiàng)目4·······································6 實(shí)訓(xùn)總結(jié)····································· 7
四川電子機(jī)械職業(yè)技術(shù)學(xué)院
實(shí)訓(xùn)名稱:單片機(jī)原理及應(yīng)用 實(shí)訓(xùn)地點(diǎn):行政樓523 實(shí)訓(xùn)時間:2016.6.27—6.30 實(shí)訓(xùn)目的:1、2、3、4、5、6、7、掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本方法,基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法。
掌握C的基本概念和基礎(chǔ)知識。
通過訓(xùn)練能夠讀懂較為復(fù)雜的C語言源程序并具備基本C語言程序設(shè)計(jì)的能力。
熟練掌握各種常用類的定義繼承文件的應(yīng)用,為更好的理解面向?qū)ο蟠蛳赂玫幕A(chǔ)。
掌握面向?qū)ο蟮幕驹恚岣邔W(xué)生綜合程序設(shè)計(jì)的能力。
培養(yǎng)自己獨(dú)立解決問題,找資料的能力。同學(xué)之間相互幫助、相互交流、相互合作的團(tuán)隊(duì)精神。
通過實(shí)訓(xùn)檢查自己學(xué)習(xí)上的不足,達(dá)到熟練掌握C語言的基本知識和技能。
實(shí)訓(xùn)項(xiàng)目: 項(xiàng)目1 點(diǎn)亮一個LED,每隔一定時間循環(huán)熄滅、點(diǎn)亮…
設(shè)計(jì)思路:端口送高電平,led熄滅,延時1s,端口送低電平,led點(diǎn)亮,延時1s,就這樣一直循環(huán)。
程序
#include
L2 = 1;
while(Ms--)
DelayMs(1000);
{
L2 = 0;
for(i = 0;i < 114;i+
DelayMs(1000);+);} } }
四川電子機(jī)械職業(yè)技術(shù)學(xué)院
原理圖
項(xiàng)目2 點(diǎn)亮一個LED,讓它每隔一定時間循環(huán)左移(課使用delay函數(shù)進(jìn)行延時)
設(shè)計(jì)思路:在項(xiàng)目1的的基礎(chǔ)上,用dalay函數(shù)進(jìn)行延時,用<<來表示左移,添加一個左移的函數(shù)。通俗一點(diǎn)的講的話,就如天天天同一些人排隊(duì)領(lǐng)東西,領(lǐng)完了返回隊(duì)位繼續(xù)排(當(dāng)然一只是這幾個人排)。
程序
#include } while(1){ for(i=0;i<7;i++){ delay(100); LED=(LED<<1)|0x01;P3=LED;} } 四川電子機(jī)械職業(yè)技術(shù)學(xué)院 原理圖 項(xiàng)目3 將任務(wù)二中delay延時改用定時器延時,且延時一秒 設(shè)計(jì)思路:在項(xiàng)目2的的基礎(chǔ)上,用定時器來進(jìn)行延時,首先設(shè)置定時器工作方式 也就是TMOD,在設(shè)置TH0/1,TL0/1的初值,也就是定時時間的設(shè)置,然后設(shè)置中斷允許,并開中斷。用中斷來控制。 程序 #include { TH0=(65536-50000)/256;TL0=(65536-50000)%256;j++;if(j==5){ j=0; P1=~(0x01< if(++i==8)i=0; } } 四川電子機(jī)械職業(yè)技術(shù)學(xué)院 原理圖 項(xiàng)目4 四位數(shù)碼管并排顯示,從左到右依次為分、秒十位、秒各位、0.1秒,相當(dāng)于移動可計(jì)時9分59.9秒,使用一個按鍵,當(dāng)按鍵第一次按下,啟動秒表,第二次按下,停止,第三次按下,清零。(數(shù)碼管可選共陰極、共陽極,至于對應(yīng)數(shù)字的段選可參考教材) 設(shè)計(jì)思路:用delay函數(shù)來進(jìn)行延時,用內(nèi)部中斷來控制T1,用外部中斷來實(shí)現(xiàn)計(jì)數(shù)、暫停、清零這三個功能。 程序 #include uintx,y; for(x=100;x>0;x--) for(y=z;y>0;y--);} void dihplay(){ P1=0xfd; 四川電子機(jī)械職業(yè)技術(shù)學(xué)院 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;} } 四川電子機(jī)械職業(yè)技術(shù)學(xué)院 原理圖 實(shí)訓(xùn)總結(jié): 通過今次單片機(jī)實(shí)訓(xùn),使我對單片機(jī)的認(rèn)識有了更深刻的理解。系統(tǒng)以51單片機(jī)為核心部件,利用C語言編程,通過對led燈控制到用數(shù)碼管實(shí)現(xiàn)秒表功能、中斷控制功能,能實(shí)現(xiàn)本設(shè)計(jì)題目的基本要求和發(fā)揮部分。由于時間有限和本身知識水平的限制,本系統(tǒng)還存在一些不夠完善的地方,要作為實(shí)際應(yīng)用還有一些具體細(xì)節(jié)問題需要解決。 踉踉蹌蹌地忙碌了一周,我的程序終于編譯成功。當(dāng)看著自己的程序,自己成天相伴的系統(tǒng)能夠健康的運(yùn)行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最終都會化為甜美的甘泉。 但在這次實(shí)訓(xùn)中同時使我對C語言有了更深的認(rèn)識。當(dāng)我第一次接觸C語言就感覺很難,特別是今次實(shí)訓(xùn)要用到C語言,盡管困難重重,可我們還是克服了。這次的實(shí)訓(xùn)使培養(yǎng)了我們嚴(yán)肅認(rèn)真的做事作風(fēng),增強(qiáng)了我們之間的團(tuán)隊(duì)合作能力,使我們認(rèn)識到了團(tuán)隊(duì)合作精神的重要性。 這次實(shí)訓(xùn)的經(jīng)歷也會使我終身受益,我感受到這次實(shí)訓(xùn)是要真真正正用心去做的一件事情,是真正的自己學(xué)習(xí)的過程和研究的過程,沒有學(xué)習(xí)就不可能有研究的能力,沒有自己的研究,就不會有所突破。希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)中激勵我繼續(xù)進(jìn)步。 單片機(jī)原理及應(yīng)用 實(shí)訓(xùn)報(bào)告 班級: 學(xué)號: 姓名: 指導(dǎo)教師: 實(shí)訓(xùn)總成績: 一、節(jié)日彩燈設(shè)計(jì) 題目:8位邏輯電平模塊上的LED小燈從左向右呈現(xiàn)“鞭甩”的實(shí)驗(yàn)現(xiàn)象,狀態(tài)間隔為0.25秒;按鍵1開始,按鍵2結(jié)束。 原理圖 程序代碼: #include 單片機(jī)原理及應(yīng)用實(shí)訓(xùn)報(bào)告 管及驅(qū)動電路的連接,從而構(gòu)成一個完整的硬件電路。然后通過對單片機(jī)的ROM進(jìn)行編程,實(shí)現(xiàn)對彩燈閃爍的控制。 二、定時器實(shí)現(xiàn)流水燈 題目:利用定時器/計(jì)數(shù)器T0產(chǎn)生2秒鐘的定時,每當(dāng)2秒定時到來時,更換指示燈點(diǎn)亮,依次循環(huán)點(diǎn)亮。 原理圖 程序代碼 #include 50000)% 256;TH0 =(65536 單片機(jī)原理及應(yīng)用實(shí)訓(xùn)報(bào)告 程序代碼 #include 單片機(jī)原理及應(yīng)用實(shí)訓(xùn)報(bào)告 實(shí)訓(xùn)總結(jié) 通過本次單片機(jī)實(shí)訓(xùn)使得我更深層次的學(xué)習(xí)單片機(jī)原理與應(yīng)用技術(shù)這門專業(yè)課程,同時對KEIL軟件進(jìn)行復(fù)習(xí)。這次實(shí)訓(xùn)是我看到了我最薄弱的一點(diǎn)那就是編程,對于編程有很大的困難。對以往學(xué)習(xí)過的編程知識沒有好好掌握,特別是編程這方便的知識很薄弱。學(xué)習(xí)過的知識在實(shí)際應(yīng)用中仿佛是冰山一角,完全不夠用,需要通過查閱很多資料才能解決到碰到的相關(guān)問題。而且實(shí)訓(xùn)中出現(xiàn)的問題都是實(shí)際應(yīng)用出比較典型的問題。這次實(shí)訓(xùn)還讓我深刻的體會了結(jié)構(gòu)化程序設(shè)計(jì)的優(yōu)勢,讓我懂得當(dāng)我們要進(jìn)行一個復(fù)雜的程序設(shè)計(jì)時應(yīng)該先將其分解為多個不同的功能模塊再分別編程實(shí)現(xiàn),這樣做不僅降低了編程的難度,也容易讓編程者思路更加清晰,避免出現(xiàn)不必要的錯誤。在做仿真時,仿真圖正確也不一定就是說明一定正確。 滄州職業(yè)技術(shù)學(xué)院單片機(jī)實(shí)訓(xùn)報(bào)告 原理圖 滄州職業(yè)技術(shù)學(xué)院單片機(jī)實(shí)訓(xùn)報(bào)告 雙位數(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ù)學(xué)院單片機(jī)實(shí)訓(xùn)報(bào)告 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ù)學(xué)院單片機(jī)實(shí)訓(xùn)報(bào)告 心得體會 為期一周的單片機(jī)實(shí)訓(xùn)結(jié)束了,真是讓我受益匪淺啊!學(xué)到了很多東西,不管怎么樣,先感謝學(xué)校給我的這么多機(jī)會,真正的學(xué)到了東西。 隨著電子技術(shù)的發(fā)展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來了根本性的變化,我們就學(xué)習(xí)了單片機(jī)這門課程,感覺是有點(diǎn)難。也不知道整個學(xué)習(xí)過程是怎么過來得,可是時間不等人。不過在學(xué)習(xí)中,我才發(fā)現(xiàn)學(xué)習(xí)單片機(jī)不僅僅需要軟件的知識,還需要硬件的知識。我買了一個單片機(jī)在實(shí)踐中就是一個活生生的例子,沒有相應(yīng)的硬件知識,我連單片機(jī)怎么和電腦相連都不知道,我為我當(dāng)初的想法感到羞愧。單片機(jī)是一門很好的學(xué)問,需要我去鉆研它。 不過在學(xué)習(xí)中,我才發(fā)現(xiàn)學(xué)習(xí)單片機(jī)不僅僅需要軟件的知識,還需要硬件的知識。我買了一個單片機(jī)在實(shí)踐中就是一個活生生的例子,沒有相應(yīng)的硬件知識,我連單片機(jī)怎么和電腦相連都不知道,我為我當(dāng)初的想法感到羞愧。單片機(jī)是一門很好的學(xué)問,需要我去鉆研它。 說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢耍銎鹪O(shè)計(jì)就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。 滄州職業(yè)技術(shù)學(xué)院單片機(jī)實(shí)訓(xùn)報(bào)告 在全組人竭盡全力,老師的精心指導(dǎo)下,程序基本編寫成功,這是我們共同努力的結(jié)果,在享受我們成果之時,不得不感慨單片機(jī)的重要性與高難度性,所以為期一周的單片機(jī)課程設(shè)計(jì)沒有浪費(fèi)我我們學(xué)到了很多知識,也讓我們對單片機(jī)有了更深一步的了解,雖然最后結(jié)果是出來了,可這與老師的精心指導(dǎo)是分不開的她引導(dǎo)我們的思路,本來一竅不通的我們經(jīng)過老師的點(diǎn)撥基本上通了,所以老師是功不可沒的。 總而言之,單片機(jī)課程設(shè)計(jì)對于我們有很大的幫助,我們從中受益匪淺。 參考文獻(xiàn) [1]李廣弟等 單片機(jī)基礎(chǔ)[M] 北京航空航天出版社,2001.[2]王東峰等 單片機(jī)C語言應(yīng)用100例[M] 電子工業(yè)出版社,2009.[3]陳海宴 51單片機(jī)原理及應(yīng)用[M] 北京航空航天大學(xué)出版社,2010.[4]劉守義等 單片機(jī)技術(shù)基礎(chǔ)[M] 西安電子科技大學(xué)出版社,2007.[5]鐘富昭等 8051單片機(jī)典型模塊設(shè)計(jì)與應(yīng)用[M] 人民郵電出版社,2007.[6]李平等 單片機(jī)入門與開發(fā)[M] 機(jī)械工業(yè)出版社,2008.[7]李全利 遲榮強(qiáng)編著 單片機(jī)原理及接口技術(shù) 高等教育出版社,2004 [8] 樓然苗等 51系列單片機(jī)設(shè)計(jì)實(shí)例 北京航空航天出版社,2003 [9]唐俊翟等 單片機(jī)原理及應(yīng)用 冶金工業(yè)出版社,2003 5 滄州職業(yè)技術(shù)學(xué)院單片機(jī)實(shí)訓(xùn)報(bào)告 [10]劉瑞新等 單片機(jī)原理及應(yīng)用教程 機(jī)械工業(yè)出版社,2003 實(shí)訓(xùn)報(bào)告 實(shí)訓(xùn)題目:_ 專業(yè):_ 班級:姓名:指導(dǎo)教師: 2實(shí)訓(xùn)目的: 掌握匯編語言程序設(shè)計(jì)和調(diào)試方法,熟悉鍵盤操作。掌握RAM中的數(shù)據(jù)操作。熟悉MCS-51指令系統(tǒng),掌握程序設(shè)計(jì)方法。掌握簡單的數(shù)值轉(zhuǎn)換算法。基本了解數(shù)值的各種表達(dá)方法。掌握MCS-51串行口方式0工作方式及編程方法。掌握利用串行口擴(kuò)展I/O通道的方法。熟悉數(shù)字溫度傳感器DS18B20的使用方法和工作原理,了解單總線的讀/寫控制方法。 實(shí)訓(xùn)任務(wù)(列出實(shí)訓(xùn)期間所有任務(wù)的名稱): 第一章清零程序 第二章拆字程序 第三章拼字程序 第四章二進(jìn)制到BCD轉(zhuǎn)換 第五章串并轉(zhuǎn)換實(shí)驗(yàn) 第六章數(shù)字溫度的采集 實(shí)訓(xùn)準(zhǔn)備(個人的知識準(zhǔn)備、硬件與軟件器材): 個人知識準(zhǔn)備:熟悉實(shí)驗(yàn)箱的使用方法,懂得連線的基本操作,熟悉MCS-51單片機(jī)開發(fā)系統(tǒng)Keil軟件操作,懂得編譯、裝載并運(yùn)行程序。 硬件:實(shí)驗(yàn)箱、電腦 軟件:MCS-51單片機(jī)開發(fā)系統(tǒng)Keil軟件 實(shí)訓(xùn)要求: 1.2.3.4.5.對硬件設(shè)施、軟件設(shè)施的維護(hù) 保持桌面清潔、整齊 保持教室干凈 認(rèn)真聽講,不遲到早退,不大聲喧嘩 做完實(shí)驗(yàn)后整理好實(shí)驗(yàn)箱,導(dǎo)線等不要亂放 實(shí)訓(xùn)內(nèi)容(步驟及程序): 步驟: 1.了解實(shí)訓(xùn)任務(wù) 2.分析實(shí)訓(xùn)任務(wù) 3.打開MCS-51單片機(jī)開發(fā)系統(tǒng)軟件,編寫實(shí)訓(xùn)程序 4.打開實(shí)驗(yàn)箱,進(jìn)行連線 5.運(yùn)行程序 6.如果程序無法正常運(yùn)行,對程序進(jìn)行調(diào)試之后再運(yùn)行 7.運(yùn)行結(jié)果:點(diǎn)擊單步執(zhí)行,使程序每走一步查看運(yùn)行結(jié)果 8.在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無條件退出用戶運(yùn)行狀態(tài),返回監(jiān)控 程序(至少三個任務(wù)的程序): 任務(wù)一:清零程序 ORG 0640H SE01:MOV R0,#00H MOV DPTR,#2000H;(2000H)送DPTR LOO1:MOVX @DPTR,A;0送(DPTR) INC DPTR;DPTR+1 INC R0;字節(jié)數(shù)加1 CJNE R0,#00H,LOO1;不到FF個字節(jié)再清 SJMP $ END 任務(wù)二:拆字程序 ORG 0660H SE02:MOV DPTR,#2000H MOVX A,@DPTR MOV B,A;(2000)→A→B SWAP A;交換 ANL A,#0FH;屏敝高位 INC DPTR MOVX @DPTR,A;送2001H INC DPTR MOV A,B ANL A,#0FH;(2000)內(nèi)容屏敝高位 MOVX @DPTR,A;送2002H SJMP $ END 任務(wù)三:拼字程序 ORG 0680H SE03:MOV DPTR,#2000H MOVX A,@DPTR ANL A,#0FH;(2000H)內(nèi)容屏敝高位 SWAP A;交換 MOV B,A;保存 INC DPTR MOVX A,@DPTR;(2001H)內(nèi)容送A ANL A,#0FH;屏敝高位 ORL A,B;或 INC DPTR MOVX @DPTR,A;送2002H SJMP $ END 實(shí)訓(xùn)結(jié)果(結(jié)果分析): 任務(wù)一結(jié)果分析:實(shí)訓(xùn)程序能夠正常運(yùn)行,可以實(shí)現(xiàn)。 任務(wù)二結(jié)果分析:實(shí)訓(xùn)程序能夠正常運(yùn)行,可以實(shí)現(xiàn)。 任務(wù)三結(jié)果分析:實(shí)訓(xùn)程序能夠正常運(yùn)行,可以實(shí)現(xiàn)。 實(shí)訓(xùn)總結(jié): 通過一周的實(shí)訓(xùn),我們很好的完成了單片機(jī)的實(shí)訓(xùn),期間我學(xué)到了很多寶貴的知識和經(jīng)驗(yàn)。在這次的單片機(jī)實(shí)訓(xùn)中,我們了解了單片機(jī)的用途,掌握了單片機(jī)的編譯程序和裝載并進(jìn)行運(yùn)行,在這段時間我學(xué)會了硬件和軟件的基本操作,熟悉實(shí)驗(yàn)箱、電腦,了解運(yùn)行結(jié)果及檢查并進(jìn)行實(shí)踐操作。 首先,打開實(shí)驗(yàn)箱,在實(shí)驗(yàn)箱的后背有一根電源線插孔和一根數(shù)據(jù)線插孔,從實(shí)驗(yàn)箱中把電源線和數(shù)據(jù)線拿出來插在對應(yīng)的插孔中。其次,打開電腦的電源,電腦打開后,在桌面上有一個MCS-51單片機(jī)開發(fā)系統(tǒng)keil軟件,打開這個軟件會出現(xiàn)一個頁面,在頁面的上方有一個實(shí)驗(yàn)指導(dǎo),打開實(shí)驗(yàn)指導(dǎo)就可以看見硬件和軟件等字樣,在軟件那一欄右邊菜單點(diǎn)擊相應(yīng)的程序,選中那個程序,再打開實(shí)驗(yàn)指導(dǎo)和實(shí)驗(yàn)程序,對照著實(shí)驗(yàn)指導(dǎo)把導(dǎo)線插在實(shí)驗(yàn)箱相應(yīng)的位置。最后,把實(shí)驗(yàn)程序調(diào)出來,在電腦上或者是在實(shí)驗(yàn)箱上進(jìn)行裝載并運(yùn)行,也可以點(diǎn)擊菜單中的“單步運(yùn)行”,查看實(shí)驗(yàn)箱的結(jié)果,是否和實(shí)驗(yàn)指導(dǎo)上的一樣或者是直接在菜單上按“自動單步”讓程序不停的自動運(yùn)行。 在這期間我深刻的認(rèn)識到了理論知識和實(shí)踐操作必須是相結(jié)合的,也是教學(xué)環(huán)節(jié)中相當(dāng)重要的一個環(huán)節(jié),只有這樣才能提高自己的實(shí)際操作能力,并且可以從中培養(yǎng)自己的獨(dú)立思考,勇于克服困難和團(tuán)隊(duì)的協(xié)作精神,這次的實(shí)訓(xùn)使我學(xué)到了很多知識,使我終身受用。 實(shí)訓(xùn)建議: 1.有很多電腦是壞的,用一會兒就死機(jī),希望能將其修好 2.有個別實(shí)驗(yàn)箱是壞的,希望能修好的。 3.不能聯(lián)網(wǎng),希望能把網(wǎng)線聯(lián)好 學(xué)生(簽名):第三篇:單片機(jī)實(shí)訓(xùn)報(bào)告
第四篇:單片機(jī)實(shí)訓(xùn)報(bào)告
第五篇:單片機(jī)實(shí)訓(xùn)報(bào)告樣本