微機(jī)原理課程設(shè)計(jì)——教室人數(shù)統(tǒng)計(jì)系統(tǒng)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  微機(jī)原理與接口技術(shù)</b></p><p><b>  課程設(shè)計(jì)說明書</b></p><p>  課程名稱: 微機(jī)原理與接口技術(shù)綜合實(shí)驗(yàn) </p><p>  設(shè)計(jì)題目: 教室人數(shù)統(tǒng)計(jì)系統(tǒng)(第46組) </p>&

2、lt;p>  院 系: 機(jī)械與電子控制工程學(xué)院 </p><p>  機(jī)電學(xué)院《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)任務(wù)書</p><p>  設(shè)計(jì)要求:擴(kuò)展兩個光電傳感器和一塊8*8點(diǎn)陣LED顯示器,控制系統(tǒng)需要實(shí)現(xiàn):</p><p>  檢測教室里的人數(shù)。 并在8*8點(diǎn)陣LED顯示器顯示出來;</p><

3、;p>  設(shè)置一個按鍵實(shí)現(xiàn)復(fù)位清零。</p><p>  用發(fā)光二極管模擬電燈, 當(dāng)教室有人時, 發(fā)光二極管發(fā)光,無人時發(fā)光二極管不發(fā)光。</p><p>  注:我們組作品的擴(kuò)展功能:</p><p><b>  1、開機(jī)漸變式界面</b></p><p>  2、復(fù)位,計(jì)數(shù)初值顯示“0”</p>

4、<p>  3、人滿及人數(shù)為負(fù)時顯示心形</p><p>  4、課堂早退監(jiān)測功能</p><p><b>  5、倒計(jì)時功能</b></p><p><b>  工作計(jì)劃安排:</b></p><p>  在初期大體上我們組細(xì)化為五個部分</p><p>  1.

5、對硬件器材的學(xué)習(xí)與認(rèn)識</p><p>  2.硬件電路板的焊接</p><p><b>  3.程序設(shè)計(jì)與調(diào)試</b></p><p>  4.系統(tǒng)軟硬件知識的綜合學(xué)習(xí)與研究</p><p>  5.試驗(yàn)總結(jié)及實(shí)驗(yàn)報(bào)告的書寫</p><p>  我組組員工作的具體分工如下</p>

6、<p>  楊天夫:主程序設(shè)計(jì)與過程調(diào)試</p><p>  薛廣進(jìn):硬件電路板焊接與過程調(diào)試</p><p>  張揚(yáng)寧、張力雙:輔助程序設(shè)計(jì)及過程調(diào)試</p><p>  趙龍、馬超:實(shí)驗(yàn)報(bào)告的前期撰寫及過程調(diào)試</p><p>  在本次實(shí)驗(yàn)中,我組齊心協(xié)力,共同研究與學(xué)習(xí),雖各有分工,但又互相幫助,互相學(xué)習(xí)。做到每一個人各有

7、側(cè)重點(diǎn)的同時,又對總體的每一步有所參與,對總體的設(shè)計(jì)與調(diào)試都有所掌握。</p><p>  摘要:自習(xí)室是學(xué)生們學(xué)習(xí)的重要場所,選擇合適的自習(xí)室對自習(xí)的同學(xué)來說是一件比較麻煩的事,要輕松地挑出一間人數(shù)較少的自習(xí)室是比較麻煩的,每次只有推門進(jìn)去看看,才能知道里面有多少人,才能做出是否在這里自習(xí)的決定。這樣不但自己不方便,也會影響到其它上自習(xí)的同學(xué)。同時對于自習(xí)室的管理工作也會帶來很大幫助,通過此設(shè)備,管理人員可以很

8、容易地了解自習(xí)室的利用情況,以適時適量地對自習(xí)室進(jìn)行供電供暖的調(diào)節(jié)。從人達(dá)到對資源的有效利用,避免浪費(fèi)!因此,我組利用MCS-51 單片機(jī)來設(shè)計(jì)教室人數(shù)統(tǒng)計(jì)系統(tǒng),擴(kuò)展兩個光電傳感器和一塊8*8LED顯示器,可以將當(dāng)前教室人數(shù)顯示在門口,以方便同學(xué)們方便快捷地選擇自習(xí)室進(jìn)行自習(xí),同時方便管理人員的管理工作。</p><p>  關(guān)鍵詞: 8*8點(diǎn)陣LED顯示器 人數(shù)統(tǒng)計(jì) 復(fù)位清零 倒計(jì)時 早退監(jiān)測</

9、p><p><b>  目錄</b></p><p>  系統(tǒng)基本功能和實(shí)施方案(第4頁)</p><p>  設(shè)計(jì)思路(第4-5頁)</p><p>  硬件部分(第5-11頁)</p><p>  程序流程圖(第12-15頁)</p><p>  系統(tǒng)制作過程及結(jié)果(第16

10、-17頁)</p><p>  心得體會(第17-18頁)</p><p>  參考文獻(xiàn)(第18頁)</p><p>  源程序(第20-26頁)</p><p><b>  正 文</b></p><p>  系統(tǒng)基本功能和實(shí)施方案</p><p><b>

