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