11、  1、設(shè)計(jì)目的:</b></p><p>  如果在進(jìn)自習(xí)室前就能知道教室里有多少人,是否滿員,而不用推門進(jìn)去才知道,將會節(jié)省自習(xí)同學(xué)的很多時間,同時也節(jié)省管理人員的很多時間,帶來很大的方便,不會更多的影響自習(xí)的同學(xué)。因此我們小組選擇了設(shè)計(jì)這個教室人數(shù)統(tǒng)計(jì)系統(tǒng),利用51單片機(jī)系統(tǒng)和兩個光電對管器件統(tǒng)計(jì)教室進(jìn)出的人數(shù),最后把教師當(dāng)前人數(shù)顯示在一個8*8LED顯示器上,方便想要自習(xí)的同學(xué)選擇教室,以及管

12、理人員的管理工作。</p><p>  另:本系統(tǒng)擴(kuò)展了上課早退記錄功能和倒計(jì)時功能,通過按鍵控制可實(shí)現(xiàn)不同功能之間的轉(zhuǎn)換。</p><p>  2、基本功能的實(shí)施方案:</p><p>  模擬教室人員的進(jìn)出,在出入口安裝兩個光電對管GK102,分別G1和G2;一塊8*8LED顯示教室目前人數(shù);一個發(fā)光二極管顯示教室人數(shù)是否為零;還有一個復(fù)位按鍵顯示器清零。當(dāng)有人

13、進(jìn)去時,先響應(yīng)G1,后響應(yīng)G2,此時將人數(shù)加一并顯示出來;當(dāng)有人出去時,先響應(yīng)G2,后響應(yīng)G1,此時將人數(shù)減一并顯示出來。如果人數(shù)為零則發(fā)光二極管熄滅。如檢測到復(fù)位按鍵按下則熄滅發(fā)光二極管,同時將人數(shù)變成零并顯示出來。</p><p><b>  二、設(shè)計(jì)思路</b></p><p>  本程序分主程序、兩中斷程序、顯示子程序與延時子程序四部分。</p>

14、<p><b>  各部分功能如下:</b></p><p><b>  1、主程序:</b></p><p>  主程序完成相應(yīng)存儲單元和標(biāo)志位的清零、8155的設(shè)置、開機(jī)界面顯示、中斷設(shè)置、對按鍵按下方式的檢測和處理等工作。</p><p>  程序中設(shè)一個循環(huán)程序用以判斷按鍵是否按下、按下的奇偶次數(shù)、按下

15、時間的長短。并按按鍵按下方式的不同對二極管和LED進(jìn)行控制。</p><p>  按鍵按下方式及系統(tǒng)相應(yīng)完成的功能如下:</p><p>  系統(tǒng)起始功能:顯示教室中人數(shù)并根據(jù)人數(shù)控制發(fā)光二極管亮滅。</p><p><b>  一次短按:復(fù)位。</b></p><p>  兩次短按:系統(tǒng)進(jìn)入上課早退監(jiān)測功能,此時如有人

16、在上課時間走出課堂則LED顯示閃爍的“X”字表示“早退”,同時發(fā)光二極管亮以警示。</p><p>  長按(大于1s):進(jìn)入倒計(jì)時功能。LED顯示由20開始,至1為止,間隔為1s的循環(huán)倒計(jì)時。</p><p>  再次長按:系統(tǒng)恢復(fù)起始功能。</p><p><b>  2、中斷程序:</b></p><p>  兩中

17、斷程序分別對人數(shù)增減標(biāo)志位(21H)進(jìn)行賦1和-1的操作。兩中斷響應(yīng)先后決定對人數(shù)增減標(biāo)志位(21H)進(jìn)行賦1還是-1。具體實(shí)現(xiàn)方式為:在一個中斷程序中加入對另一中斷是否響應(yīng)的判斷。如另一中斷沒有響應(yīng),則進(jìn)行賦1或-1的操作。</p><p><b>  3、顯示子程序:</b></p><p>  顯示子程序采用定行值,掃描列值的方法。具體見8*8LED原理的介紹。

18、</p><p>  4、延時子程序:(兩個)</p><p>  本程序中有兩個延時子程序,分別完成1ms和0.2s的延時。</p><p>  以上各部分程序的具體實(shí)現(xiàn)方式見程序流程圖和源程序。</p><p><b>  三、硬件部分</b></p><p>  系統(tǒng)電路原理圖見附件<

19、/p><p>  主體元件工作原理如下:</p><p>  1、8*8 點(diǎn)陣LED的工作原理:</p><p>  圖(1)為8×8點(diǎn)陣LED外觀及引腳圖,其等效電路如圖(2)所示,只要其對應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時限流電阻可以放在X軸或Y軸。</p><p>

20、;  圖2:8×8點(diǎn)陣LED外觀及引腳圖</p><p>  圖3:8×8點(diǎn)陣LED等效電路</p><p>  圖4:8×8點(diǎn)陣LED電路原理</p><p>  點(diǎn)陣LED掃描法介紹</p><p>  點(diǎn)陣LED一般采用掃描式顯示,實(shí)際運(yùn)用分為三種方式:</p><p><b&

21、gt; ?。?)點(diǎn)掃描; </b></p><p><b> ?。?)行掃描;</b></p><p><b>  (3)列掃描。</b></p><p>  若使用第一種方式,其掃描頻率必須大于16×64=1024Hz,周期小于1ms即可。</p><p>  若使用第二和第

22、三種方式,則頻率必須大于16×8=128Hz,周期小于7.8ms即可符合視覺暫留要求。此外一次驅(qū)動一列或一行(8顆LED)時需外加驅(qū)動電路提高電流,否則LED亮度會不足。如圖3所示。</p><p>  本程序采用第三種方式。其對應(yīng)的字形編碼如下:</p><p><b>  字形編碼:</b></p><p>  根據(jù)電路圖的連接情

23、況可知,8*8點(diǎn)陣顯示只有當(dāng)PA口和PB口相對應(yīng)的列和橫線都輸入為“0”時,相應(yīng)的點(diǎn)才發(fā)光顯示。</p><p>  數(shù)字“1”顯示如下圖所示</p><p>  其顯示代碼為:0FFH, 0FFH, 0FFH, 7BH, 01H, 7FH, 0FFH, 0FFH</p><p>  只要把這些代碼分別送到相應(yīng)的列線上面,然后采用列循環(huán),即可實(shí)現(xiàn)“1”的數(shù)字顯示

24、。</p><p><b>  顯示過程如下</b></p><p>  將代碼送到8155的A口,同時置第一列線為低電平,其他列線為高電平(即8155的B口為0EFH),延時2ms。</p><p>  按第一列方式對第二列進(jìn)行顯示,如此下去直至一次顯示完成。</p><p>  其余數(shù)字字形編碼及顯示方式依次類推。&

25、lt;/p><p><b>  2、電阻器讀法</b></p><p>  (1)本次實(shí)踐采用5色環(huán)的標(biāo)注方式,阻值=(第1色環(huán)數(shù)值*100+第2色環(huán)數(shù)值*10+第3位色環(huán)數(shù)值)*第4位色環(huán)代表之所乘數(shù)所以應(yīng)熟記第一、二環(huán)每種顏色所代表的數(shù)??蛇@樣記憶:棕1,紅2,橙3,黃4,綠5,藍(lán)6,紫7,灰8,白9,黑0。記準(zhǔn)記牢第三環(huán)顏色所代表的 阻值范圍,這一點(diǎn)是快速識別的關(guān)鍵

26、。具體是: </p><p>  金色:*Ω 黑色:*Ω 棕色:*Ω</p><p>  紅色:*Ω 橙色:*Ω 黃色:*Ω</p><p>  綠色:*Ω 藍(lán)色:*Ω</p><p>  從數(shù)量

27、級來看,在體上可把它們劃分為三個大的等級,即:金、黑、棕色是歐姆級的;紅、橙、黃色是千歐級的;綠、藍(lán)色則是兆歐級的。這樣劃分一下是為了便于記憶。</p><p> ?。?)第五環(huán)表示允許偏差,一般為金色±5%的偏差。</p><p> ?。?)例如本次所用2.2kΩ的電阻器,色環(huán)為紅、紅、黑、棕、金</p><p>  則該電阻標(biāo)稱阻值=(200+20+0

28、)*10=2.2kΩ,誤差范圍±5%</p><p>  用萬用表測得實(shí)際阻值為2183Ω,符合使用誤差要求。</p><p><b>  3、電容</b></p><p>  電容由兩個金屬極,中間夾有絕緣材料(介質(zhì))構(gòu)成。由于絕緣材料的不同,所構(gòu)成的電容器的種類也有所不同: 按結(jié)構(gòu)可分為:固定電容,可變電容,微調(diào)電容。 按介質(zhì)材料

29、可分為:氣體介質(zhì)電容,液體介質(zhì)電容,無機(jī)固體介質(zhì)電容,有機(jī)固體介質(zhì)電容電解電容。 按極性分為:有極性電容和無極性電容。 我們最常見到的就是電解電容。 </p><p>  在電子線路中,電容用來通過交流而阻隔直流,也用來存儲和釋放電荷以充當(dāng)濾波器,平滑輸出脈動信號。小容量的電容,通常在高頻電路中使用,如收音機(jī)、發(fā)射機(jī)和振蕩器中。大容量的電容往往是作濾波和存儲電荷用。而且還有一個特點(diǎn),一般1μF以上的電容均為電解電

30、容,而1μF以下的電容多為瓷片電容,當(dāng)然也有其他的,比如獨(dú)石電容、滌綸電容、小容量的云母電容等。電解電容有個鋁殼,里面充滿了電解質(zhì),并引出兩個電極,作為正(+)、負(fù)(-)極,與其它電容器不同,它們在電路中的極性不能接錯,而其他電容則沒有極性。由于電容體積要比電阻大,所以一般都使用直接標(biāo)稱法。如果數(shù)字是0.001,那它代表的是0.001uF=1nF,如果是10n,那么就是10nF,同樣100p就是100pF。電容的符號分為國內(nèi)標(biāo)表示法和國

31、際電子符號表示法,但電容符號在國內(nèi)和國際表示都差不多,唯一的區(qū)別就是在有極性電容上,國內(nèi)的是一個空筐下面一根橫線,而國際的就是普通電容加一個"+"符號代表正極。</p><p><b>  4、半導(dǎo)體器件</b></p><p><b> ?。?)二極管</b></p><p>  二極管最明顯的性質(zhì)就

32、是它的單向?qū)щ娞匦?,就是說電流只能從一邊過去,卻不能從另一邊過來(從正極流向負(fù)極)。我們用萬用表來對常見的硅整流二極管進(jìn)行測量,紅表筆接二極管的負(fù)極,黑表筆接二極管的正極時,表針會動,說明它能夠?qū)щ姡蝗缓髮⒑诒砉P接二極管負(fù)極,紅表筆接二極管正極,這時萬用表的表針根本不動或者只偏轉(zhuǎn)一點(diǎn)點(diǎn),說明導(dǎo)電不良。利用二極管單向?qū)щ姷奶匦裕S枚O管作整流器,把交流電變?yōu)橹绷麟?,即只讓交流電的正半周(或?fù)半周)通過,再用電容器濾波形成平滑的直流。事實(shí)

33、上好多電器的電源部分都是這樣的。二極管也用來做檢波器,把高頻信號中的有用信號“檢出來”。</p><p>  二極管的類型有好幾種,對于電子制作來說,常常用到以下的二極管: 用于穩(wěn)壓的穩(wěn)壓二極管,用于數(shù)字電路的開關(guān)二極管,用于調(diào)諧的變?nèi)荻O管,以及光電二極管等,最??匆姷氖前l(fā)光二極管。 發(fā)光二極管在日常生活電器中無處不在,它能夠發(fā)光,與普通二極管一樣,發(fā)光二極管也是由半導(dǎo)體材料制成的,也具有單向?qū)щ姷男再|(zhì),即只有

34、接對極性才能發(fā)光。發(fā)光二極管符號比一般二極管多了兩個箭頭,示意能夠發(fā)光。通常發(fā)光二極管用來作電路工作狀態(tài)的指示。</p><p>  辨別發(fā)光二極管正負(fù)極的方法,有實(shí)驗(yàn)法和目測法。實(shí)驗(yàn)法就是通電看看能不能發(fā)光,若不能就是極性接錯或是發(fā)光管損壞。 用眼睛來觀察發(fā)光二極管,可以發(fā)現(xiàn)內(nèi)部的兩個電極一大一小。一般來說,電極較小、個頭較矮的一個是發(fā)光二極管的正極,電極較大的一個是它的負(fù)極。若是新買來的發(fā)光管,管腳較長的一個

35、是正極。</p><p><b> ?。?)三極管</b></p><p>  半導(dǎo)體三極管也稱為晶體三極管,可以說它是電子電路中最重要的器件。它最主要的功能是電流放大和開關(guān)作用。三極管有三個電極。二極管是由一個PN結(jié)構(gòu)成的,而三極管由兩個PN結(jié)構(gòu)成,共用的一個電極成為三極管的基極(用字母b表示)。其他的兩個電極成為集電極(用字母c表示)和發(fā)射極(用字母e表示)。由于

36、不同的組合方式,形成了一種是NPN型的三極管,另一種是PNP型的三極管。 </p><p>  三極管的種類很多,并且不同型號各有不同的用途。三極管的電路符號有兩種:有一個箭頭的電極是發(fā)射極,箭頭朝外的是NPN型三極管,而箭頭朝內(nèi)的是PNP型。實(shí)際上箭頭所指的方向是電流的方向。</p><p>  實(shí)驗(yàn)中所用9012三極管為PNP型三極管。</p><p>  電子

37、制作中常用的三極管有90××系列,包括低頻小功率硅管9013(NPN)、9012(PNP),低噪聲管9014(NPN),高頻小功率管9018(NPN)等。它們的型號一般都標(biāo)在塑殼上,而樣子都一樣,都是TO-92標(biāo)準(zhǔn)封裝。在老式的電子產(chǎn)品中還能見到3DG6(低頻小功率硅管)、3AX31(低頻小功率鍺管)等,它們的型號也都印在金屬的外殼上。第一部分的3表示為三極管。第二部分表示器件的材料和結(jié)構(gòu),A: PNP型鍺材料 B:

38、 NPN型鍺材料 C: PNP型硅材料 D: NPN型硅材料 第三部分表示功能,U:光電管 K:開關(guān)管 X:低頻小功率管 G:高頻小功率管 D:低頻大功率管 A:高頻大功率管。另外,3DJ型為場效應(yīng)管,BT打頭的表示半導(dǎo)體特殊元件。</p><p>  轉(zhuǎn)換仍然遵循能量守恒,它只是把電源的能量轉(zhuǎn)換成信號的能量罷了。三極管有一個重要參數(shù)就是電流放大系數(shù)β。當(dāng)三極管的基極上加一個微小的電流時,在集電極上可以得到一個是

39、注入電流β倍的電流,即集電極電流。集電極電流隨基極電流的變化而變化,并且基極電流很小的變化可以引起集電極電流很大的變化,這就是三極管的放大作用。 三極管還可以作電子開關(guān),配合其它元件還可以構(gòu)成振蕩器。</p><p><b>  四、程序流程圖</b></p><p><b>  1、主程序</b></p><p><

40、;b>  2、顯示程序</b></p><p>  3、中斷程序(INT0中斷與INT1中斷)</p><p>  五、系統(tǒng)制作過程及結(jié)果</p><p><b>  1、制作過程</b></p><p> ?。?)電路板的焊接:</p><p>  初次焊接電路板,技術(shù)不是特別

41、熟練,我們非常仔細(xì)地插上每一個電阻,每一個電容,小心的焊接,反復(fù)核查電路圖對照電路板,基本上很順利的焊接完所有的器件。可由于一個小小的失誤,盡管經(jīng)過了很長時間資料的查找和認(rèn)證,焊接完畢后,發(fā)光二極管正負(fù)極接反,無法正常顯示所需信息。我們及時的發(fā)現(xiàn)并重新焊接好,才使得實(shí)驗(yàn)繼續(xù)的進(jìn)行下去。另外,通過焊接,我們認(rèn)識了很多常用電子元件及其它們的焊接方法和用途。</p><p><b> ?。?)程序編寫:<

42、;/b></p><p>  在所有組員都懂得程序原理的前期下,為盡早完成任務(wù),我們將程序分為主體部分和細(xì)節(jié)部分兩個方面分別由不同人員進(jìn)行編寫。其中主體部分由組長編寫,細(xì)節(jié)部分(如LED顯示的圖形編碼)由其他組員共同編寫。</p><p><b>  源程序見附錄</b></p><p><b>  2.調(diào)試結(jié)果:</b&

43、gt;</p><p>  本系統(tǒng)完成了所有的基本功能并擴(kuò)展了部分功能,具體總結(jié)如下:</p><p>  a檢測教室里的人數(shù)并在8*8點(diǎn)陣LED顯示器顯示出來;</p><p>  b設(shè)置一個按鍵實(shí)現(xiàn)復(fù)位清零。</p><p>  c左至右條形開機(jī)漸變圖形顯示。</p><p>  d用發(fā)光二極管模擬電燈,

44、當(dāng)教室有人時, 發(fā)光二極管發(fā)光,無人時發(fā)光二極管不發(fā)光。</p><p>  e人滿及人數(shù)為負(fù)時顯示心形</p><p>  f 上課早退監(jiān)測記錄功能</p><p><b>  g 倒計(jì)時功能</b></p><p>  另:本系統(tǒng)存在的問題</p><p>  本系統(tǒng)擴(kuò)展功能均由按鍵

45、與延時程序?qū)崿F(xiàn),由于按鍵按下時間無法精確控制,本系統(tǒng)有時會出現(xiàn)反應(yīng)不夠靈敏的情況。</p><p><b>  六、心得體會:</b></p><p>  我們所實(shí)踐的這門課,使我們機(jī)電類本科生教學(xué)的主要基礎(chǔ)課之一,課程緊密結(jié)合機(jī)電大類專業(yè)特點(diǎn),圍繞單片機(jī)原理和應(yīng)用主題,系統(tǒng)介紹單片機(jī)的基本知識,基本組成,體系結(jié)構(gòu)和工作模式等,從而讓我們能清楚地了單片機(jī)的結(jié)構(gòu)與工作

46、流程,建立起系統(tǒng)的概念,為以后的更深層次的研究打下堅(jiān)實(shí)基礎(chǔ)。</p><p>  這次微機(jī)原理課程設(shè)計(jì)歷時約十天完成,在這些天里,我們發(fā)揚(yáng)團(tuán)隊(duì)合作的精神,共同克服了很多難題,在較長的時間里成功完成了本次實(shí)驗(yàn),看著我們的勞動成果,我們每個人都覺得自己的付出得到了回報(bào)。雖然很累,但可以說得是苦多于甜,真理源于實(shí)踐,用在這里似乎有些張揚(yáng),但此刻,我們的感受卻很相似,在這段時間里,我們通過自己親自動手去操作,主動去思考,

47、去解決現(xiàn)實(shí)的問題,我們獲得了很多,學(xué)到了很多。不僅鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。以前在上課的時候,把老師的種種忠告拋之腦后,而在本次實(shí)踐中,我們才體會到有些在上課不曾注意過的東西在現(xiàn)實(shí)中是多么重要,就比如說老師經(jīng)常強(qiáng)調(diào)在寫一個程序的時候,一定要事先把程序總體原理方框圖化出來,但是我開始總覺得這樣做沒必要,而且浪費(fèi)時間,但是,這次課程設(shè)計(jì)完全改變了我以前的那種錯誤的認(rèn)識。還有就是,老師曾強(qiáng)調(diào)程序的格式,

48、以及程序的細(xì)節(jié)符號等,由于以前我接觸的那些程序都是很短、很基本的東西,所以出錯了很容易檢查并對其進(jìn)行修改,但是在課程設(shè)計(jì)中,一個程序那么長,那么繁瑣,出錯之后需要費(fèi)很大的努力才能校正,這就需要我們對其更加認(rèn)真與仔細(xì)!</p><p>  以前對于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過一段上機(jī)的實(shí)踐,對于怎么去排錯、查錯,怎么去看每一步的運(yùn)行結(jié)果,怎么去了解每個寄存器的內(nèi)容以確保程序的正確性上都有了很大程度

49、的提高。</p><p>  通過這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,就比如在這次實(shí)踐中,我們部分同學(xué)雖然對理論掌握得很不錯,但在開始那段時間還是不能得心應(yīng)手地進(jìn)行設(shè)計(jì)與實(shí)踐,這就是實(shí)踐與理論的聯(lián)系的過程,我們體會到了所謂的“紙上談兵”,因此只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程

50、中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。</p><p>  通過本次課程設(shè)計(jì),我們能夠更深層次地了解和掌握單片機(jī)的基本知識和基本的編寫程序,也更加深入地了解單片機(jī)這么課程,掌握匯編語言的設(shè)計(jì)和調(diào)試方法,熟悉設(shè)計(jì)的流程及程序的組合、調(diào)用和系統(tǒng)的調(diào)試??傊覀兡瑢纹瑱C(jī)的應(yīng)用有所了解,這

51、對我們以后的研究與學(xué)習(xí)會有很大幫助!</p><p>  這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在老師以及學(xué)長的指導(dǎo)下,我們最終得到了很好的解決方案。在此,我代表我組所有成員,感謝老師的指導(dǎo)與幫助,我們會更加努力地的去學(xué)習(xí)工作!</p><p><b>  參考文獻(xiàn)</b></p><p>  1、胡漢才.單片機(jī)原理及其接

52、口技術(shù).北京:清華大學(xué)出版社,2004.2</p><p>  2、胡漢才. 單片機(jī)在電子電路設(shè)計(jì)中的應(yīng)用. 北京:清華大學(xué)出版社,2006</p><p>  3、劉波粒.模擬電子技術(shù). 北京 : 國防工業(yè)出版社, 2006</p><p>  4、劉法治.常用電子元器件及典型芯片的應(yīng)用技術(shù).北京:機(jī)械工業(yè)出版社,2007</

53、p><p>  2008.07.09</p><p><b>  附 件</b></p><p>  附件一:硬件電路原理圖</p><p><b>  附件二:源程序清單</b></p><p>  ORG 0000H</p><p> 

54、 AJMP MAIN</p><p>  ORG 0003H;INT0入口地址</p><p>  AJMP INT0ZHD</p><p>  ORG 0013H;INT1入口地址</p><p>  AJMP INT1ZHD</p><p>  MAIN: MO

55、V 20H,#00H;存放人數(shù)的單元清零</p><p>  MOV 21H,#00H;人數(shù)增減單元清零</p><p>  MOV 22H,#00H;查表偏移量存儲單元清零</p><p>  MOV 23H,#00H;倒計(jì)時起始值控制單元清零</p><p>  CLR P1.1;放光二極管控制口

56、P1.1口清零</p><p>  CLR P1.0;復(fù)位控制口清零</p><p>  CLR 2AH;INT0中斷標(biāo)志位清零</p><p>  CLR 2BH;INT1中斷標(biāo)志位清零</p><p>  CLR 2CH;按鍵次數(shù)奇偶標(biāo)志位</p><p>  CLR

57、 2DH;長按鍵次數(shù)奇偶標(biāo)志位</p><p>  CLR 2EH;中斷顯示控制位清零</p><p>  CLR 2FH;中斷顯示控制位清零</p><p>  MOVR0,#30H;LED行由左至右依次掃描,B口所用值存入以30H為首地址的數(shù)據(jù)塊中</p><p>  MOVA,#0FEH</p>

58、<p>  FUZHIH: MOV @R0,A</p><p>  RL A</p><p>  INC R0</p><p>  CJNER0,#38H,FUZHIH;循環(huán)賦值</p><p>  MOVDPTR,#0100H;8155工作方式設(shè)置</p><p&

59、gt;  MOV A,#0FH</p><p>  MOVX@DPTR,A</p><p>  MOV 70H,#0FEH</p><p>  START: MOV A,#00H</p><p>  MOVDPTR,#0101H;漸變式顯示,表示

60、開機(jī)界面</p><p>  MOVX@DPTR,A</p><p>  MOVDPTR,#0102H</p><p>  MOV A,70H</p><p>  MOVX@DPTR,A</p><p>  MOV R4,#03H;延時約1S</p>

61、;<p>  YANSHI2:ACALL DELAYT</p><p>  DJNZ R4,YANSHI2</p><p>  MOV R5,#00H</p><p>  MOV A,70H</p><p>  RL A</p><p>  M

62、OV 70H,A</p><p>  JB ACC.0,START;用于控制漸變式顯示</p><p>  SETB IT0;中斷設(shè)置(兩個均為負(fù)邊沿觸發(fā))</p><p>  SETB IT1</p><p>  MOV IE,#85H;開中斷</p><p&

63、gt;  FUWEIPD:JNB P1.0,WFUWEI;判斷是否有復(fù)位信息,如無則調(diào)用顯示程序</p><p>  MOV R4,#05H;延時約1S</p><p>  YANSHI1:ACALL DELAYT;延時0.205602S</p><p>  DJNZ R4,YANSHI1</p><p>

64、;  JB P1.0,TIME;如按鍵長按則進(jìn)入顯示倒計(jì)時的程序</p><p>  CPL 2CH</p><p>  JNB 2CH,BAOJING;2CH中為1則用復(fù)位功能;為0則用逃課報(bào)警功能</p><p>  MOV 20H,#00H;復(fù)位</p><p>  MOV 21H,#

65、00H</p><p>  AJMP EJGM</p><p>  BAOJING: CLR P1.1;報(bào)警</p><p>  MOV A,21H</p><p>  JNZ CHUMEN;有人逃課,則CHUMEN</p><p>  MOV A,#00H

66、</p><p>  MOV 21H,#00H</p><p>  AJMP MORE</p><p>  CHUMEN: MOV 22H,#00H;亮發(fā)光二極管并顯示X</p><p>  SETB P1.1</p><p>  MOV DPTR,#PI

67、CTAB</p><p>  ACALL DISPIC</p><p>  JB 30H,FUWEIPD1</p><p>  MOV R4,#05H;延時約1S</p><p>  YANSHI6:ACALL DELAYT;延時0.205602S</p><p>  

68、DJNZ R4,YANSHI6</p><p>  MORE: JNB P1.0,BAOJING</p><p>  AJMP FUWEIPD</p><p>  WFUWEI: MOV A,20H</p><p>  JNZ EJGL</p><p>

69、;  AJMP EJGM</p><p>  EJGL: SETB P1.1</p><p>  AJMP EJGL1</p><p>  EJGM: CLR P1.1</p><p>  ACALL DELAY</p><p>  EJGL1: A

70、CALL DISPLAY</p><p>  AJMP FUWEIPD;循環(huán)判斷</p><p>  TIME: CPL 2DH;顯示倒計(jì)時</p><p>  JNB 2DH,BACK</p><p>  TIMES: MOV 23H,#14H;從20開始倒計(jì)時</p>&

71、lt;p>  TIME0: MOV A,23H</p><p>  ACALL PURE</p><p>  ;以下利用位操作的方法進(jìn)行1S的延時。應(yīng)用該方法的好處在于</p><p>  ;避免了常規(guī)延時中所用R0與顯示程序中的Rn之間的沖突。同時</p><p>  ;可在延時程序中插入顯示程序使顯示圖形穩(wěn)定&l

72、t;/p><p>  MOV 28H,#01H;延時1.019840s</p><p>  DL0: MOV 27H,#01H</p><p>  DL1: MOV 26H,#01H;2</p><p>  DL2: INC 26H</p><p>  JNB

73、 37H,DL2;127*2=254微秒</p><p>  INC 27H</p><p>  ACALL PURE0;8272微秒</p><p>  JNB 3AH,DL1;3*8280=24760</p><p>  INC 28H</p><p>  JNB

74、 45H,DL0;31*24765=767715</p><p>  JB P1.0,FUWEIPD1</p><p>  DEC 23H</p><p>  MOV R5,23H</p><p>  CJNE R5,#0FFH,TIME0</p><p>  AJMP

75、 TIMES</p><p>  FUWEIPD1: MOV R4,#05H;延時約1S</p><p>  YANSHI4:ACALL DELAYT;延時0.205602S</p><p>  DJNZ R4,YANSHI4</p><p>  JB P1.0,BACK<

76、;/p><p>  AJMP TIME</p><p>  BACK: AJMP FUWEIPD</p><p>  INT0ZHD:JB2BH,ZHD01;判斷INT1是否已響應(yīng)</p><p>  SETB 2AH;中斷標(biāo)志位,用于表示INT0中斷已響應(yīng)</p><p>  ACAL

77、L DELAY</p><p>  AJMP ZHD02</p><p>  ZHD01:CLR 2AH</p><p>  MOV 21H,#0FFH</p><p>  ZHD02: CLR 2BH</p><p>  CALL

78、DELAYT</p><p><b>  RETI</b></p><p>  INT1ZHD:JB2AH,ZHD11;判斷INT1是否已響應(yīng)</p><p>  SETB 2BH;中斷標(biāo)志位,用于表示INT0中斷已響應(yīng)</p><p>  ACALL DELAY</p><p&g

79、t;  AJMP ZHD12</p><p>  ZHD11:CLR 2BH</p><p>  MOV 21H,#01H</p><p>  ZHD12: CLR 2AH</p><p>  ACALL DELAYT</p><p><b>  RETI&

80、lt;/b></p><p><b>  ;以下為顯示程序</b></p><p>  DISPLAY:JNB 2AH,DISNEXT1</p><p>  CLR 2AH</p><p>  DISNEXT1:JNB 2BH,DISNEXT2</p><p&g

81、t;  CLR 2BH</p><p>  DISNEXT2:MOV A,20H</p><p>  ADD A,21H;人數(shù)增減標(biāo)志位加進(jìn)進(jìn)人數(shù)</p><p>  MOV 20H,A</p><p>  CLR C</p><p>  CJNE A,#31

82、,NEXT;人滿30或更多時始終顯示心形</p><p>  NEXT: JC PURE</p><p>  NEXT1: MOV A,#30</p><p>  PURE: MOV B,#08H;對查表偏移量進(jìn)行修正</p><p>  MUL AB</p><p

83、>  MOV 22H,A;偏移量存入22H中</p><p>  MOV 21H,#00H;標(biāo)志位清零</p><p>  PURE0: MOV DPTR,#TABLE;將列掃描數(shù)據(jù)存入以50H為首地址的數(shù)據(jù)塊中</p><p>  DISPIC: MOV R0,#50H</p><

84、;p>  MOV R3,#08H</p><p>  MOV 58H,#0FFH;</p><p>  FUZHIL: MOV A,22H</p><p>  MOVC A,@A+DPTR</p><p>  MOV @R0,A</p><p>  INC

85、 DPTR</p><p>  INC R0</p><p>  DJNZ R3,FUZHIL;循環(huán)將列掃描所有數(shù)據(jù)賦完</p><p>  MOV R0,#30H;行</p><p>  MOV R1,#50H;列</p><p>  MOV R2,#09H;次數(shù)控制

86、</p><p>  SHOW: MOV DPTR,#0102H</p><p>  MOV A,@R0</p><p>  MOVX @DPTR,A;行掃描所用數(shù)據(jù)送入B口</p><p>  DEC DPL</p><p>  MOV A,@R1&

87、lt;/p><p>  MOVX @DPTR,A; 列數(shù)據(jù)送入A口</p><p>  MOV R5,#02H; 延時2ms</p><p>  YANSHI5:ACALL DELAY</p><p>  DJNZ R5,YANSHI5</p><p>  INC R0</

88、p><p>  INC R1</p><p>  DJNZ R2,SHOW</p><p><b>  RET</b></p><p>  TABLE: DB 0FFH, 0FFH, 83H, 07DH, 07DH, 83H, 0FFH, 0FFH</p><p>  DB 0FF

89、H, 0FFH, 0FFH, 7BH, 01H, 7FH, 0FFH, 0FFH</p><p>  DB 0FFH, 0FFH, 07BH, 3DH, 05DH, 06DH,73H, 0FFH</p><p>  DB 0FFH, 0FFH, 0BBH, 6DH, 6DH, 6DH, 93H, 0FFH</p><p>  DB 0FFH, 0FFH,

90、 0CFH, 0D7H, 0DBH, 01H, 0DFH, 0FFH</p><p>  DB 0FFH, 0FFH, 0B1H, 75H, 75H, 75H, 8DH, 0FFH</p><p>  DB 0FFH, 0FFH, 83H, 6DH, 6DH, 6DH, 9BH, 0FFH</p><p>  DB 0FFH, 0FFH, 0FDH,

91、0FDH, 0FDH, 0DH, 0F1H, 0FFH</p><p>  DB 0FFH, 0FFH, 93H, 6DH, 6DH, 6DH, 93H, 0FFH</p><p>  DB 0FFH, 0FFH, 0B3H, 6DH, 6DH, 6DH, 83H, 0FFH</p><p>  DB 7BH , 01H, 7FH, 83H, 7

92、DH, 7DH, 83H, 0FFH</p><p>  DB 7BH , 01H, 7FH, 0FFH, 7BH, 01H, 7FH, 0FFH</p><p>  DB 7BH, 01H, 7FH, 0FFH, 1BH, 5DH, 5DH, 63H</p><p>  DB 7BH, 01H, 7FH, 0FFH, 0BBH, 6DH

93、, 6DH, 93H</p><p>  DB 7BH, 01H, 7FH, 0CFH, 0D7H, 0DBH,01H, 0DFH</p><p>  DB 7BH, 01H, 7FH, 0B1H, 75H, 75H, 75H, 8DH</p><p>  DB 7BH, 01H, 7FH, 83H, 6DH, 6DH, 6DH, 9

94、BH</p><p>  DB 7BH, 01H, 7FH, 0FDH, 0FDH, 0FDH,0DH, 0F1H</p><p>  DB 7BH, 01H, 7FH, 93H, 6DH, 6DH, 6DH, 93H</p><p>  DB 7BH, 01H, 7FH, 0B3H, 6DH, 6DH, 6DH, 83H</p&

95、gt;<p>  DB 3BH, 5DH, 6DH, 73H, 83H, 7DH, 7DH, 83H</p><p>  DB 3BH, 5DH, 6DH, 73H, 0FFH, 7BH, 01H, 7FH</p><p>  DB 3BH, 5DH, 6DH, 73H, 3BH, 5DH, 6DH, 73H</p><p

96、>  DB 3BH, 5DH, 6DH, 73H, 0BBH, 6DH, 6DH, 93H</p><p>  DB 3BH, 5DH, 6DH, 73H, 0C7H, 0DBH,01H, 0DFH</p><p>  DB 3BH, 5DH, 6DH, 73H, 0B1H, 75H, 75H, 8DH</p><p>  DB

97、3BH, 5DH, 6DH, 73H, 83H, 6DH, 6DH, 9BH</p><p>  DB 3BH, 5DH, 6DH, 73H, 0FDH, 0FDH,0DH, 0F1H</p><p>  DB 3BH, 5DH, 6DH, 73H, 93H, 6DH, 6DH, 93H</p><p>  DB 3BH, 5DH

98、, 6DH, 73H, 0B3H, 6DH, 6DH, 83H</p><p>  DB 0E3H, 0DDH, 0BDH, 7BH, 0BDH, 0DDH,0E3H, 0FFH;人滿30時顯示心形</p><p>  PICTAB: DB 0FFH, 0BDH, 0DBH, 0E7H, 0E7H, 0DBH,0BDH, 0FFH;</p><p>&

99、lt;b>  有人出教室時顯示X</b></p><p>  DELAY: MOV R7,#02H;延時1.028ms</p><p>  DELAY1: MOV R6,#0FFH</p><p>  DELAY2: DJNZ R6,DELAY2</p><p>  DJNZ R7

100、,DELAY1</p><p><b>  RET</b></p><p>  DELAYT: MOV R5,#0C8H;延時0.205602S</p><p>  DELAYT0:ACALL DELAY</p><p>  DJNZ R5,DELAYT0</p><p&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論